第2章 TMS320C5416结构与工作原理_第1页
第2章 TMS320C5416结构与工作原理_第2页
第2章 TMS320C5416结构与工作原理_第3页
第2章 TMS320C5416结构与工作原理_第4页
第2章 TMS320C5416结构与工作原理_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

第二章TMS320C5416结构与工作原理(6学时)主要内容DSP芯片组成?中央处理器?总线结构?存储器?片内外设和引脚?中断系统?DSP的硬件结构特点运算速度快组成CPU:存储器系统:片内外设:其他功能模块DSP的硬件结构框图JTAG测试/仿真接口McBSP1McBSP2McBSP3ClockPLLGeneratorHPIGPI/OS/WWaitstateGenerator64KRAM单访问程序存储器64KRAM双访问程序/数据存储器16KProgramROMCPUTimerPeripheralBusProgram/DataBusesDMA电源管理2.1中央处理器CPU40位算术逻辑运算单元ALU40位累加器A和B桶形移位寄存器,支持-16至31移动范围乘法/累加器16位暂存器T16位传输寄存器TRN比较、选择和存储单元CSSU指数编码器CPU状态和控制寄存器。系统控制接口程序地址产生器PAGEN数据地址产生器DAGEN存储器和外部接口DMA控制器片内外设PABPBCABCBDABDBEABEB乘法/加法器算术逻辑单元ALU指数编码器CPU状态控制寄存器桶形移位寄存器比较、选择和存储单元累加器B累加器ACPU2.1.1算术逻辑运算单元40位ALU(ArithmeticLogicUnit)配合累加器A和B,执行算术、逻辑运算、布尔运算功能,绝大多数算术逻辑运算指令都在一个周期内完成。一个运算操作在ALU执行后,运算的结果一般被送到累加器A或B中(执行存储操作指令ADDM、ANDM、ORM、XORM除外)算术逻辑运算单元ALU累加器A累加器B数据总线CB15-CB0数据总线DB15-DB0乘法/累加单元(MAC)输出符号控制符号控制转移输出(40)ALU的输入移位器输出(32位或16位数据存储器操作数或者移位后累加器的值)。数据总线DB的数据存储器操作数。Y端的输入来自下列3个方向中的一个:累加器A或B。数据总线CB的数据存储器操作数。T寄存器的数据ALU的输出ALU的输出为40位,被送入累加器A或B。ALU溢出处理和ST1中的OVM有关.发生溢出时后,溢出标志位OVA或OVB置位,直到复位或执行溢出条件指令时恢复。ALU进位位ALU的进位位C受大多数算术指令影响(包括循环和移位指令)。进位位可以用来支持扩展精度的算术运算。进位位不受累加器装载、逻辑运算、其他非算术指令或控制指令影响,所以它还可以用来进行溢出管理。根据进位位的值,可以利用条件操作指令C和NC来进行分支转移、调用或返回操作。利用指令RSBX、SSBX或硬件复位来对进位位置位。双16位算术运算CPU状态寄存器ST1的C16如果处于置位状态,用户就可以让ALU在单周期内进行特殊的双16位算术运算,即进行两次16位加法或两次16位减法。举例ADD*AR1,A ;双字节指令,表示ALU的两个输入端分别累加器A和移位器ADD*AR2,*AR3,A ;双字节指令,表示ALU的两个输入端分别是DB和CB2.1.2累加器A和B累加器(accumulator)A和B都可以配置成乘法器/加法器或ALU的目的寄存器。在执行MIN和MAX指令或者并行指令LD||MAC时,一个累加器执行数据加载,另一个累加器执行运算AG保护位39--32AH高位31--16AL低位15--0BG保护位39--32BH高位31--16BL低位15--0累加器A累加器B累加器A和B都可以匹配成乘法器/加法器或ALU的目的寄存器A,B;可用PSHM或POPM指令将它们压栈或出栈AGAHALBGBHBL保存累加器的内容累加器移位和循环移位SFTA,SFTL,SFTC,ROL,ROR,ROLTC饱和处理累加器内容专用指令2.1.3桶形移位寄存器C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标。在ALU运算前,对来自数据存储器的操作数或者累加器的值进行预定标执行累加器的值的一个逻辑或算术运算对累加器的值进行归一化处理对存储到数据存储器之前的累加器的值进行定标它能将输入数据进行0-31位的左移和0-16位的右移。所移动的位数可由ST1中的ASM或被指定的暂存器T决定。ADDA,-4,B;累加器A右移4位后加到累加器BADDA,ASM,B;累加器A按ASM规定的移位数移位后加到累加器BNORMA;按T寄存器中的数值对累加器归一化MSW/LSW写选择数据总线DB15-DB0数据总线CB15-CB0数据总线EB15-EB0桶形移位(-16至31)符号控制T寄存器:16~31ASM(4-0):-16~15指令寄存器立即数:-16至15,或者0至15累加器A累加器B2.1.4乘法/累加器C54x的MAC是由乘法器、加法器、符号控制、小数控制、零检测器、舍入器、饱和逻辑和暂存器几个部分组成。MAC具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1次加法运算。在数字滤波以及自相关等运算中,使用MAC可以大大提高系统的运算速度。举例MPY#1234H,A ;XM来自于T,YM来自于DBMPYAB ;XM来自于T,YM来自于AMACP*AR2,pmad,A ;XM来自于DB,YM来自于PBDSPRequiresMultiplyandAccumulate来自累加器A来自累加器BCB数据总线:CB15-CB0DB数据总线:DB15-DB0PB程序总线:PB15-PB0符号控制符号控制乘法器(17×17)加法器(40)T寄存器去自累加器A和B2.1.5比较、选择和存储单元C54x的选择、比较、存储单元(CSSU)是一个特殊用途的硬件电路,专门用来完成Viterbi算法中的加法/比较/选择(ACS)操作。从累加器(32bit)选择出较大的字(16bit)并存储在数据存储器中CCS单元由比较电路COMP、状态转移寄存器TRN和状态比较寄存器TC组成。举例DADSTLmen,dst;Lmem(31至16)+T→dst(39至16),;Lmem(15至0)-T→dst(15至0)来自累加器B来自累加器A来自桶形移位器比较、选择和存储单元数据总线:EB15-EB0MSW/LSW选择器2.1.6指数编码器指数编码器是一个在单周期内完成EXP指令的专用硬件,其结构如图2.8所示。该指令获得累加器中的指数值并以二进制补码的形式(-8至31)把它存储到T中。为消除多余符号位而将累加器中的数值左移,其左移的位数和累加器指数值冗于符号位-8有关,当累加器的值超过32位时,这个结果为负数。举例EXPA;T把累加器A的指数→TSTT,EXPONENT;保存指数(T)到数据存储区NORMA;归一化寄存器A,依靠T的值移动累加器A的值来自累加器A来自累加器B指数编码器(EXPencoder)到T寄存器2.1.7CPU状态和控制寄存器状态寄存器0(ST0)状态寄存器1(ST1)处理器工作模式状态寄存器(PMST)ST0和ST1包含各种工作条件和模式的状态;PMST包含存储器设置状态和控制信息。由于三个寄存器都是存储器映射的,他们都能存储到数据存储器或从数据存储器中获得。它们也能用子程序或中断服务子程序(ISR)保存或恢复。状态寄存器(ST0、ST1)寄存器ST0、ST1的每一位都可以使用SSBX、RSBX指令进行置位或者清零。例如,可以使用SSBX1,SXM指令对符号扩展模式进行设置,或者使用RSBX1,SXM指令进行复位等。ARP、DP和ASM位可以利用LD指令使用短立即操作数进行加载。ASM和DP也可以利用LD指令使用数据存储器的值进行加载。处理器工作模式状态寄存器(PMST)可以利用存储器映射寄存器指令如STM对PMST寄存器进行加载。2.2总线结构C54x系列DSP的总线结构是由8条16位总线构成(4条程序/数据总线和4条地址总线)。程序总线PB:传送来自程序存储器的指令和立即数。数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器去的数据。地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。总线结构图:ProgramA/DBus(P)DataReadA/DBus(D)DataReadA/DBus(C)DataWriteA/DBus(E)Ext’lMemI/FADInternalMemoryExternalMemoryExternal:1access/cycleupto8MwordsprogramInternal:Upto4accesses/cycle2.3存储器2.3.1普通存储器的概念ROM和RAM存储器的计算通常来说,存储器的容量是和它的地址线和数据线有关的。在地址线、数据线不复用的情况下,比如10根地址线8根数据线组成的存储器,通常的存储容量就是×8bit,即寻址空间为1024,存储容量为1K字节;又如16根地址线16根数据线组成的存储器,通常的存储容量就是×16bit,即寻址空间为8K,存储容量为8K字2.3.2存储空间分配C54x共有192K字的可寻址存储空间。其存储空间可分为三部分64*2KBYTE的程序存储器64*2KBYTE的数据存储器64*2KBYTE的IO空间片内存储器,片外存储器所有C54XDSP片内都有随机存储器RAM和只读存储器ROM.SRAM,DARAM在C54x系列芯片中,不同型号的芯片其内部存储器的配置是不同的2.3.3程序存储空间大多数C54x系列器件对外部程序存储器的寻址范围可为64K字,片内ROM、双访问RAM(DRAM)、单访问RAM(SARAM)、双路分享RAM等都可以通过软件设置映射到程序存储空间。当存储单元被映射到程序空间时,如果寻址范围在片内存储器中,C54x器件能自动对片内访问,如果程序地址产生单元(PAGEN)产生的地址在片外,C54x器件能自动对片外进行访问。程序存储器的配置MP/MC、OVLY位决定哪些片内存储器属于程序空间。当复位时,MP/MC管脚的逻辑电平被传输至PMST寄存器中的MP/MC位。MP/MC的值决定片内ROM的设置:MP/MC=1,C54x器件被设置成微处理器模式,片内ROM不启动MP/MC=0,C54x器件被设置成微计算机模式,片内ROM启动MP/MC管脚的值仅仅在复位的时候被采样,用户可以通过软件的方式对PMST寄存器中MP/MC位进行置位和清零。地址第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(32K×16位)8000H0FF7FH外部使用8000H0BFFFH外部使用8000H0FFFFH片内DARAM4-7(DROM=1)或者片外(DROM=0)C000H0FEFFH片内ROM(4K×16位)0FF80H0FFFFH中断(片外)0FF00H0FF7FH保留0FF80H0FFFFH中断(片内)MP/MC=1微处理器模式MP/MC=0微计算机模式程序存储器的分页扩展VC5416有64K字数据存储空间、64K程序存储空间、64K的I/O存储空间,可以采用分页的方式扩展程序存储空间至8192K字。可以用CPU状态寄存器PMST中MP/MC、OVLY、DROM位对存储空间进行设置分配和分页复用。当采用分页复用时,需要用到一个额外的存储器映射寄存器(程序计数器扩展寄存器XPC)。扩展的程序存储器映射

扩展的程序存储器映射(续)

片内ROM的组成片内ROM是被分成块的形式来提高运行效率的。例如用户可以从ROM的一个块里去获取指令而不需要从整个ROM中去获取指令。根据具体器件,ROM可以被组成成2K、4K、8K大小的块。对于2K-ROM,典型的ROM块为2K;对于4K-ROM、28K-ROM,典型的ROM块是4K;对于16K-ROM,典型的ROM块大小为8K。程序存储器地址映射当器件复位时,复位和中断向量都被映射到程序存储空间起始地址为FF80H的128字页片内ROM的128字空间是被芯片保留的,应用代码不可以写到程序空间FF00H-FF7FH的128字空间片内ROM内容C54x器件提供了各种ROM尺寸(2K字、4K字、16K字、28K字、48K字)。片内ROM引导区2K字(F800H-FFFFH)范围内一般包含下列内容,具体型号内容可以见相应芯片文档。自举加载程序,可从串口、外部存储器、I/O端口、主机接口加载。256字μ律扩展表256字A律扩展表256正弦函数查值表中断向量表用户代码保留中断向量表自举引导程序256字μ律扩展表256字A律扩展表256正弦函数查值表保留中断向量表2.3.4数据存储空间C54x的数据存储器容量可达64K字。除了双访问RAM(DARAM)、单访问RAM(SARAM)外,还可以通过软件设置把片内ROM映射到数据空间。数据存储空间设置数据存储空间可以设置成片内的也可以设置成片外的。片内DARAM都被映射到数据存储空间。对于一些C54x器件,用户可以通过由PMST寄存器中的DROM位把部分片内ROM映射到数据空间。这部分片内ROM既可以数据空间(DROM=1)也可以在程序空间(MP/MC=0)。复位时,处理器将DROM清零。片内RAM组成为了提高性能,片内RAM也被分为块结构存储器映射寄存器64K字数据存储空间中包括芯片的存储器映射寄存器,存储器映射寄存器存放在数据0页(数据存储空间地址为0000H-0070H)。可无等待访问的CPU寄存器。片内外设的控制和数据寄存器,这些寄存器存放在0020H-005FH中,并有双向外设总线连接2.3.5I/O存储空间C54xDSP除了程序存储空间和数据存储空间外,还提供I/O存储空间。I/O存储空间64K字寻址范围(0000H-FFFFH),仅仅存在片外。芯片通过2条指令PORTR、PORTW来访问这个空间。访问时,读时序和读程序存储空间、数据存储空间不同,它是访问独立的I/O映射设备而不是存储器。I/O空间还有两个专用I/O管脚BIO和XF。分支转移控制输入引脚BIO用来监控外围设备,决定分支转移的去向,以替代中断,不干扰对时间要求苛刻的循环。外部标志输出引脚XF可以向外部设备发信号,以控制外部设备工作。2.4片内外设与外部引脚软件可编程等待状态发生器可编程分区转换逻辑1个主机接口HPI3个多通道缓冲串行口McBSPs1个硬件定时器带锁相环的时钟发生器PLLDMA控制器2.4.1软件可编程等待状态发生器软件可编程等待状态发生器可以延长外部总线访问时间到14个机器周期。如果器件需要的总线延长时间超过14个机器周期,则可通过硬件外部接口的READY管脚来处理。当所有的外部访问被设置成0个等待状态时,连接到等待状态发生器的时钟被自动禁止。禁止等待状态发生的时钟可减少功耗2.4.2可编程分区转换逻辑可编程分区转换逻辑允许器件在外部存储器分区之间转换时不需要使用额外的等待状态。在程序空间或数据空间内,分区转换逻辑在访问通过32K字存储块边界时,自动插入一个周期。2.4.3主机接口HPIC54x系列DSP主机接口用来和其他主设备或处理器通信。通信在C54xDSP和主设备之间通过C54xDSP的片内存储器进行,片内存储器被主机和C54xDSP访问HPI的工作模式共用访问模式SAM:主机访问模式HOM:HPI的种类8位标准HPI88位增强型HPI-816位增强型HPI-162.4.4串行口标准同步串口SP带缓冲的串行口BSP时分复用串口TDM多通道缓冲串口McBSP多通道缓冲串口McBSP多通道缓冲串行口McBSP是基于标准同步串行口的,允许直接与C54x/LC54x器件、编码设备或其他设备相连,它具有如下特点全双工通信双缓冲数据寄存器,允许连续数据流独立的接收/发送时钟和帧信号支持T1/E1、MVIP、ST-BUS、IOM-2、AC97、IIS、SPI和一般的串行外设高达128个通道的多通道传输包括8、12、16、20、24、32位的宽范围数据位选择μ律和A律压缩对发送/接收数据时钟和帧同步信号极性可编程内部时钟和帧信号可编程2.4.5定时器

C54x片内16位定时器是根据每个时钟自减,当定时器的计数器自减到0时,一个定时中断就产生了。定时器能被停止、重新启动、复位,或通过指定状态位进行禁止运行。定时器寄存器组成定时器寄存器TIM:此寄存器被PRD寄存器的值加载,并随计数减少。定时器周期寄存器PRD:此寄存器提供TIM数据加载。定时器控制寄存器TCR:此寄存器是定时器的控制和状态寄存器,定时器公式预标定器PSC根据CPU提供的时钟,每来一个时钟自减1,当PSC的值减少到0时,TDDR的内容加载到PSC(当系统复位(RESET输入信号有效)或定时器单独复位(TRB有效)时,TDDR的内容也加载到PSC);TIM根据预标定器PSC提供的时钟,每来一个预标定PSC的输出时钟减1,当TIM减数到0后,PRD中的内容自动加载到TIM(当系统复位或定时器单独复位时,PRD的内容也加载到TIM中),同时TIM会产生一个定时器中断TINE信号,该信号被送到CPU和定时器输出TOUT管脚。由此,定时器的中断周期。2.4.6时钟发生器PLLC54x时钟发生器由内部振荡器和锁相环电路构成,可通过晶振或外部时钟驱动。锁相环具有频率放大和时钟信号提纯的作用。利用PLL可以对时钟频率进行锁定、为芯片提供高稳定度的时钟信号,对外部时钟可以进行倍频,使外部时钟的周期低于CPU机器周期,以降低因高速开关时钟引起的高频噪声。当前锁相环电路有两种不同的配置方式一些器件使用硬件配置PLL电路,另外一些采用软件编程的方式进行配置硬件配置PLL模式选择管脚时钟模式CLKMD1CLKMD2CLKMD3选择1选择2000外部时钟源,PLL×3外部时钟源,PLL×5110外部时钟源,PLL×2外部时钟源,PLL×4100内部振荡器,PLL×3内部振荡器,PLL×5010外部时钟源,PLL×1.5外部时钟源,PLL×4.5001外部时钟源,频率除以2外部时钟源,频率除以2111内部振荡器,频率除以2内部振荡器,频率除以2101外部时钟源,PLL×1外部时钟源,PLL×1011停止模式停止模式软件配置PLL软件可编程PLL非常灵活,它包括提供时钟的各种乘法系数,能够直接使能和禁止PLL。它可以锁定定时器,用来延迟转换PLL的时钟方式,直到锁定为止。软件可编程PLL可以通过两种模式来配置时钟输出PLL模式:输入时钟CLKIN以31个系数倍频,倍频范围为0.25至15。DIV模式:输入时钟被分频,分频范围为2或4。当采用DIV模式时,所有的模拟电路、包括PLL电路是被禁止的以达到减少功耗的目的。2.4.7DMA控制器器件直接内存访问(Thedevicedirectmemoryaccess,DMA)控制器可以不在CPU干涉的情况下直接进行存储器映射内的两点间的直接传输。DMA允许在CPU运行的情况下进行内部存储器、片内外设、外部器件之间进行数据移动。它有6个独立的可编程通道,允许6个不同的内容进行DMA操作。DMA控制器也提供来自主机接口(HPI-8、HPI-16)需

温馨提示

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

评论

0/150

提交评论