TMS320C2XX开发设计中应注意的问题
1 引言
高速数字信号处理器是当前信息产业的热点技术之一,采用最先进的DSP无疑会使所开发的产品具有更强的市场竞争力。与普通的MCU相比,DSP 芯片放弃了冯·诺依曼结构,采用程序存储器总线和数据存储器总线分开的改进的哈佛结构,独立的程序和数据存储器空间允许同时存取程序指令和数据,因而大大提高了处理速度。在改进的哈佛结构的基础上,DSP芯片广泛采用流水线操作以减少指令执行时间,从而进一步增强了处理器的数据处理能力,非常适合于实时的数字信号处理,但同时也给设计者带来了高频干扰和流水线冲突等诸多问题。
TMS320C2XX系列DSP芯片结构资源相似,开发工具相同,因而其开发设计具有很高的可比性。TMS320F206(以下简称F206)是TI公司 TMS320C2XX系列的一款高性价比定点DSP,目前已广泛应用于图形图像处理、语音处理、通信及多媒体等领域。由于DSP的开发、应用方式与普通的MCU差异很大,本文总结了开发F206时的几个要点。 F206是TI公司推出的一款高性能、低价位的定点DSP,是100引脚的TQFP(正方扁平)封装,主要特点如下: (1)处理能力强。若时钟采用20MHz晶振,则指令周期为50ns,运算能力高达20MIPS。DSP芯片采用静态CMOS集成工艺制作而成,采用四级流水线操作,其先进的哈佛结构允许对数据与指令的操作同时进行,大大提高了数据的吞吐率和指令的执行速度;特殊的DSP指令系统提供了功能强大的数字信号处理操作,源代码与C1X、C2X、C5X兼容。另外,F206具有一个硬件乘法器,使得乘法运算可以在一个指令周期内完成,有效解决了数字信号处理实现中的乘法运算速度这一瓶颈问题。 (2)片内具有32k×16位的闪速存储器和 4.5k×1位的RAM。利用闪速存储器存储程序,降低了成本,减小了体积,同时系统软件升级也非常方便;大容量的片内RAM可满足大多数设计的要求,无需扩展片外存储器,可降低成本并使硬件设计十分简洁。 (3)地址映射分为四个可独立寻址的空间: 64k字程序存储器,包含程序执行所用的指令和数据;64k字本地数据存储器,保存指令所用的数据;32k字全局数据存储器,保存与其它处理器共用的数据,或者用做额外数据空间,本地数据存储器的上端32k字(8000H~FFFFH)地址空间可用做全局数据存储器;64k字的输入/输出(I/O)空间,与外部外围接口,并且包含片内外围寄存器。 (4)资源丰富。F206具有1个同步串行口 SSP、1个异步串行口ASP、1个软件可编程定时器(TIMER)以及大量中断资源和独特的JTAG接口等。由于与目标系统之间采用了JTAG逻辑扫描电路接口(基于IEEE1149.1标准),在仿真时不占用硬件资源,且可随时终止仿真察看CPU内部及外设的工作情况,使得程序的调试和查错十分方便。通过JTAG端口可向片内Flash串行下载程序,无需专门的编程器(XDS510仿真器即具有编程功能),进一步减少了开发成本,便于开发设计和产品的软件升级。 2硬件设计与调试 2.1 设计时应注意的问题
F206硬件设计时,应重点注意以下几点: ① 时钟电路。DSP时钟可由外部提供,也可由板上的振荡器提供。但一般DSP系统中经常使用外部时钟输入,因为使用外部时钟时,时钟的精度高,稳定性好,使用方便。由于DSP工作是以时钟为基准,如果时钟质量不高,那么系统的可靠性、稳定性就很难保证。因此,若采用外部时钟,选择晶振时应对其稳定性、毛刺做全面的检验,以便DSP系统可靠地工作。 ② 复位电路。同时设计上电复位电路和人工复位电路,当系统运行中出现故障时可方便地人工复位。复位电路一方面应确保复位低电平时间足够长,保证DSP可靠复位;另一方面应保证稳定性良好,防止DSP误复位。 ③ 在DSP电路中,对所有的输入信号必须有明确的处理,不能悬浮或置之不理,尤其要引起注意的是,对不可屏蔽硬件中断NMI,若设计中没用到,则硬件设计时应确保将其相应引脚拉高,否则程序运行时会出现不可预料的结果;若设计中用到NMI,也应在程序正常执行阶段置其相应引脚为高电平。 ④ 模拟电路与数字电路应分开布置,独立布线后单点连接电源和地,避免相互干扰。 ⑤ DSP和片外程序和数据存储器接入电源前,应加滤波电容并使其尽量靠近芯片电源引脚,同时使其对地回路面积最小,以滤除电源噪声。另外,在DSP与片外程序存储器和数据存储器等关键部分周围建议布上地网,以减少外界干扰。 ⑥ 片外程序存储器和数据存储器应尽量靠近DSP芯片放置,同时合理布局,使数据线和地址线长短基本保持一致。对于DSP系统而言,应选择存取速度与DSP相仿的外部存储器,不然DSP的高速处理能力将不能充分发挥。当DSP周围电路较复杂时,建议将DSP及其时钟、复位电路和片外程序存储器和数据存储器制作成最小系统,以减少干扰。笔者曾在这个问题上花费大量时间和精力,由于干扰严重,DSP根本无法正常工作。后将DSP 及其时钟、复位电路和片外程序存储器和数据存储器制成最小系统,主要信号线通过金手指与其它相应电路相连,结果DSP系统运行正常。 2.2 调试时应注意的问题
在硬件调试前,应先对电路板进行细致的检查,观察有无短路或断路情况,由于DSP的PCB板布线一般较密、较细,这种情况发生的概率还是比较高的。加电后,应用手感觉是否有些芯片特别热。如果发现有些芯片烫得厉害,说明有问题,需掉电检查确认无误或排除故障之后再上电。排除上述问题后,应检查晶体是否振荡,复位是否正确可靠,然后用示波器检查DSP的CLK-OUT1和CLK-OUT2引脚的信号是否正常,若正常则表明DSP本身工作基本正常。主要有两项要求: ①保证电源的稳定可靠。在DSP硬件系统调试前,应确保给实验板供电的电源有良好的恒压恒流特性。尤其要注意的是,DSP的入口电压应保持在 5.0±0.05V。电压过低,则通过JTAG接口向Flash写入程序时,会出现错误提示;电压过高,则会损坏DSP芯片。由于电源电压过高,笔者曾有过一个上午烧坏三块DSP的惨痛经历。另外,由于在调试时要频繁对实验板开断电,若电源质量不好,则很可能在突然上电时因电压陡升而烧坏DSP 芯片。 ②利用仿真软件排除硬件故障。当完成对电路板的检查后,可通过仿真软件来调试程序。由于仿真时,程序代码下载到目标系统中的片外程序用存储器,因而通过仿真软件可以比较容易地检查出一些硬件故障。当上电后,若仿真软件调试窗口始终无法调入程序,此时有两种可能: DSP芯片引脚存在断路或短路现象以及DSP芯片损坏。倘若是第一次利用仿真软件调试程序,此时应对实验板断电,仔细检查DSP芯片各引脚的焊接情况。如果软件调试窗口曾正确调入程序,则可能是DSP芯片损坏,此时,可通过检测实验板的整板阻抗来进一步判断DSP芯片是否受损。若整板阻抗急剧下降,则将给DSP芯片供电的电源线割断,检测DSP芯片的电阻。正常的DSP芯片的电阻为MΩ级,若被测芯片电阻明显低于该值,则可断定DSP芯片已被烧坏。 如果软件调试窗口可调入程序,但调入的程序局部出错,如对片外程序存储器或数据存储器操作的代码变成了.word xxxx,此时可能是片外程序存储器或数据存储器出现故障。首先应仔细检查存储器是否存在短路或虚焊,若不存在则应进一步判断存储器是否受损。本人曾遇到上述现象,后经仔细检查,发现存储器引脚有虚焊。
|