位置:51电子网 » 技术资料 » D S P

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

发布时间:2008/6/5 0:00:00 访问次数:539

  在图像数据处理系统中,常常需要对高速信号进行采集与处理。例如,在光传感技术中对光脉冲散射信号的测量,在雷达工程中对电磁脉冲信号的测量等,都需要对高速信号进行采集与运算,而且此类高速信号的测量,往往对数据采集与处理系统提出严格的要求。本文设计并实现一种基于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缓冲

  在图像数据处理系统中,常常需要对高速信号进行采集与处理。例如,在光传感技术中对光脉冲散射信号的测量,在雷达工程中对电磁脉冲信号的测量等,都需要对高速信号进行采集与运算,而且此类高速信号的测量,往往对数据采集与处理系统提出严格的要求。本文设计并实现一种基于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缓冲

相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!