信息工程学通信工程系_第1页
信息工程学通信工程系_第2页
信息工程学通信工程系_第3页
信息工程学通信工程系_第4页
信息工程学通信工程系_第5页
已阅读5页,还剩183页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1信息工程学通信工程系信息工程学通信工程系DSPDSP技术技术及应用及应用igital ignal rocessor数字信号处理器数字信号处理器陈金鹰陈金鹰 教授教授2第二章第二章 DSP芯片结构介绍芯片结构介绍31 1)多总线结构)多总线结构2 2)4040位算术逻辑单元(位算术逻辑单元(ALUALU)3 3)17171717位并行乘法器位并行乘法器4 4)比较、选择和存储单元()比较、选择和存储单元(CSSUCSSU)5 5)指数编码器)指数编码器6 6)两个地址发生器)两个地址发生器第一节第一节 C54xC54x芯片的基本性能芯片的基本性能47 7)数据总线)数据总线8 8)总线寻址空间

2、)总线寻址空间9 9)三种存储器空间)三种存储器空间1010)单指令循环和块循环)单指令循环和块循环1111)区分的存储块移动指令)区分的存储块移动指令1212)3232位长操作数指令位长操作数指令 1313)可编程等待状态发生器和)可编程等待状态发生器和 可编程的存储单元转换可编程的存储单元转换 51414)锁相环()锁相环(PLLPLL)发生器)发生器 1515)多通道缓冲串口()多通道缓冲串口(McBSPMcBSP) 1616)直接存储器访问()直接存储器访问(DMADMA)控制器)控制器 1717)主机接口()主机接口(HPIHPI) 1818)定时器)定时器 1919)多种节电模式)

3、多种节电模式 2020)JTAGJTAG接口接口 2121)低电压工作)低电压工作 6TMS320C54x DSP的内部硬件组成图7第二节第二节 C54xC54x芯片的芯片的CPUCPU结构结构4040位算术逻辑运算单元(位算术逻辑运算单元(ALUALU)2 2个个4040位累加器位累加器A A和和B B移位移位-16-163030位的桶形移位寄存器位的桶形移位寄存器乘法器乘法器/ /加法器单元加法器单元比较和选择及存储单元(比较和选择及存储单元(CSSUCSSU)指数编码器指数编码器CPUCPU状态和控制寄存器状态和控制寄存器包包括括8C542C542的结构框图的结构框图9CPUCPU结构结

4、构101. 算术逻辑运算单元算术逻辑运算单元 ALUALU如何获取数据如何获取数据 ALUALU输出送往何方输出送往何方 溢出怎么办溢出怎么办 进位位的作用进位位的作用 什么是双什么是双1616位算术运算位算术运算 要要点点X输入输入端端Y输入输入端端输 出 为输 出 为4 0 位 ,位 ,被 送 往被 送 往累加器累加器A或或B1112 ALU的输入的输入:ALU有两个输入端,有两个输入端,X输入输入端的数端的数据来源于移位寄存器的输出(据来源于移位寄存器的输出(32位或位或16位数据存储位数据存储器操作数以及累加器中的数值,经移位寄存器移位器操作数以及累加器中的数值,经移位寄存器移位后输出

5、)或来自数据总线后输出)或来自数据总线DB 的数据存储器操作数。的数据存储器操作数。 Y输入输入端的数据来源于累加器端的数据来源于累加器A中的数据,或累中的数据,或累加器加器B中的数据,或来自数据总线中的数据,或来自数据总线CB的数据存储器的数据存储器操作数,或来自操作数,或来自T寄存器中的数据。寄存器中的数据。 当一个当一个1616位数据存储器操作数加到位数据存储器操作数加到4040位位ALUALU的的输入端时,若状态寄存器输入端时,若状态寄存器ST1ST1的的SXM=0SXM=0,则高位添,则高位添0 0,若若SXM=1SXM=1,则符号位扩展。,则符号位扩展。13 ALUALU如何获取数

6、据如何获取数据 ALUALU输出送往何方输出送往何方 溢出怎么办溢出怎么办 进位位的作用进位位的作用 什么是双什么是双1616位算术运算位算术运算 要要点点根据根据ST1的的OVM位进位进行处理行处理14溢出处理:溢出处理:ALU的饱和逻辑可以处理溢出。的饱和逻辑可以处理溢出。当发生溢出、且状态寄存器当发生溢出、且状态寄存器ST1的的OVM=1时,时,则则用用32位最大正数位最大正数00 7FFFFFFFh(正向溢(正向溢出)出)或最大负数或最大负数FF 80000000h(负向溢出)(负向溢出)加载累加器加载累加器。 溢出发生后,相应的溢出标志位(溢出发生后,相应的溢出标志位(OVA或或OV

7、B)置)置1,直到复位或执行溢出条件指,直到复位或执行溢出条件指令。也可用令。也可用SAT指令对累加器进行饱和处理指令对累加器进行饱和处理而不必考虑而不必考虑OVM值。值。 若若OVM=0,直接将结果回到累加器。直接将结果回到累加器。15 ALUALU如何获取数据如何获取数据 ALUALU输出送往何方输出送往何方 溢出怎么办溢出怎么办 进位位的作用进位位的作用 什么是双什么是双1616位算术运算位算术运算 要要点点可以用来支持扩展可以用来支持扩展精度的算术运算,精度的算术运算,利用两个条件操作利用两个条件操作数数C和和NC,可以根,可以根据进位位的状态,据进位位的状态,进行分支转移、调进行分支

8、转移、调用与返回操作。用与返回操作。16 ALUALU如何获取数据如何获取数据 ALUALU输出送往何方输出送往何方 溢出怎么办溢出怎么办 进位位的作用进位位的作用 什么是双什么是双1616位算术运算位算术运算 要要点点只 要 置 位只 要 置 位ST1的的C16状态位,就状态位,就可 让可 让 A L U在单个周期在单个周期内进行特殊内进行特殊的双的双16位算位算术运算,亦术运算,亦即即进行两次进行两次16位加法或位加法或两次两次16位减位减法。法。172. 累加器累加器A和和B 作用作用 结构与位置结构与位置 和的异同和的异同 加载与存储中的移位加载与存储中的移位 AG保护位保护位39 3

9、2AH高阶位高阶位31 16AL低阶位低阶位15 0要要点点89DO页存储器页存储器ALAHBGAGBLBH存放运算存放运算前后数据前后数据18 作用作用 结构与位置结构与位置 和的异同和的异同 加载与存储中的移位加载与存储中的移位 要要点点累加器和累加器和的差别仅的差别仅在于累加器在于累加器的的3116位可以用作位可以用作乘法器的一乘法器的一个输入。个输入。依指令而定依指令而定19保存累加器的内容:保存累加器的内容:用户可以利用用户可以利用STH、STL、STLM和和SACCD等指令等指令或者用并行存储指令,将累加器的内或者用并行存储指令,将累加器的内容存放到数据存储器中。容存放到数据存储器

10、中。在存储前,有时需要对累加器的内在存储前,有时需要对累加器的内容进行移位操作。容进行移位操作。右移时,右移时,AG和和BG中的各数据位分别移至中的各数据位分别移至AH和和BH;左;左移时,移时,AL和和BL中的各数据分别移至中的各数据分别移至AH和和BH,低位添,低位添0。20例如:累加器例如:累加器A=FF 4321 1234h,求执行带移位的,求执行带移位的STH和和STL指令后,数据存储单元的指令后,数据存储单元的TEMP中的结果。中的结果。STH A, 8,TEMP ;A中的内容左移中的内容左移8 ; 位后高位字存入位后高位字存入TEMP, ;TEMP=2112hSTH A,-8,T

11、EMP ;A中的内容右移中的内容右移8位后位后 ;高位字存入;高位字存入TEMP, ;TEMP=FF43hSTL A, 8,TEMP ;A中的内容左移中的内容左移8位后低位位后低位 ;字存入;字存入TEMP, TEMP=3400hSTL A,-8,TEMP ;A中的内容右移中的内容右移8位后低位位后低位 ;字存入;字存入TEMP,TEMP=2112h213 3桶形移位器的功能桶形移位器的功能 什么是定标什么是定标 移位处理的作用移位处理的作用 归一化的作用归一化的作用 为何要扩展符号位为何要扩展符号位要要点点BACDESALU桶形移位器桶形移位器(40位)信号控制信号控制最高最高/ /最低有最

12、低有效字选择效字选择22 什么是定标什么是定标 移位处理的作用移位处理的作用 归一化的作用归一化的作用 为何要扩展符号位为何要扩展符号位要要点点当数据存储器当数据存储器的数据送入累的数据送入累加器或与累加加器或与累加器中的数据进器中的数据进行运算时,先行运算时,先通过它进行通过它进行016位左移然位左移然后再进行运算后再进行运算。23 什么是定标什么是定标 移位处理的作用移位处理的作用 归一化的作用归一化的作用 为何要扩展符号位为何要扩展符号位要要点点方便指方便指数运算数运算进行符号进行符号位保护位保护24例如:例如: ADD A, -4, B ;累加器;累加器A右移右移4位位 ;后加到累加器

13、;后加到累加器B ADD A, ASM, B ;累加器;累加器A按按ASM规规 ;定的移位数移位后加到累加器;定的移位数移位后加到累加器B NORM A ;按;按T寄存器中的数值对累加器归一化寄存器中的数值对累加器归一化254乘法器乘法器/加法器加法器 结构结构 功能功能 什么是舍入处理什么是舍入处理 饱和处理的优点饱和处理的优点 数据流向数据流向 17X17乘法乘法40位加法位加法检零检零 饱和饱和 取整取整要要点点26 结构结构 功能功能 什么是舍入处理什么是舍入处理 饱和处理的优点饱和处理的优点 数据流向数据流向 要要点点乘法器乘法器/加法器加法器单元可以在一单元可以在一个流水线状态个流

14、水线状态周期内完成一周期内完成一次 乘 法 累 加次 乘 法 累 加(MAC)运算。)运算。27乘法器能够执行:乘法器能够执行:无符号数乘法(每个无符号数乘法(每个16位操作数前面加一个位操作数前面加一个0););有符号数乘法(每个有符号数乘法(每个16位操作数都符号位扩展位操作数都符号位扩展成成17位有符号数);位有符号数);无符号数(无符号数(16位操作数前面加一个位操作数前面加一个0)与有符号)与有符号数(数(16位操作数符号扩展成位操作数符号扩展成17位有符号数)相乘位有符号数)相乘运算。运算。乘法器工作在小数相乘方式(状态寄存器乘法器工作在小数相乘方式(状态寄存器ST1中的中的FRC

15、T位位=1)时,乘法结果左移)时,乘法结果左移1位,以消除位,以消除多余的符号位。多余的符号位。28 结构结构 功能功能 什么是舍入处理什么是舍入处理 数据流向数据流向 要要点点有些乘法指令,如有些乘法指令,如MAC、MAS等指令,等指令,如果带后缀如果带后缀R,就对,就对结果进行舍入处理,结果进行舍入处理,即加即加215至结果,并至结果,并将目的累加器的低将目的累加器的低16位清位清0。当执行当执行LMS指令时,为了指令时,为了修正系数的量化误修正系数的量化误差最小,也要进行差最小,也要进行舍入处理。舍入处理。29 结构结构 功能功能 什么是舍入处理什么是舍入处理 数据流向数据流向 要要点点

16、输入端输入端XM来自来自T寄存寄存器 、 累 加 器器 、 累 加 器 A 的 位的 位3216、以及、以及DB总线;总线;输入端输入端YM来自累加器来自累加器A的位的位3216、由、由DB总总线和线和CB总线以及由总线以及由PB总线。总线。输出加到加法器的输入输出加到加法器的输入端端XA,累加器,累加器A或或B则则是加法器的另一个输入。是加法器的另一个输入。最后结果送往目的累加最后结果送往目的累加器器A或或B。305比较、选择和存储单元比较、选择和存储单元 MUXCOMPTRNTCMSW/LSW选择选择EB15 EB0CSSU桶形移位器桶形移位器16SAB 结结构构 功功能能CSSU是专为是

17、专为Viterbi算法设计算法设计的进行加法的进行加法/比较比较/选择(选择(ACS)运)运算的硬件单元。算的硬件单元。31CMPS ACMPS A,* *AR1 AR1 ;如果;如果A A(31311616)AA(15150 0);则;则A A(31311616)-* *AR1AR1,;TRNTRN左移左移1 1位,位,0-TRN0-TRN(0 0),),0-TC0-TC ;否则;否则A A(15150 0)-* *AR1AR1,TRNTRN左移左移1 1位,位,;1-TRN1-TRN(0 0),),1-TC1-TCIf (M1+D1)(M2+D2) then N1= M1+D1Else N

18、1= M2+D2D1D2M1(尺度尺度1)M2(尺度尺度2)2*J2*J+1N1JN2J+8D1D2326指数编码器指数编码器 结构结构 功能功能 EXP指数编码器指数编码器ABT寄存器寄存器要点要点如何计算指数如何计算指数33指数编码器指数编码器是一个专用硬件。有了它,是一个专用硬件。有了它,可以在单可以在单个周期内执行个周期内执行EXP指令,求得累加器中数的指数值,指令,求得累加器中数的指数值,并以并以2的补码形式(的补码形式(-831)存放到)存放到T寄存器中。寄存器中。累加器的指数值累加器的指数值=冗余符号位冗余符号位-8,也就是为消去多也就是为消去多余符号位而将累加器中的数值左移的位

19、数。当累加余符号位而将累加器中的数值左移的位数。当累加器数值超过器数值超过32位时,指数是个负值。位时,指数是个负值。例如,对累加器的内容进行归一化,例如,对累加器的内容进行归一化,A=FF FFFF FFCB: EXP A ;(冗余符号位;(冗余符号位-8)-T寄存器寄存器 ; T=33位位-8=25 ; (d)=0019(H)347CPU状态和控制寄存器状态和控制寄存器 3 3个状态寄存器个状态寄存器 功能功能 位置位置 各各bitbit的作用的作用要要点点671DO页存储器页存储器ST1ST0PMSTST0和和ST1中包含有各种工作条件和工中包含有各种工作条件和工作方式的状态;作方式的状

20、态;PMST中包含存储器的中包含存储器的设置状态及其它控制信息设置状态及其它控制信息35ARP15 13TC12C11OVA10OVB9DP8 0(1 1)状态寄存器)状态寄存器0 0(ST0ST0) ARP:辅助寄存:辅助寄存器指针。器指针。在间接在间接寻址单操作数时,寻址单操作数时,用来选择辅助寄用来选择辅助寄存器。存器。测试测试/控制标志位。控制标志位。保存保存ALU测试位操测试位操作的结果作的结果。可以由可以由TC的状态决定条件的状态决定条件分支转移指令、子分支转移指令、子程序调用以及返回程序调用以及返回指令是否执行。指令是否执行。36ARP15 13TC12C11OVA10OVB9D

21、P8 0进位位。进位位。执行加法执行加法产生进位产生进位置置1,减法,减法产生借位产生借位则清则清0。数据存储器页指针。数据存储器页指针。这这9位字段与指令字位字段与指令字中的低中的低7位结合在一位结合在一起,形成一个起,形成一个16位直位直接寻址存储器的地址,接寻址存储器的地址,对数据存储器的一个对数据存储器的一个操作数寻址。操作数寻址。累加器溢出标志位累加器溢出标志位。37(2 2)状态寄存器)状态寄存器1 1(ST1ST1) BRAF15CPL14XF13HM12INTM11010OVM9SXM8C167FRCT6CMPT5ASM4 0块重复操块重复操作标志位,作标志位,指示当前指示当前

22、是是(1)否否(0)在执行块在执行块重复操作。重复操作。直接寻址编辑直接寻址编辑方式位。指示方式位。指示直接寻址时采直接寻址时采用何种指针。用何种指针。DP的直接寻址的直接寻址方式方式(0)或或SP的的直接寻址方式直接寻址方式(1)。XF引脚状态位。引脚状态位。XF引脚是一个通引脚是一个通用输出引脚。用输出引脚。保持方式位。当保持方式位。当处 理 器 响 应处 理 器 响 应HOLD信号时,信号时,HM指示处理器指示处理器是是(0)否否(1)继续执继续执行内部操作。行内部操作。38BRAF15CPL14XF13HM12INTM11010OVM9SXM8C167FRCT6CMPT5ASM4 0中

23、断方式中断方式位。从整位。从整体上屏蔽体上屏蔽(1)或开放或开放(0)中断中断。溢出方式位。溢出方式位。确定发生溢出确定发生溢出时以正常时以正常(0)或或饱和饱和(1)方式加方式加载目的累加器。载目的累加器。符 号 位符 号 位扩 展 方扩 展 方式 位 。式 位 。确 定 符确 定 符号 位 是号 位 是(1)否否(0)扩展。扩展。39BRAF15CPL14XF13HM12INTM11010OVM9SXM8C167FRCT6CMPT5ASM4 0双双 1 6 位位(1)/双精双精度度(0)算术算术运算方式运算方式位。决定位。决定ALU的算的算术运算方术运算方式式小数方式位。小数方式位。当为当

24、为1,乘法,乘法器输出左移器输出左移1位,以消去多位,以消去多余的符号位。余的符号位。修正方式位,修正方式位,CMPT决定决定ARP是是(1)否否(0)可以修正。可以修正。累 加 器累 加 器移 位 方移 位 方式 位 。式 位 。规 定 一规 定 一个 从个 从 -1615的的移 位 值移 位 值(2的补的补码)。码)。40(3 3)处理器工作方式状态寄存器()处理器工作方式状态寄存器(PMSTPMST) IPTR15 7MP/MC6OVLY5AVIS4DROM3CLKOFF2SMUL1SST0中断向量中断向量指针。指指针。指示中断向示中断向量所住留量所住留的的128字程字程序存储器序存储器

25、的位置。的位置。微处理器微处理器/微型微型计算机工作方计算机工作方式位。该引脚式位。该引脚为为0允许使能并允许使能并寻址片内寻址片内ROM;为为1不能利用片不能利用片内内ROM。为为1时允时允许 片 内许 片 内双 寻 址双 寻 址数据数据RAM块块映 射 到映 射 到程 序 空程 序 空间。间。允许允许(1)/禁禁止止(0)在地址在地址引脚上看到引脚上看到内部程序空内部程序空间的地址线。间的地址线。41IPTR15 7MP/MC6OVLY5AVIS4DROM3CLKOFF2SMUL1SST0为为 0 时时DROM可 让 片可 让 片内内ROM映 象 到映 象 到数 据 空数 据 空间。间。C

26、LKOUT时时钟输出关断位。钟输出关断位。为为1时,时,CLKOUT的的输出被禁止,输出被禁止,且保持为高电且保持为高电平。平。乘法饱和方乘法饱和方式位。为式位。为1时,时,在用在用MAC或或MAS指令进指令进行累加以前,行累加以前,对乘法结果对乘法结果作饱和处理。作饱和处理。存储饱和存储饱和位。当为位。当为1 时 , 对时 , 对存储前的存储前的累加器值累加器值进行饱和进行饱和处理。处理。42第三节第三节 内部总线结构内部总线结构不同总线作用与区别不同总线作用与区别 程序总线(程序总线(PBPB) 数据总线(数据总线(CBCB、DBDB和和EBEB) 地址总线(地址总线(PABPAB、CAB

27、CAB、DABDAB和和EABEAB)在片双向总线在片双向总线 传送传送取自取自程序程序存储存储器的器的指令指令代码代码和立和立即操即操作数。作数。CB和和DB传送读自数据存储器的操作数,传送读自数据存储器的操作数,EB传送写到存储器的数据。传送写到存储器的数据。4344读读/写方式写方式地址总线地址总线程序程序总线总线数据总线数据总线PABCABDABEABPBCBDBEB程序读程序读 程序写程序写 单数据读单数据读 双数据读双数据读 长数据长数据(32位位)读读 (hw)(lw) (hw)(lw) 单数据写单数据写 数据读数据读/数据数据写写 双数据读双数据读/系系数读数读 外设读外设读

28、外设写外设写 45 为何要设置多内部总线为何要设置多内部总线 一个机器周期内可完成的存取操作一个机器周期内可完成的存取操作 为何要用两个辅助寄存器算术运算单元为何要用两个辅助寄存器算术运算单元 一个周期内如何执行一个周期内如何执行3 3操作数指令操作数指令 要点要点并行处理和流并行处理和流水线工作水线工作取取1指、指、读读2字、字、写写1字。字。双 字 寻 址 取双 字 寻 址 取双操作数双操作数用用C、D、P总总线取操作数线取操作数46第四节第四节 C54x芯片的存储器结构芯片的存储器结构一、哈佛结构一、哈佛结构冯冯诺依曼诺依曼结构结构特点特点与与区别区别程序程序/数据存储器数据存储器CPU

29、两种结构的两种结构的目的旨在从目的旨在从存储器存取存储器存取数据。区别数据。区别在 于 程 序在 于 程 序 /数据总线是数据总线是否分行。否分行。两种结构的两种结构的目的旨在从目的旨在从存储器存取存储器存取数据。区别数据。区别在 于 程 序在 于 程 序 /数据总线和数据总线和空间是否分空间是否分开。开。47哈佛结构哈佛结构 改善的哈佛结构改善的哈佛结构特点特点与与区别区别程序存储器程序存储器CPU数据存储器数据存储器对存储器空间分配的不同考虑对存储器空间分配的不同考虑部 分部 分程序程序/数 据数 据空 间空 间可 交可 交叉叉48二、哈佛结构存储空间分配二、哈佛结构存储空间分配 64K6

30、4K字程序存储空间字程序存储空间64K64K字数据存储空间字数据存储空间空空间间构构架架DARAMSARAMROM64K64K字的字的I/OI/O空间空间并行性及并行性及RAMRAM双寻址双寻址片内片内/ /片外存储器片外存储器特特点点程 序 存 储程 序 存 储器器/片外存片外存储 器 本 身储 器 本 身不能并行不能并行49存储器型式存储器型式C541C542C543C545C546C548C549ROM28K2K2K48K48K2K16K程序程序20K2K2K32K32K2K16K程序程序/数据数据8K0016K16K00DARAM5K10K10K6K6K8K8KSARAM0000024

31、K24K501 1存储器空间存储器空间的划分与交叉的划分与交叉 片内存储器片内存储器类型类型空间空间交叉交叉的条件的条件MP/MCMP/MC位位OVLYOVLY位位DROMDROM位位使能使能禁止禁止程序程序数据数据片内存储器空间片内存储器空间DARAMSARAMROMPMST51C54x中,中,片内存储器的型式有片内存储器的型式有DARAM、SARAM和和ROM三种,三种,取决于芯片的型号。取决于芯片的型号。RAM总是安排到数据存储空间,但也可以构总是安排到数据存储空间,但也可以构成程序存储空间。成程序存储空间。ROM一般构成程序存储空间,也可以部分地一般构成程序存储空间,也可以部分地安排到

32、数据存储空间。安排到数据存储空间。C54x通过处理器工作方式状态寄存器通过处理器工作方式状态寄存器(PMST)中的)中的3个状态位,可以很方便地个状态位,可以很方便地“使使能能”和和“禁止禁止”程序和数据空间中的片内存储器。程序和数据空间中的片内存储器。52MP/ MCMC位:位: 若若MP/ MCMC =0,则片内,则片内ROM安排为程序空间;安排为程序空间; 若若MP/ MCMC =1,则片内,则片内ROM不安排为程序空间。不安排为程序空间。 OVLY位:位:若若OVLY=0,则片内,则片内RAM只安排为数据存储空间;只安排为数据存储空间;若若OVLY=1,则片内,则片内RAM安排为程序和

33、数据空间。安排为程序和数据空间。 DROM位:位:若若DROM=0,则片内,则片内ROM不安排成数据空间;不安排成数据空间; 若若DROM=1,则部分片内,则部分片内ROM安排为数据空间。安排为数据空间。 DROM位的用法与位的用法与MP/ MCMC位的用法无关。不同的位的用法无关。不同的 C54x的数据和程序存储区分配略有不同,下图给出了的数据和程序存储区分配略有不同,下图给出了TMS320C549存储器空间分配图。存储器空间分配图。 53TMS320C549TMS320C549存储器空间分配图存储器空间分配图54多款多款C54芯片可进行页扩展,以增加程序空间容量。芯片可进行页扩展,以增加程

34、序空间容量。如如C548和和C549其程序空间可扩展到其程序空间可扩展到8192K字。为此,字。为此,它们有它们有23根地址线,并增加了程序计数器扩展寄存器根地址线,并增加了程序计数器扩展寄存器(XPC),以及),以及6条寻址扩展程序空间的指令。条寻址扩展程序空间的指令。C548和和C549中的程序空间分成中的程序空间分成128页,每页页,每页64K。下图为下图为C548和和C549的外部扩展程序存储器图。的外部扩展程序存储器图。当片内当片内RAM安排到程序空间时,每页程序存储器分安排到程序空间时,每页程序存储器分成两部分:成两部分: 一部分是公共的一部分是公共的32K字;字; 一部分是各自独

35、立的一部分是各自独立的32K字。字。 公共存储区为所有页共享,而每页独立的公共存储区为所有页共享,而每页独立的32K字存字存储区只能按指定的页号寻址。储区只能按指定的页号寻址。如果片内如果片内ROM被寻址被寻址(MP/ MC=0),它只能在),它只能在0页,页,不能映象到程序存储不能映象到程序存储器的其它页。器的其它页。55C548C548和和C549C549页扩展方法页扩展方法对程序空间扩展对程序空间扩展 程序计数程序计数器扩展寄器扩展寄存器存器XPC562 2程序存储器程序存储器 器件器件ROMROMMP/MC=0MP/MC=0DARAMDARAMOVLY=1OVLY=1SARAMSARA

36、MOVLY=1OVLY=1C541C54128K28K5K5K- -C542C5422K2K10K10K- -C543C5432K2K10K10K- -C545C54548K48K6K6K- -C546C54648K48K6K6K- -C548C5482K2K8K8K24K24KC549C54916K16K8K8K24K24K表表2-357 片内存储器作为程序存储器条件片内存储器作为程序存储器条件 外部存储器作为程序存储器条件外部存储器作为程序存储器条件 片内片内ROMROM分块的目的分块的目的 MP/ MCMC为为0 0(对(对ROMROM)、)、OVLYOVLY为为1 1对对RAMRAMD

37、ROM=058当存储单元映象到程序空间时,处理器就能自动当存储单元映象到程序空间时,处理器就能自动地对它们所处的地址范围寻址。地对它们所处的地址范围寻址。如果程序地址生成器(如果程序地址生成器(PAGEN)发出的地址处)发出的地址处在存储器地址范围外,处理器就能自动地对外部寻在存储器地址范围外,处理器就能自动地对外部寻址。址。表表2-3列出了列出了C54x可用的片内程序存储器地址可用的片内程序存储器地址的容量。的容量。为了增强处理器的性能,对片内为了增强处理器的性能,对片内ROM再细分为再细分为若干块,这样就可以在片内若干块,这样就可以在片内ROM的一个块内取指的一个块内取指的同时,又在别的块

38、中存数据。的同时,又在别的块中存数据。如上图所示为片内如上图所示为片内ROM的分块图。的分块图。59当处理器复位时,复位中断向量映象到程序当处理器复位时,复位中断向量映象到程序空间的空间的FF80h。复位后,这些向量可以被重新映象到程序空复位后,这些向量可以被重新映象到程序空间中任何一个间中任何一个128字页的开头。字页的开头。这就很容易将中这就很容易将中断向量表从引导断向量表从引导ROM中移出来,然后再根据存中移出来,然后再根据存储器分配图进行安排。储器分配图进行安排。C54x的片内的片内ROM容量有大(容量有大(28K或或48K字)字)有小(有小(2K字),容量大的片内字),容量大的片内R

39、OM可以把用可以把用户的程序代码编写进去,然而片内高户的程序代码编写进去,然而片内高2K字字ROM中的内容是由中的内容是由TI公司定义的。公司定义的。60高端高端2K2K字的利用字的利用 613 3数据存储器数据存储器 数据存储器类型数据存储器类型RAMRAM(SARAMSARAM)RAMRAM(DARAMDARAM)片内片内ROM(ROM(软件映软件映像像) )片内片内/ /片外数据存储器的识别片外数据存储器的识别由由OVLY、 DROM确定确定62当处理器发出的地址处在片内存储器的范当处理器发出的地址处在片内存储器的范围时,就对片内的围时,就对片内的RAM或数据或数据ROM(当(当ROM设

40、为数据存储器时)寻址。当数据存设为数据存储器时)寻址。当数据存储器地址产生器发出的地址不在片内存储器储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据的范围内时,处理器就会自动地对外部数据存储器寻址。存储器寻址。数据存储器可以驻留在片内或者片外。数据存储器可以驻留在片内或者片外。片内片内DARAM都是数据存储空间。都是数据存储空间。63器件器件程序程序/数据数据ROMDROM=1DARAMSARAMC5418K5K-C542-10K-C543-10K-C54516K6K-C54616K6K-C548-8K24KC54916K8K24K表2-464RAMRAM分块目的分

41、块目的65在双操作数寻址时,如果操作数驻留在同一在双操作数寻址时,如果操作数驻留在同一块内,则要块内,则要2个周期;若操作数驻留在不同块个周期;若操作数驻留在不同块内,则只需内,则只需1个周期就可以了。个周期就可以了。为了提高处理器的性能,片内为了提高处理器的性能,片内RAM也细分也细分成若干块。成若干块。66DARAMDARAM前前1K1K数据存储器的配置数据存储器的配置 地址地址0000h001Fh地址地址0020h005Fh32字字SPRAM便笺式便笺式存储器存储器0060h007Fh896字字DARAM0080h03FFh674存储器映存储器映像像寄存器寄存器 地址地址0000h001

42、Fh暂存暂存CPU及对及对外设控制和交外设控制和交换的数据换的数据寻址存储器映象寻址存储器映象CPU寄存器,不需要插入等待周期。寄存器,不需要插入等待周期。外围电路寄存器用于对外围电路的控制和存放数据,对它外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址,需要们寻址,需要2个机器周期。个机器周期。作用作用访问所需周期数访问所需周期数68地址地址CPU寄存器名称寄存器名称 地址地址CPU寄存器名称寄存器名称0IMR(中断屏蔽寄存器)(中断屏蔽寄存器) 12AR2(辅助寄存器(辅助寄存器2)1IFR(中断标志寄存器)(中断标志寄存器) 13AR3(辅助寄存器(辅助寄存器3)25保留(用于测

43、试)保留(用于测试) 14AR4(辅助寄存器(辅助寄存器4)6ST0(状态寄存器(状态寄存器0)15AR5(辅助寄存器(辅助寄存器5)7ST1(状态寄存器(状态寄存器1)16AR6(辅助寄存器(辅助寄存器6)8AL(累加器(累加器A低字)低字)17AR7(辅助寄存器(辅助寄存器7)9AH(累加器(累加器A高字)高字)18SP(堆栈指针)(堆栈指针)AAG(累加器(累加器A保护位)保护位) 19BK(循环缓冲长度寄存(循环缓冲长度寄存器)器)BBL(累加器(累加器B低字)低字) 1ABRC(块重复计数器)(块重复计数器)CBH(累加器(累加器B高字)高字) 1BRSA(块重复起始寄存器)(块重复

44、起始寄存器)DBG(累加器(累加器B保护位)保护位) 1CREA(块重复结束寄存器)(块重复结束寄存器)ET(暂存寄存器)(暂存寄存器)1DPMST(处理器工作方式)(处理器工作方式)FTRN(状态转移寄存器)(状态转移寄存器) 1EXPC(程序计数器扩展(程序计数器扩展)10AR0(辅助寄存器(辅助寄存器0)11AR1(辅助寄存器(辅助寄存器1)1E1F保留保留69地地 址址名名 称称说说 明明20DRR0串行端口串行端口0数据接收寄存器数据接收寄存器21DXR0串行端口串行端口0数据发送寄存器数据发送寄存器22SPC0串行端口串行端口0数据控制寄存器数据控制寄存器23-保留保留24TIM定

45、时寄存器定时寄存器25PRD定时周期寄存器定时周期寄存器26TCR定时控制寄存器定时控制寄存器27-保留保留28SWWSR软件等待状态寄存器软件等待状态寄存器29BSCR块切换控制寄存器块切换控制寄存器2A2F-保留保留30DRR1串行端口串行端口1数据接收寄存器数据接收寄存器31DXR1串行端口串行端口1数据发送寄存器数据发送寄存器32SPC1串行端口串行端口1数据控制寄存器数据控制寄存器335F-保留保留存存储储器器映映像像在在片片外外围围寄寄存存器器70第五节第五节 在片外围电路在片外围电路通用通用I/OI/O引脚引脚定时器定时器时钟发生器时钟发生器主机接口主机接口软件可编程等待状态发生

46、器软件可编程等待状态发生器可编程分区开关可编程分区开关串行口串行口C54x的的x反映反映不同不同子系列子系列器件器件差别差别有有2个受软件个受软件控制的专用引控制的专用引脚脚XF和和BIO71一、通用一、通用I/OI/O引脚引脚 特点特点BIO收信号收信号 XC 2XC 2,BIOBIO SSBX XFSSBX XF RSBX XFRSBX XFXFXF发信号发信号如果如果BIO 引脚为低引脚为低电平(条电平(条件满足),件满足),则执行后则执行后面的面的1条双条双字或字或2条单条单字指令;字指令;否则,执否则,执行行2条条NOP指令。指令。BIO为分支转移输入引脚,用来监控外围设备。在为分支

47、转移输入引脚,用来监控外围设备。在时间要求苛刻的循环中,不允许受干扰,此时可以根时间要求苛刻的循环中,不允许受干扰,此时可以根据据 BIO引脚的状态(即外围设备的状态)决定分支转引脚的状态(即外围设备的状态)决定分支转移的去向,以替代中断。移的去向,以替代中断。72二、定时器二、定时器 结构图结构图工作过程工作过程功能功能73定时器寄存器(定时器寄存器(TIMTIM)定时器周期寄存器(定时器周期寄存器(PRDPRD)定时器控制器寄存器(定时器控制器寄存器(TCRTCR)主要主要部件部件保留保留15 12soft11free10PSC9 6TRB5TDDR3 0TSS4TCRTCR中的控制位和状

48、态位中的控制位和状态位1用用PRD加加载载TIM,TDDR加载加载PSC为为 0 启启动定动定时器,时器,为为1关关定时定时器分器分步系步系数数减减1计数器计数器存放存放时间时间常数常数预定标计数预定标计数器 ,器 , 减 到减 到 0从从TDDR加加载载PSC为为00立即停立即停01减到减到0停停1x继续运行继续运行74在正常工作情况下,当在正常工作情况下,当TIM减到减到0后,后,PRD中的时中的时间常数自动地加载到间常数自动地加载到TIM。当系统复位(当系统复位(SRESET置置1)或者定时器单独复位)或者定时器单独复位(TRB置置1)时,)时,PRD中的时间常数重新加载到中的时间常数重

49、新加载到TIM。复位后,定时器控制寄存器(复位后,定时器控制寄存器(TCR)的停止状态位)的停止状态位TSS=0,定时器启动工作,时钟信号,定时器启动工作,时钟信号CLKOUT加到预加到预定标计数器定标计数器PSC。PSC也是一个减也是一个减1计数器,每当复位或其减到计数器,每当复位或其减到0后,后,自动地将定时器分频系数自动地将定时器分频系数TDDR加载到加载到PSC。PSC在在CLKOUT作用下,作减作用下,作减1计数。当计数。当PSC减到减到0后,产生后,产生一个借位信号,令一个借位信号,令TIM作减作减1计数。计数。TIM减到减到0后,产生定时中断信号后,产生定时中断信号TINT,传送

50、至,传送至CPU和定时器输出引脚和定时器输出引脚TOUT。75定时中断的周期计算定时中断的周期计算 定时中断周期定时中断周期=CLKOUT=CLKOUT(TDDR+1TDDR+1)(PRD+1PRD+1)TOUTTOUTTINTTINT 定时器输出信号定时器输出信号如何关闭定时器如何关闭定时器TCR的的TSS位置位置1定时器如何节电定时器如何节电关闭定时器关闭定时器作用:产生外部所需时钟信号作用:产生外部所需时钟信号761 1)TCRTCR中的中的TSSTSS位置位置1 1,关闭定时器。,关闭定时器。2 2)加载)加载PRDPRD。3 3)重新加载)重新加载TCRTCR定时器初始化的步骤定时器

51、初始化的步骤 使使TDDRTDDR初始化初始化令令TSSTSS位为位为0 0TRBTRB位置位置1 177开放定时中断开放定时中断 (假定(假定INTM=1INTM=1)1 1)将中断标志寄存器)将中断标志寄存器IFRIFR中的中的TINTTINT位置位置1 1,清,清除尚未处理完的定时器中断。除尚未处理完的定时器中断。2 2)将中断屏蔽寄存器)将中断屏蔽寄存器IMRIMR中的中的TINTTINT位置位置1 1,开,开放定时中断。放定时中断。3 3)将)将ST1ST1中的中的INTMINTM位清位清0 0,从整体上开放中断。,从整体上开放中断。 78编程举例编程举例 STM #0000hSTM

52、 #0000h,SWWSR SWWSR ;不插等待周期;不插等待周期 ;(软件等待状态寄存器置;(软件等待状态寄存器置0 0)STM #0010hSTM #0010h,TCR TCR ;TSS=1TSS=1(TCRTCR第第5 5位位TSSTSS置置1 1)STM #0100hSTM #0100h,PRD PRD ;加载定时器周期寄存器(;加载定时器周期寄存器(PRDPRD) ;定时中断周期;定时中断周期=CLKOUT=CLKOUT(TDDR+1TDDR+1)(PRD+1PRD+1)STM #0C20hSTM #0C20h,TCR TCR ;定时分频系数;定时分频系数TDDRTDDR初始化为初

53、始化为0 0 ;TSS=0TSS=0,启动定时器工作,启动定时器工作 ;TRB=1TRB=1,当,当TIMTIM减到减到0 0后重新加载后重新加载PRDPRD ;Soft=1Soft=1,Free=1Free=1定时器遇到断点后继续运行定时器遇到断点后继续运行STM #0008hSTM #0008h,IFR IFR ;清除尚未处理完的定时中断;清除尚未处理完的定时中断STM #0008hSTM #0008h,IMR IMR ;开放定时中断;开放定时中断RSBX INTM RSBX INTM ;开放中断(状态寄存器;开放中断(状态寄存器ST1ST1的的INTMINTM位复位)位复位)79三、时钟

54、发生器三、时钟发生器 两种参考时钟输入方式两种参考时钟输入方式内部振荡电路内部振荡电路晶体振荡电路晶体振荡电路作用作用为为C54x提供时提供时钟信号钟信号组成组成内部振荡器内部振荡器锁相环(锁相环(PLL)80时钟频率时钟频率 晶体振荡频率晶体振荡频率外部时钟频率外部时钟频率CLKINCLKIN? ?内部内部PLLPLL功能功能倍频和信号提纯倍频和信号提纯CPUCPU时钟频率时钟频率CLKOUT等于外部时钟等于外部时钟源或内部振荡源或内部振荡频率乘以系数频率乘以系数N(PLLN)81(1 1)硬件配置的硬件配置的PLLPLL 引脚状态引脚状态时钟方式时钟方式CLKMCLKMD1D1CLKMCL

55、KMD2D2CLKMCLKMD3D3选择方案选择方案1 1选择方案选择方案2 20 00 00 0工作频率工作频率= =外时钟外时钟3 3工作频率工作频率= =外时钟外时钟5 51 11 10 0工作频率工作频率= =外时钟外时钟2 2工作频率工作频率= =外时钟外时钟4 41 10 00 0工作频率工作频率= =内时钟内时钟3 3工作频率工作频率= =内时钟内时钟5 50 01 10 0工 作 频 率工 作 频 率 = = 外 时 钟外 时 钟1.51.5工 作 频 率工 作 频 率 = = 外 时 钟外 时 钟4.54.50 00 01 1工作频率工作频率= =外时钟外时钟/2/2工作频率

56、工作频率= =外时钟外时钟/2/21 11 11 1工作频率工作频率= =内振荡器内振荡器/2/2工作频率工作频率= =内振荡器内振荡器/2/21 10 01 1工作频率工作频率= =外时钟外时钟1 1工作频率工作频率= =外时钟外时钟1 10 01 11 1停止方式停止方式 IDLE3停止方式停止方式依器件而定依器件而定82(2 2)软件可编程软件可编程PLL PLL 时钟工作方式寄存器时钟工作方式寄存器(CLKMD)(CLKMD)作用作用PLLMUL15 12PLLDIV2PLLCOUNT11PLLON/OFF10 3PLLNDIV10PLLSTATUS时钟发生时钟发生器选择位器选择位乘数

57、乘数除数除数计数器计数器通通/ /断位断位工作状工作状态位态位用来定义用来定义PLL时钟模块中的时钟模块中的时钟配置时钟配置每每16个时钟减个时钟减1控制控制PLL通断通断83软件编程时钟方式软件编程时钟方式 工作时钟工作时钟 CLKOUT=CLKINCLKOUT=CLKIN乘系数乘系数CLKOUTCLKOUT启动过程启动过程复位复位DIVDIV工工作作锁定锁定加载加载延迟定时延迟定时PLLPLL开始开始定时定时第一:第一:PLLPLL方式方式 第二:第二:DIVDIV方式方式输入时钟输入时钟CLKIN乘乘以从以从0.2515共共31个系数中个系数中的一个系数的一个系数输入时输入时钟钟CLKI

58、N除以除以2或或484PLLMUL 4奇数110.2515X011501(PLLMUL1)20或偶数11PLLMUL1014010.5014X0乘系数PLLMULPLLDIVPLLNDIVPLL系数系数表表2-102-1085引脚状态引脚状态CLKMDCLKMD寄寄存器复位存器复位值值时钟方式时钟方式CLKMD1CLKMD1CLKMD2CLKMD2CLKMD3CLKMD30 00 00 00000h0000h工频工频= =外时钟外时钟/2/20 00 01 11000h1000h工频工频= =外时钟外时钟/2/20 01 10 02000h2000h工频工频= =外时钟外时钟/2/21 10

59、00 04000h4000h工频工频= =内振荡器内振荡器/2/21 11 10 06000h6000h工频工频= =外时钟外时钟/2/21 11 11 17000h7000h工频工频= =内振荡器内振荡器/2/21 10 01 10007h0007h工频工频= =外时钟外时钟1 10 01 11 1- -停止方式停止方式复位时设置的时钟方式复位时设置的时钟方式 表表2-112-1186锁定定时器锁定定时器 工作方式工作方式 锁定延时时间的设定锁定延时时间的设定 PLLCOUNTPLLCOUNT的数值设定的数值设定DIVDIV工作方式工作方式时钟发生器时钟发生器按按DIVDIV方式工作方式工作

60、PLLPLL工作方式工作方式锁定定时器工作锁定定时器工作87在在PLL锁定之前,锁定之前,CLKOUT是不能用作是不能用作C54x时钟时钟的。的。为此,为此,通过对通过对CLKMD寄存器中的寄存器中的PLLCOUNT位位编程,就可以很方便地自动延迟定时,直到编程,就可以很方便地自动延迟定时,直到PLL锁定锁定为止。为止。这主要靠这主要靠PLL中的锁定定时器,中的锁定定时器,PLLCOUNT的数的数值(值(0255)加载给锁定定时器后,每来)加载给锁定定时器后,每来16个输入时个输入时钟钟CLKIN,它就减,它就减1,一直减到,一直减到0为止。为止。因此,锁定延时时间的设定可以从因此,锁定延时时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论