基于DSP的USB口数据采集分析系统设计

发布者:数字冲浪最新更新时间:2013-10-08 来源: dzsc关键字:DSP  USB口  数据采集分析 手机看文章 扫描二维码
随时随地手机看文章
  随着DSP芯片功能越来越强,速度越来越快,性价比的不断提高以及开发工具的日趋完善,广泛用于通信、雷达、声纳、遥感、生物医学、机器人、控制、精密机械、语音和图像处理等领域。作为计算机接口之一的USB(Universal Serial Bus)口具有势插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备)的特性,使其成为PC机的外围设备扩展中应用日益广泛的接口标准。本文设计并实现了基于DSP的USB口数据采集分析系统,该系统的DSP负责数据的采集和运算处理,处理结果通过USB口送计算机显示分析,其结构如图1所示。


  该结构图中,CPLD和FPGA实现模块接口,包括串并转换、8位和32位数据总线间的转换、SRAM等功能。采样结果经过CPLD送至DSP运算处理(FFT变换、相关分析、功率谱分析等)后,由FPGA和USB接口送至主控计算机存储和显示。计算机应用程序易于实现丰富的图形界面,具有良好的人机接口。

  1 模数模块

  本系统主要用于振动信号和噪声分析,要求采样精度高,采样频率不超过100kHz。根据要求选用CRYSTAL公司的CS5396。该芯片原本用于立体声采样,基于∑-Δ结构,采样精度高,24位分辨率,120dB的动态范围;采样频率32kHz、44.1kHz、48kHz、96kHz可选;内部集成采样保持器、模拟低通滤波器、数字滤波器,同时还具有时采样功能;两路同时采样,串行输出,串行数据由CPLD转换成24位并行数据;由于该芯片量程是4V,差分输入,所以模拟部分只需再加上简单量程放大电路即可。这样模拟电路十分简单,抗干扰能力强、精度高。

  2 DSP处理器

  选择DSP处理器时主要考虑其运算速度、总线宽度和性价比。本系统采样结构24位,最好选用32位DSP;系统要进行实时信号分析、模态分析等,要求有较高运算速度,所以选用TI公司的32位浮点DSP——TMS320VC33。该芯片采用哈佛结构,6级流水线操作,指令执行周期7ns,外设包括一个DMA控制器和一个缓冲串口。

  N点复数FFT变换约做2N×Log2N次实数乘法运算和3N×Log2N实时加法运算。TMS320VC33的乘法、加法都是单周期指令,取N=1024,不计内存访问和其它时间,则一次FFT所需时间为:10×5120×17ns约0.9ms。而按96KSPS的采样频率计算,1024点的采样时间约10ms,可见该DSP速度足以满足要求。

  该DSP启动模式可选,上电后执行驻留在低地址空间的BOOTLOADER;然后根据4个中断输入信号的状态判断启动模式,可以从RAM、ROM或串行口启动。本系统选择串行口方式。这样,DSP程序可以直接从PC下载送至DSP接口,做到在系统调试,具有极大的灵活性。

  3 USB接口

  USB协议的实现基于网络的思想,是一种共享式的总线,在总线上数据以包(Packet)的形式发送。USB的数据传送有4种模式:块传输(Bulk Transfers)、中断传输(Interrupt Transfers)、同步传输(Isochronous Transfers)、控制传输(Control Transfers)。当需要快速传输大批量的准确数据时,一般采用块传输模式;当传输实时性较强的数据时,采用中断传输模式。

  当USB设备插入计算机时,计算机和USB设备之间产生一个枚举过程。计算机检测到有设备插入,自动发出查询请求;USB设备回应这个请求,送出设备的Verdor ID和Product ID;计算机根据这两个ID装载相应的设备驱动程序,完成枚举过程。

  由于USB协议非常复杂,开发者不可能在底层基础上进行开发。目前,市场上对USB协议进行封装的接口芯片,如:National Semiconductor公司的USBN9602、Plilips公司的PDIUSBD12等。本系统选用CYPRESS公司的带单片机内核的EZ-USB系列的AN2131QC.该芯片遵从USB1.0规范(12Mbps),将8051单片机内核、智能USB接口引擎、USB收发模块、存储器、串行口等集成一起,从而减少芯片接口时序。其内部结构如图2(虚线内是芯片部分)。

  EZ-USB的8051代码(Firmware)可以固化在ROM内;更好的方案是通过USB口从主机下载到内部RAM,这样,易于修改、调试和更新。之所以能下载代码是因为芯片一上电完全在硬件上自动完成枚举过程,不需要Firmware。完成枚举后便可作为一个USB设备(叫做缺省USB设备)与计算机通讯,此时即可进行Firmware下载。下载完后,8051内核脱离RESET状态开始执行代码。可以通过Firmware对USB设备重新配置,这个重新配置过程叫做再枚举。[page]

  在EZ-USB中,缺省USB设备的接口中包括14个Endpoints,如表1所示。

  表1 缺省USB端点(Endpoint)


  计算机与USB设备的数据通信主要包括两个方面:一是读取采样数据;二是给USB设备发送控制命令。发送控制命令先发送一个命令包(消息),然后根据情况发送后续数据或从设备读取响应数据。因此,根据EZ-USB芯片的功能,直接使用缺省配置中的6个Endpoint。

  Endpoit OUT2 BULK:用来发送控制命令包。

  Endpoint IN2 BULK:接收从USB设备发来的DSP消息。

  Endpoint IN4 BULK:用来从USB设备读取数据,如读取采样数据、配置参数等。

  Endpoint OUT4 BULK:用来向USB设备发送数据,如下载8051程序、下载FPGA程序等。

  Endpoint OUT6 BULK:作辅助判断用,当PC传送完大量数据至USB设备时,向该端口写任意数据以起到通知USB设备的作用。

  Endpoint IN1 INT:用来从USB设备读取响应信号,如下载FPGA程序是否成功的标志等。

  在缺省配置基础上可以编写适合需要的代码,如果对8051编程经验丰的话,完全可以在不需要调试工具的情况下编写Firmware。

  本系统Firmware结构建立在对消息队列不断服务基础上,即构建一个消息队列,当接收到任何一方(DSP或计算机)的消息时,将其放入消息队列。消息的接收是通过中断服务程序来实现的。当处理完一个消息时,从消息队列取出下一个消息进行处理。这种软件结构非常简单,思路清晰,对调试十分有利。


  USB设备驱动程序基于WDM。WDM型驱动程序是内核程序,与标准的Win32用户态程序不同。采用了分层处理的方法。通过它,用户不需要直接与硬件打它道(在USB驱动程序中尤为明显),只需通过下层驱动程序提供的接口号访问硬件。因此,USB设备驱动程序不必具体对硬件编程,所有的USB命令、读写操作通过总线驱动程序转给USB设备。但是,USB设备驱动程序必须定义与外部设备的通讯接口和通讯的数据格式,也必须定义与应用程序的接口。

  本系统的驱动程序是在Compuware Numega Driver-Works的基础上采用面向对象语言C++开发的。Driver-Works可以很快构造出驱动程序的框架。主要构造了两个类:Class USBDAC和class USBDACDevice。Class USBDAC继承了class Kdriver,负责装载驱动程序和创建功能设备对象时要做的一些操作。Class USBDACDevice继承了class KpnpDevice,是驱动程序的主要部分,负责设备启动、停止的操作以及与设备的数据通讯。API函数调用和CreateFile ()、ReadFile ()、WriteFile ()、DeviceIO-Control ()、CloseFile()等的实现也在class USBDACDevice中完成。

  Class USBDAC的定义如下:

  class USBDAC : public Kdriver

  {

  SAFE_DESTRUCTORS

  public:

  /*Driver Entry (),

  在系统引导或I/O管理器装入驱动程序时,调用这个例程。执行大量的初始化函数,包括建立到其它驱动程序的指针、查找和定位由驱动程序使用的任何硬件资源等,不过,这部分工作大多由基类Kdriver完成。*/[page]

  virtual NTSTATUS     DriverEntry(PUNICODE_STRING RegistryPath);

  /*AddDevice(),创建一个Device对象。调用其构造函数对设备初始化,创建设备的名称等。*/

  virtual NTSTATUS     AddDevice(PDEVICE_OBJECT Pdo);

  Int       m_Unit;

  };

  Class USBDACDevice的定义如下:

  Class USBDACDevice : public KpnpDevice

  {

  // Constructors

  public:

  SAFE_DESTRUCTORS

  USBDACDevice(PDEVICE_OBJECT Pdo,ULONG Unit);

  ~USBDACDevice ();

  // Member Functions

  public:

  …

  //添加自己的成员函数

  NTSTATUS USBDAC_GetACK(int &);

  NTSTATUS USBDAC_StartADConversion(void);

  NTSTATUS USBDAC_StopADConversion(void);

  NTSTATUS USBDAC_DownloadFPGA(KIrp);

  NTSTATUS USBDAC_Download8051(KIrp);

  NTSTATUS USBDAC_SetChannelParameter(PUCHAR,ULONG,int);

  …

  };

  4 FPGA

  FPGA模块主要实现单片机与DSP间的数据缓冲、8位数据线与32位数据线间的转换、单片机同步串口和DSP缓冲串口的切换。要求FPGA能实现丰富的内部RAM和准确的时钟控制。根据需要选用XILINX公司的XCV50TQ144。该器件采用SRAM 查找表结构,具有系统内可再编程(ISP)和运行间可再配置等特性。系统初始化时由USB口下载FPGA程序,通过单片机串口对其进行线配置。

  本系统可广泛用于振动、噪声测试分析。可以在WINDOWS95/98/NT下开发各类动态测试与信号处理的应用程序,根据需要加载已经编制的各种DSP算法,使其具有信号分析、模态分析、声学分析、环境测试、长时间记录等功能。



参考文献:

[1]. CPLD datasheet http://www.dzsc.com/datasheet/CPLD_1136600.html.
[2]. CS5396 datasheet http://www.dzsc.com/datasheet/CS5396_1078869.html.
[3]. TMS320VC33 datasheet http://www.dzsc.com/datasheet/TMS320VC33.html.
[4]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[5]. USBN9602 datasheet http://www.dzsc.com/datasheet/USBN9602_6.html.
[6]. PDIUSBD12 datasheet http://www.dzsc.com/datasheet/PDIUSBD12_.html.
[7]. EZ-USB datasheet http://www.dzsc.com/datasheet/EZ-USB_305660.html.

关键字:DSP  USB口  数据采集分析 引用地址:基于DSP的USB口数据采集分析系统设计

上一篇:VxWorks下的同类USB设备管理方法
下一篇:完整两节AA电池/USB电源管理器研究

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

基于FPGA+DSP技术的Bayer格式图像预处理
  高分辨率图像实时处理在通信、医学、军事、航天航空、信息安全等领域有着广泛的应用和发展。在图像实时处理的过程中,下层 图像预处理 的数据量大,运算简单,但是要求运算速率高,可以用 FPGA 硬件来处理,上层所处理的数据量少,算法结构复杂,适于运算速度快,寻址灵活的 DSP 数字信号处理器进行处理。这里提出了一种FPGA+DSP相结合的实时图像处理系统,并应用于传像光线束传递图像。CMOS实际采集的是光线束的出端图像,FPGA将CMOS采集的Bayer格式的图像转换为RGB格式的亮度信号。由于光纤出、入端结构不同,需要DSP准确每根光纤的中心位置,重新排序才能输出正确的图像信息。该系统充分发挥了FPGA和DSP各自的
[安防电子]
基于FPGA+<font color='red'>DSP</font>技术的Bayer格式图像预处理
基于DSP的经济型车床的多功能化数控改造
    在我国,经济型车床因其价廉而得到广泛的应用。在数控化改造过程中,常使用的是单片机系统,如MCS-51系列单片机作为控制核心,控制系统的速度和精度因CPU的性能影响都不够高,改造后的功能也仅仅是单一数控车床而已。在实践中采用了DSP TMS320F240 微处理器作为数控系统的控制核心,提高了伺服系统控制的速度、稳定性、精度等性能,同时,实现了经济车床可进行车、铣、削等加工的多功能综合性数控改造。   1.经济型车床的多功能化改造   以改造经济型车床C616 A为例,车床结构参见图1所示。 图1 C616A车床结构示意图   具体方法是:与普通数控车床改造的不同在于:将原来车床刀架(或电动刀架)更换为动力
[嵌入式]
基于SPI方式DSP外部E2PROM接口设计
   0 引 言   近年来,随着DSP技术的普及、高性能DSP芯片的出现,DSP已越来越多地被广大的工程师所接受,并越来越广泛地被应用于各个领域,例如:语音处理、图像处理、模式识别及工业控制等,并且已日益显示出其巨大的优越性。DSP是利用专门或通用的数字信号处理芯片,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,满足了对信号快速、精确、实时处理及控制的要求。   在语音处理、图像处理、模式识别及工业控制中,少不了对必要的数据进行存储保护。如果存储在内外RAM之中,掉电数据就丢失,起不到保护数据的作用;存储在FLASH中,由于对FLASH进行数据写入时,要先进行擦除操作,然后
[嵌入式]
基于TMS320C2XX DSP平台的USB接口设计
   引言   USB接口(Universal Serial Bus)是一种通用的高速串行接口。它最主要的特点是它的高速传输特性。USB1.1理论速度极限可以达到12Mb/s,USB2.0可达到 480Mb/s。这样,它可以很好解决大数据量的数据在嵌入式系统与PC机之间的互传问题;同时,它支持热插拔,并且最多同时支持127个外设,非常适合嵌入式系统的应用。   本次设计是在一个已有的DSP图像采集嵌入式系统的基础上,为它配接上一个USB1.1的接口,以达到DSP图像采集系统高速地将图像数据回传到PC机中的目的。设计的要求主要有:   ①在原有平台提供的接口基础上,加入一个低成本、高速度的USB接口;   ②通过USB接口
[嵌入式]
飞思卡尔基于下一代StarCore的多核DSP
  飞思卡尔半导体日前推出基于下一代SC3400 StarCore技术的第三代多核DSP。这款新型MSC8144 DSP面向下一代有线和无线基础设施应用,提供语音、视频和数据服务,并带来领先的性能和低系统成本以及显著提高的通道密度。   MSC8144为有线基础设施应用提供了DSP解决方案,这些应用包括:运营商级中继、企业VoIP媒体网关、视频会议服务器。MSC8144提供的无线应用包括:无线语音代码转码,IP多媒体子系统(IMS)网关,视频多点会议,3G、Super 3G和WiMax基站的基带卡以及无线网络控制器(RNC)中的第2层处理。   飞思卡尔副总裁兼数字系统部门总经理Lynelle McKay表示:“网络融合的一个最
[嵌入式]
Tensilica授权瑞萨电子ConnX BBE16 DSP IP核
日本东京,2012年4月17日讯 – Tensilica今日宣布,瑞萨电子购买了Tensilica ConnX BBE16 DSP(数字信号处理)IP(知识产权)核,用于即将上市的数字电视芯片的设计。 Tensilica基带业务部门副总裁兼总经理Eric Dewannain表示:“瑞萨电子是先进半导体解决方案的领先供应商,拥有开发数字电视芯片的成功经验。通过大规模的技术评估鉴定,瑞萨电子选用了Tensilica业界流行的ConnX BBE16 DSP内核,我们深感荣幸。ConnX BBE16 DSP是一款超高性能的16-MAC(乘数累加器)DSP引擎,是家庭无线网络、多标准广播接收器和数字电视解调器的理想选择。” 更多关于
[家用电子]
CEVA在CES 2012展会上展示最新IP技术
全球领先的硅知识产权 (SIP) 平台解决方案和数字信号处理器(DSP)内核授权厂商CEVA公司宣布将于2012年1月10日至13日在美国拉斯维加斯的CES 2012上展会上展示一系列用于数字家庭和移动市场的创新多媒体和通信解决方案。在此次展会上,CEVA将在拉斯维加斯希尔顿酒店专用会议室与恭候来访嘉宾,与会者可参与互动演示,并与CEVA管理层会谈。 CEVA将在CES展会上展示各种不同的技术组合,这表明公司继续向新型潜在市场进行战略扩张,而高性能、完全可编程的DSP内核在降低成本和实现真正产品差异化方面将发挥重要的作用。CEVA在CES所展示的演示平台包括: 用于智能电视的虚拟鼠标接口 —— CEVA 将与C
[嵌入式]
市场变化给FPGA带来更大发展空间
引言:赛灵思作为半导体业界的一个FPGA厂商,为FPGA技术的创新做出不小的贡献,与其他FPGA厂商以及合作伙伴一起推动着FPGA的发展。目前赛灵思正着手进军数字信号处理领域,故对FPGA的发展现状与未来有着自己的体会和理解。赛灵思公司亚太区市场营销董事郑馨南向电子工程世界讲述了关于对ASIC、DSP、FPGA现状与未来趋势的观点和看法。 ASIC:成本危机 “ASIC成本太高”,乍一听,似乎听错了。因为一直以来我们听到的更多是“FPGA成本太高”、“FPGA成本是ASIC五倍”等这样的信息。   赛灵思公司亚太区市场营销董事郑馨南这样分析:ASIC是一个专用的器件,是根据客户的需求量身定做的专用芯片,因此客
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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