USB与单片机数据采集_第1页
USB与单片机数据采集_第2页
USB与单片机数据采集_第3页
USB与单片机数据采集_第4页
USB与单片机数据采集_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机和接口的数据采集系统设计在工业生产和科学技术研究中,常利用PC或工控机对各种数据进行采集,以获得所需要的控制信息和实验数据。传统的数据采集系统多以ISA,EISA或PCI插卡的形式完成数据传输,这种方式存在安装麻烦,受计算机插槽数量、地址、中断资源限制,可扩展性差等缺点。由于通用串行总线(UniversalSerialBusUSB)具有自动被系统识别自动安装驱动程序、自行进行系统配置,以及支持不同速率的同步和异步传输方式,支持热插拔和即插即用(PlugandPlay,PNP)等优点,已逐渐成为现代数据传输的发展趋势。目前实现USB数据传送多采用专用的USB接口芯片,文献采用的PDIU

2、SBD12可支持USB1D1协议,文献E37采用的接口芯片为USBlOO也仅支持USB1D1协议,文献采用CP2102符合USB2D0协议,其通用的驱动程序可将设备作为虚拟的COM端口设备进行操作,文献采用Philips公司ISP1581芯片作为USB2D0的接VI芯片。这里采用Cypress公司的CY7C68013作为USB0000,设计实现了基于单片机和USB2D0的数据采集系统。该系统可实现单通道模拟信号的采集,主机应用程序负责启动和停止采样,采样间隔时间由主机应用程序设置调整,采样数据传给主机应用程序显示并保存。1系统硬件设计11系统硬件组成整个系统的硬件结构如图1所示。AT89C52

3、为主控单片机,负责控制AD转换、上传采集数据、接收并执行主机的命令。CY7C68013为USB0000DAD转换芯片采用TI公司生产的TLC549,AD780是一款高精度参考电压00,可为TLC549提供2D5V或者3D0V的参考电压。系统+5V电源由主机的USB00提供,CY7C68013所需的电源为+3D3V,由+5v电源0稳压00APlll7提供,图中没有画出。FTW-ID7TLC549截測卅一VOLTCY7r68013AINDATAOLTLUCL.KF1FOADRDF1FOADR1REF+REF-FLAGAFI.AGBFI.AGC!SLLSLWRSI.RDSLOED+D-1D2TLC5

4、49TLC549是以8位开关电容逐次逼近ADD转换器为基础而构造的CMOSADD转换器,将其设计成能通过三态输出与微处理器或外围设备串行接VI。TLC549用输入D输出时钟(IDOCLOCK)和芯片选择(CS)输入作数据控制,转换结果由DATAOUT引脚输出。IDoCLOCK端的最高频率可达1D1MHz。TLC一549片内系统时钟工作在4MHz(不需要外部时钟)。片内系统时钟使内部器件的操作独立于串行输入D输出时序并允许TLC549像许多软件和硬件所要求的那样工作。IDOCLOCK和内部系统时钟可以实现高速数据传送,使得TLc549可实现40kHz的采样频率。TLC549具有通用控制逻辑及自动

5、工作或在微处理器控制下工作的片内采样D保持电路,差分高阻抗基准电压输入端,易于实现比例转换的高速转换器,定标及隔离电路。整个开关电容逐次逼近转换器电路的设计允许在小于17ps的时间内,以最大误差0口5为最低有效位的精度实现转换。1D3CY7(368013及其固件程序FX2可以工作在3种不同的模式下完成式。Ports模式下其uSB数据的传输主要在此数据的传输率比较低,对大批量数据传输一般采用后两种方式。USB数据的传输,即:Ports模式、GPIF模式和SlaveFIFO模在此模式下,FX2的FIFO00000FX2的8051内核参与下完成,数据传输通过执行指令实现,因GPIF方式,称为通用可编

6、程接口方式,GPIF控制的,FX2利用由软件编程输出读写控制波形读取FIFO标志,EZUSBFX2系列芯片CY7C68013nnnnnnnnUSB20,同时向下兼容USBl1规范0单片机,为描述方便以下简称该芯片为FX2。FX2支持全速传输(12MbDs)和高速传输(480MbDs),该芯片将USB2O收发器、串行接口引擎SIE、增强的8051内核、GPIF等集成于一体。FX2内含4KB0端点缓冲区F1FO,可以被配置为具有不同大小缓冲区0IN或OUT端点(EP2,EP4,EP6,EP8),具有USB协议所规定04种传输方式,即控制方式、中断方式、批量传输、和同步传输方式。Cypress公司为

7、FX2提供了完善0软件开发工具包,降低了开难度,加快了开发进度。ASIC,DSP和存储器等。文献利用FX20GPIF方式构建了LISB数据传输通道。SlaveFIFO方式是将FX20FIFO作为外部控制器(如FPGA或单片机)0从属FIFO,外部控制器可像普通FIFO操作一样对FX20FIFO进行读写,而不考虑该包0大小,传输速率可明显提高,文中FX2在SlaveFIFO模式下工作。FX2有3种封装控制FIFO的选通,并且对外部设备提供了用户专用接口,可以对许多通用总线接口进行访问,如FX2056引脚0封装形式。形式:128引脚、100引脚和56引脚,这里选用FX2芯片在使用时必须先下载固件程

8、序,固件程序主要负责完成芯片初始化,对芯片进行必要的配置、处理设备请求、进行数据传输等相应工作。用户通过编写适当的固件程序完成对FX20设置。Cypress公司提供了一个固件程序开发框架可以大大简化FX2芯片固件程序的开发难度。通过编写用户初始化函数TD_Init(),用户可以规定各种端点资源的使用以及配置外围接口的输入D输出等。其主要配置语句如下:IFCONFIG=OxC-B:/FX2配置为异步Sl?iveFIFO方式円內部时钟48MHzEP2CF(;=OxAO/EP2,4X512B,BULK,OUTEP2FIFOm;=0 x10;/EP2自动OUT飞位EP6CFG=OxEO:/EP6,4X

9、512B,BULKtINLT6FIFOCFG=0 x08;/EP6自动IN,8位RE4CFG=0 x20f/EP4无效EP8CFG=0 x60?/KPS无效PTNFLAGSAB=0 x8E:/FLAGA固定为EP6FTC:TL控制码/V实际返回的字节数&bulkCintrol,/输人缓冲区,指向BLLK.TRANSFER.CONTROT,结构的指针sizeoKBULKTRANSFER.CONTROL),输人缓冲区扶度outBuffer,/7探荷要写到i殳备的数据缓冲区描针nBvifferSiKet/GSB传送数据的总长度,必须小于64KB/7实际返回的字节数?-BylesReturned*NU

10、M);/吴闭设备CloseHaridiet_bDevice):Wi应用程序中有两个线程,辅助线程为采样线程,采样线程的流程如图2所示。停山条件满好勺?图2采样线程流程图将读収的J毁数据诫加至采样数据軸向国程发送消息,巾上线程卫新显示閤tDcicdoCnontroli)数,谀脱数拥悶用CreateFileQ数.茯袒设鲁句柄调CIoseHandleO,关衙设备門#Fh-采样线程负责从设备读取数据,并通过消息传送机制与主线程通信;主线程负责采样数据的显示、存盘,向设备发送命令数据包,以及启动停止采样线程。当执行启动采样命令时,主线程先向设备发送启动命令数据包,然后启动采样线程准备接收数据;当执行停止

11、采样命令时,主线程先向设备发送停止命令数据包,然后停止采样线程结束数据的接收。命令数据包大小为4B叮含有命令字和采样间隔时间参数等信息。23单片机程序如上所述,单片机的INTO中断一旦触发,表示主机有命令数据包传送到。在INTO的中断处理程序中,单片机读取EP2端点的数据直到EP2端点为空(FLAGB为低电平),获得上位机发送的命令数据包。若接收到启动命令,则根据命令数据包的采样间隔时间参数来设置计数变量和定时器TO的初值并启动TO;若接收到的命令为停止命令,则停止定时器TO。在TO的中断处理程序中若相应的计数变量达到设定值,则完成ADD转换、读取数据以及将数据写入EP6端点的操作。计数变量和TO的初值均根据命令数据包的参数进行设置,因此设备的采样间隔时间可以由主机程序进行调整。3结语工作于SlaveFIFo方式下的FX2相当于在外部控制和主机之间构造了一个的数据管道。通过对FX2的FIFO标志引脚FLAGA,FALGB,F

温馨提示

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

评论

0/150

提交评论