《数字信号处理与应用》课程论文题目:基于DSP和FPGA的通用数字信号处理系统设计系部专业学号姓名2014年6月7日基于DSP和FPGA的通用数字信号处理系统设计摘要随着电子设备结构和功能的日益复杂,对其内部使用的数字信号处理系统在体积和功耗方面提出了更高的要求。结合以上背景,设计了一种体积小、功耗低的通用数字信号处理系统。该系统利用DSP配合FPGA为硬件架构,以TMS320VC5509ADSP为数据处理核心,通过FPGA对USB、ADC和DAC等外围设备进行控制,并可实现频谱分析、数字滤波器等数字信号处理算法。硬件调试结果表明,该系统满足设计要求,可应用于实际工程和课堂教学等多个领域。关键词:数字信号处理低功耗DSP FPGA目录一引言 (1)二系统主要功能和技术指标 (2)三硬件设计 (3)3.2.1DSP最小系统设计 (3)3.2.2程序存储器设计 (4)3.3.1USB通信接口设计 (4)3.3.2信号发生电路设计 (5)3.3.3信号采集电路设计 (6)3.3.4语音电路设计 (7)四软件设计 (8)五系统测试 (10)六结论 (11)参考文献 (12)一引言随着计算机技术和电子技术的高速发展,数字信号处理理论和方法已成为众多研究领域的重要研究基础,被广泛应用在航空航天、自动化控制、通信等领域。然而,数字信号处理系统功能日益齐全,结构也越来越复杂,导致其体积和功耗不断增加,对电子设备的运行造成了严重的影响。因此,减小数字信号处理系统的体积和功耗,对降低整个电子系统的运营成本、提高系统可靠性具有重要意义。TI公司5000系列的数字信号处理器TMS320VC5509A具有较快的数字信号处理能力,同时具有低功耗、封装小、价格低等优点,被广泛的应用于数字信号处理领域中。本文充分利用了TMS320VC5509A的以上优势,同时结合FPGA的并行控制能力,实现了体积小、功耗低的通用数字信号处理系统。二系统主要功能和技术指标本系统主要功能要求如下:1)模拟信号的产生,包括正弦波、方波、三角波、锯齿波以及带有高频正弦分量的上述波形;2)信号的采集,包括模拟信号、语音信号等;3)频谱分析、数字滤波等常用数字信号处理算法的实现;4)与主控计算机之间进行数据与命令互传。根据系统功能要求,同时考虑系统通用性和扩展性要求,制定数字信号处理系统技术指标为:1)低功耗DSP芯片TMS320VC5509为主控器,配合FPGA芯片,完成系统控制,并实现FFT 变换、滤波器等数字信号处理算法;2)系统具有外设通用扩展接口,能够根据实际需求完成二次开发;3)具有2通道信号发生功能:精度:12bits/8bits可调,速率:100k/s,电压范围:±5V;4)具有2通道数据采集功能:精度:12bits/8bits可调,速率:最大500kSa/s,电压范围:±5V;5)支持语音信号采集、处理和回放功能;6)平台通过USB接口与上位机进行通信,接口符合USB2.0标准。三硬件设计3.1总体设计根据系统功能和技术指标要求,确定硬件总体结构,如图1所示。如图1所示。图1硬件电路总体结构如图1所示,系统主要由3部分组成:FPGA控制电路、数字信号处理单元以及外设电路。FPGA进行电路接口时序控制和数据缓冲;数字信号处理单元主要完成数字信号处理功能;外设电路包括USB接口电路、信号发生与采集电路以及语音信号控制电路。系统具体工作流程为:1)通过上位机程序界面选择数字信号处理功能,将控制命令通过USB接口发送给FPGA;2)FPGA接收USB发送的控制命令,并传送给DSP,按照相关指令,控制硬件通过数据采集通道和语音输入通道获得待处理数据;3)DSP按照命令进行相应数据处理;4)DSP将处理后的数据传给FPGA,FPGA通过USB接口返回给上位机,如果需要通过硬件设备输出,则控制设备输出处理后的信号;5)上位机程序显示处理结果,并与仿真结果比对。3.2数字信号处理单元3.2.1DSP最小系统设计综合分析片上资源、通用化程度和开发的难易程度,数字信号处理器选择了TI公司的C55x系列的TMS320VC5509A,一种高性能定点型数字信号处理芯片。它包含2个17×17乘法器,12组独立总线,片上存储器为128K×16bit,其中包括64KBytes的双端口RAM(DRAM)和192KBytes的单端口RAM(SARAM),外设接口包括3个多通道缓存串口(McBSP)和6个DMA通道[1]。具有低功耗、封装小、价格低等优点。在本系统中,DSP负责所有的运算,是数字信号处理的硬件基础,其最小系统是整个硬件系统的关键部分。DSP 最小系统的设计直接关系到仿真器能否顺利连接、程序能否正常下载等关键问题。其主要由DSP、程序下载配置电路、时钟电路、复位电路、供电电路和外部扩展程序存储器电路组成。3.2.2程序存储器设计TMS320VC5509A内部没有非易失性存储器,因此,要实现系统程序脱离仿真环境独立运行,需要在片外扩展Flash、EPROM或者通过USB接口从上位机下载程序。在系统上电复位后,DSP的引导加载器把应用程序从外部存储器或上位机中引导到DSP芯片内RAM单元或外部扩展RAM中运行。TMS320VC5509A自带的Bootloader程序支持11种引导模式,引导模式的选择是通过4个模式选择引脚BOOTM0~3完成的。考虑到使用的方便性和节约系统电路板空间,本设计选用串行E2PROM引导模式,外扩Flash作为DSP的程序存储器。Flash选用Atmel公司的AT25F1024,通过McBSP0(配置为SPI)与TMS320VC5509A连接。AT25F1024是一款应用广泛的高性能1Mbits串行SPI闪存,接口简单、体积小,可以满足要求[2]。3.3外设电路设计3.3.1USB通信接口设计综合考虑系统电路板的面积和实现的难易程度,本设计采用Cypress公司的EZ-USB FX2LP系列中的CY7C68013A实现USB接口。CY7C68013A是世界上第一款集成USB 2.0协议的微处理器接口控制芯片,支持12Mbps的全速以及480Mbps高速传输。其集成有16KB的片内RAM、增强的8051微处理器、16位并行地址总线、8位数据总线、I2C总线、双串口、4KFIFO的可配置存储器以及通用可编程接口、智能串行接口引擎和USB2.0收发器[3]。CY7C68013A提供Slave FIFO和GPIF2种接口模式,Slave FIFO模式是从机模式,外部控制器可以像对普通FIFO存储器一样对其多层缓冲FIFO存储器进行读写;GPIF模式是主机模式,可以由软件设置读写的控制波形,灵活性很大[4]。为了减小开发难度,本设计采用SlaveFIFO模式,在这种模式下,与FPGA之间的控制信号如图2所示。FPGA通过改变FIFOADR引脚电平,对其内部FIFO进行选择,并通过读取CY7C68013A的FIFO 状态引脚电平,来判断何时读取FIFO以及是否可以向FIFO写入数据。图2CY7C68013A控制信号连接图3.3.2信号发生电路设计信号发生模块由数/模转换电路,滤波电路以及偏置放大电路组成。为了满足设计精度和速率要求,并节约电路板空间,数/模转换芯片采用AD公司的12位串行数/模转换器AD5320。AD5320为单电源供电,具有轨至轨输出能力,参考源来自于外部电源电压,片上集成输出缓冲放大器,配合后置放大电路可实现双极性输出,采样速率最大为125kHz。信号发生电路,如图3所示。图3数/模转换电路采用运算放大器AD820AR实现差分电路,将AD5320输出的模拟信号与参考电压做差分,将单极性输出转化为双极性,输出范围为±3V,输出电压与输入二进制代码的转换关系为:VOUT=VDD×(2D/4096-1)(1)滤波电路采用可程控的集成低通滤波器,滤波器选择目前应用比较广泛、控制电路简单的8阶低通椭圆开关电容滤波器MAX293,该滤波器可单/双电源供电[5],可程控转角频率范围0.1Hz~25kHz,过渡比fs/f0=1.5,时钟频率对转角频率的比为100∶1,即fosc=100f0,FPGA根据输出信号频率改变MAX293的时钟fosc 来控制其转角频率,从而实现滤波。放大电路采用差分比例运算电路,放大器反相输入端接偏置电路,通过调节电位器来提供直流偏置,以消除滤波器产生的直流偏置电压。3.3.3信号采集电路设计选择模/数转换芯片时考虑的主要2个指标是转换速率和转换精度。根据技术指标要求,本设计选用AD公司的低功耗、四通道同步采样、12位分辨率模/数转换器AD7864。AD7864为+5V单电源供电,参考电压+2.5V,其内部带有参考电源[6],也允许外部输入。时钟可由内部时钟或外部时钟提供,由INT*/EXT CLK引脚电平决定。在使用内部时钟条件下,单通道采样率最高可以达到500kHz。输入范围为±10V或±5V可选,输出数据编码为二进制补码。电路图如图4所示,本设计采用一二通道输入、内部参考源、内部时钟、输入电压范围±5V。另外,为了增加输入信号的驱动能力,提高输入阻抗,降低输出阻抗,在A/D前端设计增加了射随电路。图4AD7864电路原理图3.3.4语音电路设计语音电路由DSP和语音编解码芯片TLV320AIC23组成,TLV320AIC23是TI公司的一种高性能立体声音频编解码器,该编码器的数字传输字长可以是16、20、24、32bits,支持8~96kHz的采样率[7],与TMS320VC5509A能够达到无缝连接。利用TMS320VC5509A的I2C模块配置语音编解码芯片的内部寄存器;并通过其内部的McBSP接口接收和发送采样的音频数据。TLV320AIC23通过麦克风输入或者立体声音频输入采集模拟信号,并将模拟信号转化为数字信号,存储到DSP的内部RAM中,供DSP 处理。当DSP完成对音频数据的处理以后,TLV320AIC23再把数字信号转化为模拟信号,通过耳机或立体声音频输出端输出。3.4逻辑设计设计中FPGA选择ALTERA公司的Cyclone系列芯片EP1C12Q240C8实现,主要完成的功能为:控制USB芯片,完成与上位机的通信;与DSP通信,将上位机的命令和数据传递给DSP,并接收DSP处理后的结果;控制A/D转换芯片AD7864,对外部模拟信号进行采集;控制D/A转换芯片AD5320,将上位机、DSP处理结果或ADC采集的数字信号转化为模拟信号输出。逻辑总体功能主要包括USB接口控制模块,上位机命令、参数译码模块,DSP通信模块,ADC和DAC控制模块以及一些辅助功能模块[8]。四软件设计4.1DSP程序设计DSP程序的设计开发环境采用TI公司的CCStudiov3.3[9],编程语言为标准C语言。DSP程序的主要任务为:接收FPGA传递的上位机命令和数据并执行相应命令,完成数字信号处理运算[10],并将处理的结果传送到FPGA内部FIFO中,总体设计流程图,如图5所示,DSP首先配置内部寄存器,初始化EMIF接口和CPU频率,然后从相应地址读取上位机的命令字、根据命令字判断功能类别,读取原始数据、调用相应子程序,最终将处理结果传回FPGA,并由FPGA经USB接口返回给上位机,同时通过信号发生或语音模块输出。图5DSP程序流程图4.2上位机应用程序设计系统上位机程序基于NI公司的集成软件开发环境LabWindows/CVI设计[11]。根据系统功能需求,上位机程序主要功能划分,如图6所示,主要包括功能和数据选择、命令编码、数据发送、数据上传、数据存储及结果显示等功能。图6上位机程序功能结构图上位机具体工作流程为:首先由用户选择系统的具体功能,并设置相应的功能参数;然后上位机对用户设置的内容进行编码,并通过USB接口传送给系统硬件电路板;完成设定的数字信号处理功能后,将数据传回计算机,存储到对应的文件中,并进行显示。五系统测试根据数字信号处理系统功能需要和技术指标要求,对其进行了全面测试。信号发生电路测试方法:由上位机产生一组正弦波数据,经USB接口传给D/A输出。输出波形及滤波放大后结果,如图7所示,信号发生速率100K/s,输出波形频率10kHz,峰-峰值10V。USB向下传输数据正确,信号发生电路满足设计指标要求。图7信号发生滤波前后结果数据采集电路测试方法:对-5V~+5V直流信号进行多次采样,并将结果传回上位机显示。表1为数据采集结果,采样速率500kSa/s,最大偏差小于1%。USB上传数据正确,数据采集电路满足设计指标要求。表1AD7864测试结果分析测试结果表明:USB接口功能正常,数据通信正确;FPGA逻辑工作稳定,能按照上位机指令实现对各电路模块的灵活控制;DSP程序工作正常,能够完成设定的数字信号处理功能;上位机程序与硬件电路板配合良好,并且用户界面友好,操作灵活。系统功能和各项技术指标达到设计要求,数据处理结果与软件仿真结果相同,与理论分析结果吻合,达到了数字信号处理的目的。六结论本文实现了通用的数字信号处理系统的设计,该系统体积小、低功耗、成本低,可以实现信号发生、采集,语音信号处理等多种功能,同时可以实现多种数字信号处理算法,并可采用通用USB接口实现与主计算机数据和命令的互传。使用通用计算机作为控制平台,操作简便,处理结果直观,而且可以与仿真结果对比分析。该平台可以实现数字信号处理的基本功能,并可通过外部通用扩展接口实现功能的扩展,能够方便的应用于工程实践项目和课堂实验教学等多个领域。参考文献[1]杨娟娟,黄乡生,宋大杰.基于TMS320VC5509A的图像采集处理系统[J].国外电子测量技术,2011,30(6):65-18.[2]王纯委,王明.一种基于AT25T1024FLASH的高速SPI接口设计[J].电子元器件应用,2011,13(4):7-9.[3]罗向东.基于FPGA与CY7C68013A的USB接口系统设计[J].国外电子测量技术,2010,29(4):96-100.[4]钱峰.EZ-USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2006:168-190.[5]陈照章,唐平,李天博.基于MAX293的抗混叠滤波器研制[J].半导体技术,2002,27(12):36-37.[6]穆洪德,王俊峰,史铁林.高精度A/D转换器AD7864与DSP接口设计与实现[J].微计算机信息,2006,22(3):158-160.[7]胡瑛,胡安峰.一种基于TMS320VC5509的语音处理系统的设计[J].电子科技,2009,22(5):34-35.[8]廖永波,李平,阮爱武.一种FPGA的可编程逻辑单元的全覆盖测试方法[J].仪器仪表学报,2010,31(4):857-861.[9]孙秋生,陈尚峰.基于CCS的DSP片外Flash直接烧写设计[J].电子设计工程,2009,17(1):93-95.[10]吴强,任琳,张杰,等.快速归一化互相关算法及DSP优化实现[J].电子测量与仪器学报,2011,25(6):495-499.[11]陈怀民,李巧娣,吴佳楠.基于CVI的多通道串口板卡测试软件的设计与实现[J].测控技术,2010,12(29):78-81.。