基于USB总线的实时数据采集系统设计与实现

发布者:TechWhizKid最新更新时间:2013-11-08 来源: dzsc关键字:USB总线  实时数据  采集系统 手机看文章 扫描二维码
随时随地手机看文章
在现代工业生产和科学技术研究的各行业中,通常需要对各种数据进行采集。目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,易受计算机插槽数量和地址、中断资源的限制,可扩展性差。而通用串行总线USB(Universal Serial Bus)的出现,很好地解决了上述问题,很容易实现便捷、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。

1系统硬件设计与实现

1.1硬件总体结构

基于USB总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、USB接口芯片,其硬件总体结构如图1所示。多路模拟信号经过模拟开关传到A/D转换器转换为数字信号,单片机控制采集,USB接口芯片存储采集到的数据并将其上传至PC,同时也接收PC机USB控制器的控制信息。



1.2 PDIUSBDl2芯片

USB接口芯片采用Philips公司的一种专用芯片PDIUS-BDl2(以下简称D12)。该芯片完全符合USBl.1规范,集成了SIE、 320B的多配置FIFO存储器、收发器、电压调整器、SoftConnect、GoodLink、可编程时钟输出、低频晶振和终端电阻等,支持双电压工作、完全自动DMA操作、多中断模式,内部结构如图2所示。


单片机通过8位并行接口传送经过A/D转换的采集数据,存储在FIFO存储器中。一旦存满,串行接口引擎SIE立刻对数据进行处理,包括同步模式识别、并/串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定,处理完毕后数据由模拟收/发器通过D+、D-发送至PC。上述过程遵循 USBl.1协议。D12与89C51的具体实现电路如图3所示。
2系统软件设计与实现

系统软件包括USB设备固件编程、驱动程序和应用程序。其中设备固件是整个系统的核心,它控制芯片D12采集数据、接收并处理USB驱动程序的请求和应用程序的控制指令。

2.1 USB设备固件程序设计与实现

设备固件是设备运行的核心,用C语言设计。其主要功能是控制A/D模块的数据采集;接收并处理驱动程序的请求,如请求描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等USBl.1标准请求;控制芯片D12接收应用程序的控制指令等。其程序主框图如图4所示。单片机检测到D12后进入主循环。此时PC机先发令牌包给D12,D12接收到令牌包后给单片机发中断,单片机据中断类型设定标志位Status,最后执行相应标志位的中断服务程序。单片机通过A/D模块的中断入口控制A/D模块的数据采集。 [page]



2.2驱动程序设计与实现

USB系统驱动程序采用分层结构模型:较高级的USB设备驱动程序和较低级的USB函数层。其中USB函数层由通用串行总线驱动程序模块(USBD)和主控制器驱动程序模块(HCD)组成。
 
为使驱动程序具有通用性,也为简化应用程序的开发,编写了供应用程序调用的动态链接库。这样应用程序只需调用此库提供的接口函数即可完成对USB设备的操作。USB函数层(USBD及HCD)由Windows98提供,负责管理USB设备驱动程序与USB控制器之间的通信、加载及卸载USB驱动程序等。目前Windows98提供的多种USB设备驱动程序并不针对实时数据采集设备,因此采用DDK开发工具设计专用的设备驱动程序。其由四个模块组成:初始化模块、即插即用管理模块、电源管理模块以及I/O功能实现模块。

初始化模块提供一个DriverEntry人口点执行一系列的初始化过程。

即插即用管理模块实现USB设备的热插拔及动态配置。当Windows98检测到USB设备接人时,查找相应的驱动程序,并调用它的 DriverEntry例程,PnP管理器调用驱动程序的AddDevice例程,告诉它添加了一个设备;然后驱动程序为USB设备建立一个功能设备对象。在此过程中,驱动程序收到一个IRlMN-STARIDEVICE的IRP,包括设备分配的资源信息。至此,设备被正确配置,驱动程序开始与硬件进行对话。电源管理模块负责设备的挂起与唤醒。 I/0功能实现模块完成I/O请求的大部分工作。当动态链接库提出I/0请求时调用Win32API函数DeviceToControl向设备发出命令;然后由I/0管理器构造一个IRP并设置其MajorFunction域为IRP_MJ_DEVICE_CON-TROL。USB设备驱动程序收到该 IRP后取出其中的控制码,并利用一个开关语句找到对应的例程入口。

2.3 应用程序设计与实现

应用程序采用Visual Basic6.0编写。由于其只需调用动态链接库,故开发较简单。主要功能包括检测USB设备、开启/关闭USB设备、设置A/D状态和数据采集端口、显示并分析实时采集的数据。主框图如图5所示。



由于D12的端点1的FIFO为16字节,端点2的FIFO为64字节,当缓冲区存满后自动将数据打包,由SIE自动发送数据包。程序获得数据包后需延迟至下组数据包准备完毕,从而保证程序与数据采集同步。另外程序还发出停止采集和关闭USB设备的命令。

3系统特点

基于USB总线的实时数据采集系统严格遵循USBl.1协议,有以下特点:

(1)易于扩展。最长传输距离5m,采用USBHub可达30m;最多可同时接127个设备。

(2)电磁干扰影响极小。本系统放置在计算机外部,不受板卡间的电磁干扰影响;若在电磁干扰极强的环境下工作,需专门为其设计电磁屏蔽方案。 (3)安装方便,支持即插即用。克服了以往数据采集板卡需要打开机箱的麻烦。

(4)性价比高,远优于传统的实时数据采集系统。

(5)实时采集,实时显示。
关键字:USB总线  实时数据  采集系统 引用地址:基于USB总线的实时数据采集系统设计与实现

上一篇:USB 2.0 高速主机适配卡的设计
下一篇:USB On—The-Go在移动领域中的应用

推荐阅读最新更新时间:2024-05-02 22:50

基于MPC8280的IMA E1数据采集系统
  IMA 是ATM反复用技术,实现宽窄带网络一体化,在窄带网络接口(如El/T1链路接口)上实现ATM宽带业务。通过IMA协议接口,实现将ATM信元流反向复用到多条低速El/T1链路上。IMA是支持高速ATM信元流的一种实用方法。为多媒体用户的接入,利用现有链路(尤其是2 Mb/s链路)进行ATM传输等应用创造了条件。尤其适用于建网初期的TD—SCDMA接入网Node B侧的数据传输。   基于计算机的数据采集系统可以依据与计算机的接口方式不同而分类。对于低速数据的采集,基于ISA总线的系统面临被USB取代的趋势。而对于高速数据采集系统,主要还是基于PCI总线传输数据。PCI总线相对于其他总线具有高速率、硬件资源丰富和较好的P
[单片机]
基于MPC8280的IMA E1<font color='red'>数据</font><font color='red'>采集系统</font>
工业4.0实时数据传输 有赖高速、稳定5G网络
 5G可望提供高速低延迟、高可靠性的网络传输,将有助车联网和物联网(IoT)发展,吸引官产学界投入相关研发工作。 根据ScienceDaily报导,开发并建置5G无线通信标准,堪称当代最有雄心壮志的计划之一,5G数据传输速度可达到每秒钟10GB,延迟率1毫秒,如此高速低延迟的网络,正是实现感知网络(tactile internet)的必备条件,可望带来新的工业、运输和医疗应用。 一个德国研究团队正积极为5G铺路,不只要高速低延迟,还要兼具可靠性。弗朗霍夫通讯研究院海因里希-赫兹研究所(Fraunhofer Institute for Telecommunications, Heinrich-Hertz-Institut HHI)
[嵌入式]
基于CAN总线的信息采集系统设计
CAN(Controller Area Network)即控制器局域网,主要用于各种设备检测及控制的一种现场总线。20世纪80年代初,德国BOSCH公司为解决现代汽车中众多的控制与测试仪器之间的数据交换,开发了一种串行数据通信协议,即CAN总线。 CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,它为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN属 于工业现场总线的范畴,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,通信速率可达1 Mb/s。目前,CAN总线不仅应用于汽车领域,而且应用于自动控制、航空航天、机械工业、农用机械、机器人、数控机床、医疗器械
[测试测量]
基于CAN总线的信息<font color='red'>采集系统</font>设计
AT45DB081B在数据采集系统中的应用
0 引言 在信号采集系统中,往往需要对多种数据波形进行存储、转移或比较,这就要求系统能方便地访问、传输波形数据。FLASH存储器以其体积小、容量大、可随机访问的特点,在系统中得到了很好的应用。本文从实际应用角度出发,简单介绍了FLASH存储器AT45DB081在数据采集系统中的软/硬件设计思路和设计要点。 1 系统设计 本系统的整个数据存储系统可以分为数据缓冲模块、控制单元和FLASH存储模块三个部分,其系统结构框图如图1所示。图中数据缓冲模块负责对端口数据进行缓冲,以满足FLASH存储器的传输要求。控制单元可按照FLASH存储器的控制要求,对FLASH的读写、擦除操作进行控制。在存储开始后,FLASH的控制单元将数据缓冲模
[缓冲存储]
基于ZigBee 的多点温度采集系统设计与实现
1 引言 随着生产技术的提高, 环境温度指标越来越多的影响到生产效率、能源消耗和生活水平。不管是工业、农业、军事及气象领域, 还是日常生活环境, 都需要对温度进行监测。因而,设计可靠且实用的温度采集系统显得非常重要。 在传统的温度采集系统中, 节点一般采用有线连接方式, 布线繁琐, 扩展性和可移植性较差。尤其对于广阔空间环境中的温度采集,如果采用有线方式其成本和功耗都比较高。而ZigBee 作为一种新兴的短距离、低功耗、低成本的无线通信技术, 能广泛应用于工业控制、消费电子、家庭自动化、医疗监控各种领域。 本文设计了一种基于ZigBee 无线技术的多点温度采集系统, 实现了主从节点间数据的无线传输, 同时上位PC 机采用串口与主节点
[嵌入式]
基于C8051F350的多路高精度数据采集系统及应用
摘要:为针对一般的数据采集系统精度较低、价格较高的问题,设计了一种低成本、高精度的多路数据采集系统系统由上、下位机两部分组成,上、下位机通过RS-485总线进行通信。下位机选用C8051F350作为主控制器,A/D转换采用C8051F350内部24位∑-△型ADC,并设计了RS-485总线接口,便于接入RS-485总线网络、上位机软件使用LabVIEW编写,具有较好的人机交互界面实际使用表明,该系统能够满足高精度数据采集的要求。 数据采集是将模拟信号转换为数字信号并进行存储、数据处理及显示的过程,相应的系统称为数据采集系统。其主要任务是将传感器输出的信号经过调理后送往A/D模块完成转换,然后输入计算机进行数据处理及显示或传输。
[测试测量]
基于C8051F350的多路高精度<font color='red'>数据</font><font color='red'>采集系统</font>及应用
USB总线在便携式数控测井系统中的应用
1 引言     随着测井技术的飞速发展,各种测井数据的实时采集和处理在现代测井系统中已必不可少。传统的地面数据采集系统与主机之间的通信模式是采用PCI总线或RS-232串行总线。PCI总线虽然有很高的传输率,且支持“即插即用”,但是它的扩展槽相当有限,且插拔不方便,不适合便携式系统的要求;RS-232串行总线虽然连接方便,但是带宽非常有限,传输速率较低。为了克服以上通信方式的缺点,要求寻找一种新的通信方式进行数据传输,而通用串行总线USB的出现很好地解决了这些问题,很容易就能实现低成本、高可靠性、高速率的数据通信。 2 USB总线简介     USB的优点:     ①速度快。USB接口的最高传输率可达12 Mb
[嵌入式]
基于PCI总线的嵌入式实时DSP图像采集系统
摘要:以交通十字路口实时DSP图像采集系统为例,说明了基于PCI总线的DSP图像采集系统的优点,并详细阐明了系统的硬件结构和基于VxWorks操作平台的软件实现,最后介绍了系统实现的效果。 关键词:PCI总线 DSP VxWorks操作系统 图像采集系统 本文从实时性和大容量两方面介绍了在通用计算机上加入DSP加速卡实现的图像采集系统。利用DSP芯片的高速处理特性完成大部分的图像处理工作,上位机只完成辅助操作和存储系统。这种方法发挥了DSP的高速性能又具有相当大的灵活性,而且开发工具比较完善。 实时性要求足够的传输速度,PCI总线速度最高可达528MB/s(66MHz、64位)。这是其他总线无法比拟的速度,如ISA总线速度只
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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