基于USB2.0的同步高速数据采集器的设计
摘要:介绍了一种基于USB2.0接口的同步高速数据采集的设计方案及其软硬件的设计方法,对Cypress的USB2.0控制芯片CY7C68013和同步数据采集芯片AD7862的特性作了简要说明,同时重点介绍CPIP及其驱动软件的设计。
关键词:USB2.0 EZ—USB FX2 同步数据采集
随着计算机技术的迅速发展,对外部总线速度的要求越来越高。通用串行总线(Universal Serial Bus,即USB总线)凭借其即插即用、热插拔以及较高的传输速率等优点,成为PC机与外设连接的普遍标准。在许多便携式电脑上,已经找不到RS-232接口。迄今为止,常用的USB总线标准有1998年发布的USBl.1版本和2000年发布的USB2.0版本。其中1.1版本支持两种传输速率:1.5Mbps和12Mbps,主要应用在低速传输要求的场合;而2.0版本面向高数据率传输的场合,支持480Mbps的传输速度,并向下完全兼容USBl.1协议。在实际应用中,通常会遇到一些突发信号,需要对其进行高速采集,对数据进行高速传输,所以USB2.0标准自然成为首选。以Cypress公司的EZ-USB FX2系列中的CY7C68013芯片作为核心控制器,设计开发了一套符合USB2.0标准的高速同步数据采集器。
1 CY7C68013芯片
Cypress公司的EZ-USB FX2系列中的CY7C68013,是目前市面上比较少的符合USB2.0标准的USB控制器之一。与其它同类芯片相比,它提供了4KB的FIFO和一个功能十分强大的GPIF(General Programmable Interface)模块。后者相当于一个可编程状态机,正是由于它的存在,使得CY7C68013比其它同类芯片具有强大的互联能力。图1是CY7C68013芯片的结构示意图,其主要特点如下:
·CY7C68013内部集成了一个增强型的51内核,其指令集与标准的8051兼容,并且在多方面有所改进。例如:最高工作频率可达48MHz,一个指令周期为4个时钟周期,两个UART接口,三个定时计数器,一个I2C接口引擎等。
·CY7C68013提供了一个串行接口引擎(SIE),负责完成大部分USB2.0协议的处理工作,从而大大减轻了USB协议处理的工作量,并且提供了4KB的FIFO保证数据高速传输的需要。
·为了满足与各种不同类型外设的互联需要,芯片中集成了一个GPIF模块,让用户可以按照外设的时序进行波形编辑,而不需要复杂的程序描述,就可以保证GPIF与内部.FIFO的协调工作,实现芯片与高速外围设备之间的逻辑连接和高速数据传输。这对于开发者来说是相当友好的。笔者就是利用这一特性,实现数据的高速同步采集及传输。
图1
2 同步高速数据采集芯片AD7862
2.1 AD7862的结构
AD7862是AD公司推出的高速、低功耗、双极性12位的A/D转换芯片,其中包含了两个独立的快速ADC模块(允许同时采样和转换两路信号)、4路模拟输入信号(VAl、VA2、VBl、VB2)、2.5V的内部电压基准以及一个12位的高速并行接口。芯片正常运行时功耗只有60mW,当使用节电方式时,只有50μW,对于自带电源的USB设备这种低功耗无疑是一种优点。该芯片的内部结构如图2所示。每个ADC都有一个两通道的多路选择器,芯片通过地址信号A0分别选通VAl、VA2或VBl、VB2,当一个CONVST信号到来时,同时转换地址A0选中的两路信号。
2.2 AD7862的控制时序
AD7862的控制时序如图3所示。在USB2.0同步高速数据采集器中,利用GPIF实现图3所示的时序控制。其中CONVST是转换开始启动信号,下降沿触发两路ADC开始装换;BUSY信号在CONVST信号触发后;变成并保持为高电子状态,直到两路ADC转换完毕,才又回到低电平;地址A0用于对两路模拟信号的选择,CS信号和RD信号分别是芯片使能信号以及读允许信号。两者第一次同为低电平时,读出第一组ADC转换的数据;在第二次为高电平时,读出第二组ADC转换的数据。使用AD7862值得注意的一点是该芯片提供了电源管理功能,当芯片将第二组数据读出后,CONVST信号继续保持低电平,芯片进入休眠模式。这时芯片的功耗只有50μW。这一点对于现在的便携式设备十分重要。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 同步高速数据采集器的硬件设计
传统的高速数据采集卡一般都采用PCI总线设计,但是笔记本电脑以及大部分便携式设备是没有PCI插槽的。利用USB2.0技术,不仅保证了较高的数据传输率(传输率最大可以达到480Mbps),同时还具有便携和无需外加电源等优点。图4是系统的结构示意图。它的工作原理是:在GPIF模块的控制下,由AD7862对目标进行等间隔采样,然后将采样结果通过GPIF传送到CY7C68013的内部FIFO中缓存;当采集一定量的数据后,CY7C68013自动将数据打包(不需要8051的介入),通过USB总线传输到PC机中进行数据处理。由于有GPIF的硬件支持,CY7C68013中的8051内核只是在很少的时间内,对控制进行了辅助处理,大部分工作由GPIF硬件完成。这样8051还可以与其他外设进行互联等工作。在高速数据采集器上附加了两路RS-232接口,用于将GPS数据和高精度智能测深仪的数据中转到主控计算机上,大大方便了新近推出的笔记本电脑与传统外设之间的联系。因为新近推出的笔记本电脑大多不具有RS-232接口,而那些野外观测仪器大多只能通过RS-232接口进行数据交换。
对于CY7C68013来说,其配置和固件都是软的,存储在外部的E2PROM中,上电时