当前位置:首页 > 智能硬件 > 智能硬件
[导读] 在现代工业生产和科学技术研究的各行业中,通常需要对各种数据进行采集。目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,易受计算机插槽数量和地址

    在现代工业生产和科学技术研究的各行业中,通常需要对各种数据进行采集。目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,易受计算机插槽数量和地址、中断资源的限制,可扩展性差。而通用串行总线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模块的数据采集。

 

 

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)实时采集,实时显示。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024 年 3 月 - 全球领先的工业称重和检测技术制造商之一茵泰科推出了Midrics® 1 Ex防爆称重显示器,为危险区域的称重结果显示提供了新的解决方案。以更优惠的价格向客户提供可靠、操作直观简便的产品。

关键字: 显示器 数字通信接口 数据采集系统

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计

北京2023年8月15日 /美通社/ -- 日前,在第五届OCP China Day 2023(开放计算中国技术峰会)上,浪潮信息正式推出融合架构3.0原型系统,以开创性的系统架构设计实现了计算资源、存储资源、...

关键字: 系统设计 内存 软件定义 数据中心

北京2023年8月7日 /美通社/ -- 随着大模型智能水平的提升,AIGC所需要的算力在不断增长。大模型的参数量超过千亿,甚至突破万亿级别,预计智算中心将迎来更快发展。IDC预测,2022-2026年,全球AI计算市场...

关键字: CHINA 数据中心 AI 系统设计

无论温度怎么变化始终UCQ1=UCQ2,电路以两只管子集电极电位差作为输出,就克服了温漂 当u11=u12(共模信号)T1管和T2管所产生的电流变化相等;因此集电极电位的变化也相等。

关键字: 差分放大器 系统设计 电极电位

在广泛应用中实现精确测量-从原型机测试,到设备与工厂监控的绝佳工具

关键字: 数据采集 传感器 数据采集系统

北京2023年1月26日 /美通社/ -- 微云全息公司(纳斯达克:HOLO)(以下简称为"HOLO"或"公司"),一家提供全息数字孪生技术服务提供商,今日宣布推出全息脑机接口数据...

关键字: NAS 数据采集系统 脑机接口 DAQ

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统
关闭
关闭