当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]高速USB数据采集系统的设计

在图像处理、瞬态信号测量等一些高速、高精度的应用中,需要进行高速数据采集。USB 2.0接口以其高速率等优点渐有取代传统ISA及PCI数据总线的趋势,热插拔特性也使其成为各种PC外设的首选接口。EZ-USB FX2是Cypress公司推出的集成USB 2.0的微处理器,它集成了USB 2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。本文将介绍基于EZ-USB FX2系列CY7C68013芯片的高速数据采集系统的设计,该系统具有限幅保护功能,固件和驱动程序的编写简便,能够完成对数据的高速采集和传送。

数据采集系统方案设计

    数据采集系统的框图如图1所示,硬件电路如图2所示。其中,AD1674是l2位模数转换芯片,采用逐次比较方式工作。CPLD主要用于控制ADC以及FIFO的时序、控制ADC的启动与停止和查询ADC的状态等。FIFO主要起着高速数据缓冲的作用。


图1 数据采集系统框图


图2 系统硬件电路

    CY7C68013和AD1674之间通过CPLD连接,实现相关控制线和数据线的译码。在CY7C68013的控制下,首先对AD1674进行间隔采样,然后把结果传送到FIFO中,当采集到一定量的数据后,CY7C68013将数据打包通过USB总线传到PC,由高级应用程序进行数据处理。扩展的RS232接口可以和外部设备进行通信。上电时,CY7C68013从外部的E2PROM中通过I2C总线自动装载到内部的RAM中,便于固件的修改和升级。

    数据采集前端的调理电路如图3所示,本设计采用了限幅、降压、滤波和增加输入阻抗的措施来保护后端的转换芯片。

驱动程序和固件设计

    USB设备驱动程序基于WDM。WDM型驱动程序是内核程序,与标准的Win32用户态程序不同,采用了分层处理的方法。通过它用户无须直接与硬件打交道,只需通过下层驱动程序提供的接口访问硬件。因此,USB设备驱动程序不必具体对硬件编程,所有的USB命令、读写操作通过总线驱动程序转给USB设备。但是,USB设备驱动程序必须定义与外部设备的通信接口和通信的数据格式,也必须定义与应用程序的接口。Cypress公司提供了完整的CY7C68013驱动程序源码、控制面板程序及固件的框架,这大大加快了用户开发的进度。用户只需稍加修改或无须任何修改即可使用现有驱动程序,软件开发者大量的时间主要集中在应用程序和固件的开发。根据用户自己的需求,一般只需修改DeviceIoControl例程。本设计主要增加了控制数据传输函数、启动和停止ADC、复位FIFO等。Cypress为CY7C68013提供了开发框架,其中两个程序如下。

    FW.C:FW.C中包含了程序框架的MAIN函数,管理整个51内核的运行,因为这部分的功能已经进行了精心划分,一般是不用改动的。


图3 调理电路

    PERIPH.C:用户必须将PERIPH.C实例化,它负责系统周边器件的互联。固件的设计主要针对这个文件,用户必须根据自己系统的需要,实例化这个文件,以实现所需的功能。在固件程序中,最重要的是TD_init()和TD_poll()这两个函数。以TD_poll()函数为例,在TD_poll()中主要完成外部FIFO状态的检测和数据的传输,程序主体部分如下。固件调试时,可以使用Cypress提供的EZ-USB control panel。
Void TD_Poll(void)
{
If(GPIFTRIG & 0x80) //判断GPIF是否空闲
{
If(EXTFIFONOTEMPTY ) //判断外部FIFO是否非空
{
If(!(EP24FIFOFLGS & 0x01)) //判断FIFO是否不满
{
IF(enum_high_speed)
{
SYNCDELAY;
GPIFTCB1=0x02; //设置处理计数
SYNCDELAY;
GPIFTCB0=0x00;
SYNCDELAY;
}
Else
{
SYNCDELAY;
GPIFTCB1=0x00;
SYNCDELAY;
GPIFTCB0=0x20;
SYNCDELAY;
}
Setup_FLOWSTATE_Read();
SYNCDELAY;
GPIFTRIG=GPIFTRIGRD|GPIF_EP2;
SYNCDELAY;
While(!(GPIFTRIG & 0x80))
 {;}
SYNCDELAY;
}
}
}
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭