摘要:TMS320VC33是美国TI公司新推出的TMS320C3X系列新一代浮点式数字信号处理器。它以高速、低功耗、低成本、易于开发为显著特点。是通信、手机、MODEM、DVD、便携式仪器仪表中需要进行俘点运算应用中的一种理想 的DSP器件。文中介绍了TMS320VC33的硬件结构、性能特点、指令系统、仿真工具和开发环境,最后给出了由TMS320VC33组成的最小应用系统。
关键词:数字信号处理器 TMS320VC33 浮点DSP
TMS320VC33是TI公司新推出的TMS320VC3X系列新一代浮点DSP。它是在原来的TMS320C31浮点DSP的基础上开发一个价格更低的版本(15US$),该产品以高速、低功耗、低成本、易于开发为显著特点。由于它采用了内部1.8V、外部3.3V供电,因而功耗比原有型号降低了大约一个数量级,而且能支持高达150M/FLOPS的运行速率,是需浮点运行的便携式产品应用场合中的一种理想的DSP器件。
1 TMS320VC33的硬件结构
TMS320VC33采用144脚LQFP四边形封装。表1所列是其引脚号与引脚名称的对应关系表。图1是其功能结构图。它的主要性能如下:
表1 144脚LQFP封装的TMS320VC33引脚号码与引脚名称的对应关系表
引脚号 | 名 称 | 引脚号 | 名 称 | 引脚号 | 名 称 | 引脚号 | 名 称 | 引脚号 | 名 称 | 引脚号 | 名 称 |
1 | A20 | 25 | Vss | 49 | Vss | 73 | D15 | 97 | Vss | 121 | INT1 |
2 | Vss | 26 | A3 | 50 | D31 | 74 | D14 | 98 | TCK | 122 | INT0 |
3 | A19 | 27 | A2 | 51 | D30 | 75 | D13 | 99 | TDO | 123 | CVDD |
4 | A18 | 28 | CVDD | 52 | D29 | 76 | D12 | 100 | TDI | 124 | EDGENIDE |
5 | A17 | 29 | A1 | 53 | DVDD | 77 | DVDD | 101 | CVDD | 125 | NCBK/MP |
6 | DVDD | 30 | A0 | 54 | D28 | 78 | D11 | 102 | TMS | 126 | Vss |
7 | A16 | 31 | DVDD | 55 | D27 | 79 | D10 | 103 | TRST | 127 | RESET |
8 | A15 | 32 | PAG3 | 56 | Vss | 80 | Vss | 104 | DR0 | 128 | SHZ |
9 | Vss | 33 | PAG2 | 57 | D26 | 81 | D9 | 105 | Vss | 129 | DVDD |
10 | A14 | 34 | Vss | 58 | D25 | 82 | D8 | 106 | FSR0 | 130 | EXTCLK |
11 | A13 | 35 | PAG1 | 59 | D24 | 83 | CVDD | 107 | CLKR0 | 131 | PLLVDD |
12 | CDDD | 36 | PAG0 | 60 | DVDD | 84 | D7 | 108 | DVDD | 132 | XOUT |
13 | A12 | 37 | DVDD | 61 | D23 | 85 | D6 | 109 | CLKR0 | 133 | XIN |
14 | A11 | 38 | H1 | 62 | D22 | 86 | DVDD | 110 | FSX0 | 134 | PLLVSS |
15 | DVDD | 39 | H3 | 63 | Vss | 87 | D5 | 111 | DX0 | 135 | CLKMD1 |
16 | A10 | 40 | Vss | 64 | D21 | 88 | D4 | 112 | Vss | 136 | CLKMD0 |
17 | A9 | 41 | STRB | 65 | D20 | 89 | Vss | 113 | TCLK1 | 137 | CVDD |
18 | Vss | 42 | R/W | 66 | CVDD | 90 | D3 | 114 | TCLK0 | 138 | RSV1 |
19 | A8 | 43 | DVDD | 67 | D19 | 91 | D2 | 115 | DVDD | 139 | RSV0 |
20 | A7 | 44 | IACK | 68 | D18 | 92 | D1 | 116 | XF1 | 140 | Vss |
21 | A6 | 45 | RDY | 69 | DVDD | 93 | D0 | 117 | XF0 | 141 | A23 |
22 | A5 | 46 | CVDD | 70 | D17 | 94 | DVDD | 118 | Vss | 142 | A22 |
23 | DVDD | 47 | HOLD | 71 | D16 | 95 | EMU1 | 119 | INT3 | 143 | DVDD |
24 | A4 | 48 | HOLDA | 72 | Vss | 96 | EMU0 | 120 | INT2 | 144 | A21 |
●具有高速的浮点运算能力,其中TMS320VC33-150型在13ns单周期指令执行时间时为150MFLOPS和75MIPS;而TMS320VC33-120型在17ns单周期指令执行时间时为120MFLOPS;60MIPS;
●带有34k×32位(1.1M位)的片内双静态RAM,分为2个16k×32位块和2个1k×32位块;
●内含5倍频的锁相环(PLL)时钟发生器;
●低功耗,在150MFLOPS下运行时,功耗低于200mW。
●带有32位的高性能CPU;
●可进行16/32位整数和32/40位的浮点操作;
●具有四个内部译码页选,可大大简化与I/O及存储器的接口;
●带有启动程序装载功能;
●外部中断可选择边沿触发方式和电平触发方式;
●具有32位的指令字,24位的地址线;
●内含8个扩展精度寄存器;
●片内存储器可映射外设,其中包括一个串行口、2个32位定时器和一个DMA;
●采用TI公司的0.8μm Timeline TM制造技术;
●采用144管脚LQFP封装;
●带有2个地址发生器、8个辅助寄存器和2个辅助寄存器算术单元(ARAUs);
●具有两个低功耗模式;
●支持2个或3个操作数指令;
●在一个单指令周期并行进行算术/逻辑单元(ALU)和乘法器运算;
●具有块重复功能;
●可零开销循环和单周期分支;
●具有条件调用和条件返回指令;
●总线控制寄存器配置选通控制等待状态数;
●采用1.8V内核,3.3V I/O供电;
●具有符合IEEE 1149标准的片内扫描仿真接口(JTAG)。
图2是TMS320VC33存储器映像图。
2 TMS320VC33的指令系统
除了个别在C32才有的外设和在C30才有的第二个外部端口以及第二串行口外,所有的C3XDSP代码都是兼容的,因此它们都是基于同样技术的浮点CPU。TMS320VC33的指令集就是以前的C3X指令集。共分为6个功能组:1.装入与存储指令;2.两操作数算术/逻辑运算指令;3.三操作数算术/逻辑运算指令;4.程序控制令;5.互锁操作指令;6.并行操作指令等。使用C3X指令集编程需注意以下几个问题:
(1)延时转移的使用
延时转移在单周期内执行,而通常的转移需要4个周期,不管转移发生与否,后面的三条指令总是要执行的。如果后面的指令少于三条,则使用延时转移时要再加上无操作指令(NOP),这样可以节省机器时间。
(2)单指令/指令块循环结构的使用
使用这种方式可以做到零开锁循环,不过要注意RPTS是不可中断的。
(3)并行指令的使用
在执行乘法时,可以并行执行加(减);在做乘法或算术/逻辑运算时,可以并行行执行存储。以此来提高单周期内执行的操作个数。为了最大限度地提高效率,要注意并行指令中的寻址模式,并适当地安排数据。
寄存器是访问存储器的有效途径。加强寄存器的使用,有助于使用并行指令,也有助于防止在各种寻址模式中使用寄存器时可能产生的流水冲突。
(5)高速缓存的使用
在与此同时片外慢速存储器连接时,高速缓存的使用显得特别重要。对于使用者来说,cache是透明的,只需将其使能即可。
(6)尽量使用片内存储器
片内存储器的访问速度要快得多。在单周期内存储器可以调出2个操作数,如果首先使用与CPU并行的DMA来将数据传入片内存储器,以可以最大限度地发挥其功能。
(7)避免流水作业时的冲突
在时间要求很苛刻的情况下,要确保不会因为冲突而丢失任何机器周期。为了验证冲突的存在,可在开发工具上(软、硬仿真器)对该程序进行跟踪,以及时确认流水作业的冲突,再经认真分析冲突的原因,进而解决有关问题。
3 仿真工具及开发环境
由于所有C3X DSP具有相同的CPU,所以'C30、'31或'32上的程序可以很方便地移植到VC33上来使用,也可以用现有的C3X开发工具来编写VC33程序。
TMS320C3X的开发工具有:
C3X软件仿真器;
C3X优化C编译/汇编器;
DSK(Design Starter Kit);
评估板EVM(Evaluation Module);
XDS510'C3XC source dedugger software;
XDS510 emulator hardware with JTAG;
C3X/C4XCODECOMPOSSORSTUDIO.
其中,C3X/C4XCODECOMPOSSORSTUDIO是一个集成的开发平台,具有编辑、汇编、编译、软硬件仿真调试功能,是一个界面非常友好、功能完善的开发软件.
4 最小应用系统
在采用TMS320VC33来组成应用系统时,首先要考虑TMS320VC33所具有的各种功能是否满足应用系统的要求,如能满足,则称这样的系统为最小系统.VC33由于其片内无ROM(或EPROM或FLASH),故其最小应用系统还应包括外接的EPROM或FALSH程序存储器芯片.当最小系统不能满足系统功能的要求时,需扩展ROM、ROM、I/O、A/D、D/A及其它所需的外围芯片.DSP最小系统还包括没有集成在芯片内的其它器件如晶体振荡电路、复位开发和电源管理芯片等。
图3为典型的TMS320VC33最小应用系统的电路原理图,利用该电路可以实时在线对TMS320VC33芯片系统仿真开发和学习研究,其中TPS73HD301用于向VC33提供3.3V和1.8V的电源信号,并由外部电路提供15MHz的时钟信号,当EDGEMODE接高电平时,为外部边沿触发中断方式;MCBL/MP引脚为高电平时可使VC33工作于微计算机自引导方式,在这种方式下,TMS320VC33可从JTAG仿真口直接设定装入程序运行,不过在应用系统由三个特定的地址装入程序(BOOT1,BOOT2,BOOT3)或从串口装入程序时,具体应用系统应视需要来设计确定。