TMSC结构与工作原理.pptx
主要内容DSP芯片组成中央处理器总线结构存储系统片内外设和引脚中断系统第1页/共111页DSP的硬件结构特点运算速度快组成CPU存储器系统片内外设其他功能模块第2页/共111页C54x芯片的基本结构CPU片内存储器串行通信接口PLLJTAGHPI通用I/0口中断系统Timer其他硬件电路可编程分区转换逻辑软件可编程等待状态发生器第3页/共111页TMS320C5416的硬件结构框图JTAG 测试/仿真接口McBSP1McBSP2McBSP3Clock PLL Generator HPI GP I/OS/W WaitstateGenerator64KW 单访问RAM 64KW 双访问RAM 16KW ROMCPUTimerPeripheral BusProgram/Data BusesDMA电源管理第4页/共111页中央处理器CPU40位算术逻辑运算单元ALU40位累加器A和B桶形移位寄存器,支持-16至31移动范围乘法/累加器16位暂存器T16位传输寄存器TRN比较、选择和存储单元CSSU指数编码器CPU状态和控制寄存器。第5页/共111页系统控制接口程序地址产生器PAGEN数据地址产生器DAGEN存储器和外部接口DMA控 制器片内外设PABPBCABCBDABDBEABEB乘法/加法器算术逻辑单元ALU指数编码器CPU状 态 控制寄存器桶形移位寄存器比较、选择和存储单元累加器B累加器ACPU第6页/共111页CPU状态和控制寄存器 状态寄存器0(ST0)主要反映处理器的寻址要求和计算机的运行状态主要反映处理器的寻址要求和计算机的运行状态状态寄存器1(ST1)主要反映处理器的寻址要求、计算初始状态的设主要反映处理器的寻址要求、计算初始状态的设置、置、I/OI/O及中断的控制等。及中断的控制等。处理器工作模式状态寄存器(PMST)主要设定和控制处理器的工作方式和存储器的配主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态置,反映处理器的工作状态由于三个寄存器都是存储器映射的,他们都能存储到数据存储器或从数据存储器中获得。它们也能用子程序或中断服务子程序(ISR)保存或恢复。第7页/共111页1状态寄存器0(ST0):主要反映处理器的寻址要求和计算机的运行状态。主要反映处理器的寻址要求和计算机的运行状态。15 1312111098 0ST0:ARPTCCOVAOVBDPARPARPARPARP:辅助寄存器指针辅助寄存器指针。用来选择使用单操作数间接寻址时的用来选择使用单操作数间接寻址时的 辅助寄存器辅助寄存器AR0AR7AR0AR7。ARPARPTCTCTCTC:测试测试/控制标志控制标志。用来保存用来保存ALUALU测试操作的结果。测试操作的结果。TCTCC CC C:进位标志位进位标志位。用来保存用来保存ALUALU加减运算时所产生的进加减运算时所产生的进/借位。借位。C COVBOVBOVAOVAOVA/BOVA/B:累加器累加器A/BA/B的溢出标志。的溢出标志。用来反映用来反映A/BA/B是否产生溢出。是否产生溢出。OVBOVBOVAOVADPDPDPDP:数据存储器页指针。数据存储器页指针。用来与指令中提供的用来与指令中提供的7 7位地址结合形成位地址结合形成1 1个个 1616位数据存储器的地址。位数据存储器的地址。DPDP第8页/共111页2状态寄存器1(ST1):主主要要反反映映处处理理器器的的寻寻址址要要求、计算初始状态的设置、求、计算初始状态的设置、I/OI/O及中断的控制等。及中断的控制等。1514131211109876540BRAF CPLXFHMINTM0OVM SXM C16 FRCT CMPTASMBRAFCPLXFHMINTM0OVM SXMC16FRCTCMPTASMBRAFBRAF:块重复操作标志位。块重复操作标志位。用来指示当前是否在执行块重复操作。用来指示当前是否在执行块重复操作。BRAF=0BRAF=0 表示当前不进行重复块操作;表示当前不进行重复块操作;BRAF=1BRAF=1 表示当前正在进行块重复操作。表示当前正在进行块重复操作。CPLCPL:直接寻址编辑方式标志位;直接寻址编辑方式标志位;用来指示直接寻址选用何种指针。用来指示直接寻址选用何种指针。CPL=0CPL=0 选用数据页指针选用数据页指针DPDP的直接寻址;的直接寻址;CPL=1CPL=1 选用堆栈指针选用堆栈指针SPSP的直接寻址。的直接寻址。XFXF:外部外部XFXF引脚状态控制位。引脚状态控制位。用来控制用来控制XFXF通用外部输出引脚的状态。通用外部输出引脚的状态。执行执行SSBXSSBX XF=1XF=1 XFXF通用输出引脚为通用输出引脚为1 1;执行执行RSBXRSBX XF=0XF=0 XFXF通用输出引脚为通用输出引脚为0 0。HMHM:保持方式位;响应保持方式位;响应HOLDHOLD信号时,指示信号时,指示 CPUCPU是否继续执行内部操作。是否继续执行内部操作。HM=0HM=0 CPUCPU从内部程序存储器取指,从内部程序存储器取指,继续执行内部操作。继续执行内部操作。HM=1HM=1 CPUCPU停止内部操作。停止内部操作。INTMINTM:中断方式控制位;中断方式控制位;用于屏蔽或开放所有可屏蔽中断。用于屏蔽或开放所有可屏蔽中断。INTM=0INTM=0 开放全部可屏蔽中断;开放全部可屏蔽中断;INTM=1INTM=1 禁止所有可屏蔽中断。禁止所有可屏蔽中断。0 0:保留位,未被使用,总是读为保留位,未被使用,总是读为0 0。OVMOVM:溢出方式控制位;溢出方式控制位;用来确定累加器溢出时,对累加器的加载方式。用来确定累加器溢出时,对累加器的加载方式。OVM=0OVM=0 将运算的溢出结果直接加载到累加器中;将运算的溢出结果直接加载到累加器中;OVM=1OVM=1 当正溢出时,将当正溢出时,将007FFFFFFFH007FFFFFFFH加载累加器;加载累加器;当负溢出时,将当负溢出时,将FF80000000HFF80000000H加载累加器。加载累加器。SXMSXM:符号位扩展方式控制位;用来确定数据符号位扩展方式控制位;用来确定数据 在在运算之前是否需要符号位扩展。运算之前是否需要符号位扩展。SXM=0SXM=0 数据进入数据进入ALUALU之前禁止符号位扩展;之前禁止符号位扩展;SXM=1SXM=1 数据进入数据进入ALUALU之前进行符号位扩展。之前进行符号位扩展。C16C16:双双1616位位/双精度算术运算方式控制位;双精度算术运算方式控制位;用来决定用来决定ALUALU的算术运算方式。的算术运算方式。C16=0C16=0 ALUALU工作在双精度算术运算方式;工作在双精度算术运算方式;C16=1C16=1 ALUALU工作在双工作在双1616位算术运算方式。位算术运算方式。FRCTFRCT:小数方式控制位;小数方式控制位;用用来确定乘法器的运算方式。来确定乘法器的运算方式。FRCT=1FRCT=1 乘法器的输出左移一位,乘法器的输出左移一位,消除多余的符号位。消除多余的符号位。C CMPTMPT:间接寻址辅助寄存器修正方式控制位;间接寻址辅助寄存器修正方式控制位;用来决定用来决定ARPARP是否进行修正。是否进行修正。CMPT=0CMPT=0 在进行间接寻址单操作数时,不修正在进行间接寻址单操作数时,不修正ARPARP;CMPT=1CMPT=1 在进行间接寻址单操作数时,修正在进行间接寻址单操作数时,修正ARPARP。ASMASM:累加器移位方式控制位。累加器移位方式控制位。为为某某些些具具有有移移位位操操作作的的指指令令设设定定一一个个从从-16151615范围内的移位值。范围内的移位值。BRAFCPLXFHMINTM0OVM SXMC16FRCTCMPTASM第9页/共111页3工作方式状态寄存器PMST:主要设定和控制主要设定和控制处理器的工作方式和存储器的配置,反映处理处理器的工作方式和存储器的配置,反映处理器的工作状态。器的工作状态。SSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR0123456157中中断断向向量量指指针针CPUCPU工工作作方方式式选选择择位位RAMRAM重重复复占占位位标标志志地地址址可可见见控控制制位位数数据据ROMROM映映射射选选择择位位时时钟钟输输出出选选择择位位乘乘法法饱饱和和方方式式位位存存储储饱饱和和位位第10页/共111页IPTR:用来指示中断向量所驻留的128字程序地置;MP/MC:用来确定是否允许使用片内ROM OVLY:用来决定片内DARAM是否映射到程序空间。AVIS:用来决定是否可以从器件地址引脚线看到内部程序空间地址线;DROM:用来决定片内程序存储器是否可以映射到数据空间;CLKOFF:用来决定时钟输出引脚CLKOUT是否有信号输出;SMUL:用来决定乘法结果是否需要进行饱和处理;SST:用来决定累加器中的数据在存储到存储器之前,是否需要饱和处理。第11页/共111页算术逻辑运算单元40位ALU(Arithmetic Logic Unit)配合累加器A和B,执行算术、逻辑运算、布尔运算功能,绝大多数算术逻辑运算指令都在一个周期内完成。一个运算操作在ALU执行后,运算的结果一般被送到累加器A或B中(执行存储操作指令ADDM、ANDM、ORM、XORM除外)第12页/共111页算术逻辑运算单元ALU累加器A累加器B数据总线CB15-CB0数据总线DB15-DB0乘法/累加单元(MAC)输出符号控制符号控制转移输出(40)ADD*AR1ADD*AR1,AA第13页/共111页ALU的输入移位器输出(32位或16位数据存储器操作数或者移位后累加器的值)。数据总线DB的数据存储器操作数。Y端的输入来自下列3个方向中的一个:累加器A或B。数据总线CB的数据存储器操作数。T寄存器的数据ALU的输出ALU的输出为40位,被送入累加器A或B。第14页/共111页ALU溢出处理和ST1中的OVM有关.发生溢出时后,溢出标志位OVA或OVB置位,直到复位或执行溢出条件指令时恢复。ALU进位位ALU的进位位C受大多数算术指令影响(包括循环和移位指令)。进位位可以用来支持扩展精度的算术运算。进位位不受累加器装载、逻辑运算、其他非算术指令或控制指令影响,所以它还可以用来进行溢出管理。根据进位位的值,可以利用条件操作指令C和NC来进行分支转移、调用或返回操作。利用指令RSBX、SSBX或硬件复位来对进位位置位。第15页/共111页双16位算术运算CPU状态寄存器ST1的C16如果处于置位状态,用户就可以让ALU在单周期内进行特殊的双16位算术运算,即进行两次16位加法或两次16位减法。举例DADST Lmen,dst;C16=1C16=1则:则:;LmemLmem(3131至至1616)+Tdst+Tdst(3939至至1616);LmemLmem(1515至至0 0)-Tdst-Tdst (1515至至0 0);C16=0C16=0则:则:;dst=Lmem+dst=Lmem+(T16+T)TA(150);则A(3116)-*AR1,;TRN左移1位,0-TRN(0),0-TC;否则A(150)-*AR1,TRN左移1位,;1-TRN(0),1-TC,TRN状态转移寄存器,TC测试控制寄存器If (M1+D1)(M2+D2)then N1=M1+D1Else N1=M2+D2D1D2M1(尺度1)M2(尺度2)2*J2*J+1N1JN2J+8D1D2第26页/共111页指数编码器 指数编码器是一个在单周期内完成EXP指令的专用硬件,其结构如图2.8所示。该指令获得累加器中的指数值并以二进制补码的形式(-8至31)把它存储到T中。为消除多余符号位而将累加器中的数值左移,其左移的位数和累加器指数值冗于符号位-8有关,当累加器的值超过32位时,这个结果为负数。EXP指数编码器ABT寄存器第27页/共111页举例举例EXP A EXP A ;T T把累加器把累加器A A的指数的指数T TST TST T,EXPONENT EXPONENT ;保存指数(;保存指数(T T)到数据存储区)到数据存储区NORM A NORM A ;归一化寄存器;归一化寄存器A A,依靠,依靠T T的值移动累加的值移动累加器器A A的值的值若:若:4040位累加器位累加器AA中的定点数中的定点数FFFFFFF001FFFFFFF001 则:1111111111111111111111111111000000000001 1111111110000000000010000000000000000000 则:T=27-8=19 则:NormA;需要左移19位,结果如下 第28页/共111页总线结构 C54x系列DSP的总线结构是由8条16位总线构成(4条程序/数据总线和4条地址总线)。程序总线PB:传送来自程序存储器的指令和立即数。数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器去的数据。地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。第29页/共111页总线结构图:Program A/D Bus(P)Data Read A/D Bus(D)Data Read A/D Bus(C)Data Write A/D Bus(E)ExtlMemI/FADInternalMemoryExternalMemoryExternal:1 access/cycleup to 8M words programInternal:Up to 4 accesses/cycle第30页/共111页第31页/共111页存储器普通存储器的概念ROM和RAM存储器的计算通常来说,存储器的容量是和它的地址线和数据线有关的。在地址线、数据线不复用的情况下,比如10根地址线8根数据线组成的存储器,通常的存储容量就是8bit,即寻址空间为1024,存储容量为1K字节;又如16根地址线16根数据线组成的存储器,通常的存储容量就是16bit,即寻址空间为8K,存储容量为8K字 第32页/共111页64K Words的DARAM(双访问RAM)p每一块,被分成块,由低地址开始记作DARAM0DARAM7p在同一块内一个指令周期支持两个操作64K Words的SARAM(单访问RAM)p每一块,被分成块,由低地址开始记作SARAM0SARAM7p在同一块内一个指令周期仅支持一个操作,但支持一个指令周期同时对不同的块完成两个操作16K Words的ROMp掩模ROM,只能读不能写TMS320VC5416 DSP的内部存储资源第33页/共111页第34页/共111页片内ROM内容 C54x器件提供了各种ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片内ROM引导区2K字(F800H-FFFFH)范围内一般包含下列内容,具体型号内容可以见相应芯片文档。自举加载程序,可从串口、外部存储器、I/O端口、主机接口加载。256字律扩展表256字A律扩展表256正弦函数查值表中断向量表第35页/共111页用户代码保留中断向量表自举引导程序256字律扩展表256字A律扩展表256正弦函数查值表保留中断向量表第36页/共111页TMS320VC5416 DSP 的存储空间以TMS320VC5416 DSP为例数据空间p支持16位地址和16位数据宽度p访问空间为21616bit64K Words程序空间p支持23位地址和16位数据宽度p分成27128页 64K Words的程序空间IO空间p支持16位地址和16位数据宽度,固定片外寻址p访问空间为21616bit64K WordspPortR和PortW两条汇编指令用于IO空间访问C54x C54x 存储空间映射存储空间映射第37页/共111页I/O存储空间 C54x DSP除了程序存储空间和数据存储空间外,还提供I/O存储空间。I/O存储空间64K字寻址范围(0000H-FFFFH),仅仅存在片外。芯片通过2条指令PORTR、PORTW来访问这个空间。访问时,读时序和读程序存储空间、数据存储空间不同,它是访问独立的I/O映射设备而不是存储器。I/O空间还有两个专用I/O管脚BIO和XF。分支转移控制输入引脚BIO用来监控外围设备,决定分支转移的去向,以替代中断,不干扰对时间要求苛刻的循环。外部标志输出引脚XF可以向外部设备发信号,以控制外部设备工作。第38页/共111页TMS320VC5416 DSP的存储空间映射由处理器工作方式与状态寄存器PMST控制p具体由MP/MC、OVLY、DROM三个位控制C54x C54x 存储空间映射存储空间映射第39页/共111页地址第0页程序存储器地址第0页程序存储器地址数据存储器0000H007FH保留(OVLY=1)外部使用(OVLY=0)0000H007FH保留(OVLY=1)外部(OVLY=0)0000H005FH存储器映射寄存器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微计算机模式第40页/共111页扩展的程序存储器映射 第41页/共111页扩展的程序存储器映射(续)第42页/共111页XPC=第43页/共111页C54x C54x 存储空间映射存储空间映射第44页/共111页详细见第三章详细见第三章详细见第三章CMDCMDCMD文件设计文件设计文件设计C54x C54x 存储空间映射存储空间映射第45页/共111页片内外设 DSP片内外设是集成在芯片内部的外部设备.外部设备在片内主要有以下优点片内外设访问速度快简化电路的设计提供一些必须的特殊功能.这些特殊功能必须以片内外设的方式来实现,如JTAG口,等待状态发生器等CPU核对片内外设的访问是通过对相应的控制寄存器的访问来完成的.第46页/共111页片内外设 软件可编程等待状态发生器可编程分区转换逻辑1个主机接口HPI3个多通道缓冲串行口McBSPs DMA控制器1个硬件定时器带锁相环的时钟发生器PLL第47页/共111页软件可编程等待状态发生器它能把外部总线周期扩展到最多14个机器周期,这样可以方便地与慢速的外部存储器和I/O设备接口。它不需要任何外部硬件,只由软件完成。在访问外部存储器时,软件等待状态寄存器SWWR可为每32K字的程序、数据存储单元块和64K字的I/O空间确定0-14个等待状态第48页/共111页软件可编程等待状态发生器软件可编程等待状态发生器可以通过编程来延长总线的等待周期,最多可达到714个机器周期。这样可以方便地使C54x DSP与慢速的片内存储器和I/O器件接口。若外部器件要求插入的等待周期大于14个机器周期时,可以利用硬件READY线来实现。当所有的外部器件都配置在0等待状态时,加到等待状态发生器的内部时钟将被关断。器件工作在省电状态。第49页/共111页软件等待状态寄存器SWWSR位号位号复位值复位值功能功能150XPA=0XPA=0,程序存储空间不扩展,程序存储空间不扩展XPA=1XPA=1,程序存储空间扩展,程序存储空间扩展14-12111对对0000H0000HFFFFH I/OFFFFH I/O空间空间插入等待状态数空间空间插入等待状态数11-9111对对8000H8000HFFFFHFFFFH数据空间插入等待状态数数据空间插入等待状态数8-6111对对0000H0000H7FFFH7FFFH数据空间插入等待状态数数据空间插入等待状态数5-3111XPA=0XPA=0:XX8000HXX8000HXXFFFFHXXFFFFHXPA=1XPA=1:400000H400000H7FFFFFH7FFFFFH2-0111XPA=0XPA=0:XX0000HXX0000HXX7FFFHXX7FFFHXPA=1XPA=1:000000H000000H3FFFFFH3FFFFFH软件可编程等待状态发生器第50页/共111页软件等待状态控制寄存器SWCRC5416 DSP,除了有一个软件等待状态寄存器SWWSR外,还有一个SWCRSWCR中的SWSM位用来确定扩展最大的等待周期软件可编程等待状态发生器第51页/共111页可编程分区转换逻辑 可编程分区转换逻辑允许器件在外部存储器分区之间转换时不需要使用额外的等待状态。在程序空间或数据空间内,分区转换逻辑在访问通过32K字存储块边界时,自动插入一个周期。第52页/共111页自动插入一个附加周期的情况当对程序存储器进行一次读操作后,紧随其后对不同的存储器分区进行另一次程序存储器或数据存储器读操作对数据存储器进行一次读操作后,再对一个不同的存储器分区进行另一次程序存储器或数据存储器读操作对C548、C549等器件,一次程序存储器读操作后,再对不同页程序存储器进行另一次读操作可编程分区转换逻辑可编程分区转换逻辑 第53页/共111页HPI主机接口C54X的主机接口(HPI)是一个8位并行口,是与主设备或主处理器通信的接口(一般来说是与其他DSP或者单片机等设备,即主控方通信)。信息在C54X和主机之间通过C54X存储器进行交换。主机和C54X都可以访问HPI控制寄存器。外部主机是HPI的主控者,HPI作为一个外设与主机相连,使主机的访问操作很容易。主机通过专用地址和数据寄存器、HPI控制寄存器与HPI通信,另外还会使用外部数据与接口控制信号。第54页/共111页HPI口数据传输HPI作为主机的一个外围设备,共有8个外部数据线HD0-7,当C54x与主机传送数据时,HPI能自动将外部接口连续传来的8位数组合成16位数,传送至C54x。当主机使用HPI寄存器执行一个数据传输时,HPI控制逻辑自动执行对一个专用2K字的C54x内部的双访问RAM的访问,以完成数据处理,然后C54x可以在它的存储器空间访问读写数据。HPI RAM也可以用做通用的双寻址数据或程序RAMHPI主机接口第55页/共111页HPI的两种工作模式共用寻址模式SAM(常用方式)主机和C54x都能寻址HPI存储器。当C54X与主机的周期发生冲突时,则主机具有寻址优先权,C54x将等待一个周期仅主机寻址模式HOMHPI存储器只能让主机寻址,C54x则处于复位状态或者处于所有内部和外部时钟都停止工作的IDLE2空转状态。因此主机可以访问HPI RAM,而C54x处于最小功耗配置。HPI主机接口第56页/共111页HPI传输速度SAM方式若HPI每5个CLKOUT传送一个字节,那么主机的运行频率可达F*N/5,F为C54x的CLKOUT频率,N为主机每进行一次外部寻址的周期数,通常N是3或4。如C54x的CLKOUT频率为40M,那么主机频率可达32M或24M。且不插入等待周期。HOM方式主机可以获得更高的速度每50ns寻址一个字节(160MBIT/S),且与C54x的时钟速度无关。HPI主机接口第57页/共111页HPI与主机的数据线连接HPI通过8位数据总线与主机交换信息。由于C54X的16位字的结构,主机与DSP之间的传输数据必须包含两个连续的字节。专用的HBIL脚用来确定传输的是第一个还是第二个字节HPI控制寄存器HPIC的BOB位决定第一个或第二个字节,放置在16位字的高8位,而主机不必破坏两个字节的访问顺序。如果字节的传输顺序被破坏,则数据可能会丢失,产生不可预测的结果HPI主机接口第58页/共111页HPI管脚信号名称HAS:地址选通信号HCS:片选信号HD0-HD7:数据总线HRDY:HPI准备好端HCNTL0、HCNTL1:主机控制信号HDS1、HDS2:数据选通信号HINT:HPI中断输出信号HBIL:字节识别信号HR/W:读写信号HPI主机接口第59页/共111页HAS信号地址选通信号。若主机的地址和数据是一条多路总线,则HAS与主机的ALE引脚相连。在HAS的下降沿,锁存HBIL、HCNT0/1和HR/W信号;若主机的地址和数据线是分开的,则HAS接高电平,此时由HDS1、HDS2或HCS中最迟的下降沿锁存HBIL、HCNTL01和HR/W信号若地址和数据总线非复用时,接高电平。HPI主机接口第60页/共111页HCS信号片选信号。作为HPI的使能输入端,在每次寻址期间必须为低电平,而两次寻址之间也可以停留在低电平连接到主机的地址线或控制线HPI主机接口第61页/共111页HRDY信号HPI准备好端。连接到主机的异步准备好端高电平表示HPI已准备好执行一次数据传送;低电平表示HPI正忙于完成当前事务。HPI主机接口第62页/共111页HCNTL0、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主机可以读主机可以读/写写HPIDHPID寄存器。寄存器。HPIAHPIA寄存器不受寄存器不受影响影响HPI主机接口第63页/共111页HDS1、HDS2信号数据选通信号连接到主机的读选通和写选通或数据选通端在主机寻址HPI周期内,控制HPI数据的传送。HDS1和HDS2与HAS一起产生内部选通信号HPI主机接口第64页/共111页HINT信号HPI中断输出信号连接到主机的中断输入端受HPIC寄存器中的HINT位控制。当C54X复位时为高电平。HPI主机接口第65页/共111页HBIL信号字节识别信号连接到主机的地址或控制线识别主机传送过来的是第一个字节还是第2个字节HBIL=0,第1个字节HBIL=1,第2个字节第一个字节是高字节还是低字节,由HPIC寄存器中BOB位决定HPI主机接口第66页/共111页HR/W信号读写信号连接到主机的读/写选通、地址线或多路地址/数据高电平表示主机读HPI,低电平表示写HPI。若主机没有读写信号,可用一根地址线代替。HPI主机接口第67页/共111页HPI寄存器HPI控制寄存器HPICHPI控制寄存器为16位寄存器,用来控制HPI的操作HPI地址寄存器HPIAHPI地址寄存器,主机直接访问该寄存器HPI数据寄存器HPID。HPI数据寄存器,只能由主机直接访问,包含从HPI存储器读出的数据,或者要写到HPI寄存器的数据。HPI主机接口第68页/共111页HPI的寄存器访问两个控制输入(HCNTL0和HCNTL1)表示哪个HPI寄存器被访问。这两个输入与HBIL一起由主机地址总线驱动。使用HCNTL0/1输入,主机可以指定对HPI寄存器的访问:HPI控制寄存器HPIC、HPI地址寄存器HPIA、HPI数据寄存器HPID。HPIA可以使用自动增寻址方式访问HPIA。通过写HPIC,主机可以中断C54X,并且HINT输出可以被C54X用来中断主机。HPI主机接口第69页/共111页第70页/共111页C54x串行口标准同步串口SP 带缓冲的串行口BSP 时分复用串口TDM 多通道缓冲串口McBSPC54x串行口第71页/共111页标准同步串行口SP的连接图C54XDXFSXCLKXC54XDRFSRCLKRC54x串行口第72页/共111页ADS1178 ADC54x串行口第73页/共111页McBSP 的接收时序C54x串行口第74页/共111页缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元 ABU全双工、双缓冲,允许连续数据流ABU利用独立于CPU的专用总线,让串行口直接读/写C54x的片内存储器。这样可以使串行口处理事务的开销最小,并能提高效率。BSP有两种工作方式非缓冲方式和自动缓冲方式。当工作在非缓冲方式下时,其数据传输和标准同步串行口一样;当工作在自动缓冲方式下时,串行口直接与C54x 片内存储器进行16位数据传输。C54x串行口带缓冲的串行口BSP 第75页/共111页TDM将时间分成时间段,按时间段顺序周期性地与不同器件通信。C54x串行口时分复用串行口TDM 第76页/共111页多通道缓冲串行口McBSP是基于标准同步串行口的,允许直接与C54x/LC54x器件、编码设备或其他设备相连,它具有如下特点 全双工通信双缓冲数据寄存器,允许连续数据流独立的接收/发送时钟和帧信号支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外设高达128个通道的多通道传输包括8、12、16、20、24、32位的宽范围数据位选择律和A律压缩对发送/接收数据时钟和帧同步信号极性可编程内部时钟和帧信号可编程C54x串行口多通道缓冲串口McBSP第77页/共111页C54x串行口多通道缓冲串口McBSP第78页/共111页DMA控制器 器件直接内存访问(The device direct memory access,DMA)控制器可以不在CPU干涉的情况下直接进行存储器映射内的两点间的直接传输。DMA允许在CPU运行的情况下进行内部存储器、片内外设、外部器件之间进行数据移动。它有6个独立的可编程通道,允许6个不同的内容进行DMA操作。DMA控制器也提供来自主机接口(HPI-8、HPI-16)需求的利用DMA总线的服务 第79页/共111页定时器 C54x片内16位定时器是根据每个时钟自减,当定时器的计数器自减到0时,一个定时中断就产生了。定时器能被停止、重新启动、复位,或通过指定状态位进行禁止运行。定时器寄存器组成定时器寄存器TIM:此寄存器被PRD寄存器的值加载,并随计数减少。定时器周期寄存器PRD:此寄存器提供TIM数据加载。定时器控制寄存器TCR:此寄存器是定时器的控制和状态寄存器,第80页/共111页定时器 位名称复位值保留,总是01512ReservedSoft和Free一起决定在调试中遇到断点时,定时器的状态。(1)Soft=0,Free=0:定时器立即停止。(2)Soft=1,Free=0:定时器在计数器减到0时停止工作。(3)Soft=x,Free=1:定时器无视Soft位,继续工作11Soft010Free096PSC定时器预定标计数器值。当PSC的值减少到0后,TDDR中的数据加载到PSC,TIM减15TRB定时器重新加载控制位。当TRB为1时,TIM重新装载PRD的值,PSC重新装载TDDR的值。TRB总是读作04TSS0定时器停止位。T为0时,启动定时器;T为1时,停止定时器30TDDR0000当PSC被减少到0后,PSC被TDDR的值装载TCRTCRTCR寄存器寄存器寄存器第81页/共111页第82页/共111页定时器公式预标定器PSC根据CPU提供的时钟,每来一个时钟自减1,当PSC的值减少到0时,TDDR的内容加载到PSC(当系统复位(RESET输入信号有效)或定时器单独复位(TRB有效)时,TDDR的内容也加载到PSC);TIM根据预标定器PSC提供的时钟,每来一个预标定PSC的输出时钟减1,当TIM减数到0后,PRD中的内容自动加载到TIM(当系统复位或定时器单独复位时,PRD的内容也加载到TIM中),同时 TIM会产生一个定时器中断TINT信号,该信号被送到CPU和定时器输出TOUT管脚。由此,定时器的中断周期第83页/共111页PLL时钟发生器C54x时钟发生器由内部振荡器和锁相环电路构成,可通过晶振或外部时钟驱动。锁相环具有频率放大和时钟信号提纯的作用。利用PLL可以对时钟频率进行锁定、为芯片提供高稳定度的时钟信号,对外部时钟可以进行倍频,使外部时钟的周期低于CPU机器周期,以降低因高速开关时钟引起的高频噪声。当前锁相环电路有两种不同的配置方式一些器件使用硬件配置PLL电路,另外一些采用软件编程的方式进行配置 第84页/共111页硬件配置PLL模式选择管脚时钟模式CLKMD1CLKMD2CLKMD3选择1选择2000外部时钟源,PLL3外部时钟源,PLL5110外部时钟源,PLL2外部时钟源,PLL4100内部振荡器,PLL3内部振荡器,PLL5010外部时钟源,PLL1.5外部时钟源,PLL4.5001外部时钟源,频率除以2外部时钟源,频率除以2111内部振荡器,频率除以2内部振荡器,频率除以2101外部时钟源,PLL1外部时钟源,PLL1011停止模式停止模式PLLPLL时钟发生器时钟发生器第85页/共111页软件配置PLL软件可编程PLL非常灵活,它包括提供时钟的各种乘法系数,能够直接使能和禁止PLL。它可以锁定定时器,用来延迟转换PLL的时钟方式,直到锁定为止。软件可编程PLL可以通过两种模式来配置时钟输出PLL模式:输入时钟CLKIN以31个系数倍频,倍频范围为0.25至15。DIV模式:输入时钟被分频,分频范围为2或4。当采用DIV模式时,所有的模拟电路、包括PLL电路是被禁止的以达到减少功耗的目的。PLLPLL时钟发生器时钟发生器第86页/共111页举例:举例:举例:CLKMODCLKMOD寄存器初始化值为寄存器初始化值为0 x90070 x9007 CLKMODCLKMOD寄存器初始化值为寄存器初始化值为0 x77F70 x77F7PLLPLL时钟发生器时钟发生器第87页/共111页外部引脚 数据信号 初始化,中断和复位 多处理信号 存储控制信号 时钟信号 多通道缓冲串口0、1、2信号 主机接口信号 电源管脚 测试管脚 第88页/共111页知识点知识点2424:外部引脚:外部引脚 第89页/共111页外部引脚外部引脚 第90页/共111页外部引脚外部引脚 C54x AB150 PS MSTRB R/W DS IS IOSTRB DB150 DATA CS2 D WE CS1A OE PGMA D CS1 CS2 OE I/O CS1 DCS2WEA OE 第91页/共111页外部引脚外部引脚 第92页/共111页中断系统中断系统是为计算机系统提供实时操作、多任务和多进程的关键部件。中断信号的产生中断是由硬件驱动或者软件驱动的信号例如由外设向CPU传送数据(ADC)或外设向CPU提供数据(DAC)的硬件设备来产生的定时器当CPU响应中断时,将暂时停止当前程序的执行,而去执行中断服务程序ISR第93页/共111页中断分类 可屏蔽中断 16个用户可屏蔽中断 非屏蔽中断 软件中断复位RS中断NMI中断 第94页/共111页中断分类 第95页/共111页中断分类 第96页/共111页中断寄存器中断屏蔽寄存器IMR中断屏蔽寄存器主要是用来屏蔽外部或内部中断。如果CPU状态寄存器中的INTM位为0且IMR寄存器中有一位为1,就开放IMR寄存器中的那一位中断。RS和NMI都不能被IMR屏蔽。用户可以读写IMR寄存器。第97页/共111页中断寄存器中断标志寄存器IFR中断标志寄存器是一个存储器映射寄存器。当一个中断出现时,IFR中相应的中断标志位置1,直到此中断被CPU处理。任何下列事件都会清除IFR中的中断标志 C54x DSP被硬件复位中断触发被响应一个1被写入相应的尚未处理的IFR中断标志位使用相应中断号INTR指令被执行第98页/共111页中断处理步骤接受中断请求 应答中断 执行中断