关键词:数字信号处理器 ; 多通道缓冲串口 ; DMA ;主机接口 ;引导装载
1 引言
TMS320VC5402(以 下简称C5402)是德州仪器公司推出的性价比极高的16位定点数字信号处理器(DSP),它的工作时钟可以高达 100MHz,非常适合于高速的数据传输和处理。C5402的接口电源为3.3V,内核电源为1.8V,输入输出的逻辑电平复杂。电路设计的时候一般会遇 到输入输出引脚的逻辑电平兼容、外围扩展电路时序、DSP多余引脚的处理等问题,这些最基本问题的妥善解决是设计一个性能优良的DSP应用系统的前提条 件。C5402提供了许多增强型外设,在实际系统中应合理设置,以充分利用硬件资源。DSP采用改进的哈佛结构,应用流水线操作,增强了处理器的数据处理 能力,但同时给设计者带来了高频干扰和流水线冲突等诸多问题。如何提高DSP的信号处理能力,充分利用DSP的资源是每个设计者应考虑的问题。本文总结了 作者在实际开发中遇到的问题和一些心得体会,希望对DSP开发人员有一点启发和帮助。
2 硬件设计中应注意的问题
2.1 接口电平兼容性问题
C5402 的接口电源为3.3V,其输入、输出引脚的电压的绝对范围-0.3~+4.5V,除了少数引脚以外,其输入电平是与TTL逻辑电平兼容的,因此 C5402的输入引脚仅能与3.3V的CMOS电路连接,不能5V的TTL电路、CMOS电路连接。5V TTL/CMOS电路的输出信号要经过电平转换后才能送给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)最好与扩展 器件数据总线的最高位连接,这样做的目的是避免符号位错误扩展,而多于的数据总线可以悬空,也可以接上拉或下拉电阻。同时将/IACK、EMU0、 EMU1、TDI、HOLD、CLKMD1、CLKMD2、CLKMD3和MP/MC等系统独立工作时的闲置引脚和硬件时钟设置引脚接上拉电阻。上拉电阻 较多时,通常选用排阻来完成,排阻集成了电源引脚VCC和电阻,相对体积小、连接简单。在调试阶段的设计中 CLKMD1、CLKMD2、CLKMD3和MP/MC可以设有跳线,选择是否与地相连来调节硬件时钟和微处理器/微计算机模式。
2.3 调试中问题
在 DSP开发设计中,经常会遇到DSP芯片发热问题。若芯片发热,首先检查一下DSP的供电是否正常。若DSP芯片和电源芯片都发热,这时可能是电路中有短 路的情况,或者是在访问外设总线上有冲突,导致DSP的输出电流过大。解决问题的方法是用跳线将芯片的使能端接地或高电平,依次不使能外部芯片,从而找到 哪个外设有总线冲突。笔者在一实际应用系统中用到了CPLD作为逻辑控制器件,在调试电路过程中,上电后发现DSP芯片发热,经检查发现上电后CPLD 的使用引脚没定义,CPLD状态不定和SRAM同时访问了总线。在CPLD的应用中,若 CPLD中烧路过程序,则与DSP连接的脚在程序中都必须有定义。
2.4 DSP与慢速外设通信
C5402 的处理速度非常快,通过软件可编程等待状态发生器(SWSSR)和软件等待控制器(SWSM)可以将外部总线周期扩展到14个机器周期,以使 C5402与慢速外部设备接口。复位时SWSSR=7FFFH,设置最长的等待周期,SWCR中的SWSM位为1时,等待周期数为2倍的SWWSR设置 值。当C5402与需要多于14个等待周期的外部设备进行数据交换时,通过软件设置的等待时间不能满足,这时要又到C5402的READY引脚,当外设准 备好后,通过READY引脚告知C5402可以继续进行通信。
3 主要外设的应用
3.1 多通道缓冲串口
C5402 提供两个高速、全双工、多通道缓冲串行口。两个缓冲串口可以同时接收和发送数据,中断类型设为接收到数据或发送数据产生中断。
串口设置的主要关键时序
(1)在保持RRST,XRST,FRST各位为0的前提下配置好各寄存器,等待至少两个CLKR/X时钟周期以确保DSP内部的同步。
(2)可以向DXR装载数据或使能DMA。
(3)使能GRST(GRST=1)(如果使用内部时钟)。
(4)使能RRST或XRST,注意此时要保证SPCR仅此一位发生改变。
(5)使能FRST(如果需要DSP内部产生帧同步)。
(6)等待两个CLKR/X时钟周期。
C5402的配置十分灵活,可以设置不同位数传送;A率和 率压缩;高低位传送的先后次序;中断源的设置等。有些设置不一定固定,关键是在实际应用中配合好各种情况。
3.2 DMA
在 不是要求数据同步的系统中,C5402工作在DMA可以不占用CPU资源的情况下,实现DSP存储器间数据的自由传送。C5402有6个可独立编程的 DMA通道,每个DMA通道受各自的5个16位寄存器控制: DMSRC、DMDST、DMCTR、DMSFC、DMMCR。此外,DMA的6个通道还受通道优先级和使能控制寄存器DMPREC控制。在这个寄存器中 相应的DPRC位置1选择相应的通道为高优先级,相应的DE位置1选通相应的通道为使能通道并开始工作。

