TMS320F206设计中应注意的几个问题
2006-05-07 来源:电子技术应用
摘要:TMS320F206是TI公司TMS320C2XX系列芯片中具有代表性的一种,在介绍其特点、结构与性能的基础上,重点阐述了TMS320F206在软件及硬件设计中应注意的几个问题,给出了作者的一些实际经验。
关键词:DSP TMS320F206 软件设计 硬件设计
数字化已成为电子、通信和信息技术的发展趋势与潮流。在这种趋势与潮流的推动下,数字信号处理的理论与实现手段获得了快速的发展,已成为当代发展最快的学科之一。而DSP芯片作为数字信号处理,尤其是实时数字信号处理的主要方法和手段,自20世纪70年代末、80年代初诞生以来,无论在性能上还是在价格上,都取得了突破性的迅猛发展。从定点到浮点直到并行处理芯片,DSP芯片的功能越来越强、速度越来越快(例如TI公司的并行处理芯片C6000系列的速度达到了2400MIPS的高指标);而且,DSP芯片的价格越来越低,开发与设计手段越来越多样化、越来越容易。越来越高的性能价格比、日渐完善的开发方式使DSP的应用范围越来越大,已经广泛地应用于通信、雷达、声纳、遥感、生物医学、机器人、控制、精密机械、语音和图像处理等领域。可以毫不夸张地说,以DSP芯片为基础的数字信号处理技术已成为当代电子、通信和信息处理技术不可或缺的重要手段。
从全球范围来看,生产DSP芯片的厂家主要有美国的TI公司、AD公司、Motorola公司以及Lucent公司等。其中TI公司以其卓越的产品性能、多层镒的产品系列、良好的性能价格比以及较好的售后服务,使其TMS320系列DSP芯片占据了接近一半的国际市场份额。从定点、浮点到并行,已形成了一个较为完整的产品系列,因而获得了最广泛的应用。
TMS320系列产品大致是沿着下面三个方向在不断发展的。
定点DSP:C1X→C2X→C2XX→C5X→C54X→…;
浮点DSP:C3X→C4X→…;
内含多处理器的DSP:C8X→C6X…;
TI公司的TMS320C2XX系列芯片是采用静态CMOS集成电路工艺制造的,其结构以C5X为基础。C2XX和C5X操作灵活、速度高,这是由于采和先进哈佛结构(程序存储器和数据存储器具有各自的总线)、多级流水线、片内外设、片内存储器和专用的指令集的结果。C2XX的速度高达40MIPS。C2XX产品具有以下优点:
·改进TMS320的结构设计,使其性能和通用性得以提高。
·采和模块化结构设计,可以更快地开发各种产品。
·采用先进的集成电路工艺以提高性能。
·其源码与C1X、C2X兼容,能更快、更容易地对C1X、C2X进行升级。
·其增强型指令集适用于快速算法和适合于优化高级语言操作。
·采用新的静态设计技术使其功耗最低。
1 TMS320F206的结构与性能特点
TMS320F206是TI公司C2XX系列产品中非常具有代表性的一种,它含有丰富的片内外设和片内存储器;尤其是片内含有可作为程序存储器的32K闪速存储器(Flash Ram)。用户可通过TMS320F206自带的符合IEEE标准1149.1的JTAG接口将可执行程序代码直接烧录到芯片仙部,并可通过该接口程序进行仿真与测试。基于JTAG的结构,极大地方便了用户的系统设计与程序调试,从而使TMS320F206获得了广泛的应用。
TMS320F206的主要特点如下:
(1)从速度上来看,其单周期指令执行时间为50、35、25ns,处理速度可达20、28.5或40MIPS。从兼容性来看,其源代码与C1X和C2X全部产生兼容,与C5X产品向上兼容。
(2)可寻址的存储器空间为224K字(程序空间64K字,数据空间64K字,I/O空间64K字,还有32字全局存储空间)。其中,片内双访问RAM 544字(288字用于数据,另256字可用于程序或数据),片内闪速存储器(Flash Ram)32K字,片内单访问RAM 4K字。
(3)从CPU的结构来看,含有32位算术逻辑单元(CALU)和32位累加器,16位并行乘法器(乘积为32位),3个比例移位器,用于间接寻址数据存储器的8个辅助寄存器,并有专用的算术单元。在程序控制方面,有4级流水线操作和8级硬件中断,并有用户可屏蔽的中断线。
(4)具有6组16比特总线,它们是:
.PAB程序地址总线,提供读、写程序存储器的地址。
.PRAB数据读地址总线,提供读数据存储器的地址。
.DWAB数据写地址总线,提供写数据存储器的地址。
.PRDB程序读总线,将指令代码和立即数从程序存储器传送到CPU。
.DRDB数据读总线,承载数据传到数据存储器和程序存储器。
.DWEB数据写总线,承载数据传送到程序存储器和数据存储器。
(5)含有功能强大的指令集,包括单指令重复操作、单周期相乘/累加、存储器块移动、变址寻址能力、适合基于2 FFT的倒位序变址能力。
(6)含有丰富的片内外设,包括软件可编程的定时器;适用于程序、数据和I/O存储空间的软件可编程等待状态产生器;振荡器与锁相环(可实现时钟选择:×1、×2、×4和除2模式);CLK寄存器(可控制CLKOUT1引脚的开启与关闭);同步串行口(SSP);异步串行口(ASP)。
(7)含有用于仿真和测试的片内扫描逻辑电路(IEEE标准1149.1);5V或3.3V电源静态CMOS工艺;可以降低功耗模式工作以减少功率消耗;封装形式为100线薄型四边有引线扁平封装(TQFP)。
2 TMS320F206系统设计中应注意的几个问题
2.1 速度和时钟
从运行速度上看,TMS320F206有20、28.5和40MIPS三个具体片种,三种芯片的价格差异较大。40MIPS的DSP可用于20MIPS的低速率,反之则不行。因此在选择芯片时,要意识到速度的差异,应根据实际的需要选择合适的芯片,以求获得最优的性能价格比。
TMS320F206有32K的片内Flash Ram,可满足大多数应用场合对程序存储空间的需要。可执行程序代码烧录进Flash Ram是通过JTAG仿真测试口完成的。但必须注意的是:无论对于40MIPS,还是20MIPS或28.5MIPS的DSP芯片,程度代码成功烧录进片内Flash Ram的前提条件是TMS320F206工作于20MIPS,亦即CLKOUT1时钟频率应为20MHz/50ns,否则程序无法烧录进DPS内的Flash Ram。所以,在设计中,如果希望TMS320F206的运算速度超过20MIPS,且把Flash Ram作为程序存储空间,则应注意主时钟CLKOUT1的设计。在利用外时钟源的情况下,可利用两个引脚DIV1和DIV2为高低电平来确定CLKOUT1与外时钟源的对应关系。当DIV2和DIV1分别为低电平和高电平时,二者相等;当DIV2和DIV1分别为高电平和低电平时,CLKOUT1两倍于外时钟源。所以,如果要求在程序运行时,CLKOUT1的速率超过20MHz,可采用将时钟确定为外部时钟模式的方法,同时使外部时钟源的频率不大于20MHz,然后根据程序运行或程序烧录时所需时钟的不, 通过跳线确定DIV1和DIV2的高低电平,从而分别满足程序运行和程序烧录时不同的时钟需要。例如,希望TMS320F206的运算速度是40MIPS,可用20MHz的晶振作为外部时钟源;在程序烧录时,通过跳线将DIV2和DIV1分别设置为高电平和低电平,此时CLKOUT1是外时钟源的2倍,为40MHz,可满足程序运行时的时钟条件。
2.2 中断的使用
中断的使用是系统设计中十分重要的问题。中断的软件设计,是中断程序正常运行的关键;而中断的硬件设计,有些问题也同样不容忽视。
在TMS320F206中,中断的使用是与三个寄存器相联系的,即中断标志寄存器(ifr)、中断屏蔽寄存器(imr)和中断控制寄存器(icr)。
16位的中断标志寄存器(ifr)标志位于数据存储空间内,地址是0006h。它含有所有可屏蔽中断的标志。当可屏蔽中断请求到达CPU时,ifr中相应的标志置为1,这表明该中断挂起,正在等待响应。读ifr可识别挂起的中断。写ifr可清除挂起的中断。为清除中断请求(也即将ifr标志清0),可向ifr中相应的位写入1,再将ifr当前的内容写回ifr,即可清除所有挂起的中断。
16位的中断屏蔽寄存器(imr)标志位于数据存储空间,地址是0004h。它用于屏蔽内部和外部的可屏蔽中断。因/NMI和/RS是不可屏蔽中断,的以它们都不包括在imr中,因而imr对这中断没有影响。读imr可以识别被屏蔽和没有被屏蔽的中断,写imr可以屏蔽和不屏蔽中断。为了不屏蔽某个中断,应将它对应的imr中的位写为1;为了屏蔽某个中断,应将它对应的imr中的位写为0。
16位的中断控制寄存器(icr)标志在I/O空间内,地址是FFFCh,含有中断/INT2和/INT3单独的标志位的屏蔽位。它控制HOLD/INT1的引脚功能,并单独控制/INT2和/INT3中断。
在TMS320F206的程序空间中,0000h~003fh对应中断向量空间,对于程序设计中没有到的向量空间,应填零,以防止意外情况发生。若TMS320F206响应了某个硬件中断,则会自动将其相应的中断标志位和中断允许位INTM置1(INTM为1,则禁止所有中断),但在中断服务程序结束后不会自动将二者清0。因此,在中断服务程序结束时,应将该中断的标志位和中断允许位INTM清0,以保证后读中断的正常运行。实际经验表明,若在某个中断的服务程序中没将该中实际经验表明,若在某个中断的服务程序中没将该中断的标志清0,则TMS320F206是无法连接正常响应该中断的,结果是程序运行发生混乱,出现许多意想不到的结果。
在TMS320F206中,/INT2和/INT3是两个较为特殊的可屏蔽硬件中断,它们共享:
(1)中断标志寄存器(ifr)中的一标志位;
(2)中断屏蔽寄存器(imr)中的同一屏蔽位;
(3)同一个中断服务程序(/INT2和/INT3都映射到程序存储器内的中断向量单元0004h)。
为单独使用/INT2和/INT3,icr提供了两屏蔽位(MINT2和MINT3)和两个标志位(FINT2和FINT3)。当/INT2和/INT3引脚上有中断请求时,由MINT2和MINT3确定是否设置标志位FINT2、FINT3和INT2/INT3。为屏蔽/INT2(防止标志FINT2和INT2/INT3置1),可将0写入MINT2;为屏蔽/INT3(防止标志FINT3和INT2/INT3置1),可将0写入MINT3.若想将/INT2和/INT3都屏蔽,则只需将imr中的INT2/INT3位置0,CPU接收不到中断请求,也就不会响应中断请求了。
当中断标志寄存器ifr中的INT2/INT3位置1时,说明有一个或两个中断挂起。为区别这两个中断,可在中断服务程序中测试icr中FINT2和FINT3,然后分配到适当程序。如果只希望响应其中的一个并执行中断服务程序,那么可在icr中将另一个屏蔽。CPU响应/INT2和/INT3中断时,其中断标志位不会自动清0,因此必须在中断服务程序中将icr和ifr中相应的中断标志位以及中断允许位INTM清0。
TMS320F206共有5个硬件中断。其中,用户不可屏蔽中断有:复位中断(/RS)、用户不可屏蔽中端(/NMI);用户可屏蔽中断有:/INT1、/INT2、/INT3,用户可通过设置有关的软件寄存器,决定是否响应该中断。
在系统设计中,若用户没有用到某个可屏蔽硬件中断,一方面应通过设置中断屏蔽寄存器(imr)将来屏蔽,另一方面也应通过设置相应的中断引脚,将其关闭,以保证系统运行的稳定性和可靠性。
在通常情况下,用户都会用到复位中断(/RS),以完成程序的复位。在复位中断电路的设计中,应注意的问题是:
(1)在系统运行的初始阶段,应保证/RS为低电平的时间足够长,以使DSP能准确地响应复位中断,从而保证程序的正常运行。
(2)在程序运行过程中,应保证/RS有良好的稳定性,以防止由于外界干扰使/RS为低电平而使TMS320F206意外复位,产生意想不到后果。
/NMI是另一个不可屏蔽的硬件中断,如果在设计中没用到该中断,务必将其对应的引脚/NMI拉高,以防止意外。经验表明,若不钭/NMI拉高,则通过JTAG将程序代码烧录进Flash Ram内时,会出现错误提示,使烧录无法完成。
2.3 Flash Ram的使用
TMS320F206有32K的片内Flash Ram,分为两个块:F0和F1,各占16K的程序存储空间,二者可以单独使用,也可以作为一个整体使用。但应注意使用片内Flash Ram的前提条件是:TMS320F206必须工作于微计算机方式,亦即MP/MC引脚必须置为低电平,从而使片内Flash Ram使能。
通过JTAG仿真测试口向Flash Ram烧录代码需经过以下三个环节;
①clear, 使所有位都置0;
②erase, 使所有位都置1;
③program, 将程序代码中0所对应的位清0。
需明确的是:以上3个环节在程序烧录时,缺一不可,具只能按①、②、③的顺序进行;否则在程序烧录过程中将出现错误提示,从而使程序烧录告以失败。在实际操作中,易犯的错误是不经过第1个环节而直接进行erase和program,结果是无法完成程序烧录。
在JTAG仿真测试口中,有一个Vcc引脚,它是连接目标板上TMS320F206的电源端。在程序烧录时,目标板上的电压不能太低,否则也会出现错误提示。笔者在一个5V供电的DSP系统中,曾以4.85V给TMS320F206供电,结果无法完成烧录。最后将电源电压改为4.95V到5.05V的范围内时,一切正常。
2.4 PCB制板与焊接问题
在有关DSP的PCB设计中,应遵循PCB制作与布线的通用规则。应特点注意 的方面有:务必将模拟电路和数字电路独立布线,最后单点连接电源和地;对所有的输入信号必须有明确的处理,不能悬浮或置之不理。
TMS320F206的封装形式只有TQFP(薄型四边有引线扁平封装)一种,其外形是一个边长约1.3厘米的正方形,每个边上有25个引脚,排列十分密集。在大规模的专用化生产中,有专用的设备完成诸如TQFP类贴片型芯片的焊接,但设备较为昂贵。因此,在实验室或小规模生产场合下通常都采用手工焊接的方式。
由于TMS320F206是贴片型芯片,所以在制作PCB板时,应采限喷锡工艺,同时应注意喷锡的厚度和引脚排列的尺寸。在手工焊接时,宜采用焊头较细的电烙铁,笔者根据实际经验总线的焊接过程如下:
①将TMS320F206的四边引脚刷一层松香水;
②将其四边引脚与PCB板上的引脚一一对齐;
③用烧热的电烙铁轻点四个角上的某个引脚以使芯片处于半固定;
④微调四边引脚位置,直到确定各个引脚已完全对剂;
⑤用烧热的电烙铁对准引脚处,一一点击,以使下面的焊锡熔化,完成焊接。应注意点击的时间不要过长,点击的方向尽量垂直,亦即平压下去,而不要沿着引脚排列的方向平拉。平拉有可能因用边过大而使引脚偏离来的位置,从而使相邻引脚粘在一块;
⑥用万用表检查引脚焊接的通断。若有不通的引脚,则应再次点焊。