下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页基于pci总线的数据采集卡设计随着计算机软硬件技术和控制、测量技术的不断进展,许多工程技术人员都将pc机作为控制、测量开发的首选平台。而pci(peripheralcomponentinterconnect,即外围部件互连)作为一种高性能、通用的局部总线,是目前计算机插卡式外设总线的事实标准。pci总线具有32/64位总线宽度。地址线和数据线复用,支持猝发传输,传输速率高达132mb/s;系统占用率低,具有较好的兼容性;有完备的即插即用(pnp)管理体制,可同时支持多组外围设备。虽然pci总线也经受了从pci、pci-x到pciexpress的进展,但pci总线因为存在时光长,开发工具、开发资料众多,在对数据吞吐量要求不是很高的工业控制、测量领域仍有着坚韧的生命力。笔者在学习了相关设计资料的基础上,设计了基于pci总线的数据采集卡,可以完成8路数字量i/o及4路差分14位a/d采集功能。本文将按照笔者的实际阅历,介绍pci接口扩展卡的软硬件设计流程。
1pci总线工作方式简介
pci总线标准由intel于1991年提出,后由pci-sig(pcispecialinterestgroup)接替了pci规范的进展。pci总线是一种时分复用的双向应答总线,传输发起方称为主设备,接收方称为从设备。其主要信号定义如下:
rfame:由主设备驱动,为低,指示一次传输的开头。
devsel:由从设备驱动,为低,指示响应传输哀求。
ado~ad31:地址、数据复用信号。pci总线的数据传输以帧为单位,每次传输由一个地址周期和多个数据周期组成。首先给出本次传输的首地址,后面紧跟一个或多个4字节宽的数据,延续传输多个数据时,其地址自动递增。
c/be0~c/be3:这4根线在地址传送周期,传输的是总线指令,c/be0~c/be3的不同组合指示在ad0~ad31上将要举行何种类型的操作,其代表的总线指令见表1;在数据传送周期,传输的是字节始能信号,用来表示在囫囵数据期间,ad31~ad0上的哪些字节为有效数据。
irdy、trdy:分离表示主设备预备好和从设备预备好。在传输过程中,惟独irdy和trdy同时有效,传输才干继续;否则插入等待周期,用于在不同速度的设备之间协调工作。
表1地址传送周期时。c/be0~c/be3所代表的总线指令prsnt1、prsnt2:pci板对电源的哀求信息,详细含义见表2。
将pci接口卡插入计算机插座,加电后,bios会按照pci接口卡上的配置信息,为其分配相应的i/o端口、存储器空间、中断及dma等计算机资源。
2pci接口卡的硬件设计
笔者设计的pci数据采集卡用法的pci接口芯片是ch365,ch365可将32位高速pci总线转换为简便易用的类似于isa总线的8位主动并行接口,支持240字节的i/o端口映射、32k字节的存储器映射、扩展rom以及中断。本数据采集卡仅用法了i/o端口映射及中断功能。本pci数据采集卡用法maxim公司的4通道14位、差分、同时采样:max1338,实现a/d转换功能,并将max1338的/eolc引脚与ch365的int_req引脚相连,以便在adc转换完成后,向pc机发出中断申请。用法两片74hc273作为输出,一片用作8路i/o输出,另一片用作对max1338控制指令的输出。用法两片74hc373作为输入,一片用作8路i/o输入,另一片采集max1338的状态指示信号。用法tlp521-4对8路i/o输入、输出举行光电隔离。用法74ls138作为地址译码。
在制作印制板时,ch365的vcc与gnd间应就近放置容量为0.1μf高频、低esr的多层瓷片,衔接pci总线的电源线引脚可以自由挑选,但数量不宜少于4对。ch365属于高频数字,应当考虑信号阻抗匹配,在设计板时需要参考pci总线规范。建议ch365的pci信号线的长度都小于35mm,尽量走弧线或者45度线,避开直角或者锐角走线,并且尽量将信号走线布在元件面;ch365的pci时钟线clk的长度尽量保持在50mm~65mm之间,并且不宜逼近其它信号线;在pcb背面保留大面积的接地覆铜,以削减周边信号线的干扰。虽然pci总线规范推举用法四层板,但考虑成本等因素,可用法双面板,双面覆铜接地。笔者做的pci数据采集卡即为双面板,经试验验证在工业现场环境下,该卡能够稳定工作。
3pci接口卡驱动程序及软件设计
在windows系统中,为避开因不当的硬件操作而导致系统崩溃,应用程序不再具有挺直的硬件拜访权,假如要操作硬件,必需借助设备驱动程序。驱动程序主要功能是完成对硬件板卡的内存映像地址、i/o地址的存取,并正确处理来自板卡的硬件中断。
microsoft为设备驱动程序的编写提供了“windowsde-vicedriverskit”(简称ddk)工具,它包含了驱动开发所需的各种类型的定义和内核函数库。用ddk编制的驱动程序有很高的运行效率,但是开发难度大,测试流程繁琐。为减轻驱动开发者的负担,无数第三方厂商提供了简化驱动开发的软件。如numega公司的driverstudio软件,jungo公司的windriver/kerneldriver软件等。尤其是windriver/kerneldriver不要求开发者十分认识操作系统平台,把握核心开发、调试学问,即可在几分钟之内开发出相应的驱动程序。但windriver的运行效率较低,因此,在对运行效率较高的场合,可用法kerneldriver举行开发,以提高运行效率。
因为本采集卡的数据吞吐量不高,因此采纳windri-ver6.21举行驱动程序的开发,其开发过程如下:
(1)运行windriver程序,挑选"createanewdriverpro-ject”;
(2)在弹出的“selectyourdevice”窗口中,从列表中挑选自己的硬件设备。因为ch365的默认厂商标识(vendor-id)为4348h,设备标识(deviceid)为5049h,因此选中“pci:vendorid4348deviceid5049”的pci设备(1)。
(3)单击“generate.inffile”按钮,产生采集卡的驱动安装信息文件。注重:需选中“automaticallyinstalltheinffile”复选框,以便可以在(4)步中测试采集卡(2)。
(4)在“defineandtestresourcesforyourdevice”窗口中,设置采集卡的i/o地址及变量名,对于即插即用(plug-and-play)设备,windriver会自动发觉其所用到的硬件资源(如:i/o范围,存储器范围及中断号等)(3)。在此可对采集卡的i/o地址举行读写测试,以便验证硬件设计是否正确。
(5)在“selectcodegenerationoptions”窗口中,选中合适的开发语言及开发平台。在此挑选“msdeveloperstudic6,5”(即microsoftvisualc++6/5),以便windriver生成合适的驱动程序框架及相应的api函数(4)。
(6)保存windriver产生的驱动开发工程后,windriver会自动打开相应的开发环境(此处为:microsoftvisualc++6),以便开发人员举行后续开发。
通过以上步骤,windriver生成一个基于visualc++语言的程序框架,开发人员可以在此框架的基础上举行修改,加入自己的程序,实现对硬件的操作。现以笔者编制的程序(工程文件名为adc)为例举行介绍。
在程序初始化阶段,先调用pci_get_wd_handle(),推断驱动程序windrvr6.sys是否已被加载,假如驱动程序已被加载,则调用adc_locateandopenboard()函数,打开数据采集卡。在退出应用程序前,需先调用adc_close()函数,关闭数据采集卡。
对max1338和8路i/o的寄存器操作可通过adc_readbyte()、adc_writebyte()两个函数完成。对ch365内部配置寄存器的读写可通过adc_read-pcireg()、adc_writepcireg()两个函数完成。完成应用程序的开发后,数据采集卡在其他的pc机上工作时,需提供windrvr6.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年消防工程消防安全隐患排查与整改承接合同范本3篇
- 酒店设施融资租赁转租赁协议
- 2025年度KTV特色主题装饰设计制作合同3篇
- 古镇区二手房交易协议
- 知识更新基金管理办法
- 商务接待商务车租赁协议
- 2025版购猫合同:猫咪健康养护与领养指南3篇
- 智能医疗信息系统安装协议
- 社区服务点管理原则
- 旅游景点建筑合同
- 天津市部分区2023-2024学年九年级上学期化学期末试题
- 医学外科的教学设计
- 济南 公司章程范本
- AR技术在教育领域的应用与课程设计
- 2023年软件主管年终业务工作总结
- 2019疏浚工程预算定额
- 笙的演奏技术与教学
- 大学生预征对象登记表模板
- 《明辨是非》课件
- 重症监护专科护理质控考核标准
- 高标准农田输配电工程施工方案与技术措施
评论
0/150
提交评论