高速数据采集器设计管理论文_第1页
高速数据采集器设计管理论文_第2页
高速数据采集器设计管理论文_第3页
高速数据采集器设计管理论文_第4页
高速数据采集器设计管理论文_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高速数据采集器设计管理论文摘要:介绍了一种基于USB20接口的同步高速数据采集的设计方案及其软硬件的设计方法,对Cypress的USB20控制芯片CY7C68013和同步数据采集芯片AD7862的特性作了简要说明,同时重点介绍CPIP及其驱动软件的设计。 关键词:USB20EZUSBFX2同步数据采集 随着计算机技术的迅速发展,对外部总线速度的要求越来越高。通用串行总线(UniversalSerialBus,即USB总线)凭借其即插即用、热插拔以及较高的传输速率等优点,成为PC机与外设连接的普遍标准。在许多便携式电脑上,已经找不到RS-232接口。迄今为止,常用的USB总线标准有1998年发布

2、的USBl1版本和2000年发布的USB20版本。其中11版本支持两种传输速率:15Mbps和12Mbps,主要应用在低速传输要求的场合;而20版本面向高数据率传输的场合,支持480Mbps的传输速度,并向下完全兼容USBl1协议。在实际应用中,通常会遇到一些突发信号,需要对其进行高速采集,对数据进行高速传输,所以USB20标准自然成为首选。以Cypress公司的EZ-USBFX2系列中的CY7C68013芯片作为核心控制器,设计开发了一套符合USB20标准的高速同步数据采集器。 1CY7C68013芯片 Cypress公司的EZ-USBFX2系列中的CY7C68013,是目前市面上比较少的符

3、合USB20标准的USB控制器之一。与其它同类芯片相比,它提供了4KB的FIFO和一个功能十分强大的GPIF(GeneralProgrammableInterface)模块。后者相当于一个可编程状态机,正是由于它的存在,使得CY7C68013比其它同类芯片具有强大的互联能力。图1是CY7C68013芯片的结构示意图,其主要特点如下: CY7C68013内部集成了一个增强型的51内核,其指令集与标准的8051兼容,并且在多方面有所改进。例如:最高工作频率可达48MHz,一个指令周期为4个时钟周期,两个UART接口,三个定时计数器,一个I2C接口引擎等。 CY7C68013提供了一个串行接口引擎(

4、SIE),负责完成大部分USB20协议的处理工作,从而大大减轻了USB协议处理的工作量,并且提供了4KB的FIFO保证数据高速传输的需要。 为了满足与各种不同类型外设的互联需要,芯片中集成了一个GPIF模块,让用户可以按照外设的时序进行波形编辑,而不需要复杂的程序描述,就可以保证GPIF与内部FIFO的协调工作,实现芯片与高速外围设备之间的逻辑连接和高速数据传输。这对于开发者来说是相当友好的。笔者就是利用这一特性,实现数据的高速同步采集及传输。 图1 2同步高速数据采集芯片AD7862 21AD7862的结构 AD7862是AD公司推出的高速、低功耗、双极性12位的AD转换芯片,其中包含了两个

5、独立的快速ADC模块(允许同时采样和转换两路信号)、4路模拟输入信号(VAl、VA2、VBl、VB2)、25V的内部电压基准以及一个12位的高速并行接口。芯片正常运行时功耗只有60mW,当使用节电方式时,只有50W,对于自带电源的USB设备这种低功耗无疑是一种优点。该芯片的内部结构如图2所示。每个ADC都有一个两通道的多路选择器,芯片通过地址信号A0分别选通VAl、VA2或VBl、VB2,当一个CONVST信号到来时,同时转换地址A0选中的两路信号。 22AD7862的控制时序 AD7862的控制时序如图3所示。在USB20同步高速数据采集器中,利用GPIF实现图3所示的时序控制。其中CONV

6、ST是转换开始启动信号,下降沿触发两路ADC开始装换;BUSY信号在CONVST信号触发后;变成并保持为高电子状态,直到两路ADC转换完毕,才又回到低电平;地址A0用于对两路模拟信号的选择,CS信号和RD信号分别是芯片使能信号以及读允许信号。两者第一次同为低电平时,读出第一组ADC转换的数据;在第二次为高电平时,读出第二组ADC转换的数据。使用AD7862值得注意的一点是该芯片提供了电源管理功能,当芯片将第二组数据读出后,CONVST信号继续保持低电平,芯片进入休眠模式。这时芯片的功耗只有50W。这一点对于现在的便携式设备十分重要。 3同步高速数据采集器的硬件设计 传统的高速数据采集卡一般都采

7、用PCI总线设计,但是笔记本电脑以及大部分便携式设备是没有PCI插槽的。利用USB20技术,不仅保证了较高的数据传输率(传输率最大可以达到480Mbps),同时还具有便携和无需外加电源等优点。图4是系统的结构示意图。它的工作原理是:在GPIF模块的控制下,由AD7862对目标进行等间隔采样,然后将采样结果通过GPIF传送到CY7C68013的内部FIFO中缓存;当采集一定量的数据后,CY7C68013自动将数据打包(不需要8051的介入),通过USB总线传输到PC机中进行数据处理。由于有GPIF的硬件支持,CY7C68013中的8051内核只是在很少的时间内,对控制进行了辅助处理,大部分工作由

8、GPIF硬件完成。这样8051还可以与其他外设进行互联等工作。在高速数据采集器上附加了两路RS-232接口,用于将GPS数据和高精度智能测深仪的数据中转到主控计算机上,大大方便了新近推出的笔记本电脑与传统外设之间的联系。因为新近推出的笔记本电脑大多不具有RS-232接口,而那些野外观测仪器大多只能通过RS-232接口进行数据交换。 对于CY7C68013来说,其配置和固件都是软的,存储在外部的E2PROM中,上电时从I2C总线自动装载到片内RAM中,修改起来十分方便,便于固件升级。由于CY7C68013提供了丰富的IO口,所以进行功能扩展也是很方便的,例如增加一个GPIB数据口等。 4软件设计

9、 USB设备的软件设计包括三方面:固件设计、硬件驱动程序设计以及高级应用程序的设计。 41固件(firmware)设计 Cypress公司为CY7C68013提供了一个开发框架,可以在KEILC51环境下开发。由于开发框架的引入,从而大大缩短了用户的研发周期。该框架由以下几部分组成: (1)FWC中包含了程序框架的MAIN函数,管理整个51内核的运行,因为Cypress对这个部分的功能进行了精心划分,一般是不用改动的。 图3 (2)用户必须将PERIPHC实例化,它负责系统周边器件的互联。固件的设计主要针对这个文件,用户必须根据自己系统的需要,实例化这个文件,以实现自己的功能。在这个文件中有几

10、个函数是比较关键的,在这里做一下特别说明: TD_Init函数,负责对USB端点进行初始化设置。本设计中将端点6设置为1024个字节,缓存深度为4级,模式设为自动输入方式。 TD_Poll函数,负责系统中循环任务的处理。它主要是对各个端点的状态进行查询,处理各种OUT或IN端点的交互。值得说明的一点是,这种处理只是辅助性质的,大部分工作由硬件自动完成。 DR_VendorCmnd函数,主要负责用户自定义命令的译码工作,用户请求通过端点O传输给内核。由于CY7C68013上SIE硬件的支持,用户只需查询固定地址单元即可获得当前的命令代码。 GPIFINITC,其中只有一个Gpiflnit函数;它

11、是GPIF模块的初始化函数,一般在TD_Init函数中调用。这个函数是由Cypress公司提供的一个GPIFDesigner开发工具根据用户设计的波形生成的,用户不需要自己设计波形查询表,减轻了设计者的工作强度。 DSCRA51是描述表文件,负责USB设备的描述工作,CY7C68013在上电后自动利用其中的VID和PID取代默认的VID和PID。 两个包含文件EZUSBLIB和USBJMPTBOBJ,前者是EZUSB函数库的二进制文件,后者是USB的中断向量表。 固件调试,使用Cypress提供的EZ-USBcontrolpanel,具体的操作读者可以参考其自带帮助。 42驱动程序的设计 驱动

12、程序负责对底层硬件的访问。在本设计的驱动程序开发中,使用的开发工具是Jungo公司的WinDriverv603,它支持多种操作系统。利用WinDriver开发的优点是用户不需要了解操作系统内部的具体工作机理,同时也不需要了解各个系统DDK(DevelopingorDebugginginKernel)的开发工具,用户只需使用WinDriver提供的开发平台,即可完成驱动程序的设计工作,剩下的底层细节由WinDriver内核统一处理,从而降低了对开发者编程能力的要求,同时也大大缩短了开发周期。下面就使用WinDriver开发驱动程序的步骤做一个简要说明(以在Windows操作系统下的开发为例):

13、(1)启动WinDriver的DriverWizard工具; (2)利用DriverWizard检测硬件是否正常; (3)在DriverWizard中选择所使用的开发环境,这里使用VB60开发环境,并生成驱动程序代码; (4)对生成的代码进行修改,使其符合系统的需要; (5)在WinDriver环境的用户模式下,调试驱动程序; (6)如果程序需要内核访问,以提高驱动程序的效率,进入内核开发。 43高级应用程序的设计 高级应用程序建立在驱动程序之上,在本设计中,选用了VB60的开发环境来开发应用程序。它以驱动程序为桥梁,对USB设备进行命令控制,处理USB设备传回的数据,例如波形显示、频谱分析等。开发者可以依据自己的实际需求,制作一个USB控制器的控件或数据包,在编写应用程序时连接或嵌入到应用程序中。 随着笔记本电脑的迅速普及,高性能便携式采集器将会倍受瞩目,尤其是在RS-232接口已被大多数笔记本电脑摈弃的今天,对USB数据采集器的需求就变得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论