USB与单片机数据采集

上传人:痛*** 文档编号:84748648 上传时间:2022-05-04 格式:DOC 页数:6 大小:258.50KB
收藏 版权申诉 举报 下载
USB与单片机数据采集_第1页
第1页 / 共6页
USB与单片机数据采集_第2页
第2页 / 共6页
USB与单片机数据采集_第3页
第3页 / 共6页
资源描述:

《USB与单片机数据采集》由会员分享,可在线阅读,更多相关《USB与单片机数据采集(6页珍藏版)》请在装配图网上搜索。

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

2、口芯片,文献采用的 PDIUSBDI2可支持USBl. 1协议,文献E37采用的接口 芯片为USBIOO也仅支持USBl. 1协议,文献采用 CP2102符合USB2 0协议,其通用的驱动程序可将设备 作为虚拟的COM端口设备进行操作,文献采用Philips 公司ISPI581芯片作为USB2 0的接VI芯片。这里采用Cypress公司的CY7C68013作为USB接口芯片,设计实现了基于单片机和 USB2 0的数据采集系统。 该系统可实现单通道模拟信号的采集,主机应用程序负责启动和停止采样,采样间隔时间由主机应用程序 设置调整,采样数据传给主机应用程序显示并保存。1系统硬件设计1 . 1系统

3、硬件组成整个系统的硬件结构如图1所示。AT89C52为主控单片机,负责控制 A/D转换、上传采集数据、接收并执行主机的命令。CY7C68013为USB接口芯片。A/D转换芯片采用TI公司生产的TLC549, AD780是一款 高精度参考电压芯片,可为 TLC549提供2 . 5 V或 者3 . 0 V的参考电压。系统+5 V电源由主机的USB接 口提供,CY7C68013所需的电源为+3 . 3 V,由+5 v电源接稳压芯片 APlll7提供,图中没有画出。图!系统的硬件连接图1 . 2 TLC549TLC549是以8位开关电容逐次逼近 A/D转换器为基础而构造的 CMOS AD转换器,将其设

4、计成能通 过三态输出与微处理器或外围设备串行接VI。TLC549用输入/输出时钟(I /O CLOCK和芯片选择(CS)输入作数据控制,转换结果由DATAOUTI脚输出。I /o CLOCK端的最高频率可达1. 1 MHzTLC 549片内系统时钟工作在4 MHz(不需要外部时钟)。片内系统时钟使内部器件的操作独立于串行输入/输出时序并允 许TLC549像许多软件和硬件所要求的那样工作。I / O CLOCK和内部系统时钟可以实现高速数据传送,使得TLc549可实现40 kHz的采样频率。TLC549具有通用控制逻辑及自动工作或在微处理器控制下工作的片 内采样/保持电路,差分高阻抗基准电压输入

5、端,易于实现比例转换的高速转换器,定标及隔离电路。整 个开关电容逐次逼近转换器电路的设计允许在小于17 口 s的时间内,以最大误差土 0. 5为最低有效位的精度实现转换。1. 3 CY7(368013及其固件程序E USB FX2系列芯片CY7C68013是业界第一个支持 USB2 0,同时向下兼容 USBI. 1规范的单片机, 为描述方便以下简称该芯片为FX2o FX2支持全速传输(12 Mt/ s)和高速传输(480 Mt/s),该芯片将USB2 O收发器、串行接口引擎 SIE、增强的8051内核、GPIF等集成于一体。FX2内含4 KB的端点缓冲区F仆Q 可以被配置为具有不同大小缓冲区的

6、IN或OUT端点(EP2, EP4, EPQ EP8),具有USB协议所规定的4种传输方式,即控制方式、中断方式、批量传输、和同步传输方式。Cypress公司为FX2提供了完善的软件开发工具包,降低了开难度,加快了开发进度。FX2可以工作在3种不同的模式下完成 USB数据的传输,即:Ports模式、GPIF模式和Slave FIFO模 式。Ports模式下其uSB数据的传输主要在FX2的8051内核参与下完成,数据传输通过执行指令实现,因 此数据的传输率比较低,对大批量数据传输一般采用后两种方式。GPIF方式,称为通用可编程接口方式,在此模式下,FX2的FIFO是由内部的GPIF控制的,FX2

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

8、件程序主要负责完成芯片初始化,对芯片进行必要的配置、 处理设备请求、进行数据传输等相应工作。用户通过编写适当的固件程序完成对FX2的设置。Cypress公司提供了一个固件程序开发框架可以大大简化FX2芯片固件程序的开发难度。通过编写用户初始化函数TD_lnit(),用户可以规定各种端点资源的使用以及配置外围接口的输入/输出等。其主要配置语句如下:IFCONFK; = OxCB;/FX2配置为异步Slave FIFO方式内部时钟48 MHz EP2C:F(; = Ox AO;/EP2UX5I2 B.BULK.OUTEP2FIF(X:F(; = OxlO/EP2 自动 OU丁8 位EP6CFG O

9、xECt/EP6.4X512 B,BULK JNEP6FIF()CFG - 0x08;/EP6 自动 IN.8 位EP4CFC; = 0x20;/EP4 无效EP8CFG = 0x60;/71:P8 无效PINFLAGSAB = 0x8E:/FLAGA 固定为 EP6FFFLAGB 固定为 EP2EF PINFLAGSCD = OxOh/FLA(;(:固定为 El吃PFPORTACFG = OxW:/7PA7 引脚配置为 SLCSEIFOPIN POLAR = (J xOO:/所有引脚低电平有效EP2FIF( )PFH = 0x00?FP2端点的整个FIFO大于等于1吋,FP2的可编稈标志激活

10、EP2FIF0PFL = 0x01;固件程序将FX2配置为异步Slave FIFIO模式,总线宽度8位,在4个端点中,EP4和:EP8未被使用, EP2和EP6的配置如表1所示。由于采用自动输入/输出模式,主机和单片机通过旁路FX2的CPU直接连接,所有数据被直接通过 FIFO管道提交,不需固件程序干预。在FX2的slave FIFO模式下,FIFOADR1:0引脚作为地址线选择某个端点,SLCS相当于片选信号,SLwR(写)与单片机的wR引脚相连,SLRD读)和SLOE输出使能)与单片机的RD引脚相连。单片机通过访问地址为0x00的外部存储器的方式就可以实现对EP2的访问,同理可访问 EP6

11、端点。表1 EP2和端点配置端点 统冲区丸小传輸种英访问庖址EP21馆:12 B (主机传向设壽)扯量传输单片机通过FX2的3个标志引脚(FALGA FLAGB FLAGC来全面掌握FX2的各端点FIFO的状况。FLAGA 定义为输入端点EP6的满标志,当输入数据满时该引脚为低电平;FLAGB被定义为输出端点EP2的空标志,当主机传来的数据被读空时该引脚为低电平;FLAGC定义为当EP2端点整个FIF0中的字节数大于等于1时为低电平。假设当前主机没有传送命令,则FLAGC为高电平,当主机发送命令后,EP2的字节数大于等于1,则FLAGC变为低电平。这样在 FALGC引脚上产生了一个下降沿,将此

12、引脚与单片机的INTO引脚相连,则当主机发送命令后单片机会触发 INTO中断,在INTO的中断处理程序中单片机读取并执行传来的命令。2系统软件设计2. 1驱动程序在EZH USB FX2开发包中,提供有通用的驱动程序包,对该程序包稍加修改就可生成一个具有下载固 件并完成设备重枚举功能的设备驱动程序。文献对驱动程序的开发步骤有详细的记述,这里采用的就是这 个通用驱动程序(GPD)。2. 2主机应用程序主机应用程序主要实现向设备发送命令数据包,接收设备传送的数据并进行显示,主机应用程序通过通用驱动程序来完成对设备的控制和通信。应用程序采用VC6 O编写,与设备通信时,首先通过调用Win32函数Cr

13、eateFile() 来取得访问设备驱动程序的句柄。该函数的语句实例如下:HANDLE DeviceHandk)DeviceUandle = CrealeFile( 4 ezusb - 0,r, GENERIC _WRI I E.FTLESHARR WRITE, NULLa)PEN_EXIST1S O,NULL);IVeeQg# 库用户得到设备句柄后,就可以使用Win32函数Devicelontrol()来向设备提交相应的IOCTL控制码,进行读写和控制操作,完成相应操作后应用程序通过Win32函数CloseHandle()关闭设备句柄结束1次操作。以下是部分操作的代码实例:/读操作BOOL

14、status FLASE;/执 行结果status = DeviccIoC ontrol (g_hD(,virc*/输人设 备句柄IOCTL_EZUSR-BULK_READ/批毘读取数据的IOCTL控制码& bulkControL输入缓冲区指向 BULKTRxNSbEICCON rROL/结构的JSih该结构主要用來提供管道号 sizeof( Bl.LK_TRANSFER_()NJROL)输入缓冲区长度 inBuffer,保存读取数据的缓冲区指针FX2_BufferSize,/USB传送数据的总长度必须小牛削KF& BytesReturned ”/实际返回的字节数NULL) |写操作statu

15、s = DeviceIoC3ontrol (g_hDcvicet/输出设备句柄toctl,ezusbbulk3vrtte+/批就写数据的1OCTL控制码 bulkCantroL输人级冲区指向BULKpTRANSFERLCONTR0L结构的指针sizwf(BULKTRANSFER_CONTROL)t/输人缓冲区长度ourBuffer.保存要写到设备的数据缓冲区指针nBufferSizet/USB传送数据的总氏度,必须小于64 KB & BylesReiunied./实际返回的字节数NULL) j吴闭设备Close I Ian dietDevice);2所示。应用程序中有两个线程,辅助线程为采样线

16、程,采样线程的流程如图采样线程负责从设备读取数据,并通过消息传送机制与主线程通信;主线程负责采样数据的显示、存 盘,向设备发送命令数据包,以及启动/停止采样线程。当执行启动采样命令时,主线程先向设备发送启 动命令数据包,然后启动采样线程准备接收数据;当执行停止采样命令时,主线程先向设备发送停止命令 数据包,然后停止采样线程结束数据的接收。命令数据包大小为4B 包含有命令字和采样间隔时间参数等信息。2. 3单片机程序如上所述,单片机的INTO中断一旦触发,表示主机有命令数据包传送到。在INTO的中断处理程序中,单片机读取EP2端点的数据直到EP2端点为空(FLAGB为低电平),获得上位机发送的命

17、令数据包。若接收 到启动命令,则根据命令数据包的采样间隔时间参数来设置计数变量和定时器T0的初值并启动T0;若接收到的命令为停止命令,则停止定时器TO在TO的中断处理程序中若相应的计数变量达到设定值,则完成A D转换、读取数据以及将数据写入EP6端点的操作。计数变量和 TO的初值均根据命令数据包的参数进行设置,因此设备的采样间隔时间可以由主机程序进行调整。3结语工作于Slave FIFo方式下的FX2相当于在外部控制和主机之间构造了一个的数据管道。通过对 FX2的 FIFO标志引脚FLAGA FALGB FLAGc的配置,使该芯片可以方便地与单片机进行连接,单片机通过外部中 断获知主机数据的到达,通过其他标志引脚获得端点FIFO的信息,单片机和主机通信时,感觉不到FX2的存在。基于单片机和Fx2的数据采集系统扩展方便、编程简单、无需外接电源、采样间隔时间由主机调整, 实现了数据采集系统的小型化和便携化,在现场信号采集,教学实验,仪器仪表等领域具有一定的应用前 景。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!