DSP系统硬件设计时需注意的几个问题_第1页
DSP系统硬件设计时需注意的几个问题_第2页
DSP系统硬件设计时需注意的几个问题_第3页
DSP系统硬件设计时需注意的几个问题_第4页
DSP系统硬件设计时需注意的几个问题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、dsp系统硬件设计时需注意的几个问题 王立华1,刘志军1,高光金2,邵玉芹2 时间:2009年12月15日 字 体: 中 小关键词:dsp电平变换 摘 要: 介绍了dsp系统在设计时需要注意的电源、时钟、电平变换、扩展电路时序、多余引脚的处理等问题,并提出了相应的解决方法。关键词: dsp 电源 时钟 电平变换目前dsp已广泛应用于工业控制、音视频处理、通信等各个领域,并且随着集成电路技术的发展,dsp芯片的速度越来越快,功能越来越强大。如ti公司最新推出的tms320c6416t因采用了90nm技术,主频已达到1ghz。由于dsp的主频高,电源电压和核电压不同,输入输出逻辑复杂,因而对应用系

2、统的硬件设计也提出了更高的要求。电路设计时都会遇到dsp电源和时钟的处理、i/o引脚的逻辑电平兼容、外围扩展电路时序、多余引脚的处理等问题,而这些最基本问题的妥善解决是设计一种性能优良的dsp应用系统的前提条件。下面就以ti 公司的dsp为例介绍dsp系统在设计时需要注意的几个问题。1 电 源1.1 电源供电在dsp芯片内部一般有5种典型电源:cpu核电源、i/o电源、pll(phase locked loop)电源、flash编程电源和模拟电路电源(其中后2种仅c2000系列有)。这几种电源在设计时都要由各自的电源供电,并且模拟和数字电路要独立供电,数字地与模拟地要分开,单点连接。模拟电源一

3、般由(有噪声的)数字电源产生,主要有2种产生方式:一种是数字电源与模拟电源以及数字地与模拟地之间加铁氧体磁珠(ferrite bead)或电感构成无源滤波电路,如图1所示。铁氧体磁珠在低频时阻抗很低,而在高频时阻抗很高,可以抑制高频干扰,从而滤除数字电路的噪声。这种方式结构简单,能满足大多数应用的要求;另一种是采用多路稳压器的方法,如图2所示。该方法能提供更好的去耦效果,但电路复杂,成本高,使用时应注意模拟地和数字地必须连在一起。通常每个电源引脚要加1个10100nf的旁路电容,以起电荷池的作用,平滑电源的波动,减少电源上的噪声。一般旁路电容采用瓷片电容。在pcb四周还要均匀分布一些4.710

4、f大的电容,以避免产生电源和地环路。设计时尽量采用多层板,为电源和地分别安排专用的层,同层上的多个电源、地用隔离带分割,并且用地平面代替地总线。dsp都有多个接地引脚,且每个引脚都要单独接地,因此应尽可能地减少负载数量。1.2 上电次序在设计dsp供电电源时,一般要求cpu内核电源先于i/o电源上电,后于i/o电源掉电。但cpu内核电源与i/o电源供电时间相差不能太长,一般不能大于1秒,否则会影响器件的寿命或损坏器件。为保护dsp器件,应在cpu内核电源与i/o电源之间加一肖特基二极管。具有上电次序控制的dsp电源电路如图3所示。2 时 钟2.1 dsp系统的时钟电路dsp系统中时钟电路主要有

5、3种:晶体电路、晶振电路和可编程时钟芯片电路。(1)晶体电路最为简单,只需晶体和2个电容,但驱动能力差,不能提供多个器件使用,频率范围小(20k60mhz),使用时须注意配置正确的负载电容,以使输出的时钟频率精确、稳定。ti dsp芯片除c6000和c5510外,内部含有振荡电路,可使用晶体电路产生所需的时钟信号。但也可不使用片内振荡电路,直接由外部提供时钟信号。(2)晶振电路频率范围宽(1400mhz),驱动能力强,可为多个器件使用。但由于晶振频率不能改变,多个独立的时钟需要多个晶振。另外在使用晶振时,要注意时钟信号电平,一般晶振输出信号电平为5v或3.3v,对于要求输入时钟信号电平为1.8

6、v的器件(如vc5401、vc5402、vc5409和f281x等),不能选用晶振来提供时钟信号。(3)可编程时钟芯片电路由可编程时钟芯片、晶体和2个外部电容构成。有多个时钟输出,可产生特殊频率值,适于多个时钟源的系统,驱动能力强,频宽最高可达200mhz,输出信号电平一般为5v或3.3v。常用器件为cy22381和cy2071a。目前ti dsp工作频率已高达1ghz,为降低时钟的高频噪声干扰,提高系统整体的性能,设计时通常使用频率较低的外部参考时钟源。为此须采用可编程时钟芯片电路,因它可以在在线的情况下,通过编程对系统的工作时钟进行控制,以保证在较低的外部时钟源时,通过其内部集成的pll锁

7、相环的倍频,获得所希望的工作频率。同时通过在dsp内部对时钟进行编程控制,也能较好地满足不同应用的要求。例如对于自动化仪表、便携式仪器以及家电等应用场合,往往希望有较低能耗,这时可通过编程,使dsp工作在较低频率,甚至可以设定为固定分频模式,并关断内部的锁相环相关电路,使其功耗最小。而对于数字信号处理以及实时系统,通常需要dsp工作在高速状态,这时则可通过编程,使系统在完成引导之后,进入到锁相倍频模式来提高系统的工作频率。有时即使在同一应用中,为了需要也可以通过编程, 使系统在不同的阶段工作在不同的频率。一般ti dsp芯片能提供多种灵活的时钟选项,可以使用片内/片外振荡器、片内pll或由硬件

8、/软件配置pll分频/倍频系数。不同的dsp时钟可配置的能力也不同,使用前应参考各自的数据手册。2.2 时钟电路选择原则(1)系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片电路;单一时钟信号时,选择晶体时钟电路;多个同频时钟信号时,选择晶振电路。尽量使用dsp片内的pll,降低片外时钟频率,提高系统稳定性。(2)c6000、c5510、c5409、c5416、c5420、c5421和c5441等片内无振荡电路,不能用晶体时钟电路。(3)vc5401、vc5402、vc5409和f281x等的时钟信号输入电平要求为1.8v,建议采用晶体时钟电路。(4)c64x主频最高可达1ghz,必须使

9、用片内pll,并且要对片内pll提供独立的供电,电源引脚进行必要的滤波。若在c62x/c67x上还提供pll滤波网络引脚则外部应加相应的电阻和电容。2.3 时钟电路的电源和地时钟的供电电源与整个电路板的电源一般是分开的,二者的电源面相隔离(但可以在一层),只通过铁氧体磁珠相连。这样外面的干扰不会影响时钟芯片,同时时钟芯片内部产生的振荡信号也不会影响到外面电路。时钟部分的地和整个pcb的地是统一的整体,这样做是从emc(electro magnetic compatibility)的角度考虑的。电流流动需要回路,而电流回路等效于一个天线,回路面积越大对外辐射就越强,也越易受到干扰(主要是近场磁场

10、的能量,这个磁场能量可能来自自由空间或是由电路板上其他部件所辐射)。在高速电路设计中,电流会自动地寻找阻抗最低的路径返回。如果地层也像电源层那样分割出来,则所有的电流都会从铁氧体磁珠返回,直接导致的结果是:(1)每条电流回路的天线效应增强。(2)电流都从铁氧体磁珠流过,大大增加了传导干扰(从地层或电源层耦合进来,对系统性能的影响极大)。如果在时钟芯片的电源入口处放1个容量为10100f的钽电容(具体值根据实际系统而定),它不仅可以防止由于电压波动引起的电流涌动,还可以抑制低频干扰,但是对于高频干扰却无能为力。所以在大容量电容的后面并联1个0.1f的小电容,则在时钟芯片的每一个电源引脚处也都要放

11、1个0.1f的电容,且所放的位置要尽可能地靠近电源引脚,这样就可以减少外来的电源噪声。晶振、负载电容、pll滤波器等应尽可能地靠近时钟器件,在靠近时钟输出引脚的地方要串接1050电阻以减小输出电流,限制地弹效应,提高时钟波形的质量;另外,不要在时钟芯片的底下布线,因为这些线可能会产生高频干扰耦合进芯片,从而使时钟芯片的输出产生抖动,同时从时钟芯片内部产生的高频干扰也会耦合到芯片底下的走线,使之失去信号的完整性。要严格地控制时钟走线的阻抗,所有的线最好都从内层走(以减少干扰),尽量少地出现过孔,因为过孔会引起阻抗发生变化,影响信号的质量,进而产生emi辐射和抖动问题。3 电平变换dsp系统是一个

12、混合电压系统,有5v或3.3v混合供电的现象:即dsp芯片的i/o供电电压是3.3v,而外围芯片工作电压一般为5v,如eprom、sram、a/d器件等。通常它们之间是不能直接相连的,设计中必须注意这点。3.1 混合电压系统中不同电源电压的逻辑器件接口存在的问题(1)加到输入和输出引脚上允许的最大电压限制问题。器件对加到输入或输出引脚上的电压通常是有限制的。这些引脚上一般有二极管或者分离元件接到电源。如果接入的电压过高,则电流将会通过二极管或者分离元件流向电源。例如i/o为3.3v供电的dsp,其输入电平不允许超过电源电压(3.3v),而5v器件输出信号高电平可达4.4v,它会向3.3v电源充

13、电,持续的电流将会损坏二极管和其他电路元件。(2)二个电源间电流的互串问题。在等待或者掉电方式时,3.3v电源降到0v,大电流将流通到地,这使得总线上的高电压被下拉到地,将引起数据丢失和元件损坏。必须注意的是:不管在3.3v的工作状态还是在0v的等待状态都不允许电流流向电源。(3)接口输入转换门限问题。5v器件和3.3v器件的接口有多种情况,同样ttl和cmos间的电平转换也存在着不同情况。因此驱动器必须满足接收器的输入转换电平,并且要有足够的容限以保证不损坏电路元件。而输出电平一般无需变换。3.2 混合电压系统中必须处理的信号电平配置(1)5v ttl器件输出驱动3.3v ttl器件(lvc

14、)输入。通常5v ttl器件可以驱动3.3v ttl器件的输入,因为典型双极性晶体管的输出并不能达到电源电压幅度。当一个5v器件的输出为高电平时,内部压降限制了输出电压,典型情况是vcc-2vbe约为3.6v,这样工作通常不会引起5v电源的电流流向3.3v电源。但是因为驱动器结构会有所不同,所以必须控制驱动器的输出不宜超过3.6v,以防万一。(2)3.3v ttl器件输出驱动5v ttl器件输入。由于二者的电平转换标准是相同的,因此不需要额外的器件就可将二者直接相连。只要3.3v器件的voh和vol电平分别是2.4v和0.4v,5v器件就可将输入读为有效电平,因为它的vih和vil电平分别是2

15、v和0.8v。(3)5v cmos器件输出驱动3.3v ttl器件输入。显然二者的转换电平是不相同的,但二者虽存在一定的差别,若设计时使用能够承受5v 电压的3.3v ttl器件,则5v器件的输出是可以直接与3.3v器件的输入端接口的。(4)3.3v输出驱动5v cmos输入。二者的转换电平标准不一样,3.3v器件输出的高电平最高值是3.3v,而5v cmos器件要求的高电平最低值是3.5v,因此3.3v器件的输出不能直接与5v cmos器件的输入相接。这种情况下就需要用双电压(一边是3.3v供电,另一边是5v供电)供电的驱动器,如使用ti总线收发器sn74lvth245a(8位)、sn74l

16、vth16245a(16位)等。另外电平转换还可用以下器件:(1)使用总线开关。主要应用于多通道缓冲性串行接口(multichannel buffered serial port,mcbsp)等外设信号的电平转换,5v供电。常用器件有:sncbtd3384(10位)和sn74cbtd16210(20位)。(2)使用2选1切换器。实现2选1,4.1v供电。主要适用于多路切换信号的电平转换,如双路复用的mcbsp信号的电平转换等,常用器件有sn74cbt3257(4位)和sn74cbt16292(12位)。4 扩展电路的时序时序问题是任何数字电路设计所必须重视的问题。在低速数字系统设计中,要着重解

17、决的问题为时序的逻辑性是否正确。而在高速数字系统设计中,除了要解决时序逻辑性问题外,还要着重解决时序的时延性问题。为保证dsp在规定的时间内正确地读/写外部扩展器件,首先要选用高速器件。要求扩展器件的读/写周期小于dsp的机器周期的60%1,否则要插等待周期,但这样dsp的高速特性就不能得到充分发挥。其次,要求扩展器件的总线接口电路的时延尽量小,否则需要另插等待周期。解决此问题的方法是尽量采用高速接口器件和单级接口电路。5 dsp多余引脚的处理对集成电路多余引脚的处理原则是:多余输出引脚可以悬空;多余输入引脚一般不能悬空,可将它们上拉或下拉为固定的电平,以降低功耗;多余的i/o引脚若缺省状态为

18、输入引脚,则作为输入引脚处理。若缺省状态为输出引脚,则可悬空不接;无连接(nc)引脚除非特殊说明,可悬空不接;保留(rsv)引脚是否接,应根据数据手册具体决定。在设计dsp应用系统时,还要遵循以下3点:(1)没有使用的串行口或hpi接口的所有引脚可以不作处理,不会引起dsp的误操作。(2)dsp数据总线的最高位最好与扩展器件数据总线的最高位连接,以避免符号位错误扩展。而多余的数据总线引脚可悬空,也可接上拉或下拉电阻。(3)特别要处理好输入引脚hold和ready的状态。要保证在没有外部设备请求占用dsp的外部存储器时,hold为高电平;外部扩展器件不插硬件等待周期时,ready应为高电平。6

19、其他需考虑的问题(1)在设计时一般还要用cpld实现一些特殊的逻辑:如用来控制外设的驱动时钟、各种同步控制时钟(a/d转换、数字信号存取)以及存储器地址的产生等。使用cpld实现具有明显的优点:可使时序关系整齐,延迟一致,易于修改,并且具有高集成、高可靠性。(2)在处理特殊的信号部分时应加零电阻,以实现不同的配置,如可实现不同容量的sdram的配置等。(3)在设计时为方便今后的硬件调试,读/写控制、时钟、电源、地等重要信号部分应加测试点,其测试点可连接到连接器或逻辑分析仪插头上。另外最好提供手动复位开关。参考文献1 张雄伟,陈亮,徐光辉.dsp芯片的原理与开发应用(第3版). 北京:电子工业出

20、版社,20032 texas instruments incorporated.tms320 dsp designersnotebook:volume 1.20013 texas instruments incorporated.tms320c54xx dsp cpu and peripherals reference.1999摘要:数字信号处理器(dsp)芯片以其强大的运算处理能力在通信、电子、图像处理等领域得到了广泛的应用。文章从系统硬件电路设计、关键外设(多通道缓冲串口,dma,hpi)的设置及软件编程三个主要方面阐述了tms320vc5402在开发设计中应注意的几个关键问题,并给出了相

21、应的处理办法。关键词:数字信号处理器 ; 多通道缓冲串口 ; dma ;主机接口 ;引导装载1 引言tms320vc5402(以下简称c5402)是德州仪器公司推出的性价比极高的16位定点数字信号处理器(dsp),它的工作时钟可以高达 100mhz,非常适合于高速的数据传输和处理。c5402的接口电源为3.3v,内核电源为1.8v,输入输出的逻辑电平复杂。电路设计的时候一般会遇到输入输出引脚的逻辑电平兼容、外围扩展电路时序、dsp多余引脚的处理等问题,这些最基本问题的妥善解决是设计一个性能优良的dsp应用系统的前提条件。c5402提供了许多增强型外设,在实际系统中应合理设置,以充分利用硬件资源

22、。dsp采用改进的哈佛结构,应用流水线操作,增强了处理器的数据处理能力,但同时给设计者带来了高频干扰和流水线冲突等诸多问题。如何提高dsp的信号处理能力,充分利用dsp的资源是每个设计者应考虑的问题。本文总结了作者在实际开发中遇到的问题和一些心得体会,希望对dsp开发人员有一点启发和帮助。2 硬件设计中应注意的问题2.1 接口电平兼容性问题c5402的接口电源为3.3v,其输入、输出引脚的电压的绝对范围-0.34.5v,除了少数引脚以外,其输入电平是与ttl逻辑电平兼容的,因此 c5402的输入引脚仅能与3.3v的cmos电路连接,不能5v的ttl电路、cmos电路连接。5v ttl/cmos

23、电路的输出信号要经过电平转换后才能送给c5402。由于c5402的输出信号与ttl逻辑电平兼容,因此可以直接送给5v ttl电路或者输入电平与ttl电平兼容的3.3v cmos和5v cmos电路。为了简化电路的设计,在设计中应尽可能选择3.3v cmos器件。但是,整个系统中很难保证都使用3.3v的cmos器件,对所有与c5402不兼容的信号要进行电平转换,可以采用ti公司的高速总线收发器74lvt16245来完成。2.2 dsp多余引脚的处理dsp数据总线的最高位(d15)最好与扩展器件数据总线的最高位连接,这样做的目的是避免符号位错误扩展,而多于的数据总线可以悬空,也可以接上拉或下拉电阻

24、。同时将/iack、emu0、emu1、tdi、hold、clkmd1、clkmd2、clkmd3和mp/mc等系统独立工作时的闲置引脚和硬件时钟设置引脚接上拉电阻。上拉电阻较多时,通常选用排阻来完成,排阻集成了电源引脚vcc和电阻,相对体积小、连接简单。在调试阶段的设计中 clkmd1、clkmd2、clkmd3和mp/mc可以设有跳线,选择是否与地相连来调节硬件时钟和微处理器/微计算机模式。2.3 调试中问题在dsp开发设计中,经常会遇到dsp芯片发热问题。若芯片发热,首先检查一下dsp的供电是否正常。若dsp芯片和电源芯片都发热,这时可能是电路中有短路的情况,或者是在访问外设总线上有冲突

25、,导致dsp的输出电流过大。解决问题的方法是用跳线将芯片的使能端接地或高电平,依次不使能外部芯片,从而找到哪个外设有总线冲突。笔者在一实际应用系统中用到了cpld作为逻辑控制器件,在调试电路过程中,上电后发现dsp芯片发热,经检查发现上电后cpld 的使用引脚没定义,cpld状态不定和sram同时访问了总线。在cpld的应用中,若 cpld中烧路过程序,则与dsp连接的脚在程序中都必须有定义。2.4 dsp与慢速外设通信c5402的处理速度非常快,通过软件可编程等待状态发生器(swssr)和软件等待控制器(swsm)可以将外部总线周期扩展到14个机器周期,以使 c5402与慢速外部设备接口。复

26、位时swssr7fffh,设置最长的等待周期,swcr中的swsm位为1时,等待周期数为2倍的swwsr设置值。当c5402与需要多于14个等待周期的外部设备进行数据交换时,通过软件设置的等待时间不能满足,这时要又到c5402的ready引脚,当外设准备好后,通过ready引脚告知c5402可以继续进行通信。3 主要外设的应用3.1 多通道缓冲串口c5402 提供两个高速、全双工、多通道缓冲串行口。两个缓冲串口可以同时接收和发送数据,中断类型设为接收到数据或发送数据产生中断。串口设置的主要关键时序(1)在保持rrst,xrst,frst各位为0的前提下配置好各寄存器,等待至少两个clkr/x时

27、钟周期以确保dsp内部的同步。(2)可以向dxr装载数据或使能dma。(3)使能grst(grst1)(如果使用内部时钟)。(4)使能rrst或xrst,注意此时要保证spcr仅此一位发生改变。(5)使能frst(如果需要dsp内部产生帧同步)。(6)等待两个clkr/x时钟周期。c5402的配置十分灵活,可以设置不同位数传送;a率和 率压缩;高低位传送的先后次序;中断源的设置等。有些设置不一定固定,关键是在实际应用中配合好各种情况。3.2 dma在不是要求数据同步的系统中,c5402工作在dma可以不占用cpu资源的情况下,实现dsp存储器间数据的自由传送。c5402有6个可独立编程的 dm

28、a通道,每个dma通道受各自的5个16位寄存器控制: dmsrc、dmdst、dmctr、dmsfc、dmmcr。此外,dma的6个通道还受通道优先级和使能控制寄存器dmprec控制。在这个寄存器中相应的dprc位置1选择相应的通道为高优先级,相应的de位置1选通相应的通道为使能通道并开始工作。注意设置dma模式工作时,在程序的开始要先不使能dma中断优先级,否则会产生程序混乱。若要求不同通道同时接收数据,各通道的参数可以单独设置,但是通道优先级要同时设,若分别设置通道优先级则只能接收其中一路信号。3.3 主机接口hpic5402的hpi主机接口是由一个8位数据总线和用于设置和控制接口的控制信

29、号组成。由于c5402的控制功能不是非常强大,往往需另加一片单片机或cpld对系统的逻辑进行实时控制,此时c5402作为从机。hpi很容易与各种主机相连,需要很少、甚至不需要外加逻辑。hpi口的数据传输由两部分组成:内部传输和外部传输。内部传送在hpi口寄存器和片内ram之间进行,外部传送在主机和hpi口寄存器之间进行。主机访问hpi时,首先初始化hpic寄存器,然后初始化hpia寄存器,再从hpid寄存器中读出或写入数据。一般在 c5402的初始化程序中对hpic进行初始化后就无需再对hpic进行操作了,其余工作由主机完成。主机可通过hpic的dspint来中断 c5402,而c5402通过

30、hpic的hint位发送中断请求到主机。c5402的主机接口工作在hpi模式时hpiena必须置高,hpiena为低则hpi口作为一般i/o口用。c5402与at89c51的硬件连线如图1图1 at89c51与c5402的hpi接口图 4 软件设计应注意的问题4.1 流水线冲突流水先冲突是 dsp特有的问题,对编程的代码和时间的效率影响较大,编译器发现不了这些问题。如果c5402系统的源程序是用c语言编写的,经过编译后生成的代码是没有流水线冲突问题的;如果是汇编语言程序,凡是calu操作,或者是先在初始化期间就对mmr进行设置也不会产生流水线冲突。然而在某些mmr写操作中,如对mmr、st0、

31、st1、pmst等硬件资源进行连续操作时,有可能造成流水线冲突。解决流水线冲突很简单,只需加上几个指令或nop空操作指令便可以。4.2 中断源的处理c5402的中断分为可屏蔽中断和不可屏蔽中断。对于软件中断和不可屏蔽中断,cpu立即响应,对于硬件中断必须满足三个条件:出现多个中断时,此中断的优先级最高,st1中的intm位为0,允许中断;imr中的相应位为1,开放此中断。设置好与中断有关的寄存器后要设置中断向量表,必须保证中断向量表的位置与处理器模式状态寄存器pmst中的中断向量指针iptr相对应,使iptr的9位地址指向128字的中断向量所在的程序页。中断向量的地址是把中断矢量号(031)左移两位再加上pmst的中断指针产生的。同时,中断向量表要严格按照

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论