基于单片机和USB接口的数据采集系统设计

发布者:EnchantedBreeze最新更新时间:2010-02-24 来源: 现代电子技术关键字:FX2  Slave  FIFO  USB  数据采集 手机看文章 扫描二维码
随时随地手机看文章
    在工业生产和科学技术研究中,常利用PC或工控机对各种数据进行采集,以获得所需要的控制信息和实验数据。传统的数据采集系统多以ISA,EISA或PCI插卡的形式完成数据传输,这种方式存在安装麻烦,受计算机插槽数量、地址、中断资源限制,可扩展性差等缺点。由于通用串行总线(Universal Serial Bus.USB)具有自动被系统识别.自动安装驱动程序、自行进行系统配置,以及支持不同速率的同步和异步传输方式,支持热插拔和即插即用(Plug and Play,PNP)等优点,已逐渐成为现代数据传输的发展趋势。目前实现USB数据传送多采用专用的USB接口芯片,文献采用的PDIUSBDl2可支持USBl.1协议,文献E37采用的接口芯片为USBl00也仅支持USBl.1协议,文献采用CP2102符合USB2.0协议,其通用的驱动程序可将设备作为虚拟的COM端口设备进行操作,文献采用Philips公司ISPl581芯片作为USB2.0的接VI芯片’。这里采用Cypress公司的CY7C68013作为USB接口芯片,设计实现了基于单片机和USB2.0的数据采集系统。该系统可实现单通道模拟信号的采集,主机应用程序负责启动和停止采样,采样间隔时间由主机应用程序设置调整,采样数据传给主机应用程序显示并保存。

1 系统硬件设计

1.1 系统硬件组成

    整个系统的硬件结构如图l所示。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 TLC549

    TLC549是以8位开关电容逐次逼近A/D转换器为基础而构造的CMOS A/D转换器,将其设计成能通过三态输出与微处理器或外围设备串行接VI。TLC549用输入/输出时钟(I/O CLOCK)和芯片选择(CS)输入作数据控制,转换结果由DATAOUT引脚输出。I/o CLOCK端的最高频率可达1.1 MHz。TLC一549片内系统时钟工作在4 MHz(不需要外部时钟)。片内系统时钟使内部器件的操作独立于串行输入/输出时序并允许TLC549像许多软件和硬件所要求的那样工作。I/O CLOCK和内部系统时钟可以实现高速数据传送,使得TLc549可实现40 kHz的采样频率。TLC549具有通用控制逻辑及自动工作或在微处理器控制下工作的片内采样/保持电路,差分高阻抗基准电压输入端,易于实现比例转换的高速转换器,定标及隔离电路。整个开关电容逐次逼近转换器电路的设计允许在小于17μs的时间内,以最大误差±0.5为最低有效位的精度实现转换。

1.3 CY7(368013及其固件程序

    EZ—USB FX2系列芯片CY7C68013是业界第一个支持USB2.0,同时向下兼容USBl.1规范的单片机,为描述方便以下简称该芯片为FX2。FX2支持全速传输(12 Mb/s)和高速传输(480 Mb/s),该芯片将USB2.O收发器、串行接口引擎SIE、增强的8051内核、GPIF等集成于一体。FX2内含4 KB的端点缓冲区F1FO,可以被配置为具有不同大小缓冲区的IN或OUT端点(EP2,EP4,EP6,EP8),具有USB协议所规定的4种传输方式,即控制方式、中断方式、批量传输、和同步传输方式。Cypress公司为FX2提供了完善的软件开发工具包,降低了开难度,加快了开发进度。

    FX2可以工作在3种不同的模式下完成USB数据的传输,即:Ports模式、GPIF模式和Slave FIFO模式。Ports模式下其uSB数据的传输主要在FX2的8051内核参与下完成,数据传输通过执行指令实现,因此数据的传输率比较低,对大批量数据传输一般采用后两种方式。GPIF方式,称为通用可编程接口方式,在此模式下,FX2的FIFO是由内部的GPIF控制的,FX2利用由软件编程输出读写控制波形读取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芯片在使用时必须先下载固件程序,固件程序主要负责完成芯片初始化,对芯片进行必要的配置、处理设备请求、进行数据传输等相应工作。用户通过编写适当的固件程序完成对FX2的设置。Cypress公司提供了一个固件程序开发框架可以大大简化FX2芯片固件程序的开发难度。通过编写用户初始化函数TD_Init(),用户可以规定各种端点资源的使用以及配置外围接口的输入/输出等。其主要配置语句如下:

   

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

    单片机通过FX2的3个标志引脚(FALGA,FLAGB,FLAGC)来全面掌握FX2的各端点FIFO的状况。FLAGA定义为输入端点EP6的满标志,当输入数据满时该引脚为低电平;FLAGB被定义为输出端点EP2的空标志,当主机传来的数据被读空时该引脚为低电平;FLAGC定义为当EP2端点整个FIF0中的字节数大于等于1时为低电平。假设当前主机没有传送命令,则FLAGC为高电平,当主机发送命令后,EP2的字节数大于等于1,则FLAGC变为低电平。这样在FALGC引脚上产生了一个下降沿,将此引脚与单片机的INTO引脚相连,则当主机发送命令后单片机会触发INT0中断,在INTO的中断处理程序中单片机读取并执行传来的命令。

2 系统软件设计

2.1 驱动程序

    在EZ—USB FX2开发包中,提供有通用的驱动程序包,对该程序包稍加修改就可生成一个具有下载固件并完成设备重枚举功能的设备驱动程序。文献对驱动程序的开发步骤有详细的记述,这里采用的就是这个通用驱动程序(GPD)。

2.2 主机应用程序

    主机应用程序主要实现向设备发送命令数据包,接收设备传送的数据并进行显示,主机应用程序通过通用驱动程序来完成对设备的控制和通信。应用程序采用VC6.O编写,与设备通信时,首先通过调用win32函数CreateFile()来取得访问设备驱动程序的句柄。该函数的语句实例如下:

    用户得到设备句柄后,就可以使用win32函数DevicelontroI()来向设备提交相应的IOCTL控制码,进行读写和控制操作,完成相应操作后应用程序通过Win32函数CloseHandle()关闭设备句柄结束1次操作。以下是部分操作的代码实例:

    应用程序中有两个线程,辅助线程为采样线程,采样线程的流程如图2所示。

    采样线程负责从设备读取数据,并通过消息传送机制与主线程通信;主线程负责采样数据的显示、存盘,向设备发送命令数据包,以及启动/停止采样线程。当执行启动采样命令时,主线程先向设备发送启动命令数据包,然后启动采样线程准备接收数据;当执行停止采样命令时,主线程先向设备发送停止命令数据包,然后停止采样线程结束数据的接收。命令数据包大小为4 B.包含有命令字和采样间隔时间参数等信息。

2.3 单片机程序

    如上所述,单片机的INTO中断一旦触发,表示主机有命令数据包传送到。在INTO的中断处理程序中,单片机读取EP2端点的数据直到EP2端点为空(FLAGB为低电平),获得上位机发送的命令数据包。若接收到启动命令,则根据命令数据包的采样间隔时间参数来设置计数变量和定时器T0的初值并启动T0;若接收到的命令为停止命令,则停止定时器TO。在TO的中断处理程序中若相应的计数变量达到设定值,则完成A/D转换、读取数据以及将数据写入EP6端点的操作。计数变量和TO的初值均根据命令数据包的参数进行设置,因此设备的采样间隔时间可以由主机程序进行调整。

3 结 语

    工作于Slave FIFo方式下的FX2相当于在外部控制和主机之间构造了一个的数据管道。通过对FX2的FIFO标志引脚FLAGA,FALGB,FLAGc的配置,使该芯片可以方便地与单片机进行连接,单片机通过外部中断获知主机数据的到达,通过其他标志引脚获得端点FIFO的信息,单片机和主机通信时,感觉不到FX2的存在。基于单片机和Fx2的数据采集系统扩展方便、编程简单、无需外接电源、采样间隔时间由主机调整,实现了数据采集系统的小型化和便携化,在现场信号采集,教学实验,仪器仪表等领域具有一定的应用前景。

关键字:FX2  Slave  FIFO  USB  数据采集 引用地址:基于单片机和USB接口的数据采集系统设计

上一篇:一种工业级数据采集监控系统的设计与实现
下一篇:基于USB2.0的红外数据传输系统的设计与实现

推荐阅读最新更新时间:2024-03-16 12:28

基于完整数据采集系统设计方案
  简介   可编程逻辑控制器( PLC )是很多工业 自动化 和过程控制系统的核心,可监控和控制复杂的系统变量。基于PLC的系统采用多个 传感器 和执行器,可测量和控制模拟过程变量,例如压力、温度和流量。PLC广泛应用于众多不同应用,例如工厂、炼油厂、医疗设备和航空航天系统,它们需要很高的精度,还要保持稳定的长时间工作。此外,激烈的市场竞争形势要求必须降低成本和缩短设计时间。因此,工业设备和关键基础设施的设计人员在满足客户对精度、噪声、漂移、速度和安全的严格要求方面遇到了严峻的挑战。本文以PLC应用为例,说明多功能、低成本的高度集成 ADAS3022如何通过更换 模拟前端 (AFE)级,降低复杂性、解决多通道数据采集系统设计中遇到
[嵌入式]
MA8601升级版USB HUB工业级多功能多口集线器扩展芯片|MA8601替代方案
PL2586是旺玖新出的一款USB HUB 芯片 PL2586是一项创新,它集成了符合USB-IF“电池充电规范修订版1.2”的功能,支持便携式设备的快速充电功能。 此功能将PL2586转变为“通用充电解决方案”(UCS)兼容的基于电池的便携式设备的USB充电集线器,由GSMA推广。当在下游端口检测到符合B.C.标准的便携式设备时,PL2586中的专用端口可以处理充电请求。而且,在握手完成后,PL2586允许便携式设备达到900mA(高速);1.5A(低速/全速)来自充电下游端口(CDP)或1.5A来自专用充电端口(DCP)。 PL2586是继 MA8601新出的USB 2.0 工业级 HUB芯片方案,其性能和稳定性都比之
[嵌入式]
MA8601升级版<font color='red'>USB</font> HUB工业级多功能多口集线器扩展芯片|MA8601替代方案
基于DSP和CAN总线的数据采集与处理系统设计
随着计算机技术&通信技术和电子技术的迅猛发展,电力系统自动化程度也日益提高,通过现场总线技术和数字信号处理技术的应用提高了电力系统的可靠性和可维护性。本文将TMS320LF2407A芯片和CAN总线等技术应用于电力系统的数据采集中,DSP中间控制器就以这款芯片作为主控芯片。TMS320LF2407A的CAN模块完全支持CAN2.0A/B协议,CAN控制器模块是一个完全的CAN控制器,具有可编程的位定时器、中断配置可编程、可编程的CAN总线唤醒功能、自动回复远程请求、总线错误诊断等功能,可以工作在标准模式和扩展模式,内置6个邮箱完成数据收发,可进行自测试,CAN模块内各部分的结构和功能基本上和流行的PHILIPS增强型CAN控制器
[嵌入式]
基于DSP和CAN总线的<font color='red'>数据采集</font>与处理系统设计
采用MSC1210Y5实现灯船水文气象实测数据采集系统的设计与应用
1 、引言 以MSC1210Y5为核心的数据采集部分在工作时投放与水下、工作在无人值守的自容方式。由于海洋环境恶劣,所以仪器必须具有很好的可靠性及精确度,否则,就有可能给航行在测点附近海域的船舶提供不准确的海洋环境参数,在灯船水文气象实测数据自动显示助航系统水下分机的设计中,成功应用了具有增强型8051内核微控制器和闪存的精密模数转换器MSC1210Y5,避免了微控制器和AD转换电路的单独分立设计,简化了电路,降低了功耗,增强了可靠性,提高了整个系统的工作速度。 2 、MSC1210Y5的特性 MSC1210Y5是TQFP-64封装的低功耗完全集成混合信号IC,供电电压为2.7V-5.25V,它具有高精度的积分型模数转换器,A
[单片机]
采用MSC1210Y5实现灯船水文气象实测<font color='red'>数据采集</font>系统的设计与应用
基于USB的手机高清视频传输
为了应对手机传输高清摄像的挑战,需要在USB标准中定义一个USB音视频类来规范USB视频传输(Video-over-USB)技术。 手机的摄像功能已经从一种新鲜事物发展为主流配置,移动供应商策略性地把高清录像作为他们的高端产品。在手机中整合高清视频将会进一步体现其实用价值,因为它已不仅是一个数码相机,还是一个数码摄像机。 把高清录像放到手机会带来新的问题:如何使高清视频回放。在手机上直接回放视频是很普遍的,但屏幕的尺寸和分辨率的限制使高清视频无法向用户传递其动人的高清体验。和共享移动文档和照片类似,开发人员所面临的挑战是如何分享高清视频而不令其仅限于手机内部。 在手机上采用高清视频输出接口 当前的手机视频输出接口的发展跟不上手机高
[嵌入式]
USB3.0外设电源设计技术
  同PC机原先的串口、并口相比,USB口除能大幅提高数据传输速率之外,还具有为外部设备供电的能力。USB外设电源的合理设计,也就成为可以探讨的实际问题。本文参照USB的有关技术规范,阐述USB外设电源的一般设计原则,并对几种较有特色的实用 电路 作了分析讨论。   有关技术规范   根据目前通行的USB1.1规范,USB口可以5V±5%的电压为外部设备供电,但其输出功率不能超过2.25W,所以功耗较大的外设仍须自行配备电源而不在本文讨论范围之内。另外,USB规范对外设电源电路的某些相关参数亦有具体规定,例如,为了防止外设接入USB口时的浪涌电流造成 主机电源 的“毛刺”,外设在接通瞬间从主机抽取的电量不得超过50mC,其电源输
[嵌入式]
基于FT245BM的快速USB接口设计
引 言 USB(通用串行总线)是一种新的数据通信接口方式,它使得外围没备到计算机的连接更加高效、便利。USB接口不仅具有快速、即插即用、支持热插拔的特点,而且能同时连接多达127个外部设备,可以有效地解决PC机外围接口不足的问题。目前USB这一接口形式在微电子控制系统的设计中得到了广泛应用。 在近期参与开发的数控系统中,应客户要求需要将USB接口引入到数控系统中。由于该USB数据通信接口设计仅是系统设计的一个很小的部分,如果仍采用传统的设计方法实现,那么将耗费较多的时间和精力,而且最终也未必能获得理想的效果。为了摆脱常规USB数据接口设计的难度,加快系统开发进程,我们引入了基于FT245BM的快速USB接口设计,使系统开发节奏
[应用]
苹果回应不支持USB3.0 称Intel是主因
新一代USB 3.0接口标准亮相已经有较长的一段时间了,但是当前市面上兼容USB 3.0接口的设备仍然屈指可数,USB 3.0标准叫好不叫座的境况显得有些尴尬。作为时尚流行前线的“旧锐”,苹果公司的产品目前都还不支持USB 3.0接口标准,关于这一点很多粉丝都比较费解,日前就有一名苹果粉丝就此事发电子邮件询问了苹果公司首席执行官乔布斯。 当被问及苹果公司是否会在近期之内让Mac电脑支持USB 3.0高速接口的时候,苹果首席执行官乔布斯回答道:“目前阶段我们暂时还不会采用USB 3.0接口。”此消息是由乔布斯回答给粉丝的邮件所透露的最新消息,同时老乔还解释了Mac机现阶段难以支持USB 3.0的原因,“比如说,我们还没有来
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved