|  客服中心  |  合作联系
搜刊网
论文下载
您当前位置
首页 > 论文下载 > 基础科学 > 基于PCI-e高速数据的上位机解决方案
基于PCI-e高速数据的上位机解决方案
来源:互联网 sookan | 王文琮,赛景波
【分  类】 基础科学
【关 键 词】
【来  源】 互联网
【收  录】 中文学术期刊网
正文:

本文进行数据采集使用线程安全队列机制,线程安全队列是一种在线程间数据传输的机制。为此,CVI专门提供了一个在线程中进行数据通信的管道,数据管道是由设定阈值触发的先进先出队列,响应一定事件(如图四)[11]。具体运行方式为:线程安全队列(TSQ)负责存储DMA传输数据进程传入的数据,同时向数据处理显示进程发送数据,TSQ读入数据和发送数据不会互相阻塞,在建立TSQ的同时,为其设定阈值,当达到阈值的时候,触发读取数据或者发送数据事件,采集数据或者将数据发送到处理端。
 
图四 多线程安全队列
Figur4 Multi thread safe queue
部分多线程程序如下:
CmtScheduleThreadPoolFunction(DEFAULT_THREAD_POOL_HANDLE,ThreadFunction,NULL,&threadID);//开启线程函数
DisplayPanel (panelHandle);//启动面板
RunUserInterface ();//启动用户界面
CmtWaitForThreadPoolFunctionCompletion(DEFAULT_THREAD_POOL_HANDLE,threadID,OPT_TP_PROCESS_EVENTS_WHILE_WAITING);//等待线程完成
……(采集数据)
if (CmtNewTSQ (QUEUE_SIZE, sizeof(DWORD), OPT_TSQ_AUTO_FwUSH_EXACT, &tsqHandle) < 0) //创建数据安全队列
return -1;
int CVICALLBACK ThreadFunction(void *functionData)
{
while(startflag)
{
CmtGetTSQAttribute (tsqHandle,  ATTR_TSQ_ITEMS_IN_QUEUE, &nItems);//判断安全队列数据个数
……
CmtReadTSQData (tsqHandle,  readBuffer, GESHU,TSQ_INFINITE_TIMEOUT, 0);//从安全队列读出数据
……(次线程分析数据)
}
 
4 消除windows消息的死锁
消息死锁是windows运行中经常出现的一个问题,形成具体原因多样,但基本为:线程A给线程B发消息,A等待线程B处理完消息后返回;B接收到A发来的消息,在B处理消息的过程中,也向A发送了消息,并等待A处理完消息返回。然而此时A正等待B处理完消息后返回,没法处理B发来的消息,A与B相互等待,发生死锁[12]
CVI中规定,每次创建了窗口的线程必须对windows消息进行处理避免死锁。第一种情况为线程创建窗口但没有运行用窗口时需要对windows消息处理;第二种情况为线程创建了窗口并且也调用了运行窗口函数,但是在返回到运行窗口函数前需要运行的回调函数占用了太长时间[13]。本例中由于显示进程需要一直需要分析显示数据,对于用户的其他操作请求不能按时响应,也没法得到其他操作的返回值,因此造成了线程死锁。因此我们在分析显示数据程序后加入相应程序,消除消息死锁。
 
5 巧妙利用PCI-e链路配置过程发送控制命令
一般来讲,上位机PC端向外发送数据一般采取PIO或者DMA模式,DMA模式一般用在数据高速传输的情况下,本例中数据传递采取的就是DMA的传输方式,由于本文主要介绍上位机因此在这里不展开叙述;小数据则一般采用PIO的传输方式,例如外端口控制命令等则需要PIO的方式来传递。一般PIO模式逻辑如下:设计需要PIO设计组件和PCI-e端点模块IP核,而PIO设计组件主要分为发送模块,接收模块,存储器读取控制器模块以及电源管理断开控制器模块[14-15]
本例目的在于传递数据至硬件解析,具体为上位机需要配置硬件外端口电压与数据速率,如果用传统的PIO方式,还需要相应的组件才能完成功能,然后实现控制命令发送到硬件板卡。由于电压电平配置过程需要在D MA发送数据之前,因此本例巧妙地利用了DMA传输前PCI-e配置过程将控制命令传输到板子,而不使用传统的PIO过程,这样极大的减少了芯片的开支。
具体过程为:上位机在获得采集卡配置信息的同时,将配置空间中的基址寄存器映射到上位机的内存中,为其开辟一块与基址寄存器大小相等的内存空间。本次设计中DMA控制寄存器被定义映射于PCI-e的基址寄存器BAR0空间中,类型为Memory,大小为256字节,
BAR0空间使用如下图5示:
 
图5 BAR0空间使用
Figur7 Space use
由此可见,控制寄存器剩余位都可作为命令位伴随配置过程发送到下位机,这里选取随意的四位作为传输位即可实现。 
 
6 实验测试结果
6.1 实验环境搭建
为测试本上位机程序运行情况,系统测试环境搭建如下图6示:
本次设计采用NI公司的PXIe-6544数字波形发生器作为外部数据发送端。PXIe-6544数字波形发生器具有100 MHz最大时钟频率,可以准确的产生32通道的数据,首先保证了待采集数据的准确性。将PXIe-6544输出口与采集卡I/O口用数据线连接,用PXIe-6544循环发送一定有规律量数据,通过上位机显示界面配置DMA接收过程,接收数据并在显示界面观察数据与PXIe-6544发送数据是否一致。
 
图6 整体测试环境
Figur7 Overall test environment
 
6.2 测试结果
观察可得,不同速率与不同电平下,上位机显示数据与PXIe-6544发送数据一致,得到实验结果如下图7示:
 
图7 测试结果
Figur7 Test results
7 结束语
本次设计主要设计了基于PCI-e高速板卡接收数据上位机应用程序的设计,测试与实现。在Windows XP SP3操作系统下,上位机应用软件能够稳定工作,在PCI-e X1链路下,数据采集处理显示都可以满足高速数据传输的要求。同时,本次设计的上位机程序具有很强的可移植性,只需经过少许修改,就能够应用于其它PCI-e设备中,可以广泛使用于各种数据显示等实际应用中,具有较高的实用价值。
 
 
参考文献:
  1. 郭雅萌. LabWindows/CVI与PCI数据采集卡通信技术研究 [J]. 电子测量技术,2007,30(5): 78-80.
  2. 王 齐. PCI Express体系结构导读[M].北京:机械工业出版社,2010.
  3. 何 宾. Xilinx可编程逻辑器件设计技术详解[M]. 北京:清华大学出版社,2010.
  4. 朱中锐,蔡志明,郭 岩. 基于LabWindows/CVI数据采集系统[J]. 电子测量技术,2007,30(1): 105-106.
  5. 王建新,隋美丽. LabWindows/CVI虚拟仪器设计技术[M]. 北京,化学工业出版社,2013.
  6. 杨东升,王高峰.多线程技术在虚拟仪器开发软件LabWindows/CVI中的实现 [J]. 电测与仪器,2005,42(471): 39-41.
  7. 成凤敏.多线程技术在虚拟仪器软件开发中的应用[J] 测控技术,2004,34(2):48-50.
  8. 陈怀民.基于CVI的多通道串口板卡测试软件的设计与实现 [J].测控技术,2010,29(10):18-81.
  9. 王海涛,付 钧,鲜 勇,等. 基于LabWindows/CVI的数据采集系统软件设计[J]. 舰船电子工程,2010,30(5):  64-66
相关推荐
热门期刊
建筑工人《建筑工人》
《建筑工人》杂志,于1980年经国家新闻出版总署批准正式创刊,CN:11-2252/TU,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:质量病院、...
小猕猴智力画刊《小猕猴智力画刊》
《小猕猴智力画刊》杂志,于1980年经国家新闻出版总署批准正式创刊,CN:36-1057/G0,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:想象...
东西南北(大学生)《东西南北(大学生)》
《东西南北》(大学生)从2003年8月起,进入新一轮的办刊思想解放与杂志内部机制改革。 《东西南北》(大学生)本次改版目的十分明确,就是用符合读者“及时眼效应”的...
经济社会史评论《经济社会史评论》
《经济社会史评论》杂志,于2005年经国家新闻出版总署批准正式创刊,CN:12-1443/K,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:欧洲...
现代教育科学《现代教育科学》
《现代教育科学》杂志,于2007年经国家新闻出版总署批准正式创刊,CN:22-1339/G4,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:高等教...
广西科学《广西科学》
《广西科学》杂志,于1994年经国家新闻出版总署批准正式创刊,CN:45-1206/G3,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:文献综述、...
友情链接
中教杯 国家新闻出版总署 中国知网 万方数据 维普网 中国科学院 中国国家图书馆 央视英文版 中国留学网 中青网 中国国家人才网 中国经济网 中国日报网 中国新闻网 中国学术期刊网
关于我们
平台简介
诚聘英才
企业文化
竞争优势
版权信息
服务条款
客服承诺
常见问题
版权声明
合作加盟
期刊加盟
广告服务
联系我们
网站导航
期刊大全
论文下载
课题申报
学术会议
编辑联络
2007-2021
中文学术期刊检索机构
qkwtougao@126.com
联系我们

版权所有©2007- 2021 中国期刊网(sookan.cn) All Rights Reserved 琼ICP备2020005474号
本站是学术论文网络平台,若期刊网有侵犯您的版权,请及时与期刊网客服取得联系,联系信箱: qkwtougao@126.com    
中国期刊网