c语言sscanf函数的用法是什么
360
2022-11-27
基于Labview控制的数据采集系统
1数据采集系统总体设计
2数据采集系统硬件设计
2.1? 模数转换器TLV5580及其控制
2.2 USB芯片CY7C68013(FX2)
为了满足对USB传输速度较高的需要,本设计选择了Cypress公司内置USB接口的微控制器芯片EZUSBFX2。FX2系列芯片独特的结构使其数据传输速度最高可达56Mbps,故可最大限度地满足USB2.0的带宽。此外,CY7C68013提供有一个串行接口引擎(SIE),可负责大部分USB2.0协议的处理工作,从而大大减轻USB协议处理的工作量,并可提供4KB的FIFO,以保证数据高速传输的需要。CY7C68013可配置成三种不同的接口模式:Ports、GPIF Master和Slave FIFO。本项目采用Slave FIFO模式。在该模式下,外部逻辑或外部处理器直接连接到FX2的端点FIFO,因为外部逻辑可以直接控制FIFO,所以,FIFO的基本控制信号(标志、片选、使能)均由FX2的引脚引出。其外部控制可以是同步,也可以是异步,可以使用内部时钟,也可以使用外部时钟。
2.3 FPGA器件EPIC60240C6
2.4 SOPC及其设计
SOPC (System on a Programmable Chip)即可编程片上系统。它可以由单个芯片完成整个系统的主要逻辑功能;这种可编程系统具有灵活的设计方式,而且可裁减、可扩充、可升级。本设计采用ALTERA公司率先推出的SOPC解决方案,来将处理器、存储、I/O口等系统所需集成到一个FPGA器件上,并对其进行软、硬件配置,从而实现对数据的采集、传输、显示控制。图3所示是其SOPC系统框图。
3数据采集系统软件设计
本系统软件包括SOPC系统程序、USB固件程序、驱动程序和应用程序等4个方面的设计。其中SOPC系统程序和USB固件程序是整个程序设计的核心。
3.1 SOPC系统程序设计
3.2 USB固件程序设计
CY68013芯片的固件程序主要负责处理PC机发来的各种USB设备请求,并与外围电路进行数据传输。CYPRESS公司提供的固件程序框架中的两个程序分别是FW.C和PERIPH.C。其中FW.C是固件运行的主程序文件,负责处理各种USB设备请求,包含程序框架的MAIN函数,它可管理整个51内核的运行。而对于PERIPH.C,则必须将PERIPH.C实例化,以实现所需的功能。固件程序中最重要的是TD_init()和TD_poll()两个函数。TD_Init函数负责对CY7C68013的初始化,它一般在固件运行开始时调用;TD_poll函数是数据采集的执行子程序,它首先判断内部端点6的缓冲区和外部FIFO缓冲器是否非空,如满足条件,则启动A/D转换,并根据USB设备工作在高速和全速的不同来设置不同的传输计数。本设计中将接收数据端点6设为SLAVE FIFO模式,并使用AUTO IN模式来接收FPGA发来的数据,数据流由外部FIFO控制器控制,并直接传人端点6的FIFO,以等待主机提取。这里,CY7C68013仅作为数据通道,CPU不参与此过程。因此,只需在固件的初始化程序中配置好端点6的SLAVE FIFO接口模式,剩下的传输控制和其它的工作则可由FPGA来完成。以下是针对本设计的部分固件程序:
Void TD_Poll(void)//在设备运行时反复被调用,主要完成外部FIFO状态检测和数据传输
3.3 USB驱动程序设计
Windows下的USB驱动程序通常由3部分组成:USB设备驱动程序、USB总线驱动程序和USB主控制器驱动程序。其中,Windows操作系统已经提供了处于驱动程序栈底的USB总线驱动程序和USB主控制器驱动程序。而USB设备驱动程序则要由设备开发者编写。它应能通过向USB总线驱动程序发送包含URB(USB Request Block)的IRP(I/O Request Packet)来实现USB外设之间的信息交换。本设计采用Jungo公司的Win Driver进行驱动程序开发,并根据Win Driver提供的驱动向导和用户需要,来自动生成代码框架,从而简化驱动程序的开发。
3.4应用程序设计
4结束语
本文介绍了一种基于SOPC和USB2.0接口的高速数据采集系统及其虚拟仪器的设计方法。实验表明,基于本设计的高速数据采集系统具有抗干扰、可靠性高、失码率低等优点.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~