基于DSP和USB的高速数据采集与处理系统设计

2008-05-28 11:10:42来源: 电子技术应用

  在图像数据处理系统中,常常需要对高速信号进行采集与处理。例如,在光传感技术中对光脉冲散射信号的测量,在雷达工程中对电磁脉冲信号的测量等,都需要对高速信号进行采集与运算,而且此类高速信号的测量,往往对数据采集与处理系统提出严格的要求。本文设计并实现一种基于DSP和USB的高速数据采集与处理系统。该系统电路简单,可靠性好,具有一定的通用性,并且可以进行多通道扩展。

  

  

  1 原理概述

  

  基于DSP和USB的高速数据采集与处理系统的原理框图如图1所示。系统上电后,DSP、FPGA分别由各自的FLASH加载程序,采集与处理系统开始运行。在A/D变换器完成转换后由FPGA向DSP发送中断0申请信号,DSP从A/D FIFO RAM中读取数据,并进行小波变换去噪处理,处理结束后DSP向USB控制器发送中断申请信号,USB控制器将处理后的数据发送至PC机,由主机应用程序显示数据。主机应用程序还可以对整个采集、处理系统进行控制,主要设定三个功能:接收处理后的数据,接收处理前的数据,设定A/D的采样频率和采样点数。

  2 系统硬件设计

  

  系统硬件设计主要分为三大部分:DSP部分、FPGA部分、USB部分。

  2.1 DSP部分设计

  本系统使用的DSP芯片为TI(德州仪器)公司的TMS320VC33,它是TI公司推出的性价比极高的32位浮点型数字信号处理芯片,是目前在国内外使用最为广泛的浮点DSP之一。

  TMS320VC33具有以下特点:哈佛结构;流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期。另外,TMS320VC33还具有强大的浮点运算能力,运算速度可达  150MFLOPS(每秒百万次浮点运算),处理能力达到75MIPS(每秒百万次指令周期)。而且,它还采用3.3V I/O电压和1.8V处理器核电压使功耗降低到200mW。

  

  DSP部分的电路设计主要是为TMS320VC33的外围电路设计。TMS320VC33的STRB0和引脚分别连接存储器的片选和使能引脚,实现程序/数据存储器的扩展;引脚接到高电平,INT2引脚接到低电平,实现上电后程序自加载;由TMS、TDI、TDO、TCK、、EMU0、EMU1等引脚组成程序下载口,以方便DSP程序调试。

  2.2 FPGA部分设计

  因为本系统的逻辑比较复杂,为了有效地减少硬件的体积、提高硬件系统的可靠性,这里把所有的逻辑控制电路、各种存储器/寄存器的地址译码电路都用一块超大规模现场可编程逻辑门阵列(FPGA)XC3090来实现。逻辑控制电路包括:命令寄存器、采样点数/采样频率设定寄存器、中断申请信号发生器、将A/D结果写入FIFO RAM的控制电路、USB及其FIFO和A/D FIFO状态检测电路。

  2.3 USB部分设计

  TMS320VC33与USB控制器AN2136SC之间通过双向FIFO 交换数据,握手信号使用AN2136SC的PC口。当USB为接收缓冲器时,DSP读,AN2136SC写;当USB为发送缓冲器时,DSP写,AN2136SC读。PC(0)~(3)用作二者的读写通道,方向可编程确定; PC(4)用于TMS320VC33向AN2136SC申请中断;PC(5)用于AN2136SC复位USB接收缓冲器;PC(6)用于USB接收器满标志,若接收器已满则禁止AN2136进一步对USB接收缓冲器写入;PC(7)用于USB发送缓冲器空标志,若缓冲器已空则禁止AN2136SC进一步对USB发送缓冲器读出。

  3 系统软件设计

  系统软件主要包括五大部分:DSP程序(用于A/D采样控制、数据处理、DSP与USB总线之间的信息交换)、USB总线驱动程序、USB固件程序(用于PC机与DSP之间的数据交换与处理)、主机应用程序、FPGA中对地址的译码程序和各个寄存器的实现程序。

  3.1 DSP程序

  DSP程序首先对DSP进行初始化(中断初始化、片外选通信号初始化、设定系统默认的采样点数/采样频率等),然后等待中断(中断0的程序主要用于对A/D数据的读取和处理,并向主机发送处理后的数据;中断1的程序主要用于分析主机的命令,针对主机的命令设定系统的采样点数/采样频率,并发送主机需要的数据)。程序框图如图2所示。

  

  

  3.2 USB固件程序

  固件程序代码由USB芯片集成的加强型8051单片机处理。当EZ-USB设备连接到USB口时,主机进行总线枚举,首先根据设备ID使用系统程序将固件下载到芯片内部,然后进行重枚举,固件作为用户的功能设备开始执行。CYPRESS公司提供的固件程序框架,用来完成控制传输工作和大部分的数据传输工作。本接口电路的固件程序就是基于此固件框架开发的,并使用Keil C进行编译。USB接收的DSP中断程序如下:

  void  ISR_IDT(void) interrupt INT0_VECT

  {FASTXFR = 0x40;         使能快速传模式

  AUTOPTRL=LSB((WORD)&IN4BUF);   将自动指针指向端点4缓冲器

  AUTOPTRH=MSB((WORD)&IN4BUF);

  for(i=0;i<64;i++)

  {AUTODATA=ACC};          接收数据

  FASTXFR=0x0;

  IN4BC=64;            发送数据大小

  EZUSB_IRQ_CLEAR();

  IN07IRQ=bmEP4;          使能端点4}

  3.3 主机应用程序

  为了实现与驱动程序的通信,应用程序首先创建一个事件和一个线程,然后将事件句柄传递给WDM,用线程等待WDM发送的事件消息,接收到事件消息后,就读取驱动程序的数据,显示数据。

  在Windows中,Win32应用程序调用的API函数有五个:CreateFile()、ReadFile()、WriteFile()、DeviceIoControl()和CloseHandle()。

  应用程序为打开一个WDM设备驱动程序,使用CreateFile()函数。它的第一个参数是一个符号链接名。如果用DriverWorks创建一个WDM驱动程序,通常会用类KUnitizedName生成一个设备符号链接名。这个名字的后面有一个数字,一般是一个0。例如,若符号链接名为L“USBDevice”,则传递给CreateFile()的是“.USBDevice0”。

  一旦应用程序获得设备的有效句柄,它就能够调用Win32函数,这将产生对应于此设备对象的相应的IRP,发送给驱动程序,完成相应功能。

  有关代码如下:

  HANDLE hDevice hDevice= CreateFile(“.USBDe-vice0”,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,OPEN_EXISTING,

  FILE_ATTRIBUTE_NORMAL,NULL);          //打开设备句柄

  ReadFile(hDevice,buf,n,&nRead,NULL);    //读操作

  4 试验结果

  本系统软硬件调试均已成功,图3为CCD在半遮挡情况下原始信号的波形。本系统还可以采集和处理图像信号(例如CCD面阵信号)。

  

  

  本文提出了一种基于DSP和USB的高速数据采集与处理系统,详细地介绍了系统的硬件和软件设计方法。经使用验证,系统很好地实现了对CCD信号的采集和处理。利用一块超大规模现场可编程逻辑门阵列,减小了PCB板的制作空间并且大大地增加了系统的可靠性;使用DSP处理器,提高了数据的传输速度和处理速度,进而保证了系统的实时性;由USB主控制器完成与PC机的通信,具有热插拔、易于使用、传输速率高等特点;而且整个系统构成合理、实现方法简单、具有实用价值。

  参考文献

  1 官章全,刘加明.Visual C++.NET类库大全.京:电子工业出版社,2002

  2 苏 涛,蔺丽华.DSP实用技术.西安:西安电子科技大学出版社,2002

  3 颜荣江.EZ-USB 2100系列单片机原理、编程及应用.北京航空航天大学出版社,2002

  4 任晓东. CPLD/FPGA高级应用开发指南.北京:北京电子工业出版社,2003

关键字:DSP  高速数据采集  USB总线  固件程序  指令周期  乘法器  WDM驱动程序  

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/afdz/2008/0528/article_700.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
DSP
高速数据采集
USB总线
固件程序
指令周期
乘法器
WDM驱动程序

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved