摘 要: 介绍了DSP系统在设计时需要注意的电源、时钟、电平变换、扩展电路时序、多余引脚的处理等问题,并提出了相应的解决方法。
关键词: DSP 电源 时钟 电平变换
目前DSP已广泛应用于工业控制、音视频处理、通信等各个领域,并且随着集成电路技术的发展,DSP芯片的速度越来越快,功能越来越强大。如TI公司最新推出的TMS320C6416T因采用了90nm技术,主频已达到1GHz。由于DSP的主频高,电源电压和核电压不同,输入输出逻辑复杂,因而对应用系统的硬件设计也提出了更高的要求。电路设计时都会遇到DSP电源和时钟的处理、I/O引脚的逻辑电平兼容、外围扩展电路时序、多余引脚的处理等问题,而这些最基本问题的妥善解决是设计一种性能优良的DSP应用系统的前提条件。下面就以TI 公司的DSP为例介绍DSP系统在设计时需要注意的几个问题。
1 电 源
1.1 电源供电
在DSP芯片内部一般有5种典型电源:CPU核电源、I/O电源、PLL(Phase Locked Loop)电源、Flash编程电源和模拟电路电源(其中后2种仅C2000系列有)。这几种电源在设计时都要由各自的电源供电,并且模拟和数字电路要独立供电,数字地与模拟地要分开,单点连接。模拟电源一般由(有噪声的)数字电源产生,主要有2种产生方式:一种是数字电源与模拟电源以及数字地与模拟地之间加铁氧体磁珠(ferrite bead)或电感构成无源滤波电路,如图1所示。铁氧体磁珠在低频时阻抗很低,而在高频时阻抗很高,可以抑制高频干扰,从而滤除数字电路的噪声。这种方式结构简单,能满足大多数应用的要求;另一种是采用多路稳压器的方法,如图2所示。该方法能提供更好的去耦效果,但电路复杂,成本高,使用时应注意模拟地和数字地必须连在一起。通常每个电源引脚要加1个10~100nF的旁路电容,以起电荷池的作用,平滑电源的波动,减少电源上的噪声。一般旁路电容采用瓷片电容。在PCB四周还要均匀分布一些4.7~10μ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系统中时钟电路主要有3种:晶体电路、晶振电路和可编程时钟芯片电路。
(1)晶体电路最为简单,只需晶体和2个电容,但驱动能力差,不能提供多个器件使用,频率范围小(20k~60MHz),使用时须注意配置正确的负载电容,以使输出的时钟频率精确、稳定。TI DSP芯片除C6000和C5510外,内部含有振荡电路,可使用晶体电路产生所需的时钟信号。但也可不使用片内振荡电路,直接由外部提供时钟信号。
(2)晶振电路频率范围宽(1~400MHz),驱动能力强,可为多个器件使用。但由于晶振频率不能改变,多个独立的时钟需要多个晶振。另外在使用晶振时,要注意时钟信号电平,一般晶振输出信号电平为5V或3.3V,对于要求输入时钟信号电平为1.8V的器件(如VC5401、VC5402、VC5409和F281X等),不能选用晶振来提供时钟信号。
(3)可编程时钟芯片电路由可编程时钟芯片、晶体和2个外部电容构成。有多个时钟输出,可产生特殊频率值,适于多个时钟源的系统,驱动能力强,频宽最高可达200MHz,输出信号电平一般为5V或3.3V。常用器件为CY22381和CY2071A。
目前TI DSP工作频率已高达1GHz,为降低时钟的高频噪声干扰,提高系统整体的性能,设计时通常使用频率较低的外部参考时钟源。为此须采用可编程时钟芯片电路,因它可以在在线的情况下,通过编程对系统的工作时钟进行控制,以保证在较低的外部时钟源时,通过其内部集成的PLL锁相环的倍频,获得所希望的工作频率。同时通过在DSP内部对时钟进行编程控制,也能较好地满足不同应用的要求。例如对于自动化仪表、便携式仪器以及家电等应用场合,往往希望有较低能耗,这时可通过编程,使DSP工作在较低频率,甚至可以设定为固定分频模式,并关断内部的锁相环相关电路,使其功耗最小。而对于数字信号处理以及实时系统,通常需要DSP工作在高速状态,这时则可通过编程,使系统在完成引导之后,进入到锁相倍频模式来提高系统的工作频率。有时即使在同一应用中,为了需要也可以通过编程, 使系统在不同的阶段工作在不同的频率。一般TI DSP芯片能提供多种灵活的时钟选项,可以使用片内/片外振荡器、片内PLL或由硬件/软件配置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,必须使用片内PLL,并且要对片内PLL提供独立的供电,电源引脚进行必要的滤波。若在C62x/C67x上还提供PLL滤波网络引脚则外部应加相应的电阻和电容。
2.3 时钟电路的电源和地
时钟的供电电源与整个电路板的电源一般是分开的,二者的电源面相隔离(但可以在一层),只通过铁氧体磁珠相连。这样外面的干扰不会影响时钟芯片,同时时钟芯片内部产生的振荡信号也不会影响到外面电路。时钟部分的地和整个PCB的地是统一的整体,这样做是从EMC(Electro Magnetic Compatibility)的角度考虑的。电流流动需要回路,而电流回路等效于一个天线,回路面积越大对外辐射就越强,也越易受到干扰(主要是近场磁场的能量,这个磁场能量可能来自自由空间或是由电路板上其他部件所辐射)。在高速电路设计中,电流会自动地寻找阻抗最低的路径返回。如果地层也像电源层那样分割出来,则所有的电流都会从铁氧体磁珠返回,直接导致的结果是:(1)每条电流回路的天线效应增强。(2)电流都从铁氧体磁珠流过,大大增加了传导干扰(从地层或电源层耦合进来,对系统性能的影响极大)。如果在时钟芯片的电源入口处放1个容量为10~100μF的钽电容(具体值根据实际系统而定),它不仅可以防止由于电压波动引起的电流涌动,还可以抑制低频干扰,但是对于高频干扰却无能为力。所以在大容量电容的后面并联1个0.1μF的小电容,则在时钟芯片的每一个电源引脚处也都要放1个0.1μF的电容,且所放的位置要尽可能地靠近电源引脚,这样就可以减少外来的电源噪声。晶振、负载电容、PLL滤波器等应尽可能地靠近时钟器件,在靠近时钟输出引脚的地方要串接10~50Ω电阻以减小输出电流,限制地弹效应,提高时钟波形的质量;另外,不要在时钟芯片的底下布线,因为这些线可能会产生高频干扰耦合进芯片,从而使时钟芯片的输出产生抖动,同时从时钟芯片内部产生的高频干扰也会耦合到芯片底下的走线,使之失去信号的完整性。要严格地控制时钟走线的阻抗,所有的线最好都从内层走(以减少干扰),尽量少地出现过孔,因为过孔会引起阻抗发生变化,影响信号的质量,进而产生EMI辐射和抖动问题。
3 电平变换
DSP系统是一个混合电压系统,有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电源充电,持续的电流将会损坏二极管和其他电路元件。
(2)二个电源间电流的互串问题。在等待或者掉电方式时,3.3V电源降到0V,大电流将流通到地,这使得总线上的高电压被下拉到地,将引起数据丢失和元件损坏。必须注意的是:不管在3.3V的工作状态还是在0V的等待状态都不允许电流流向电源。
(3)接口输入转换门限问题。5V器件和3.3V器件的接口有多种情况,同样TTL和CMOS间的电平转换也存在着不同情况。因此驱动器必须满足接收器的输入转换电平,并且要有足够的容限以保证不损坏电路元件。而输出电平一般无需变换。
3.2 混合电压系统中必须处理的信号电平配置
(1)5V TTL器件输出驱动3.3V TTL器件(LVC)输入。通常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电平分别是2V和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位)、SN74LVTH16245A(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 扩展电路的时序
时序问题是任何数字电路设计所必须重视的问题。在低速数字系统设计中,要着重解决的问题为时序的逻辑性是否正确。而在高速数字系统设计中,除了要解决时序逻辑性问题外,还要着重解决时序的时延性问题。为保证DSP在规定的时间内正确地读/写外部扩展器件,首先要选用高速器件。要求扩展器件的读/写周期小于DSP的机器周期的60%[1],否则要插等待周期,但这样DSP的高速特性就不能得到充分发挥。其次,要求扩展器件的总线接口电路的时延尽量小,否则需要另插等待周期。解决此问题的方法是尽量采用高速接口器件和单级接口电路。
5 DSP多余引脚的处理
对集成电路多余引脚的处理原则是:多余输出引脚可以悬空;多余输入引脚一般不能悬空,可将它们上拉或下拉为固定的电平,以降低功耗;多余的I/O引脚若缺省状态为输入引脚,则作为输入引脚处理。若缺省状态为输出引脚,则可悬空不接;无连接(NC)引脚除非特殊说明,可悬空不接;保留(RSV)引脚是否接,应根据数据手册具体决定。
在设计DSP应用系统时,还要遵循以下3点:(1)没有使用的串行口或HPI接口的所有引脚可以不作处理,不会引起DSP的误操作。(2)DSP数据总线的最高位最好与扩展器件数据总线的最高位连接,以避免符号位错误扩展。而多余的数据总线引脚可悬空,也可接上拉或下拉电阻。(3)特别要处理好输入引脚HOLD和READY的状态。要保证在没有外部设备请求占用DSP的外部存储器时,HOLD为高电平;外部扩展器件不插硬件等待周期时,READY应为高电平。
6 其他需考虑的问题
(1)在设计时一般还要用CPLD实现一些特殊的逻辑:如用来控制外设的驱动时钟、各种同步控制时钟(A/D转换、数字信号存取)以及存储器地址的产生等。使用CPLD实现具有明显的优点:可使时序关系整齐,延迟一致,易于修改,并且具有高集成、高可靠性。
(2)在处理特殊的信号部分时应加零电阻,以实现不同的配置,如可实现不同容量的SDRAM的配置等。
(3)在设计时为方便今后的硬件调试,读/写控制、时钟、电源、地等重要信号部分应加测试点,其测试点可连接到连接器或逻辑分析仪插头上。另外最好提供手动复位开关。
参考文献
1 张雄伟,陈亮,徐光辉.DSP芯片的原理与开发应用(第3版). 北京:电子工业出版社,2003
2 Texas Instruments Incorporated.TMS320 DSP Designer′s Notebook:Volume 1.2001
3 Texas Instruments Incorporated.TMS320C54xx DSP CPU and Peripherals Reference.1999