基于CY7C68013芯片高速USB数据采集系统方案设计:澳门新葡澳京app官网版
在图像处理、瞬态信号测量等一些高速、高精度的应用于中,必须展开高速数据采集。USB2.0模块以其高速率等优点日渐有代替传统ISA及PCI数据总线的趋势,热插拔特性也使其沦为各种PC外设的选用模块。EZ-USBFX2是Cypress公司发售的构建USB2.0的微处理器,它构建了USB2.0收发器、SIE(串行接口引擎)、强化的8051微控制器和可编程的外围模块。
本文将讲解基于EZ-USBFX2系列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-USBcontrolpanel。 VoidTD_Poll(void) { If(GPIFTRIG0x80)//辨别GPIF否空闲 { If(EXTFIFONOTEMPTY)//辨别外部FIFO否非空 { If(!(EP24FIFOFLGS0x01))//辨别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(!。
本文关键词:澳门新莆京游戏app大厅,澳门新葡澳京app入口,澳门新葡电子游戏网,新京澳门葡萄城,澳门新葡澳京app官网版
本文来源:澳门新莆京游戏app大厅-www.zmsc355.com