电路驿站 EDAdesign.com.cn 网站创建日期:2004年10月1日

 
首页
| 设计与应用
| 驿站大卖场
| 驿站课堂
| 代客设计
| 服务与支持
| 留言本

第五讲:DSP芯片的基本结构和特征 之 TI定点DSP芯片[3]

作者:电子虫虫 [ 打 印 ] [ 返 回 ]


2.3.3 TMS320C5X

TMS320C5X是TI公司的第五代产品,是继TMS320C1X和TMS320C2X之后的第三代定点DSP处理器。它的核心中央处理器(CPU)以TMS320C25的核心CPU为基础,增强型结构大幅度地提高了整体性能。TMS320C5X工作速度是TMS320C25的2倍以上,对于TMS320C1X和TMS320C2X具有源代码向上兼容特性。这种兼容性保留了过去开发的软件,便于系统升级到更高性能的DSP系统。TMS320C5X系列有TMS320C50/C51/C52/C53等多种产品,它们的主要区别是片内RAM、ROM等资源的多少,如TMS320C50内部具有10K字RAM和2K字ROM,其中2K字ROM已经固化了引导程序;TMS320C51内部具有2K字RAM和8K字ROM;TMS320C52内部具有1K字RAM和4K字ROM,减少了一个串行口;TMS320C53内部则有4K字RAM和16K字ROM。芯片的其他性能则是完全相同的。下面以TMS320C50为例介绍TMS320C5X DSP 芯片。
2.3.3.1 TMS320C50的基本特征
TMS320C50的主要特点包括:
*25/35/50ns的指令周期(20 ~ 40 MIPS)
*224K×16位最大可寻址外部存储空间(64K程序、64K数据、64K I/O、32K全局)
* 算术逻辑单元(ALU),32位累加器(ACC)以及32位加法器的缓冲器(ACCB)
* 并行逻辑单元(PLU)
* 结果具有32位的16×16位并行乘法器
* 单周期乘累加指令
* 具有一个专用算术单元的8个辅助寄存器,可用于间接寻址
*8级硬件堆栈
*0~16位数据左移和右移
* 两个间接寻址的循环缓冲器,用于循环寻址
* 程序代码的单指令重复和程序块重复
* 全双工同步串行口,用于完成TMS320C5X与其他串行器件之间的直接通信
* 时分多址访问(TDM )串行口
* 内部定时器,可用软件控制
*64K 并行I/O 口,其中16个有存储器映像
* 可软件编程的等待状态发生器
* 扩展保持操作,用于并发外部DMA
* 四级流水线操作,用于延迟跳转、调用、返回指令
* 比特反转寻址方式,用于FFT运算
*JTAG扫描仿真接口(IEEE标准,P1149.1)
1.核心CPU
TMS320C5X CPU的增强功能在提高性能和通用性的同时,保持了对TMS320C1X和TMS320C2X源代码的兼容性。硬件的改进包括:一个32位累加器缓冲器,附加定标能力,利用附加硬件功能的新指令。新的控制功能包括:独立的并行逻辑单元(PLU)和一组文本交换寄存器。数据管理方面的改进包括:采用新的块搬移指令和存储器映像寄存器指令。TMS320C50有28个存储器映像寄存器和16个存储器映像的I/O口。
2.片内ROM
TMS320C50拥有2K×16位掩蔽ROM,内部固化了引导程序。该存储器把程序从外部ROM/EPROM、串行口或并行I/O口引导至运行速度较快的SRAM中。这块引导ROM可通过PMST状态寄存器中的MP/MC\ 位从程序存储空间去除。如果该ROM未选,则TMS320C50由片外存储器启动执行。
3.片内数据RAM
TMS320C50具有1056字的片内RAM,这块RAM 可在每个机器周期内访问两次(双寻址RAM),只要两次访问不是“写”操作。这块存储空间主要用于存储数据,但是如果需要也可用于存储程序和数据。其配置有两种方式:所有的1056字都作为数据存储区,或者将其中的544字作为数据存储器,512字作为程序存储区。可通过状态寄存器ST1中的CNF位选择设置。
4.片内程序/数据RAM
TMS320C50还具有9K字的片内RAM。这一存储区可以由软件设置映射到程序或数据存储空间。程序从片外存储器引导后,可装入到该存储区全速运行。
5.片内存储器安全
TMS320C50可以通过可屏蔽选择来保护片内存储器的内容。当相关比特置位时,外部无法访问片内存储空间。
6.有地址映射的软件等待状态发生器
软件等待状态逻辑不需要任何外部硬件就可以实现TMS320C50与速度较慢的片外存储器和I/O设备接口。该电路系统拥有16个等待状态发生器,其中可由用户编程操作的有0,1,2,3和7状态。
7.并行I/O口
TMS320C50共有64K I/O口,其中的16个可映射在数据存储空间。这些口可由IN或OUT指令寻址。具有存储器映像的I/O口可按存储器的读写方式访问。I/O口的访问由IS\线选通。增加简单的片外地址译码电路,就可实现TMS320C50的I/O口与外部I/O设备的简单连接。
8.串行I/O口
TMS320C50有两个高速串行口。串行口最快可按1/4机器周期(CLKOUT1)操作。一个是同步全双工串行口,发送和接收都有缓冲,分别由可屏蔽外部中断信号控制,数据可按照8或16位方式传输;另一个串行口为全双工串口,可设置为同步方式,也可设置为时分多址(TDM)方式,TDM串行口一般用于多处理机系统。
9.16位硬件定时器
16位硬件定时器可由软件进行控制,通过设置相应的状态位,定时器可工作在停止、重启动、复位或不工作等状态。
10.用户可屏蔽中断
TMS320C50有4个外部中断线。片内的中断锁存电路可实现异步中断操作。此外,还有5个内部中断:1个定时器中断和4个串行口中断。
11.JTAG扫描逻辑
JTAG扫描逻辑电路用于仿真和测试,采用JTAG可实现在线仿真。
2.3.3.2 TMS320C50的结构
TMS320C50采用了与TMS320C25类似的哈佛型总线结构,通过两个独立的数据总线和程序总线,最大限度地提高运算速度。指令支持在两个存储区之间的数据传输。
TMS320C50使用32位的ALU和累加器以实现2的补码运算。ALU是一个通用的算术单元,它所使用的运算数据(16位)来自数据RAM或来自立即数指令,也可以是乘积寄存器中32位的乘积结果。除此之外,ALU还可以执行位操作。累加器保存ALU的输出,也为ALU提供下一个输入。字长为32位的累加器分为高字节和低字节。指令提供对低字节和高字节的单独存储。32位的累加器缓冲器用于临时快速地存储累加器的内容。
除了ALU之外,并行逻辑单元(PLU)可以在不影响累加器内容的情况下对数据进行逻辑操作。PLU提供了高速控制器需要的位处理能力,并简化了控制和状态寄存器需要的置位、清零和测试操作。
乘法器以单指令周期完成16×16位的乘法,结果为32位。乘法器由三部分组成,分别是乘法器阵列、PREG(乘积寄存器)、TREG0(临时寄存器)。16位的TREG0存储乘数,PREG保存32位的乘积结果。乘法器中的数值来自数据存储器,当使用MAC/MACD/MADS/MADD指令时来自程序存储器,或者来自乘立即数指令(MPY #)。片内快速乘法器对执行诸如卷积、相关和滤波等基本的DSP操作十分有效。
TMS320C50的定标移位器有一个16位的输入来自数据总线,32位的输出连接到ALU。定标移位器依照指令的编程使输入数据产生0到16位的左移。移位量取决于指令或移位计数寄存器(TREG1)中的定义值。输出的最低有效位(LSB)补零,最高有效位补0或符号扩展(取决于状态寄存器ST1的符号扩展模式位SXM)。附加的移位能力使处理器能执行数值定标、二进制位提取、符号扩展运算和溢出防止等功能。
8级硬件堆栈用于在中断及子程序调用时保存程序计数器的内容。中断发生时,重要寄存器(ACC、ACCB、ARCR、INDX、PMST、PREG、ST0、ST1和TREG)压入堆栈,中断返回时弹出,实现了无开销的中断文本切换。
[ 上 一 页 ] [ 下 一 页 ]

关于驿站 | 驿站声明 | 网站介绍 | 网站推广 | 联系我们 | 友情链接
Copyright@2004-2008 EDAdesign.com.cn 版权所有 不得转载 沪ICP备05000346号
版主:威特 E-Mail:edadesign@tom.com 联系站长! QQ:306963535 QQ群:10116628