CH06 - DSP片内外设
- 格式:pdf
- 大小:621.14 KB
- 文档页数:35
浅谈C2000C5000和C6000的内部结构及区别姓名:王莎班级:SJ1239学号:201221902003摘要:随着计算机和数字信号处理技术的快速发展和广泛应用,数字信号处理(DSP)引发了工业设计的革命,成为了工程实现的关键。
本文通过TI公司的TMS320C2000、TMS320C5000和TMS320C6000三大主流芯片内部结构介绍和比较,得出了它们之间的不同和共同点,并对它们进行了对比性说明。
关键词:DSP;内部结构;比较Abstract:With the computer and digital signal processing technology rapid development and the widespread Abstract:application,digital signal processing (DSP)has brought the industrial design revolution and become the key to the realization of the project.This paper introduces the Texas instruments(TI) company three mainstream chip internal structures,TMS320C5000、TMS320C2000and TMS320C6000,which are introduced and compared for all series of chips to know the different and common points between them,and has carried on the comparative to their specifications.Keywords:DSP;Internal structure;comparison1.前言世界上第一个单片DSP芯片是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片发展史上一个重要的里程碑。
DSP常见问题解答如何选择外部时钟?DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL。
但每个系列不尽相同。
1)TMS320C2000系列:TMS320C20x:PLL可以÷2,×1,×2和×4,因此外部时钟可以为5MHz-40MHz。
TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和×9,因此外部时钟可以为2.22MHz-40MHz。
TMS320F241/C242/F243:PLL可以×4,因此外部时钟为5MHz。
TMS320LF24xx:PLL可以由RC调节,因此外部时钟为4MHz-20MHz。
TMS320LF24xxA:PLL可以由RC调节,因此外部时钟为4MHz-20MHz。
2)TMS320C3x系列:TMS320C3x:没有PLL,因此外部主频为工作频率的2倍。
TMS320VC33:PLL可以÷2,×1,×5,因此外部主频可以为12MHz -100MHz。
3)TMS320C5000系列:TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主频可以为0.625MHz-50MHz。
TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主频可以为6.25MHz-300MHz。
4)TMS320C6000系列:TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主频可以为11.8MHz-300MHz。
TMS320C67xx:PLL可以×1和×4,因此外部主频可以为12.5MHz-230MHz。
第一章:1、数字信号处理的实现方法一般有哪几种?(1)在通用的计算机上用软件实现(2)在通用计算机系统中加上专用的加速处理机实现(3)用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理(4)用通用的可编程DSP 芯片实现,可用于复杂的数字信号处理算法(5)用专用的DSP 芯片实现(6)用基于通用dsp 核的asic 芯片实现2、简单的叙述一下dsp 芯片的发展概况?答:第一阶段,DSP 的雏形阶段(1980 年前后)代表产品:S2811。
主要用途:军事或航空航天部门第二阶段,DSP 的成熟阶段(1990 年前后)代表产品:TI 公司的TMS320C20 主要用途:通信、计算机领域第三阶段,DSP 的完善阶段(2000 年以后)代表产品:TI 公司的TMS320C54 主要用途:各行业领域3、可编程dsp 芯片有哪些特点?(1)采用哈佛结构:冯.诺依曼结构,哈佛结构,改进型哈佛结构(2)采用多总线结构(3)采用流水线技术(4)配有专用的硬件乘法-累加器(5) 具有特殊的dsp 指令(6)快速的指令周期(7) 硬件配置强(8)支持多处理器结构(9)省电管理和低功耗4、什么是哈佛结构和冯.诺依曼结构?它们有什么区别?哈佛结构:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成, 大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
冯.诺依曼结构:该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
区别: 哈佛:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
DSP复习要点第一章绪论1、数的定标:Qn表示。
例如:16进制数2000H=8192,用Q0表示16进制数2000H=0.25,用Q15表示2、‟C54x小数的表示方法:采用2的补码小数;.word 32768 *707/10003、定点算术运算:乘法:解决冗余符号位的办法是在程序中设定状态寄存器STl中的FRCT位为1,让相乘的结果自动左移1位。
第二章CPU结构和存储器设置一、思考题:1、C54x DSP的总线结构有哪些特点?答:TMS320C54x的结构是围绕8组16bit总线建立的。
(1)、一组程序总线(PB):传送从程序存储器的指令代码和立即数。
(2)、三组数据总线(CB,DB和EB):连接各种元器件,(3)、四组地址总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。
2、C54x DSP的CPU包括哪些单元?答:'C54X 芯片的CPU包括:(1)、40bit的算术逻辑单元(2)、累加器A和B(3)、桶形移位寄存器(4)、乘法器/加法器单元(5)、比较选择和存储单元(6)、指数编码器(7)、CPU状态和控制寄存器(8)、寻址单元。
1)、累加器A和B分为三部分:保护位、高位字、地位字。
保护位保存多余高位,防止溢出。
2)、桶形移位寄存器:将输入数据进行0~31bits的左移(正值)和0~15bits的右移(负值)3)、乘法器/加法器单元:能够在一个周期内完成一次17*17bit的乘法和一次40位的加法4)、比较选择和存储单元:用维比特算法设计的进行加法/比较/选择运算。
5)、CPU状态和控制寄存器:状态寄存器ST0和ST1,由置位指令SSBX和复位指令RSBX控制、处理器模式状态寄存器PMST2-3、简述’C54x DSP的ST1,ST0,PMST的主要功能。
答:’C54x DSP的ST1,ST0,PMST的主要功能是用于设置和查看CPU的工作状态。
•ST0主要反映处理器的寻址要求和计算机的运行状态。
浅谈C2000、C5000和C6000的内部结构和区别摘要:德仪公司的DSP分为多种系列,其中TI公司的TMS320系列的DSP在全球应用中较为广泛。
本文重点对TMS320系列下的C2000系列,C5000系列,C6000系列的内部结构做重点介绍,并对其内部结构进行比较。
为了更好地了解其内部结构下面主要从三大方面进行总结,分别是:中央处理单元(CPU)、存储器和I/O空间、外围设备。
关键词:内部结构C2000系列C5000系列C6000系列Introduction to the internal structure and distinction ofC2000,C5000,C6000Abstract:The digital signal processors of the TI company are the widely used for many years.the IT company's DSP is divided into several series,in which TMS320 series have an wide application in the global .Toward the C2000 series, C5000 series, C6000 series which belong to TMS320 series,this paper mainly makes summary and comparison about their internal structure. In order to better understand its internal structure below summarizes mainly from three aspects, respectively is: the central processing unit (CPU), memory and I/O space, and peripheral devices.Keywords:Digital signal processing The internal structure C2000 series C5000 series C6000 series 一、引言在生产数字信号处理的全球企业中,美国的德仪公司生产的数字信号处理器多年来一直占据了较大的DSP生产市场,并且在不断的扩大。
第6章 DSP片内外设教学提示:TMS320C54x DSP的片内外设是集成在芯片内部的外部设备。
本章将以C5402 DSP为主详细介绍其可编程定时器、串行口、主机接口、通用I/O以及软件等待状态发生器和分区转换逻辑。
教学要求:掌握可编程定时器、标准同步串行口、标准8位主机接口、通用I/O的特点和操作过程,能够应用。
了解多通道缓冲串口(McBSP)、8位增强主机接口HPI-8、软件等待状态发生器和分区转换逻辑。
6.1 DSP片内外设概述TMS320C54x DSP的片内外设是集成在芯片内部的外部设备。
CPU核对片内外设的访问是通过对相应的控制寄存器的访问来完成的。
外部设备集成在芯片内部主要有以下优点:(1) 片内外设访问速度快。
因为片外外设必须通过与程序、数据总线共用的外部总线来访问,访问速度慢,而片内外设的访问或操作速度大大快于外部I/O空间中的片外外设。
(2) 可以简化电路板的设计。
如将A/D转换、D/A转换、定时器集成在片内。
(3) 提供一些必须的特殊功能。
这些特殊功能必须以片内外设的方式来实现,如JTAG 口、等待状态发生器等。
TI公司将相关的片内外设分为两大类:片内外设和增强型片内外设。
其中片内外设主要包括串行接口、定时器、通用I/O引脚和标准主机接口(HPI8)。
增强型外设主要包括多通道缓冲串口(McBSP)、主机接口(8位增强HPI-8、16位增强HPI-16)、DMA控制器。
所有的C54x DSP的CPU结构及功能完全相同,但是片内的外设配置多少不同。
任何一款C54x DSP拥有的片内外设都只是以上列举的片内外设的一部分。
片内外设的操作是通过相关的控制寄存器来实现的,寄存器被映射到数据存储空间的第0页(地址20h~5Fh)。
具体的映射关系如表6-1所示。
表6-1 C5402外设存储器映像寄存器地址(十六进制) 名称描述McBSP0数据接收寄存器220 DRR20McBSP0数据接收寄存器121 DRR10McBSP0数据发送寄存器222 DXR20McBSP0数据发送寄存器123 DXR10定时器0寄存器24 TIM定时器0周期计数器25 PRDDSP技术及应用·164·续表地址(十六进制) 名称描述定时器0控制寄存器26 TCR27 ―保留软件等待状态寄存器28 SWWSR块切换控制寄存器29 BSCR2A ―保留软件等待状态控制寄存器2B SWCRHPI控制寄存器2C HPIC2D~2F ―保留定时器1寄存器30 TIM1定时器1周期计数器31 PRD1定时器1控制寄存器32 TCR133~37 ―保留McBSP0 串口子块地址寄存器38 SPSA0McBSP0 串口子块数据寄存器39 SPSD03A~3B ―保留通用I/O引脚控制寄存器3C GPIOCR通用I/O引脚状态寄存器3D GPIOSR3E~3F ―保留McBSP1数据接收寄存器240 DRR21McBSP1数据接收寄存器141 DRR11McBSP1数据发送寄存器242 DXR21McBSP1数据发送寄存器143 DXR1144~47 ―保留McBSP1串口子地址寄存器48 SPSA1McBSP1串口子数据寄存器49 SPSD14A~53 ―保留DMA通道容许与优先控制寄存器54 DMPRECDMA子块地址寄存器55 DMSA带子块地址递增的DMA数据寄存器56 DMSDIDMA子地址寄存器57 DMSDN时钟模式寄存器58 CLKMD59~5F ―保留·164·第6章 DSP片内外设·165·6.2 可编程定时器C5402有两个片内定时器,主要用来产生周期性的中断。
它们的动态范围由16位计数器和4位预定标计数器来确定。
计数频率来自于CPU的时钟频率。
每个定时器都具有软件可编程的3个控制寄存器。
6.2.1 定时器的结构及特点C5402内部有定时器0和定时器1两个定时器。
这两个定时器的结构都是一样的,每个定时器有3个控制寄存器,它们是:z TIM定时器寄存器,是减1计数器,可加载周期寄存器PRD的值,并随计数减少。
z PRD定时器周期寄存器,PRD中存放定时器的周期计数值,提供TIM重载用。
z TCR定时器控制寄存器,TCR包含定时器的控制和状态位,控制定时器的工作过程。
这3个寄存器都是存储器映像寄存器,其所在的地址如表6-1所示。
图6.1所示为定时器的逻辑框图,它由两个基本的功能块组成,即主定时器模块(由PRD 和TIM组成)和预定标器模块(由TCR的TDDR和PSC位组成)。
图6.1 定时器的逻辑框图定时器是一个片内向下(递减)计数器。
预定标器PSC由CPU提供时钟,TIM由PSC 减为0后产生的信号为时钟。
每次当计数器TIM减少到0时,会产生一个定时器中断(TINT),计数器同时重载周期值。
DSP定时器有以下的主要特点:(1) 由16位计数器和4位预分频计数器组成。
16位计数器的触发脉冲由预分频计数器提供,预分频计数器由CPU工作时钟决定。
(2) 定时器是一个减计数器。
(3) 有复位功能。
(4) 可以选择调试断点时定时器的工作方式。
·165·DSP技术及应用·166·6.2.2 定时器的控制寄存器DSP核通过访问或控制TIM、PRD和TCR这3个寄存器来控制定时器的工作。
其中TCR控制定时器的工作过程,其各位的意义描述如表6-2所示。
表6-2 TCR定时器控制寄存器位名称复位值功能15~12 Reserved -保留11 10 SoftFreeSoft和Free位一起决定在调试中遇到断点时的定时器工作状态。
Free Soft 定时器状态0 0 定时器立即停止工作0 1 当计数器减到0时停止工作1 x 定时器继续运行9~6 PSC -定时器预定标计数器。
当PSC中的数值减到0后,TDDR中的数加载到PSC,TIM减15 TRB -定时器重新加载控制位。
复位片内定时器。
当TRB置位时,TIM 重新装载PRD的值,PSC重新装载TDDR中的值。
TRB总是读为04 TSS 0 定时器停止位,TSS=0 定时器开始工作,TSS=1 定时器停止3~0 TDDR 0000 当PSC减为0时,TDDR中的值被装载到PSC中6.2.3 定时器的操作过程1. 定时器的工作过程主定时器模块由PRD和TIM组成。
在正常工作情况下,当TIM减计数到0后,PRD 中的内容自动地加载到TIM。
当系统复位(SRESET输入信号有效)或者定时器单独复位(TRB 有效)时,PRD中的内容重新加载到TIM。
TIM由预定标器PSC提供时钟,每个来自预定标块的输出时钟使TIM减l。
主计数器块的输出为定时器中断(TINT)信号,该信号被送到CPU和定时器输出TOUT引脚。
预定标模块由预定标计数器(PSC)和定时器分频系数(TDDR)组成。
PSC和TDDR都是定时器控制寄存器(TCR)的位。
在正常工作情况下,当PSC减计数到0时,TDDR的内容加载到PSC。
当系统复位或者定时器单独复位时,TDDR的内容重新加载到PSC。
PSC由CPU提供时钟,每个CPU时钟信号将使PSC减1。
通过读TCR,可以读取PSC,但是它不能直接被写。
通过TSS位的控制可以关闭定时器的时钟输入,停止定时器的运行。
当不需要定时器时,停止定时器的操作以降低DSP功耗。
2. 定时时间的计算每次当定时器计数器减少到0时,会产生一个定时器中断(TINT),定时器中断(TINT)·166·第6章 DSP 片内外设·167·周期可由如下公式计算:定时器的中断周期 CLK TDDR PRD =T (T 1)(T 1)×+×+通过读TIM ,可以读取定时器的当前值;读TCR 可以读取PSC 。
由于读这两个寄存器需要两条指令,就有可能在两次读之间因为计数器减而发生读数变化。
因此,如果需要精确的定时测量,就应当在读这两个值前先停止定时器。
3. 定时器的初始化初始化定时器可采用如下步骤:(1) 将TCR 中的TSS 位置1,停止定时器。
(2) 加载PRD 。
(3) 重新加载TCR 以初始化TDDR 。
(4) 重新启动定时器。
通过设置TSS 位为0,并设置TRB 位为l 以重载定时器周期值,使能定时器。
使能定时器中断的操作步骤如下(假定INTM=1):(1) 将IFR 中的TINT 位置1,清除尚未处理完(挂起)的定时器中断。
(2) 将IMR 中的TINT 位置l ,使能定时器中断。
(3) 可以将ST1中的INTM 位清0,使能全局中断。
复位时,TIM 和PRD 被设置为最大值FFFFh ,定时器的分频系数(TCR 的TDDR 位)清0,并且启动定时器。
注意复位后定时器是工作的,如果不用可以在初始化中停止其运行。
6.2.4 定时器应用举例【例6.1】 利用定时器Timer0在XF 引脚产生周期为1s 的方波。
设f=100MHz ,定时最大值是:=10(ms),要输出1s 的方波,可定时5ms ,再在中断程序中加个100计数器,定时器周期=10ns×(1+9)×(1+49999)=5ms 来完成。
4110(ns)22××6程序如下:CounterSet .set 100;定义计数次数 PERIOD .set 49999;定义计数周期 .asg AR1,Counter;AR1做计数指针,重新命名以便识别 STM #CounterSet,Counter;设计数器初值 STM #0000000000001000B,TCR;停止计数器 STM #PERIOD,TIM;给TIM 设定初值49999 STM #PERIOD,PRD;PRD 与TIM 一样 STM #0000001001101001B,TCR;开始定时器的工作 STM #0008H,IMR;开TIME0的中断 RSBX INTM;开总中断 End: NOPB End中断服务程序: T INT0_ISRTINT0_ISR:PSHM ST0;保护ST0,因要改变TC ·167·DSP技术及应用·168·BANZ Next,*Counter- ;计数器不为0,计数器减1,退出中断STM #CounterSet,Counter ;计数器为0, 根据当前XF的状态,分BITF *AR2,#1 ;别到setXF或ResetXFBC ResetXF,TCsetXF:;置XF为高SSBX XFST #1,*AR2B NextResetXF:;置XF为低RSBX XFST #0, *AR2Next:POPM ST0RETEend6.3 串行口一般TI公司的DSP都有串行口,C54x系列DSP集成在芯片内部的串口分为4种:标准同步串口(SP)、带缓冲的串行接口(BSP)、时分复用(TDM)串行口和多通道带缓冲串行接口(McBSP)。