版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、首先被丢弃,以缓解网络拥塞的情况,这被称为隐性质量降级。为了尽量减少网络控制在控制模型所造成的影响,我们可以通过分析网络通信情况,找出一个最大允许传输间隔时间常数,在制定控制算法时将的影响考虑进去,以获得最佳的网络控制效果。本文在分析传统智能仪表设备不足的基础上,采用PC的RS2232C接口和KP数字调节仪的RS2 442A接口通信为手段,以PC的图形用户界面为用户提供了一致的监控平台和实时的通信模块。由于在设计和实现中综合了Windows的多线程技术、异步I/O和基于事件I/O的优势,整个系统在实时性、可靠性和用户界面上都较以往的系统有较大的提高。下一步,我们将在实际的工业环境中进行实验性的
2、推广,并就其中出现的问题做出进一步的改进。参考文献1Charles A Mirho,Andre Terrisse著,贺军、高胜友等译.Windows95通信编程.清华大学出版社,19982David J Kruglinski著,希望图书出版社译.Visual C+技术内幕6.0,第五版.北京希望电子出版社,19993侯俊杰著.深入浅出MFC,第二版.华中科技大学出版, 20014KP数字式程序调节仪通信接口,20015Gregory C Walsh,Hong Y e.Scheduling of Networked Control Systems.IEEE Control System Maga
3、zine,20016Reza S Raji.Smart Networked for Control.Systems/Con2 trol,IEEE S pectrum,J une,1994网络、通信与多媒体多通道同步高速数据采集系统及其Windows程序设计中国科技大学(合肥230027杨俊峰何浩武杰摘要文章介绍了一个最高采样率为100MSPS,采样精度为8bit,基于PCl总线和计算机并口的八通道同步高速数据采集系统的设计,并详细介绍了在Windows98下如何利用WinDriver 设计同时对多路PCI插卡进行控制的程序。关键词高速A/D转换PCI接口并口WinDriver设备驱动程序1概述
4、在现代雷达系统中,往往产生宽带信号或者上升沿比较陡的信号。对此类信号进行数字处理需要高速的A/D转换系统。同时,又要求多路的数据采集卡具有良好的同步性,以完成如测距、定向等功能。本文所介绍的系统正是针对这些要求而开发出来的。2系统结构系统的结构框图如图1所示。整个系统由一个八通道100MHz时钟/触发分配器和八块高速A/D卡构成。时钟/触发分配器为八路高速数据采集卡提供了同步性能良好的八路采样时钟和触发信号,从而保证了数据采集卡采集到的数据具有良好的同步性能。时钟触发分配器的输出时钟由可编程时钟芯片SY89429产生,它的输出频率可以在25MHz和400 MHz之间以1MHz为步长连续调解。在
5、系统使用的时候,实际上用到的输出时钟范围为25M100 MHz。89429产生的时钟通过一片MC100E11119差分时钟驱动器产生最大时间晃动t skew为50ps的9路高质量PECL差分时钟,其中8路时钟作为A/ D卡的输入时钟,1路时钟被转化为TTL时钟后用于同步触发信号,以避免触发信号位于时钟边缘而造成的8路A/D卡不同时触发的情况。时钟/触发分配器提供两种触发方式:分别是用软件产生一个触发信号(内触发以及外接触发信号。触发信号经图1系统结构框图时钟同步后经一片MC10H645转化为8路同步的触发信号提供给后端的A/D卡。整个时钟/触发分配器采用增强型并口(EPP方式与计算机相连。通过
6、计算机并口可以向可编程器件EPLD中写入数据,从而实时地完成改变可编程时钟芯片89429的输出时钟频率、产生软件触发、切换触发模式等功能。系统的高速A/D卡是一种通用的高速A/D 卡。输入信号在经过放大后,经过高速A/D转换芯片变换成为数字信号,并通过乒乓切换的方式被锁存在缓冲存储器中。当锁存数据量达到预先设定的数据长度时,高速A/D卡自动停止锁存,并向计算机发出一个中断请求或是改变一个端口的值。当计算机接收到中断请求,或者查询到端口的值发生改变后,即可以通过PCI总线将卡上存储器中的数据取出。当存储器中的数据被取出后,又可以开始下一次数据采集。高速A/D卡基于PCI总线,采用的PCI接口芯片
7、为AMCC公司的S5920,它可以大大简化PCI接口逻辑的设计。卡上具有两片可编程逻辑器件EPLD,用于完成PCI接口逻辑设计和触发、锁存等功能。高速A/D卡的最高采样速率为100MSPS,采样精度为8bit,卡上缓冲存储器长度为512kbit,可以通过PCI总线改变采集卡的各种参数设置,如信号增益大小、基线位置、触发模式、锁存数据长度等等,较好的满足了各种情况的要求。8路高速的A/D卡在8路同步的外接时钟和触发信号控制下工作,较好地完成了整个系统的设计需要。整个系统建立在一个拥有10个PCI插槽的工控机上,以保证其可靠运行。3系统软件开发整个系统工作在一台具有10个PCI插槽的工控机上,使用
8、的操作系统为Windows98。综合考虑整个系统的工作,会发现整个系统的工作具有以下特点:(1整个系统具有比较复杂的功能,既要通过计算机并口对时钟/触发分配器进行设置,又要通过PCI总线完成高速A/D卡的参数设置、数据读取等 功能;(28块高速A/D 卡具有相同的PCI 器件识别号(Device ID 和厂商识别号(Vendor ID ,并且具有基本相似的工作方式;(3由于高速A/D 卡是在一种非连续的方式下工作,所以通过PCI 接口进行数据传输的过程中,对传输速率的要求相对降低。考虑到以上特点,系统的监控程序设计采用了图2所示结构。 图2系统监控程序结构图整个系统的监控程序采用Microso
9、ft Visual C +6.0编写。程序中将完成高速A/D 卡和时钟/触发分配器的各种功能的函数分别封装在两个动态链接库(.DLL 文件里,系统主监控程序以MFC 提供的CFormView 类为框架,完成类似示波器显示的界面,并通过对动态链接库中API 函数的调用,实现了对系统的控制、参数设置、数据读取、保存、显示等功能。之所以采用这种结构,一方面是因为这种结构方便了程序的编写和二次开发,另一方面可以有效地避免编写程序过程中因为C/C +语言混合编译而出现的一些问题。时钟/触发分配器采用计算机并口与系统相连。由于计算机并口的端口号对每个计算机是基本固定的,因此在Windows 98系统下,可
10、以简单地采用端口操作函数-outp (完成对端口的控制,也可以使用CreateFile (的方式完成同样的功能。但是对于高速A/D 卡,由于它是基于PCI 总线的,其端口地址和存储区的地址映射方式是随着各个计算机而不同的。即使对于同一个计算机,由于具有多块这样的高速A/D 卡,每一块都具有不同的端口地址和存储区的地址映射方式,因此不能简单的采用对端口进行操作和在指定地址空间进行读写操作的方法来实现它的功能。为了方便PCI 设备的驱动程序的编写,在程序设计中采用了WinDriver 作为PCI 设备驱动程序的开发工具。WinDriver 是美国KRF 2Tech 公司出品的用于编写驱动程序的一种
11、工具包。它可以使编程人员用C 或C +语言来编写设备驱动程序,而不是将大量精力放在编写那些复杂的、难于调试的内核模式代码。利用WinDriver 提供的向导程序,可以方便地对硬件进行诊断操作,完成简单的读、写、中断检查等操作。当诊断完成后,向导程序后根据硬件的设置自动生成源代码,产生一些框架函数用来对硬件的资源进行操作。从系统自动生成的框架程序,可以看出程序的工作流程为:(1调用WD -Open (得到一个WinDrive 的句柄;(2调用WD -Vision (以保证WinDriver 的版本正确;(3调用WD -PciScanCards (得到当前安装的具有一定Vendor ID 和Dev
12、ice ID 的PCI 设备;(4调用WD -Pci G etCardInfo (得到选中的PCI 设备的信息;(5调用WD -CardRegister (安装中断和进行存储区映射;(6使用WD -Transfer (完成I/O 端口操作和存储区数据传输;(7如果卡上使用了中断,调用WD -Int Enable (来使能中断,然后调用WD -Int Wait (完成中断等待;(8当对PCI 设备的操作完成之后,可以调用WD -CardUnregister (释放设备资源,并调用WD -Close (关闭WinDriver 句柄。高速A/D 卡的监控程序库就是考虑到系统的结构特点,在WinDri
13、ver 提供的框架程序的基础上修改而成的。(1Dll 文件的生成使用Microsoft Visual C +6.0生成一个空的动态链接库项目(empty DLL project ,将WinDriver 自动生成的框架程序中的相关文件复制到该项目下,并调用这些基本函数完成对高速A/D 卡的操作。由于该动态链接库为外界调用提供函数接口,因此可在接口函数头文件中加入如下宏控制编译:#ifndef -F9800D -#define F9800DL IB extern C -declspec (dllimport #else#define F9800DL IB -declspec (dllexport
14、#endif这样,只需在dll 接口函数中使用F9800DL IB 声明,在生成动态链接库时使用#define -F9800D -而在调用接口函数时不使用该宏,即可方便的控制接口函数的输入输出。(2对多个PCI 设备进行操作用WinDriver自动生成的框架程序提供了对单个PCI设备的基本调用,而在系统中实际碰到的情况是多个具有相同Device ID和Vendor ID的PCI 设备同时工作。针对系统的这个特点,可以参考单个PCI设备的情况完成统一的对多PCI设备进行操作的接口函数。首先调用WD-PciScanCards得到具有一定Device ID和Vendor ID的PCI设备数目,然后在
15、系统的初始化函数中动态分配一结构体(struct数组(在程序中使用的该结构体声明由WinDriver wizard自动生成,接着调用WD-Pci G etCardInfo依次将设备信息填入该结构体数组内。这样,通过设置要操作的PCI设备的序号,选择数组内的不同位置的结构体,即要方便地得到各个PCI设备的信息,完成对PCI设备的操作。(3系统中断服务程序和多卡同步工作在WinDriver生成的框架程序中,中断服务程序是在一个名为3-Int HandlerRoutine(其中的3代表生成框架程序时所起的项目名称的函数中完成的。通过改写该函数,即可以完成设备在中断到来的时候需要完成的中断服务程序。在
16、本系统程序中,对中断的处理是仅仅向主窗口发送一个自定义的消息。考虑到系统同步性的工作特点,当触发信号到来时,多个高速A/D卡同时对信号进行A/D变换且具有相同的工作方式,当一路高速A/D卡上的数据采满时,其他七路A/D卡上的数据应该也准备好(如果有数据。这样在系统程序的设计中,仅将一路数据采集卡的工作方式设置为中断方式,而将其他七路高速A/D卡的工作方式设置为查询方式,通过查询端口来判断是否有数据。在中断服务程序发出的自定义消息的消息响应函数中,依次查询各路A/D卡上的数据是否准备好,并完成数据的读取,清标志位,清中断请求等操作。使用这种结构,既高速地完成了数据读取,又有效地避免了由于对多路中
17、断进行处理造成的误触发。在系统的实际运行中,系统的监控程序较好地完成了对计算机并口和多路高速A/D卡的操作,方便地完成了对数据的采集、存储、显示、分析等功能,较好的满足了实际需要。4系统硬件设计由于整个系统对高速性和同步性方面的要求,对系统的硬件设计也提出了新的要求。为此,在设计中采用了如下措施:(1为了避免各个信号间的串扰(cross talk和保证信号的完整性(integrality,在PCB设计中采用了四层板,通过使用大面积的电源和地层使信号线与地或电源平面之间形成一个紧耦合层,从而减少了信号线之间的串扰。(2时钟输出使用PECL差分时钟信号,减少了传输中的干扰。(3综合使用磁珠、滤波电
18、容、电感等减少了电源部分的扰动。(4在布线时使用泪滴焊盘和采用圆弧拐角布线技术,以减少信号线的辐射和反射,降低串扰。(5布线时精心走线,以保证多路时钟和触发信号之间的延迟尽可能一致。通过上述各种措施的应用,较好地完成了设计要求。5系统性能测量由于系统对同步性能要求的特殊性,除了高速A/D卡的性能指标外,系统性能主要体现在两个指标上:各路之间对同一信号进行采样,其结果之间的时间延迟,以及的晃动(即大量测量值得到的其标准偏差。由于采样结果为数字信号,上述指标不易进行直接测量,在实际测试过程中采用了间接测量的方法。将采集的数据经过数字傅立叶变换后比较其信号主峰处对应的相位差,并由信号的频率值和采样率将相位差折算成两路信号的时间延迟。通过大量精心测量,本系统的性能大大超过了max0.5n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同协议网络广告协议
- 借款延期合同
- 借款合同借款合同范文
- 《深入解析HTTP协议》课件
- 金钱与期刊:媒体禁制令及一稿多投禁制
- 区块链共识机制与改进算法研究进展
- 生长因子促进膝软骨再生:研究热点的文献计量学分析
- 基于机器视觉的智能车系统设计
- 考虑失效相关性的无人机飞控系统可靠性分配与预计
- 基于蓝牙的LBS系统攻击检测方法研究
- (一模)宁波市2024学年第一学期高考模拟考试 数学试卷(含答案)
- 父母赠与子女农村土地协议书范本
- 集团母子公司协议书
- 中医病证诊断疗效标准
- 南安市第三次全国文物普查不可移动文物-各乡镇、街道分布情况登记清单(表五)
- ITSMS-D-038 问题记录表范本
- 第1课+古代亚非(教学设计)【中职专用】《世界历史》(高教版2023基础模块)
- 新教科版六年级下册科学全册教案
- 物业客服管家的培训课件
- 2024年房地产行业的楼市调控政策解读培训
- 《统计学-基于Python》 课件全套 第1-11章 数据与Python语言-时间序列分析和预测
评论
0/150
提交评论