摘要:针对高速实时数字信号处理系统设计要求,本文提出并设计了基于DSP+FPGA结构的高速数字信号处理系统,采用TI公司目前单片处理能力最强的定点DSP芯片TMS320C6455为系统主处理器,FPGA作为协处理器。详细论述了DSP外围接口电路的应用和设计,系统设计电路简洁、实现方便,可靠性强。
关键词:TMS320C6455 FPGA 数字信号处理 系统设计
中图分类号: TP391.41文献标识码:A文章编号:1007-9416(2011)12-0097-03
Design of high-speed digital signal processing system based on TMS320C6455
Cao Jingzhi,He Fei,Li Qiang,Ren Hui,Qin Wei
(Department of Tool Development,China Petroleum Logging Co.,Ltd Shaan xi Xi’an 710077)
Abstract:According to the design needs of high-speed real-time digital signal processing system.The paper puts forward a design of high-speed digital signal processing system based on DSP+FPGA structure,adopting TI company fixed-point DSP chip TMS320C6455,the currently strongest capacity monolithic processor,for system main processor,and FPGA as coprocessor.This paper describs the application and design of DSP periphery circuit interface in detail.The system design has simple circuit and realize convenient, reliability.
Keywords:TMS320C6455 FPGA Digital Signal Processing System Design
随着现代电子技术和计算机技术的飞速发展,高性能数字处理器(DSP)的出现,使得高速数字信号处理系统已应用于越来越多的场合,如通信、雷达、智能交通、图像处理等领域,这些信号处理运算量很大、算法结构复杂,且要求高速实时、高性能、灵活地完成各种处理任务。
本文结合笔者设计的电路,主要从硬件设计角度出发,介绍了以TI公司目前单片能力处理最强的TMSC3206455(以下简称C6455)为核心处理器的高速数字信号处理系统的构成以及各模块的功能,深入探讨了DSP在系统中的功能及其外围接口电路的应用和设计。
1、高速信号处理系统的硬件构成
高速数据处理算法的运算量大而且比较复杂,若用DSP来完成所有的运算和控制任务,使得DSP的压力过大,从而不能保证系统的实时性和可靠性的要求。本系统在硬件设计上遵从系统模块化的设计思想[1],采用DSP+FPGA结构。FPGA本身具有很多逻辑资源,编程灵活,作为协处理器负责预处理以及控制工作,使软件实现灵活的DSP负责主要的运算工作,处理算法程序,以提高系统的实时性。
选用TI公司的高性能主频为1GHz的工业级DSP芯片C6455作为系统的主处理器[2],使用多总线并行处理结构,运行速度高、处理数据能力强,同时使用ALTERA公司高性价比的FPGA器件EP1C12[2],作为协处理器和控制器,实现了数字控制逻辑。系统结构框图如下u图1所示[3]。
系统的前端是数据采集单元,是整个系统的“眼睛”,传感器将采集到的模拟信号先经过运算放大调整、滤波等预处理后,得到比较干净的模拟信号,再经A/D转换电路变换为数字信号送入FPGA中进一步处理。DSP的外部存储器接口通过FPGA 与其数据处理帧存体(SBSRAM)以乒乓操作的通信工作方式读取数据并进行相关的运算和处理。
同时DSP的EMIFA总线上挂接着FLASH芯片、CAN总线和外部控制电路。为了扩展处理器的片外存储能力,提高数据的实时处理能力,为此使用芯片的双倍率动态存储器接口(DDR2 SDRAM);两个多通道缓冲串口,分别用于输出相关的模拟指令与数字指令;高速串行接口(SRIO)主要用于系统的级联和扩展。
FPGA作为DSP的协处理器,完成信号的滤波等预处理、DSP接口和总线控制等工作,此外在FPGA中设计双缓冲先进先出存储器(FIFO),预处理后的数据存入FIFO内,DSP以乒乓方式读取和处理,以提高系统实时性。
2、DSP外围接口电路设计
C6455[4]是TI公司基于第三代先进超长指令字结构开发出来的高性能定点DSP,主频最高可达到1.2GHz。具有两级高速缓存L1和L2,集成有大量的存储空间,都可配置为Cache或SRAM。其外围总线主要以下四种:
(1)一个外部存储器接口(EMIFA):64-BIT宽度的外部存储器接口,4个CE空间,可与SRAM、FPGA和FIFO等器件快速连接
(2)一个32位DDR2 SDRAM接口:可以实现与32位存储器件的无缝连接。
(3)两个多通道缓冲串口总线(McBSP0和McBSP1);
(4)带有SerialRapidIO总线,拥有4个全双工的端口,支持SRIO 1x/4x串行协议。
本系统主要使用EMIFA、DDR2 SDRAM、McBSPs、SRIO四种外设接口,下面主要介绍EMIFA、DDR2接口的应用和设计,并简单介绍SRIO接口的应用。
2.1 外部存储器接口(EMIF)设计
C6455的外部存储器接口,不仅接口能力强,可以与目前多种类型的存储器进行无缝连接,而且数据吞吐率高。如下图2所示。
C6455仅有一个64BIT位宽的EMIFA,支持8/16/32/64BIT的数据访问,最高工作频率可达133MHz。它的存储空间是按CE2~CE5四个空间来进行管理,并且每一个CE空间都可以外挂存储器件。四个独立可寻址的CE空间配置如下:
CE2—FPGA[0:31];CE3—Flash[0:7];
CE4—控制电路[32:55];CE5—CAN总线[56:63]。
时钟模块产生的50MHz时钟信号,送入DSP时钟引脚,通过内部软件配置集成锁相环(PLL1)为20倍频模式,这样可使CPU的主频达到1GHz。DSP芯片通过EMIFA接口乒乓读取嵌入在FPGA中的SBSRAM内的数据,并进行相关运算和处理,采用FPGA对SBSRAM进行乒乓控制操作。这里我们设置SBSRAM的使能信号为低电平、片选信号CS0为高电平,可使DSP通过CE2空间读取SBSRAM数据。
系统外部控制输入信号经一级运放后分别输入到经FPGA控制采样的12-BIT双路A/D转换成数字信号并通过DSP 的EMIFA总线进入DSP中,处理后再通过一路多通道缓冲串口(MCBSP0)通道及D/A变换后将模拟指令输出。DSP通过CAN总线与系统操控台相连,从上位机读取操控台数据信息,送入DSP处理后经MCBSP1通道和RS-422接口转换后输出数字指令,并将信息传送给上位机。使用CAN总线是为了提高通信数据传输的可靠性、抗干扰性和实时性。
FLASH存储器主要用于DSP程序的存储,保证DSP芯片的脱机运行。采用FUJITSU公司存储容量是1M×8Bit的MBM29LV800芯片,8位数据异步接口连接到EMIFA接口总线的CE3空间上,由于C6455只支持8bit ROM的加载方式,这里我们通过芯片外部的上拉/下拉电阻,设置的地址线AEA[19:16]=0100b,可将DSP芯片加载模式配置为8bit ROM的引导方式。此外还必须将地址线AEA[13]设置为高电平,从而使DSP端点模式设置为小端(Little-endian)模式,这与ROM中的程序存储格式一致。为方便与DSP的EMIFA20位地址总线接口,将FLASH地址扩展为20位,即将FLASH芯片的第10、9引脚设置为EMIFA[19:18]后直接与EMIFA相对应的引脚相连。TABA0、TABA1引脚串接1KΩ的电阻上拉至高电平,然后再串接33Ω的电阻接至DSP芯片的ABA0、ABA1引脚,分别用于DSP芯片DDR2存储控制器和EMIFA总线接口的使能。电路如下图3所示。
2.2 双数据率动态存储器接口(DDR2)设计
系统使用双倍率动态存储器接口(DDR2 SDRAM)[6]存储数据,扩展了C6455的片外存储能力。DDR2外部总线与其他外设接口总线是相互独立的,所以只能与SDRAM类型的存储器接口。
DDR2 SDRAM是由电子设备工程联合委员会(JEDEC)开发的新一代内存技术标准,但它不同于上一代DDR技术标准,虽然两种内存技术标准都是都是采用在时钟的上升/下降延同时进行数据传输的方式,但DDR2技术标准采用双通道运行机制,预读取系统命令数据的能力是DDR技术标准的两倍,因此在同样的总线频率下,DDR2的实际工作频率是DDR的两倍。比如,在外接时钟为26.7MHz情况下,数据吞吐率最高可达533MHz。总的存储容量可以达到256MB,可访问的地址空间范围:0xE0000 0000--0xE8000 0000。
由于DSP的DDR2 SDRAM是32位宽的接口总线,为了方便与之接口,在系统设计时并行地采用两片容量为128MB、数据宽度为16位、地址宽度为13位的DDR2 SDRAM存储器MT47H64M16芯片,扩展成一个存储容量为256MB、32位数据位宽的同步动态存储器。DSP通过DDR2 的CE0空间对SDRAM存储器进行访问,两片MT47H64M16的片选引脚都与C6455芯片的相连接,并设其为为低电平;SDRAM的数据线D[15:0]、地址线A[12:0]分别连接到DSP芯片相应的DED[31:0]、DEA[12:0]引脚;DDR2存储控制器的两个输出时钟引脚分别与SDRAM芯片的时钟引脚相连,在时钟的上升/下降延时,可以同时进行数据的读取。DDR2的工作时钟直接由内部集成锁相环(PLL2)控制,将其配置为10倍频模式,当外接时钟的频率为25MHz,可使DDR2总线的时钟频率为250MHz,其刷新是由C6455自动控制完成。
2.3 多通道缓冲串口(McBSPs)
DSP读取来自CAN总线的控制数据信息,将处理后的信号通过McBSP0和D/A转换器输出出模拟指令;通过McBSP1及RS-422转换接口输出数字指令给上位机进行控制。
2.4 高速串行IO口(SRIO)
C6455内嵌了SRIO模块[7],四个全双工的端口,都可支持1.25/2.5/3.125Gbps三种波特率。全双工工作时,四个端口互连速率每秒最高可达25Gbits,比此前的外部存储器接口快12倍。方便多片DSP的级联及DSP与FPGA之间的数据传输[8]。
SRIO采用的是电流模式逻辑,因此在布线时候特别注意,差分对布线长度须相同,并且要求再串接一个50欧的匹配电阻,这种设计在很大程度上降低了来自接收方100欧终端电阻的反射。另外,为了隔离直流偏置,应该在接收端再串接一个0.1uF是耦合电容。C6455芯片上电和复位时的引导模式主要有四种种:SRIO引导模式、主机引导、FLASH引导、主I2C引导等。引脚PCI_EN和被复用的EMIFA引脚EMIFA[0:19]以及ABA[1:0]作为配置引脚共同构成C6455的硬件配置引脚。由复位或上电时采样管脚BOOTMOOD[3:0]来决定选用哪种引导模式。结合系统设计,这里介绍两片C6455间的SRIO引导模式过程。
具体操作过程为如下图4所示:系统上电后,主DSP自身的 FLASH加载过程完成后,首先其将钟模块配置成1.25G,并初始化配置SRIO端口;然后是主、从DSP之间互相发送同步信息,直到SRIO链路成功建立;接着主DSP执行基本读操作(NWRITE),将所要加载的程序装载到L2 SRAM中,此过程完成后,主DSP执行门铃操作(DOORBELL),即向从DSP发送中断信息,从DSP收到中断命令后立即脱离“挂起”状态,程序从地址0x800000处开始运行,至此,整个SRIO加载过程结束。图4为SRIO引导过程。
3、结语
本文介绍了基于TI 公司目前单片处理能力最强的新型高性能定点DSP TMS320C6455的高速信号处理系统设计方法,结合使用FPGA,构成高速信号处理系统。这种设计方法灵活、在线调试简单、便于多DSP及DSP与FPGA之间的数据传输,另外也提高了系统的抗电磁干扰能力,这为今后算法性能和复杂度的提高和升级提供了保证。该系统对于研究和开发以C6455为核心的高速数字信号系统有一定的实际参考价值,在通讯、实时图像、雷达等高速信号处理技术中有重要应用。
参考文献
[1]朱明,鲁剑锋.基于DSP+FPGA结构图像处理系统的设计与实现[J].计算机测量与控制,2004.12
[2]San Jose:Altera Corporation.Cyclone Device Handbook,Volume1.2005年.
[3]曹景致.基于高速DSP的电视跟踪系统研究与实现[D].西安:西安电子科技大学,2010年.
[4]TMS320C6455 Fixed-Point Digital Signal Processor .Texas Instruments.2006年.
[5]TMS320C6000 DSP External Memory Interface(EMIF) Reference Guide.Texas Instruments.2007年.
[6]TMS320C645x DSP DDR2 Memory Controller User"s Guide.2006年.
[7]TMS320C645x Serial Rapid IO (SRIO) User"s Guide.2006年.
[8]杜子妮.基于DSP - FPGA 的通用数字信号处理模块的设计[J].雷达与对抗,2006(4):19-21,68.
作者简介
曹景致,男,1983年出生,助理工程师,研究方向:信号采集与处理,
贺飞,男,1966年出生,高级工程师,研究方向:电子系统设计。
李强,男,1980年出生,工程师,研究方向:信号采集与处理。
推荐访问: 数字信号处理 设计 系统 TMS320C6455