0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于串行接口USB技术实现激光多普勒测量数据采集系统的设计

牵手一起梦 来源:工业仪表与自动化装置 作者:桑波,赵宏,谭玉 2020-04-04 10:33 次阅读

激光多普勒测量技术(LDT)具有精度高、动态响应快、测量范围大,非接触测量的特点,成为气体、流体测量的强有力的工具。近年来,它在固体测量领域得到了长足的发展,被广泛应用于固体表面的粗糙度、运动速度场、位移场、振动场等的精密测量。它的迅猛发展对信号的采集提出了越来越高的要求:高动态范围、低功耗、便于携带、能与计算机进行实时高速数据传输。针对这种要求,提出了一种基于USB的LDT实时数据采集系统。

USB(Universal Serial Bus)总线是由Intel,Com-paq,Microsoft,IBM,DEC,Northern Telecom等7家公司共同研制的一种针对PC的串行接口标准。它的热插拔、即插即用、连接简单、高带宽、可总线供电等优点几乎使其成为目前计算机外设的首选通信接口

该文依据的是USB1.1协议规范,总线一共4根:5V电源线、地线及两根以差分形式驱动的数据线D+、D-。连接设备的电缆最长可达5 m,通过USB集线器以菊花链拓扑形式实现多达5级的拓扑连接,可外接127个USB设备。USB总线可以提供5V、500mA电流,并支持节约能源的挂机和唤醒模式。它规定的12Mbps传输速率,与一个标准的串行口相比,大约快出100倍,与一个标准并行口相比,大约快出10倍。

1、系统硬件设计

1.1硬件总体结构

USB实时数据采集系统硬件如图1-1所示。DSP控制器TMS320F240内部的模数转换模块包括两个独立的采样/保持电路和两个10位双积分型的转换器,16路模拟输入通道,可同时转换2路信号。

基于串行接口USB技术实现激光多普勒测量数据采集系统的设计

16路模拟输入信号由多路模拟开关选择被检测信号接入A/D转换器,A/D转换的结果经TMS320F240写入FIFO存储器。

TMS320F240通过信号线IS选通USBN9603,将其作为DSP的I/O口访问。USBN9603的D+脚外接一个1.5K的上拉电阻,使其工作在全速方式下,USBN9603的MODE1、MODE2均接至地电位,设定USBN9603为非总线复用方式。操作时序是将地址线A0置高,将欲读写的地址从数据线D0~D7写入,然后将A0置低,读写D0~D7中的数据。

由DSP对A/D转换的结果进行FFT分析、小波分析等,并通过USBN9603与主机交换数据,接收控制命令。

1.2USBN9603控制器

目前市场上有两类USB接口控制器:一类是带USB接口的MCU,如Cypress的CY7C6xxxx第列、Intel的930xx系列等,嵌入了8051系列微控制器。其系统结构和指令集大家都比较熟悉,便于硬件开发和软件编程,然而开发工具较昂贵。另一类是专用接口控制器,如朗讯公司的USS820、国家半导体公司的USBN960x、PHILIPS公司的PDIUSBD11等,都留有与MCU、DSP的接口,搭配灵活。

USBN9603是一个支持USB1.1协议的节点控制器。具有静态模式和异步唤醒功能;5V/3.3V供电;具有一个双向的控制节点Endpoint0、3个发送端点、3个接收端点;具有两种模式的8位并行接口(复用模式和非复用模式);改进的DMA传输方式;串行接口引擎SIE,主要负责时钟恢复、EOP检测、位填充、位解填充、CRC编解码、组帧、拆帧、包类型识别及节点状态识别等。

2、系统软件设计

USB系统软件设计分为3个部分:USB外设端的固件、主机操作系统上的客户驱动程序以及应用程序。应用程序通过客户驱动程序与系统USBDI(USBDevice Interface)进行通信,由系统产生数据的传送动作,固件则响应各种来自系统的标准要求,完成各种数据的交换工作和事件处理。

2.1固件(firmware)设计

固件是指被固化到TMS320F240中的程序。它完成两个任务:控制A/D的采样和通过USB控制器与主机通信。USB有控制、中断、批量、等时等4种数据传输模式。其中控制传输用于传送一些系统控制命令,每个USB设备都必须有控制传输的通道;中断传输适用于鼠标等人工输入的设备使用;等时传输适用于对数据实时性要求较高的场合,如视频音频数据,但其设备和进程的同步设计有较大难度,且它不能提供错误检查机制;批量传输能提供错误检查机制,适用于打印机、调制解调器等不定期传送大量数据的中速设备。

系统采用两种传输方式:控制传输和批量传输。控制传输用来实现位于主机上的USB总线驱动程序(USBD模块)以及编写的功能驱动程序对设备的各种控制操作;批量传输用来完成将采集数据从设备传送到主机。

2.2驱动程序设计

USB系统驱动程序采用分层驱动模型:USB设备驱动程序、USB函数层。其中函数层由通用串行总线驱动程序模块(USBD)和主控制器驱动程序模块(HCD)组成。它由Windows98提供,负责管理USB设备驱动程序和USB控制器之间的通信;加载及卸载USB驱动程序;与USB设备通用端点建立通信来执行设备配置、数据与USB协议框架和打包格式的双向转换任务。

USB设备驱动程序是开发USB外设的一个关键,它的设计是基于WDM(Win-dows Driver Model,Windows驱动程序模型)。目前,Win-dows98提供了多种USB设备驱动程序,但并不针对实时数据采集设备,需要Win-dows98/NT/2000 DDK开发包和SoftICE等调试工具。它可由4个模块实现:初始化模块、即插即用管理模块、电源管理模块以及I/O功能实现模块。

初始化模块提供一个Driver Entry入口函数,来对所有的I/O请求包IRP(I/ORequest Packet)处理例程作定义。电源管理模块负责设备的挂起与唤醒。

当USB设备上电时,主机会向USB控制器发送获得设备描述的命令,设备描述符是一个固定长度为18字节的数字序列,反映了该USB设备的基本属性。当USB控制器从USB总线检测到这一命令时,USB控制器以中断方式将此请求通知到TMS320F240。TMS320F240通过访问USB控制器的控制寄存器和数据寄存器,获得各种参数,向主机返回配置所包含的所有接口和接口所包含的所有端点的描述符。主机获得后,设备与主机的“握手”就初步完成了。

即插即用管理模块实现USB设备的热插拔及动态配置。当硬件检测到USB设备接入时,Win-dows98查找相应的驱动程序,并调用它的Driver En-try例程,即插即用管理器调用驱动程序的Add De-vice例程,告诉它添加了一个设备;然后,驱动程序为USB设备建立一个FDO(功能设备对象),在此处理工程中,驱动程序收到一个IRP-MN-START-DE-VICE的IRP,包括设备分配的资源信息。至此,设备被正确设置,驱动程序开始与硬件对话。当然,设备运行过程中,如果设备的状态发生变化(暂停、拔出等),即插即用管理器也同样发出相应的IRP,由驱动程序进行相应的处理。

I/O功能实现模块完成I/O请求的大部分工作。当应用程序提出I/O请求时,它调用Win32 API函数DeviceIoControl来向设备发出命令。然后,由I/O管理器构造一个IRP,并设置其MajorFunction域为IRP-MJ-DEVICE-CONTROL。USB设备驱动程序收到该IRP后,根据其中的控制码,构造相应的USB请求块,并把它放到一个新的IRP,此IRP被传递到USBD模块。USBD模块根据此IRP执行相应的操作,并把结果通过IRP返回给USB功能驱动程序。USB功能驱动程序接到此IRP后,将操作结果再通过IRP返回给I/O管理器。并由I/O管理器将结果最终返回给应用程序,至此,对USB设备的一次I/O操作完成。

2.3应用程序设计

PC主机是实时数据采集系统的中心,其基本功能有开启或闭合USB设备、检测USB设备、设置USB数据传输管道、设置A/D状态和数据采集端口、实时从USB接口采集数据、显示数据。

此外,具有数据分析功能包括数字滤波模块、线性化处理模块、解调模块、PLL锁相环倍频模块、标度变换模块、与下位机的通信模块、下位机的控制字生成模块和数据库的管理模块等几个部分。

3、结束语

为了提高设计质量,所设计的激光多普勒测量实时数据采集系统通过了测试USB外设功能的一系列软件如Bwqlinst,USBComp等,完成了高精度数据采集和高速数据传送。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    59

    文章

    7432

    浏览量

    258136
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84522
  • 数据采集
    +关注

    关注

    38

    文章

    4523

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    基于USB总线的高速数据采集系统

    基于USB总线的高速数据采集系统介绍了一种基于USB总线的高速数据采集系统,讨论了USB控制器EZ-USB FX2?CY7C68013?的性
    发表于 04-11 17:20

    基于USB数据采集系统的研究与设计--ResearchandDesignofDataAequisitio

    传统总线不足之处,在此基础上研究了基于USB数据采集系统,根据系统应该达到的技术指标,从而确定系统
    发表于 06-10 00:57

    数据采集分享】基于LABVIEW的USB接口高速数据采集的设计

    基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的
    发表于 12-16 11:32

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

    基于PIC单片机USB接口数据采集系统设计 我们把所设计的数据采集系统功能分解为三大部分:
    发表于 08-23 11:30

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

    主机(也称上位机),单片机(也称下位机)负责数据采集与缓冲保存,USB接口负责两者之间的数据通信。   具体工作流程是:PC机接收用户的应用命令,按
    发表于 07-02 05:07

    基于ADuC841的USB接口数据采集系统设计

    的信息校正被测光测量位置误差。在XFT-1型开放式傅立叶变换光谱仪中,采用了本文提出的这种简易的USB数据采集系统。考虑到经济、实用因素,系统
    发表于 12-12 10:23

    基于LABVIEW的USB接口多路高速数据采集系统的设计

    基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的
    发表于 12-26 07:00

    基于USB总线的高速数据采集系统

    基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的
    发表于 05-07 09:40

    一种基于SOPC和USB2.0接口的高速数据采集系统及虚拟仪器设计

    通用串行总线则具有安装方便、高带宽、易扩展等优点,其中USB2.0标准具有480Mbps的最高数据传输率,这使USB成为本系统所选
    发表于 07-05 08:23

    激光多普勒测速仪的原理是什么?

    激光多普勒测速仪是利用激光多普勒效应来测量流体或固体运动速度的一种仪器, 通常 由五个部分组成:激光
    发表于 09-18 09:02

    怎么实现串行闪存小体积的数据采集系统设计?

    本文介绍了一种基于AD、CPLD、串行闪存来实现的小体积的数据采集系统。与其他数据采集系统相比,
    发表于 04-07 06:48

    基于USB 接口的高速数据采集卡的设计

    通用串行总线作为一种崭新的微机总线接口规范,其特点使其非常适合高速数据采集系统。文中介绍了一种基于USB
    发表于 08-24 09:51 24次下载

    基于USB总线接口数据采集系统

    提出了一种利用USB总线接口数据采集系统的设计方案,并给出了系统的硬件与软件的具体实现方法。通
    发表于 08-31 11:40 19次下载

    通用组件实现基于USB数据采集系统

    通用组件实现基于USB数据采集系统 图1是基于USB数据采集
    发表于 04-22 18:31 711次阅读
    通用组件<b class='flag-5'>实现</b>基于<b class='flag-5'>USB</b>的<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    基于LABVIEW的USB接口多路高速数据采集系统的设计

    基于LABVIEW的USB接口多路高速数据采集系统的设计 引言   在日常的测试测量中,经常使用
    发表于 03-01 09:08 2437次阅读