TMS320C5416结构与工作原理ppt课件

上传人:工**** 文档编号:567918063 上传时间:2024-07-22 格式:PPT 页数:111 大小:7.04MB
返回 下载 相关 举报
TMS320C5416结构与工作原理ppt课件_第1页
第1页 / 共111页
TMS320C5416结构与工作原理ppt课件_第2页
第2页 / 共111页
TMS320C5416结构与工作原理ppt课件_第3页
第3页 / 共111页
TMS320C5416结构与工作原理ppt课件_第4页
第4页 / 共111页
TMS320C5416结构与工作原理ppt课件_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《TMS320C5416结构与工作原理ppt课件》由会员分享,可在线阅读,更多相关《TMS320C5416结构与工作原理ppt课件(111页珍藏版)》请在金锄头文库上搜索。

1、TMS320C54X结构与工作原理1主要内容DSP芯片组成中央处理器总线结构存储系统片内外设和引脚中断系统2DSP的硬件结构特点运算速度快组成CPU存储器系统片内外设其他功能模块3C54X芯片的基本结构CPU片内存储器片内存储器串行通信接口串行通信接口PLLJTAGHPI通用通用I/0口口中断系统中断系统Timer其他硬件电路其他硬件电路可编程分区转换逻辑可编程分区转换逻辑软件可编程等待状态发生器软件可编程等待状态发生器4TMS320C5416的硬件结构框图JTAG 测试测试/仿真接口仿真接口McBSP1McBSP2McBSP3Clock PLL Generator HPI GP I/OS/W

2、 WaitstateGenerator64KW 单访问单访问RAM 64KW 双访问双访问RAM 16KW ROMCPUTimerPeripheral BusProgram/Data BusesDMA电源管理电源管理5中央处理器CPU40位算术逻辑运算单元ALU40位累加器A和B桶形移位寄存器,支持-16至31移动范围乘法/累加器16位暂存器T16位传输寄存器TRN比较、选择和存储单元CSSU指数编码器CPU状态和控制寄存器。6系统控制接口程序地址产生器PAGEN数据地址产生器DAGEN存储器和外部接口DMA控 制器片内外设PABPBCABCBDABDBEABEB乘法/加法器算术逻辑单元ALU

3、指数编码器CPU状 态 控制寄存器桶形移位寄存器比较、选择和存储单元累加器B累加器ACPU7CPU状态和控制寄存器状态寄存器0(ST0)主要反映主要反映主要反映主要反映处处理器的理器的理器的理器的寻寻址要求和址要求和址要求和址要求和计计算机的运行状算机的运行状算机的运行状算机的运行状态态状态寄存器1(ST1)主要反映主要反映主要反映主要反映处处理器的理器的理器的理器的寻寻址要求、址要求、址要求、址要求、计计算初始状算初始状算初始状算初始状态态的的的的设设置、置、置、置、I/OI/O及中断的控制等。及中断的控制等。及中断的控制等。及中断的控制等。处理器工作模式状态寄存器(PMST)主要主要主要主

4、要设设定和控制定和控制定和控制定和控制处处理器的工作方式和存理器的工作方式和存理器的工作方式和存理器的工作方式和存储储器的配置,器的配置,器的配置,器的配置,反映反映反映反映处处理器的工作状理器的工作状理器的工作状理器的工作状态态由于三个寄存器都是存储器映射的,他们都能存储到数据存储器或从数据存储器中获得。它们也能用子程序或中断服务子程序(ISR)保存或恢复。81状状态寄存器寄存器0(ST0):主要反映主要反映处理器的理器的寻址要求和址要求和计算机的运行状算机的运行状态。15 1312111098 0ST0:ARPTCCOVAOVBDPARPARPARPARP:辅辅助寄存器指助寄存器指助寄存器

5、指助寄存器指针针。 用来选择使用单操作数间接寻址时的用来选择使用单操作数间接寻址时的用来选择使用单操作数间接寻址时的用来选择使用单操作数间接寻址时的 辅助寄存器辅助寄存器辅助寄存器辅助寄存器AR0AR7AR0AR7。ARPARPTCTCTCTC:测试测试/ /控制控制控制控制标标志志志志。 用来保存用来保存用来保存用来保存ALUALU测试操作的结果。测试操作的结果。测试操作的结果。测试操作的结果。TCTCC CC C:进进位位位位标标志位志位志位志位。 用来保存用来保存用来保存用来保存ALUALU加减运算时所产生的进加减运算时所产生的进加减运算时所产生的进加减运算时所产生的进/ /借位。借位。

6、借位。借位。C COVBOVBOVAOVAOVA/BOVA/B:累加器累加器累加器累加器A/BA/B的溢出的溢出的溢出的溢出标标志。志。志。志。 用来反映用来反映用来反映用来反映A/BA/B是否产生溢出。是否产生溢出。是否产生溢出。是否产生溢出。OVBOVBOVAOVADPDPDPDP:数据存数据存数据存数据存储储器器器器页页指指指指针针。 用来与指令中提供的用来与指令中提供的用来与指令中提供的用来与指令中提供的7 7位地址结合形成位地址结合形成位地址结合形成位地址结合形成1 1个个个个 1616位数据存储器的地址。位数据存储器的地址。位数据存储器的地址。位数据存储器的地址。DPDP92状状态

7、寄寄存存器器1 (ST1):主主主主要要要要反反反反映映映映处处理理理理器器器器的的的的寻寻址址址址要要要要求求求求、计计算初始状算初始状算初始状算初始状态态的的的的设设置、置、置、置、I/OI/O及中断的控制等。及中断的控制等。及中断的控制等。及中断的控制等。1514131211109876540BRAF CPLXFHMINTM0OVM SXM C16 FRCT CMPTASMBRAFCPLXFHMINTM0OVM SXM C16 FRCT CMPT ASMBRAFBRAF:块块重复操作重复操作重复操作重复操作标标志位。志位。志位。志位。 用来指示当前是否在用来指示当前是否在用来指示当前是否

8、在用来指示当前是否在执执行行行行块块重复操作。重复操作。重复操作。重复操作。 BRAF=0BRAF=0 表示当前不表示当前不表示当前不表示当前不进进行重复行重复行重复行重复块块操作;操作;操作;操作; BRAF=1BRAF=1 表示当前正在表示当前正在表示当前正在表示当前正在进进行行行行块块重复操作。重复操作。重复操作。重复操作。CPLCPL:直接寻址编辑方式标志位;直接寻址编辑方式标志位;直接寻址编辑方式标志位;直接寻址编辑方式标志位; 用来指示直接寻址选用何种指针。用来指示直接寻址选用何种指针。用来指示直接寻址选用何种指针。用来指示直接寻址选用何种指针。 CPL=0CPL=0 选用数据页指

9、针选用数据页指针选用数据页指针选用数据页指针DPDP的直接寻址;的直接寻址;的直接寻址;的直接寻址; CPL=1CPL=1 选用堆栈指针选用堆栈指针选用堆栈指针选用堆栈指针SPSP的直接寻址。的直接寻址。的直接寻址。的直接寻址。XFXF:外部外部外部外部XFXF引脚状态控制位。引脚状态控制位。引脚状态控制位。引脚状态控制位。 用来控制用来控制用来控制用来控制XFXF通用外部输出引脚的状态。通用外部输出引脚的状态。通用外部输出引脚的状态。通用外部输出引脚的状态。 执行执行执行执行SSBXSSBX XF=1XF=1 XFXF通用输出引脚为通用输出引脚为通用输出引脚为通用输出引脚为1 1 1 1;

10、执行执行执行执行RSBXRSBX XF=0XF=0 XFXF通用输出引脚为通用输出引脚为通用输出引脚为通用输出引脚为0 0 0 0。HMHM:保持方式位;响保持方式位;响保持方式位;响保持方式位;响应应HOLDHOLD信号信号信号信号时时,指示,指示,指示,指示 CPUCPU是否是否是否是否继续执继续执行内部操作。行内部操作。行内部操作。行内部操作。 HM=0HM=0 CPUCPU从内部程序存从内部程序存从内部程序存从内部程序存储储器取指,器取指,器取指,器取指, 继续执继续执行内部操作。行内部操作。行内部操作。行内部操作。 HM=1HM=1 CPUCPU停止内部操作。停止内部操作。停止内部操

11、作。停止内部操作。 INTMINTM:中断方式控制位;中断方式控制位;中断方式控制位;中断方式控制位; 用于屏蔽或开放所有可屏蔽中断。用于屏蔽或开放所有可屏蔽中断。用于屏蔽或开放所有可屏蔽中断。用于屏蔽或开放所有可屏蔽中断。 INTM=0INTM=0 开放全部可屏蔽中断;开放全部可屏蔽中断;开放全部可屏蔽中断;开放全部可屏蔽中断; INTM=1INTM=1 禁止所有可屏蔽中断。禁止所有可屏蔽中断。禁止所有可屏蔽中断。禁止所有可屏蔽中断。0 0:保留位,未被使用,保留位,未被使用,保留位,未被使用,保留位,未被使用,总总是是是是读为读为0 0。 OVMOVM:溢出方式控制位;溢出方式控制位;溢出

12、方式控制位;溢出方式控制位; 用来确定累加器溢出用来确定累加器溢出用来确定累加器溢出用来确定累加器溢出时时,对对累加器的加累加器的加累加器的加累加器的加载载方式。方式。方式。方式。 OVM=0OVM=0 将运算的溢出将运算的溢出将运算的溢出将运算的溢出结结果直接加果直接加果直接加果直接加载载到累加器中;到累加器中;到累加器中;到累加器中; OVM=1OVM=1 当正溢出当正溢出当正溢出当正溢出时时,将,将,将,将007FFFFFFFH007FFFFFFFH加加加加载载累加器;累加器;累加器;累加器; 当当当当负负溢出溢出溢出溢出时时,将,将,将,将FF80000000HFF80000000H加

13、加加加载载累加器。累加器。累加器。累加器。SXMSXM:符号位符号位符号位符号位扩扩展方式控制位;用来确定数据展方式控制位;用来确定数据展方式控制位;用来确定数据展方式控制位;用来确定数据 在在在在运算之前是否需要符号位运算之前是否需要符号位运算之前是否需要符号位运算之前是否需要符号位扩扩展。展。展。展。 SXM=0SXM=0 数据数据数据数据进进入入入入ALUALU之前禁止符号位之前禁止符号位之前禁止符号位之前禁止符号位扩扩展;展;展;展; SXM=1SXM=1 数据数据数据数据进进入入入入ALUALU之前之前之前之前进进行符号位行符号位行符号位行符号位扩扩展。展。展。展。C16C16:双双

14、双双1616位位位位/ /双精度算术运算方式控制位;双精度算术运算方式控制位;双精度算术运算方式控制位;双精度算术运算方式控制位; 用来决定用来决定用来决定用来决定ALUALU的算术运算方式。的算术运算方式。的算术运算方式。的算术运算方式。 C16=0C16=0 ALUALU工作在双精度算术运算方式;工作在双精度算术运算方式;工作在双精度算术运算方式;工作在双精度算术运算方式; C16=1C16=1 ALUALU工作在双工作在双工作在双工作在双16161616位算术运算方式。位算术运算方式。位算术运算方式。位算术运算方式。FRCTFRCT:小数方式控制位;小数方式控制位;小数方式控制位;小数方

15、式控制位; 用用用用来确定乘法器的运算方式。来确定乘法器的运算方式。来确定乘法器的运算方式。来确定乘法器的运算方式。 FRCT=1FRCT=1 乘法器的乘法器的乘法器的乘法器的输输出左移一位,出左移一位,出左移一位,出左移一位, 消除多余的符号位。消除多余的符号位。消除多余的符号位。消除多余的符号位。 C CMPTMPT:间接寻址辅助寄存器修正方式控制位;间接寻址辅助寄存器修正方式控制位;间接寻址辅助寄存器修正方式控制位;间接寻址辅助寄存器修正方式控制位; 用来决定用来决定用来决定用来决定ARPARP是否进行修正。是否进行修正。是否进行修正。是否进行修正。 CMPT=0CMPT=0 在进行间接

16、寻址单操作数时,不修正在进行间接寻址单操作数时,不修正在进行间接寻址单操作数时,不修正在进行间接寻址单操作数时,不修正ARPARP; CMPT=1CMPT=1 在进行间接寻址单操作数时,修正在进行间接寻址单操作数时,修正在进行间接寻址单操作数时,修正在进行间接寻址单操作数时,修正ARPARP。ASMASM:累加器移位方式控制位。累加器移位方式控制位。累加器移位方式控制位。累加器移位方式控制位。 为为为为某某某某些些些些具具具具有有有有移移移移位位位位操操操操作作作作的的的的指指指指令令令令设设设设定定定定一一一一个个个个从从从从- - - -16151615范围内的移位值。范围内的移位值。范围

17、内的移位值。范围内的移位值。BRAF CPLXFHMINTM0OVM SXM C16 FRCT CMPTASM103工作方式状工作方式状态寄存器寄存器PMST:主要主要主要主要设设定和控制定和控制定和控制定和控制处处理器的工作方式和存理器的工作方式和存理器的工作方式和存理器的工作方式和存储储器的配置,反映器的配置,反映器的配置,反映器的配置,反映处处理器的理器的理器的理器的工作状工作状工作状工作状态态。SSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR0123456157中中中中断断断断向向向向量量量量指指指指针针针针CPUCPUCPUCPU工工工工作作作作方方方方式式式式选

18、选选选择择择择位位位位RAMRAMRAMRAM重重重重复复复复占占占占位位位位标标标标志志志志地地地地址址址址可可可可见见见见控控控控制制制制位位位位数数数数据据据据ROMROMROMROM映映映映射射射射选选选选择择择择位位位位时时时时钟钟钟钟输输输输出出出出选选选选择择择择位位位位乘乘乘乘法法法法饱饱饱饱和和和和方方方方式式式式位位位位存存存存储储储储饱饱饱饱和和和和位位位位11IPTR:用来指示中断向量所:用来指示中断向量所驻留的留的128字程序地置;字程序地置;MP/MC:用来确定是否允:用来确定是否允许使用片内使用片内ROM OVLY:用来决定片内:用来决定片内DARAM是否映射到程

19、序空是否映射到程序空间。 AVIS:用来决定是否可以从器件地址引脚:用来决定是否可以从器件地址引脚线看到内部程看到内部程序空序空间地址地址线;DROM:用来决定片内程序存:用来决定片内程序存储器是否可以映射到数据空器是否可以映射到数据空间;CLKOFF:用来决定:用来决定时钟输出引脚出引脚CLKOUT是否有信号是否有信号输出;出;SMUL:用来决定乘法:用来决定乘法结果是否需要果是否需要进行行饱和和处理;理; SST:用来决定累加器中的数据在存:用来决定累加器中的数据在存储到存到存储器之前,是器之前,是否需要否需要饱和和处理。理。12算术逻辑运算单元40位ALU(ArithmeticLogic

20、Unit)配合累加器A和B,执行算术、逻辑运算、布尔运算功能,绝大多数算术逻辑运算指令都在一个周期内完成。一个运算操作在ALU执行后,运算的结果一般被送到累加器A或B中(执行存储操作指令ADDM、ANDM、ORM、XORM除外)13算术逻辑运算单元ALU累加器A累加器B数据总线CB15-CB0数据总线DB15-DB0乘法/累加单元 ( MAC) 输出符号控制符号控制转移输出(40)ADD*AR1ADD*AR1,A A14ALU的输入移位器输出(32位或16位数据存储器操作数或者移位后累加器的值)。数据总线DB的数据存储器操作数。Y端的输入来自下列3个方向中的一个:累加器A或B。数据总线CB的数

21、据存储器操作数。T寄存器的数据ALU的输出ALU的输出为40位,被送入累加器A或B。15ALU溢出处理和ST1中的OVM有关.发生溢出时后,溢出标志位OVA或OVB置位,直到复位或执行溢出条件指令时恢复。ALU进位位ALU的进位位C受大多数算术指令影响(包括循环和移位指令)。进位位可以用来支持扩展精度的算术运算。进位位不受累加器装载、逻辑运算、其他非算术指令或控制指令影响,所以它还可以用来进行溢出管理。根据进位位的值,可以利用条件操作指令C和NC来进行分支转移、调用或返回操作。利用指令RSBX、SSBX或硬件复位来对进位位置位。16双16位算术运算CPU状态寄存器ST1的C16如果处于置位状态

22、,用户就可以让ALU在单周期内进行特殊的双16位算术运算,即进行两次16位加法或两次16位减法。举例DADSTLmen,dst;C16=1 C16=1 则:则:则:则:;LmemLmem(3131至至至至1616)+Tdst+Tdst(3939至至至至1616);LmemLmem(1515至至至至0 0)-Tdst-Tdst (1515至至至至0 0);C16=0 C16=0 则:则:则:则:;dst=Lmem+dst=Lmem+(T16+T)TAA(15150 0);则;则A A(31311616)-*AR1-*AR1,;TRNTRN左移左移1 1位,位,0-TRN0-TRN(0 0),),

23、0-TC0-TC ;否则;否则A A(15150 0)-*AR1-*AR1,TRNTRN左移左移1 1位,位,;1-TRN1-TRN(0 0),),1-TC,1-TC,TRNTRN状态转移寄存器,状态转移寄存器,TCTC测试控制寄存器测试控制寄存器If (M1+D1)(M2+D2)then N1= M1+D1Else N1= M2+D2D1D2M1(尺度尺度1)M2(尺度尺度2)2*J2*J+1N1JN2J+8D1D227指数编码器指数编码器是一个在单周期内完成EXP指令的专用硬件,其结构如图2.8所示。该指令获得累加器中的指数值并以二进制补码的形式(-8至31)把它存储到T中。为消除多余符号

24、位而将累加器中的数值左移,其左移的位数和累加器指数值冗于符号位-8有关,当累加器的值超过32位时,这个结果为负数。EXP指数编码器指数编码器ABT寄存器寄存器28举例举例举例举例EXP A EXP A EXP A EXP A ; T T T T把累加器把累加器把累加器把累加器A A A A的指数的指数的指数的指数T T T TST TST TST TST T,EXPONENT EXPONENT EXPONENT EXPONENT ;保存指数(;保存指数(;保存指数(;保存指数(T T T T)到数据存储区)到数据存储区)到数据存储区)到数据存储区NORM A NORM A NORM A NOR

25、M A ;归一化寄存器;归一化寄存器;归一化寄存器;归一化寄存器A A A A,依靠,依靠,依靠,依靠T T T T的值移动累加的值移动累加的值移动累加的值移动累加器器器器A A A A的值的值的值的值若:若:若:若:4040位累加器位累加器位累加器位累加器A A中的定点数中的定点数中的定点数中的定点数FF FFFF F001FF FFFF F001 则:则:11111111 11111111111111111111000000000001 1111111110000000000010000000000000000000 则:则:T=27-8=19 则:NormA;需要左移19位,结果如下 2

26、9总线结构C54x系列DSP的总线结构是由8条16位总线构成(4条程序/数据总线和4条地址总线)。程序总线PB:传送来自程序存储器的指令和立即数。数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器去的数据。地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。30总线结构图:总线结构图:Program A/D Bus (P)Data Read A/D Bus (D)Data Read A/D Bus (C)Data Write A/D Bus (E)ExtlM

27、emI/FADInternalMemoryExternalMemoryExternal: 1 access / cycleup to 8M words programInternal: Up to 4 accesses / cycle3132存储器普通存储器的概念ROM和RAM存储器的计算通常来说,存储器的容量是和它的地址线和数据线有关的。在地址线、数据线不复用的情况下,比如10根地址线8根数据线组成的存储器,通常的存储容量就是8bit,即寻址空间为1024,存储容量为1K字节;又如16根地址线16根数据线组成的存储器,通常的存储容量就是16bit,即寻址空间为8K,存储容量为8K字3364K

28、 Words的的DARAM (双访问(双访问RAM)p每一块,被分成块,由低地址开始记作每一块,被分成块,由低地址开始记作DARAM0DARAM7p在同一块内一个指令周期支持两个操作在同一块内一个指令周期支持两个操作64K Words的的SARAM (单访问(单访问RAM)p每一块,被分成块,由低地址开始记作每一块,被分成块,由低地址开始记作SARAM0SARAM7p在同一块内一个指令周期仅支持一个操作,但支持一个指在同一块内一个指令周期仅支持一个操作,但支持一个指令周期同时对不同的块完成两个操作令周期同时对不同的块完成两个操作16K Words的的ROMp掩模掩模ROM,只能读不能写,只能读

29、不能写TMS320VC5416 DSPTMS320VC5416 DSP的内部存储资源的内部存储资源3435片内ROM内容C54x器件提供了各种ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片内ROM引导区2K字(F800H-FFFFH)范围内一般包含下列内容,具体型号内容可以见相应芯片文档。自举加载程序,可从串口、外部存储器、I/O端口、主机接口加载。256字律扩展表256字A律扩展表256正弦函数查值表中断向量表36用户代码保留中断向量表自举引导程序256字律扩展表256字A律扩展表256正弦函数查值表保留中断向量表37TMS320VC5416 DSP 的的存存储储空空间间以以

30、TMS320VC5416 DSPTMS320VC5416 DSP为例为例数据空间数据空间p支持支持1616位地址和位地址和1616位数据宽度位数据宽度p访问空间为访问空间为2 2161616bit16bit64K Words64K Words程序空间程序空间p支持支持2323位地址和位地址和1616位数据宽度位数据宽度p分成分成2 27 7128128页页 64K Words64K Words的程序空间的程序空间IOIO空间空间p支持支持1616位地址和位地址和1616位数据宽度,固定片外寻址位数据宽度,固定片外寻址p访问空间为访问空间为2 2161616bit16bit64K Words64

31、K WordspPortRPortR和和PortWPortW两条汇编指令用于两条汇编指令用于IOIO空间访问空间访问C54x C54x 存储空间映射存储空间映射38I/O存储空间C54xDSP除了程序存储空间和数据存储空间外,还提供I/O存储空间。I/O存储空间64K字寻址范围(0000H-FFFFH),仅仅存在片外。芯片通过2条指令PORTR、PORTW来访问这个空间。访问时,读时序和读程序存储空间、数据存储空间不同,它是访问独立的I/O映射设备而不是存储器。I/O空间还有两个专用I/O管脚BIO和XF。分支转移控制输入引脚BIO用来监控外围设备,决定分支转移的去向,以替代中断,不干扰对时间

32、要求苛刻的循环。外部标志输出引脚XF可以向外部设备发信号,以控制外部设备工作。39TMS320VC5416 DSPTMS320VC5416 DSP的存储空间映射的存储空间映射由处理器工作方式与状态寄存器由处理器工作方式与状态寄存器PMSTPMST控制控制p具体由具体由MP/MCMP/MC、OVLYOVLY、DROMDROM三个位控制三个位控制C54x C54x 存储空间映射存储空间映射40地址第0页程序存储器地址第0页程序存储器地址数据存储器0000H007FH保留(OVLY=1)外部使用(OVLY=0)0000H007FH保留(OVLY=1)外部(OVLY=0)0000H005FH存储器映射

33、寄存器0060H007FHScratch-PadRAM0080H7FFFH片内DAAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片内DARAM0-3(OVLY=1)外部使用(OVLY=0)0080H7FFFH片内DARAM0-3(32K16位)8000H0FF7FH外部使用8000H0BFFFH外部使用8000H0FFFFH片内DARAM4-7(DROM=1)或者片外(DROM=0)C000H0FEFFH片内ROM(4K16位)0FF80H0FFFFH中断(片外)0FF00H0FF7FH保留0FF80H0FFFFH中断(片内)MP/MC=1微处理器模式MP/MC=0微计

34、算机模式41扩展的程序存储器映射扩展的程序存储器映射 42扩展的程序存储器映射扩展的程序存储器映射(续续) 43XPC =XPC =44C54x C54x 存储空间映射存储空间映射45详细见第三章详细见第三章详细见第三章详细见第三章详细见第三章详细见第三章CMDCMDCMD文件设计文件设计文件设计文件设计文件设计文件设计C54x C54x 存储空间映射存储空间映射46片内外设DSP片内外设是集成在芯片内部的外部设备.外部设备在片内主要有以下优点片内外设访问速度快简化电路的设计提供一些必须的特殊功能.这些特殊功能必须以片内外设的方式来实现,如JTAG口,等待状态发生器等CPU核对片内外设的访问是

35、通过对相应的控制寄存器的访问来完成的.47片内外设软件可编程等待状态发生器可编程分区转换逻辑1个主机接口HPI3个多通道缓冲串行口McBSPsDMA控制器1个硬件定时器带锁相环的时钟发生器PLL48软件可编程等待状态发生器它能把外部总线周期扩展到最多14个机器周期,这样可以方便地与慢速的外部存储器和I/O设备接口。它不需要任何外部硬件,只由软件完成。在访问外部存储器时,软件等待状态寄存器SWWR可为每32K字的程序、数据存储单元块和64K字的I/O空间确定0-14个等待状态49软件可编程等待状态发生器软件可编程等待状态发生器可以通过编程来延长总线的等待周期,最多可达到714个机器周期。这样可以

36、方便地使C54xDSP与慢速的片内存储器和I/O器件接口。若外部器件要求插入的等待周期大于14个机器周期时,可以利用硬件READY线来实现。当所有的外部器件都配置在0等待状态时,加到等待状态发生器的内部时钟将被关断。器件工作在省电状态。50软件等待状态寄存器SWWSR位号位号复位值复位值功能功能150XPA=0XPA=0,程序存储空间不扩展,程序存储空间不扩展XPA=1XPA=1,程序存储空间扩展,程序存储空间扩展14-12111对对0000H0000HFFFFH I/OFFFFH I/O空间空间插入等待状态数空间空间插入等待状态数11-9111对对8000H8000HFFFFHFFFFH数据

37、空间插入等待状态数数据空间插入等待状态数8-6111对对0000H0000H7FFFH7FFFH数据空间插入等待状态数数据空间插入等待状态数5-3111XPA=0XPA=0:XX8000HXX8000HXXFFFFHXXFFFFHXPA=1XPA=1:400000H400000H7FFFFFH7FFFFFH2-0111XPA=0XPA=0:XX0000HXX0000HXX7FFFHXX7FFFHXPA=1XPA=1:000000H000000H3FFFFFH3FFFFFH软件可编程等待状态软件可编程等待状态发生器发生器51软件等待状态控制寄存器SWCRC5416DSP,除了有一个软件等待状态寄

38、存器SWWSR外,还有一个SWCRSWCR中的SWSM位用来确定扩展最大的等待周期软件可编程等待状态软件可编程等待状态发生器发生器52可编程分区转换逻辑可编程分区转换逻辑允许器件在外部存储器分区之间转换时不需要使用额外的等待状态。在程序空间或数据空间内,分区转换逻辑在访问通过32K字存储块边界时,自动插入一个周期。53自动插入一个附加周期的情况当对程序存储器进行一次读操作后,紧随其后对不同的存储器分区进行另一次程序存储器或数据存储器读操作对数据存储器进行一次读操作后,再对一个不同的存储器分区进行另一次程序存储器或数据存储器读操作对C548、C549等器件,一次程序存储器读操作后,再对不同页程序

39、存储器进行另一次读操作可编程分区转换逻辑可编程分区转换逻辑 54HPI主机接口C54X的主机接口(HPI)是一个8位并行口,是与主设备或主处理器通信的接口(一般来说是与其他DSP或者单片机等设备,即主控方通信)。信息在C54X和主机之间通过C54X存储器进行交换。主机和C54X都可以访问HPI控制寄存器。外部主机是HPI的主控者,HPI作为一个外设与主机相连,使主机的访问操作很容易。主机通过专用地址和数据寄存器、HPI控制寄存器与HPI通信,另外还会使用外部数据与接口控制信号。55HPI口数据传输HPI作为主机的一个外围设备,共有8个外部数据线HD0-7,当C54x与主机传送数据时,HPI能自

40、动将外部接口连续传来的8位数组合成16位数,传送至C54x。当主机使用HPI寄存器执行一个数据传输时,HPI控制逻辑自动执行对一个专用2K字的C54x内部的双访问RAM的访问,以完成数据处理,然后C54x可以在它的存储器空间访问读写数据。HPIRAM也可以用做通用的双寻址数据或程序RAMHPIHPI主机接口主机接口56HPI的两种工作模式共用寻址模式SAM(常用方式)主机和C54x都能寻址HPI存储器。当C54X与主机的周期发生冲突时,则主机具有寻址优先权,C54x将等待一个周期仅主机寻址模式HOMHPI存储器只能让主机寻址,C54x则处于复位状态或者处于所有内部和外部时钟都停止工作的IDLE

41、2空转状态。因此主机可以访问HPIRAM,而C54x处于最小功耗配置。HPIHPI主机接口主机接口57HPI传输速度SAM方式若HPI每5个CLKOUT传送一个字节,那么主机的运行频率可达F*N/5,F为C54x的CLKOUT频率,N为主机每进行一次外部寻址的周期数,通常N是3或4。如C54x的CLKOUT频率为40M,那么主机频率可达32M或24M。且不插入等待周期。HOM方式主机可以获得更高的速度每50ns寻址一个字节(160MBIT/S),且与C54x的时钟速度无关。HPIHPI主机接口主机接口58HPI与主机的数据线连接HPI通过8位数据总线与主机交换信息。由于C54X的16位字的结构

42、,主机与DSP之间的传输数据必须包含两个连续的字节。专用的HBIL脚用来确定传输的是第一个还是第二个字节HPI控制寄存器HPIC的BOB位决定第一个或第二个字节,放置在16位字的高8位,而主机不必破坏两个字节的访问顺序。如果字节的传输顺序被破坏,则数据可能会丢失,产生不可预测的结果HPIHPI主机接口主机接口59HPI管脚信号名称HAS:地址选通信号HCS:片选信号HD0-HD7:数据总线HRDY:HPI准备好端HCNTL0、HCNTL1:主机控制信号HDS1、HDS2:数据选通信号HINT:HPI中断输出信号HBIL:字节识别信号HR/W:读写信号HPIHPI主机接口主机接口60HAS信号地

43、址选通信号。若主机的地址和数据是一条多路总线,则HAS与主机的ALE引脚相连。在HAS的下降沿,锁存HBIL、HCNT0/1和HR/W信号;若主机的地址和数据线是分开的,则HAS接高电平,此时由HDS1、HDS2或HCS中最迟的下降沿锁存HBIL、HCNTL01和HR/W信号若地址和数据总线非复用时,接高电平。HPIHPI主机接口主机接口61HCS信号片选信号。作为HPI的使能输入端,在每次寻址期间必须为低电平,而两次寻址之间也可以停留在低电平连接到主机的地址线或控制线HPIHPI主机接口主机接口62HRDY信号HPI准备好端。连接到主机的异步准备好端高电平表示HPI已准备好执行一次数据传送;

44、低电平表示HPI正忙于完成当前事务。HPIHPI主机接口主机接口63HCNTL0、HCNTL1信号连接到主机的地址或控制信号HCNTL0HCNTL0HCNTL1HCNTL1说明说明0 00 0主机可以读写主机可以读写HPICHPIC寄存器寄存器0 01 1主机可以读写主机可以读写HPIDHPID寄存器。每读寄存器。每读1 1次,次,HPIAHPIA事事后增后增1 1;每写;每写1 1次,次,HPIAHPIA事先增事先增1 11 10 0主机可以读主机可以读/ /写写HPIAHPIA寄存器。这个寄存器指向寄存器。这个寄存器指向C54xC54x的片内的片内RAMRAM1 11 1主机可以读主机可以

45、读/ /写写HPIDHPID寄存器。寄存器。HPIAHPIA寄存器不受寄存器不受影响影响HPIHPI主机接口主机接口64HDS1、HDS2信号数据选通信号连接到主机的读选通和写选通或数据选通端在主机寻址HPI周期内,控制HPI数据的传送。HDS1和HDS2与HAS一起产生内部选通信号HPIHPI主机接口主机接口65HINT信号HPI中断输出信号连接到主机的中断输入端受HPIC寄存器中的HINT位控制。当C54X复位时为高电平。HPIHPI主机接口主机接口66HBIL信号字节识别信号连接到主机的地址或控制线识别主机传送过来的是第一个字节还是第2个字节HBIL=0,第1个字节HBIL=1,第2个字

46、节第一个字节是高字节还是低字节,由HPIC寄存器中BOB位决定HPIHPI主机接口主机接口67HR/W信号读写信号连接到主机的读/写选通、地址线或多路地址/数据高电平表示主机读HPI,低电平表示写HPI。若主机没有读写信号,可用一根地址线代替。HPIHPI主机接口主机接口68HPI寄存器HPI控制寄存器HPICHPI控制寄存器为16位寄存器,用来控制HPI的操作HPI地址寄存器HPIAHPI地址寄存器,主机直接访问该寄存器HPI数据寄存器HPID。HPI数据寄存器,只能由主机直接访问,包含从HPI存储器读出的数据,或者要写到HPI寄存器的数据。HPIHPI主机接口主机接口69HPI的寄存器访问

47、两个控制输入(HCNTL0和HCNTL1)表示哪个HPI寄存器被访问。这两个输入与HBIL一起由主机地址总线驱动。使用HCNTL0/1输入,主机可以指定对HPI寄存器的访问:HPI控制寄存器HPIC、HPI地址寄存器HPIA、HPI数据寄存器HPID。HPIA可以使用自动增寻址方式访问HPIA。通过写HPIC,主机可以中断C54X,并且HINT输出可以被C54X用来中断主机。HPIHPI主机接口主机接口7071C54X串行口标准同步串口SP带缓冲的串行口BSP时分复用串口TDM多通道缓冲串口McBSPC54x串行口72标准同步串行口SP的连接图C54X DX FSX CLKX C54XDRFS

48、RCLKRC54x串行口73ADS1178 ADC54x串行口74MCBSP 的接收时序C54x串行口75缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元ABU全双工、双缓冲,允许连续数据流ABU利用独立于CPU的专用总线,让串行口直接读/写C54x的片内存储器。这样可以使串行口处理事务的开销最小,并能提高效率。BSP有两种工作方式非缓冲方式和自动缓冲方式。当工作在非缓冲方式下时,其数据传输和标准同步串行口一样;当工作在自动缓冲方式下时,串行口直接与C54x片内存储器进行16位数据传输。C54x串行口带缓冲的串行口带缓冲的串行口BSP BSP 76TDM将时间分成时间段,按时间段顺序周

49、期性地与不同器件通信。C54x串行口时分复用串行口时分复用串行口TDM TDM 77多通道缓冲串行口McBSP是基于标准同步串行口的,允许直接与C54x/LC54x器件、编码设备或其他设备相连,它具有如下特点全双工通信双缓冲数据寄存器,允许连续数据流独立的接收/发送时钟和帧信号支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外设高达128个通道的多通道传输包括8、12、16、20、24、32位的宽范围数据位选择律和A律压缩对发送/接收数据时钟和帧同步信号极性可编程内部时钟和帧信号可编程C54x串行口多通道缓冲串口多通道缓冲串口McBSPMcBSP78C5

50、4x串行口多通道缓冲串口多通道缓冲串口McBSPMcBSP79DMA控制器器件直接内存访问(Thedevicedirectmemoryaccess,DMA)控制器可以不在CPU干涉的情况下直接进行存储器映射内的两点间的直接传输。DMA允许在CPU运行的情况下进行内部存储器、片内外设、外部器件之间进行数据移动。它有6个独立的可编程通道,允许6个不同的内容进行DMA操作。DMA控制器也提供来自主机接口(HPI-8、HPI-16)需求的利用DMA总线的服务80定时器C54x片内16位定时器是根据每个时钟自减,当定时器的计数器自减到0时,一个定时中断就产生了。定时器能被停止、重新启动、复位,或通过指定

51、状态位进行禁止运行。定时器寄存器组成定时器寄存器TIM:此寄存器被PRD寄存器的值加载,并随计数减少。定时器周期寄存器PRD:此寄存器提供TIM数据加载。定时器控制寄存器TCR:此寄存器是定时器的控制和状态寄存器,81定时器位名称复位值保留,总是01512ReservedSoft和Free一起决定在调试中遇到断点时,定时器的状态。(1)Soft=0,Free=0:定时器立即停止。(2)Soft=1,Free=0:定时器在计数器减到0时停止工作。(3)Soft=x,Free=1:定时器无视Soft位,继续工作11Soft010Free096PSC定时器预定标计数器值。当PSC的值减少到0后,TD

52、DR中的数据加载到PSC,TIM减15TRB定时器重新加载控制位。当TRB为1时,TIM重新装载PRD的值,PSC重新装载TDDR的值。TRB总是读作04TSS0定时器停止位。T为0时,启动定时器;T为1时,停止定时器30TDDR0000当PSC被减少到0后,PSC被TDDR的值装载TCRTCRTCR寄存器寄存器寄存器寄存器寄存器寄存器8283定时器公式预标定器PSC根据CPU提供的时钟,每来一个时钟自减1,当PSC的值减少到0时,TDDR的内容加载到PSC(当系统复位(RESET输入信号有效)或定时器单独复位(TRB有效)时,TDDR的内容也加载到PSC);TIM根据预标定器PSC提供的时钟

53、,每来一个预标定PSC的输出时钟减1,当TIM减数到0后,PRD中的内容自动加载到TIM(当系统复位或定时器单独复位时,PRD的内容也加载到TIM中),同时TIM会产生一个定时器中断TINT信号,该信号被送到CPU和定时器输出TOUT管脚。由此,定时器的中断周期84PLL时钟发生器C54x时钟发生器由内部振荡器和锁相环电路构成,可通过晶振或外部时钟驱动。锁相环具有频率放大和时钟信号提纯的作用。利用PLL可以对时钟频率进行锁定、为芯片提供高稳定度的时钟信号,对外部时钟可以进行倍频,使外部时钟的周期低于CPU机器周期,以降低因高速开关时钟引起的高频噪声。当前锁相环电路有两种不同的配置方式一些器件使

54、用硬件配置PLL电路,另外一些采用软件编程的方式进行配置85硬件配置PLL模式选择管脚时钟模式CLKMD1CLKMD2CLKMD3选择1选择2000外部时钟源,PLL3外部时钟源,PLL5110外部时钟源,PLL2外部时钟源,PLL4100内部振荡器,PLL3内部振荡器,PLL5010外部时钟源,PLL1.5外部时钟源,PLL4.5001外部时钟源,频率除以2外部时钟源,频率除以2111内部振荡器,频率除以2内部振荡器,频率除以2101外部时钟源,PLL1外部时钟源,PLL1011停止模式停止模式PLLPLL时钟发生器时钟发生器86软件配置PLL软件可编程PLL非常灵活,它包括提供时钟的各种乘

55、法系数,能够直接使能和禁止PLL。它可以锁定定时器,用来延迟转换PLL的时钟方式,直到锁定为止。软件可编程PLL可以通过两种模式来配置时钟输出PLL模式:输入时钟CLKIN以31个系数倍频,倍频范围为0.25至15。DIV模式:输入时钟被分频,分频范围为2或4。当采用DIV模式时,所有的模拟电路、包括PLL电路是被禁止的以达到减少功耗的目的。PLLPLL时钟发生器时钟发生器87举例:举例:举例:举例:举例:举例: CLKMODCLKMOD寄存器初始化值为寄存器初始化值为寄存器初始化值为寄存器初始化值为0x90070x9007 CLKMODCLKMOD寄存器初始化值为寄存器初始化值为寄存器初始化

56、值为寄存器初始化值为0x77F70x77F7PLLPLL时钟发生器时钟发生器88外部引脚数据信号初始化,中断和复位多处理信号存储控制信号时钟信号多通道缓冲串口0、1、2信号主机接口信号电源管脚测试管脚89知识点知识点2424:外部引脚:外部引脚 90外部引脚外部引脚 91外部引脚外部引脚 C54x C54x ABAB15150 0 PS PS MSTRB MSTRB R/ R/ W W DS DS IS IS IOSTRB IOSTRB DB DB15150 0 DATADATA CS2 D CS2 D WE WE CS1CS1A OEA OE PGMPGMA D A D CS1 CS1 CS

57、2 OECS2 OE I/OI/O CS1 DCS1 DCS2CS2WEWEA OEA OE 92外部引脚外部引脚 93中断系统中断系统是为计算机系统提供实时操作、多任务和多进程的关键部件。中断信号的产生中断是由硬件驱动或者软件驱动的信号例如由外设向CPU传送数据(ADC)或外设向CPU提供数据(DAC)的硬件设备来产生的定时器当CPU响应中断时,将暂时停止当前程序的执行,而去执行中断服务程序ISR94中断分类可屏蔽中断16个用户可屏蔽中断非屏蔽中断软件中断复位RS中断NMI中断95中断分类96中断分类97中断寄存器中断屏蔽寄存器IMR中断屏蔽寄存器主要是用来屏蔽外部或内部中断。如果CPU状态

58、寄存器中的INTM位为0且IMR寄存器中有一位为1,就开放IMR寄存器中的那一位中断。RS和NMI都不能被IMR屏蔽。用户可以读写IMR寄存器。98中断寄存器中断标志寄存器IFR中断标志寄存器是一个存储器映射寄存器。当一个中断出现时,IFR中相应的中断标志位置1,直到此中断被CPU处理。任何下列事件都会清除IFR中的中断标志C54xDSP被硬件复位中断触发被响应一个1被写入相应的尚未处理的IFR中断标志位使用相应中断号INTR指令被执行99中断处理步骤接受中断请求应答中断执行中断服务程序ISR100接收中断请求一个中断由硬件或软件指令请求。当产生一个中断时,IFR寄存器中的相应的中断标志位被置

59、1。不管中断是否被处理器应答,该标志位都会置1。当相应的中断响应后,该标志位自动清零101硬件中断请求外部硬件中断由外部中断口的信号发出请求,而内部硬件由片内外设的信号发出中断请求。例如,C54X硬件中断可以由如下信号发出INT3-INT0管脚RS和NMI管脚RINT0、XINT0、RINT1、XINT1串行中断TINT定时器中断102软件中断请求INTRINTR指令允许执行任何的可屏蔽中断,包括用户定义的中断(从SINT0到SINT30)TRAPTRAP与INTR的不同之处是TRAP启动中断时,状态寄存器ST1的中断方式INTM位不受影响。所以在TRAP启动中断服务时,该中断服务程序可以被其

60、他硬件中断所中断。RESET复位指令可在程序的任何时候产生,它使处理器返回一个预定状态,复位指令影响ST0和ST1寄存器,但对PMST寄存器没有影响。103应答中断对于软件中断和非屏蔽中断,CPU将立即响应,进入相应的中断服务程序。对于硬件可屏蔽中断,只要满足下列三个条件后,CPU才能响应中断当前中断优先级最高INTM位清0IMR屏蔽位为1满足上述条件后,CPU响应中断,终止当前正在运行的操作,指令计数器PC自动转向相应的中断向量地址,取出中断服务程序地址,并发出硬件中断响应信号IACK(中断应答)而清除相应的中断标志位104执行中断服务程序ISRCPU执行中断服务程序的步骤保护现场将中断向量

61、的地址加载PC获取位于向量地址的指令执行分支转移执行ISR直到一个返回指令终止ISR从堆栈中弹出返回地址到PC中继续执行主程序105中断向量地址的计算中断向量可以映射到程序存储器的任何128字页面的起始位置,除保留区域外。C54X中,中断向量地址是由PMST寄存器中的IPTR和左移2位后的中断向量序号所组成。INT0被申明为低优先级,并且IPTR=0001H,则中断向量地址为00C0H。复位时,IPTR所有的位置1,并按此值将复位向量映射到程序存储器的511页空间。所以,硬件复位后总是从0FF80H开始执行程序。106中断设计 以以TMS320VC5416 TMS320VC5416 的中断设计

62、为例的中断设计为例1. 1. 中断初始化设计中断初始化设计置置ST1ST1寄存器的寄存器的INTMINTM位为位为1 1,屏蔽所有屏蔽中断,屏蔽所有屏蔽中断向向IFRIFR寄存器写入寄存器写入0xFFFF0xFFFF,清除所有的中断标志,清除所有的中断标志根据要处理的中断设置根据要处理的中断设置IMRIMR寄存器,例如开放寄存器,例如开放INT0INT0中断,向中断,向IMRIMR中写入中写入0x10x1设置设置PMSTPMST寄存器,主要完成以下初始化寄存器,主要完成以下初始化中断向量指针中断向量指针IPTRIPTR的初始化,设置中断向量表地址的初始化,设置中断向量表地址MP/MCMP/MC

63、、OVLYOVLY和和DROMDROM位初始化,设置存储空间映射位初始化,设置存储空间映射CLKOFFCLKOFF位设置位设置置置ST1寄存器的寄存器的INTM位为位为0,响应,响应IMR寄存器允许寄存器允许的可屏蔽中断的可屏蔽中断107以以TMS320VC5416 TMS320VC5416 的中断设计为例的中断设计为例2. 2. 中断向量地址计算方法中断向量地址计算方法(1 1)取)取PMSTPMST寄存器的寄存器的IPTRIPTR的值的值( (中断向量指针,中断向量指针,9 9位位) ) (2 2)查)查DSPDSP的中断表得到中断向量序号的中断表得到中断向量序号(5(5位位) )(3 3

64、)将中断向量序号左移)将中断向量序号左移2 2位位 (4 4)将)将IPTRIPTR值左移值左移7 7位与(位与(3 3)相加)相加, ,得到中断向量地址得到中断向量地址INT0序号为16左移两位后为40H1. 硬件复位值为0x1FF。2. 用户可以软件设置,3. 软件复位该值不变化108以以TMS320VC5416 TMS320VC5416 的中断设计为例的中断设计为例3. 3. 中断向量表程序设计中断向量表程序设计TI 54TI 54系列系列DSPDSP最大支持序号最大支持序号0 03131的的3232个中断(存在复用)个中断(存在复用)根据中断向量表地址计算方法,每个中断向量占根据中断向

65、量表地址计算方法,每个中断向量占4 4个字(序个字(序号左移两位),整个中断向量表共占号左移两位),整个中断向量表共占128128个字个字硬件复位后,其中断向量表首地址为硬件复位后,其中断向量表首地址为0xFF800xFF80(0 0号中断地址)号中断地址) 软件设置软件设置IPTRIPTR后,其中断向量表地址发生变化,为使中断后,其中断向量表地址发生变化,为使中断高速响应,应在片内高速响应,应在片内RAMRAM中运行中运行IPTR=1 1 1 1 1 1 1 1 1(1FFh)IPTR=1 1 1 1 1 1 1 1 1(1FFh)+ K= 0 0 0 0 0 0 0+ K= 0 0 0 0

66、 0 0 01 1 1 11 1 1 1 1 1 1 11 1 1 1 1 0 0 01 0 0 0 0 0 0 0 0 0 0 0F F 8 0 hF F 8 0 h故硬件复位后的开始地址为故硬件复位后的开始地址为0FF80h0FF80h。IPTR=0 0 0 0 0 0 0 0 1(1h)IPTR=0 0 0 0 0 0 0 0 1(1h)+ K= 0 0 0 0 0 0 0+ K= 0 0 0 0 0 0 00 0 0 00 0 0 0 0 0 0 00 0 0 0 1 0 0 01 0 0 0 0 0 0 0 0 0 0 00 0 8 0 h0 0 8 0 h初始化中断向量表的开始地址

67、为初始化中断向量表的开始地址为0080h0080h。109以以TMS320VC5416 TMS320VC5416 的中断设计的中断设计4.4.中断向量表程序示例中断向量表程序示例.sector “vectors”表表明明中中断断向向量表代量表代码位于位于vectors段段必必须把把vectors段段放放置置在在片片内内RAM中,用以高速响中,用以高速响应中断中断在在DSP程程序序初初始始化化时,若若将将IPTR0x001,则中中断断向向量量表表初始地址初始地址为0x80在在CMD文文件件中中,在在PAGE0中中配配置置一一块地地址址从从0x80开开始始,共共128 Words,并并将将vectors段段配置到配置到该区域区域设 计 OVLY的的 值 , 将将DARAM03块映映射射到到程程序序空空间 , 实 现 中中 断断 向向 量量 表表 在在DARAM中运行中运行110111

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号