您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > DSP-重点--(仅供参考)
第一章DSP技术概要1.DSP的含义①数字信号处理是采用数值计算的方法对信号进行处理的一门科学②数字信号处理器则是一种用于数字信号处理的可编程微处理器2.2.DSP系统的基本结构DSP系统的基本结构P13.计算机的总线结构(1)冯•诺依曼总线示意图P2(2)哈佛结构和改进哈佛结构示意图P3(3)计算机的总线结构分为:冯诺依曼结构和哈佛结构。多数微处理器和单片机采用冯诺依曼结构,对指令的执行只能串行进行,而不能并行进行,所以处理速度慢,数据吞吐量低,只含一条内部总线和数据总线DSP采用的是改进型哈佛总线结构。哈佛结构的程序存储器和数据存储器是分开的。有多条独立的程序总线和数据总线。PAB(程序地址总线)PDB(程序数据总线)PCB(程序控制总线)DAB(数据数据总线)DCB(数据控制总线)它们可以同时对程序和数据进行寻址和读写。因此指令的执行和对数据的访问可以并行进行,使CPU的运行速度和处理能力都得以大幅度提高。改进型哈佛结构的改进之处是:在数据总线和程序总线之间有布局的交叉连接,也就是说,在程序空间和数据空间之间有相互访问的能力,从而增加了存储器访问的灵活性,提高了DSP的运行效率。DSP的哈佛总线改进之处体现在(1)片内RAM可以映像至数据空间,也可以映像至程序空间(2)片内ROM可以映像至程序空间,也可以映像至数据空间(3)具有装载功能4.DSP芯片内集成有硬件乘法器和乘加单元,没有除法硬件。5.DSP芯片具有硬件重复循环机制,进入重复机制的指令会自动变为单周期指令,大大减少了执行时间。6.TI公司发展起三大系列的DSP芯片TMS320C2000TMS320C5000TMS320C6000系列①TMS320C2000该系列是作测控应用的16位/32定点DSP,执行速度最高达150MIPS,有两个系列C24X、C28X②TMS320C5000该系列是低功耗的16位定点DSP,处理速度最高可达600MIPS,有C54X和C55X两个系列③TMS320C6000该系列是高性能的32位DSP,C6000中又分三个系列C62XX、C64XX和C67XX,其中C62XX、C64XX是定点DSP,C67XX是浮点DSP。7.ADI公司的DSP主要有4个系列①ADSP21XX系列,主要以218X和219系列为代表②SHARC系列,该系列是32位浮点DSP③TigerSHARC系列,该系列比SHARC系列具有更高的浮点运算功能④Blackfin系列,低功耗高性能的16/32位DSP8.DSP芯片的分类①按照数据格式分类分为定点DSP和浮点DSP定点DSP以定点数据格式工作,数据长度通常为16/32位,其特点:成本较低,功耗小,数值表示范围较窄,编程难度大,有混合小数运算时,必须使用定点定标方法浮点DSP以浮点数据格式工作,数据长度通常为32/64位,特点:开发较容易,更适合大量数字信号处理运算的应用场合,硬件结构相对复杂,功耗较大,且比定点DSP价格高,通常浮点芯片使用在对数据动态范围和精度要求较高的系统中。②按芯片用途分类分为通用型DSP和专用型DSP通用型DSP可编程和处理能力强,适用于普通的数字信号处理应用。专用型DSP为实现不同算法而专门设计的芯片,运算速度较高,编程能力有限,使用灵活性较差第二章TMS320C54X硬件结构及原理1.C54X的内部结构C54XDSP的内部结构主要由C54XCPU内核、片内存储器、片内外围设备(简称片内外设)三大部分组成。多总线的哈佛结构C54X片内配置了8套16位的地址总线和数据总线,用以实现CPU与片内存储器的数据交换,片内还有一套外设总线,通过6通道的直接存储器访问(DMA)可以实现片内外设的数据传送。CPU内核C54XCPU内含有一个40位算术逻辑运算单元(ALU)和两个40位的累加器(ACCA、ACCB)C54X片内存储空间:C54X片内集成了3ROM和RAMC54X的片内外设包括带有片内锁相环(PLL)的时钟发生器;带4位预定标器的16位可编程定时器,支持全双工操作的多缓冲串行口;与主机通信的8/16位的并行主机接口(HPI);6通道DMA控制器,软件可编程等待状态发生器和可编程分区转换逻辑电路;多条通用的数字I/O接口,具有符合IEEE-1149.1标准的片内仿真接口等。C54X的节电模式提供可编程选择的节电模式:IDLE1IDLE2IDLE3(最省电)C54X的总线结构C54X采用了多总线结构,由8套16位的内部总线组成②2套程序存储器操作总线:程序地址总线PAB、程序总线PB②6套数据存储器操作总线:数据地址总线CABDABEAB,数据数据总线CBDBEB程序存储器操作总线程序地址总线PAB为CPU提供取指令和写指令时所需的地址,CPU可以通过程序总线PB读取程序存储器的指令代码和立即数,或通过数据总线EB进行程序的写操作,程序存储器的数据会经过PB总线传至数据存储器9.数据存储器操作总线数据地址总线CABDABEAB负责传送指令执行时所需要的数据存储地址总线CBDBEB负责读/写数据的传送,内部总线使用情况:①单数据操作数(Smem)的读使用DAB和DB,单数据的写操作使用EAB和EB②读取长数据操作数(Lmem)时CAB和CB分别提供高16位数据的地址和数据,DAB和DB分别提供低16位数据的地址和数据③读取双数据操作数(Xmem,Ymem)时,由DAB给出Xmen的地址从DB上读取数据,Ymem的地址及数据分别取自CAB和CB总线④片内提供一套与片内外设通信的双向总线10.累加器C54XCPU内有两个40位的累加器A和B,每个累加器都有三个组成部分:低15~0高16~31和8位保护位39~32.保护位的作用:在数值计算中,当出现32位有符号运算溢出时,可以用来保存溢出结果,增大了计算结果的动态范围,提高了定点运算的精度。11.指数编码器(计算)指数编码器是用来求累加器中数据指数的专业硬件,浮点数据格式的数字信号处理中特别有用,它在计算要求精度高,需要采用CPU的状态和控制寄存器①C54XCPU有3个状态和控制寄存器,分别是状态寄存器ST0、ST1和处理器模式状态寄存器PMST。②对ST0、ST1进行访问或修改的方法-用指令SSBX或RSBX对ST0、ST1的某些位置位或清零-用装载指令LD给ST0、ST1的某些位加载数据-用存储指令STM等给ST0、ST1加载设定值13.C54X的存储空间分为3个独立空间程序空间、数据空间、I/O空间程序存储器基本空间64K字,最大可扩展至8M字数据存储器空间64K字,I/O空间64K字14.程序存储器(第0页)P30①程序空间用于存放指令代码和常系数表格②程序存储器第0页的地址0000h~FFFFh③当=0时,上电复位程序从片内ROM开始执行,第一条指令的地址FF80h当=1时,上电复位后程序从片外扩展的程序存储芯片的地址FF80h开始执行15.分页扩展P32C5402有20条外部地址线A19~A0,16条外部数据线D15~D0,最大可扩展程序空间220=1M字,扩展后的程序空间分为16页,每页64K字节,在CPU内部有一个16位的专用寄存器—程序计数器扩展寄存器(XPC),用于指出页地址0~1516.采用MMR方式访问寄存器的优点简化了寻址方式,提高了访问效率,使得CPU对寄存器的读取以及寄存器之间、寄存器与存储器之间的数据交换更加灵活方便17.C54X处于复位时,DSP进行的操作P35①处理器模式状态寄存器PMST的位IPTR=1FFh,将中断矢量表的128个字置于程序存储器的FF80h~FFFh区域②使程序计数器PC=FF80h,即复位程序从FF80h开始执行③使ST1的位INTM=1,关断所有可屏蔽中断④使中断标志寄存器IFR=0,指向程序存储器空间的第0页18.C54X系列DSP提供了多种省电工作方式P36主要有4种:空闲方式1(复位或中断唤醒)、空闲方式2(外部中断源唤醒)、空闲方式3(外部中断源唤醒)和保持方式,其中IDLE3最省电19.中断的分类P38(1)根据C54X中断申请源的不同,可将中断划分为软件中断和硬件中断,软件中断通过执行指令INTR、TRAP或RESET而引发;硬件中断则由来自外部引脚的触发信号或来自片内外设的中断申请而引发。(2)从屏蔽的角度来看,可将中断划分为可屏蔽中断和非可屏蔽中断。非屏蔽中断是指不能被禁止的中断。C54X的非屏蔽中断包括所有的软件中断和两个外部硬件中断和,可屏蔽中断是指可以通过软件设置来禁止或允许的中断。C54X有13~16个可屏蔽中断,分别为外部引脚和片内外设所对应的硬件中断20.中断优先级P38中断优先级由芯片本身确定的,用户不能通过软件来修改(硬件复位)21.14个可屏蔽中断①外部~(4个)②定时器中断TINT(1个)③串行口中断RINT0、XINT0、RINT1、XINT1、RINT2、XINT2(6个)④主机接口中断(1个)⑤直接存储器访问DMA中断DMAC4,DMAC5(2个)22.中断矢量地址的计算P4023.软件中断指令介绍①指令RESET:可在程序的任何位置使用,由RESET引起的软件复位与引起的硬件复位其初始状态是不同的②INTRK0≤K≤31不管ST1中的中断屏蔽位INTM及中断屏蔽寄存器(IER)的状态如何,执行该指令都会强行使CPU跳转至K所指出的中断矢量地址。当INTRK中断被确认时,位INTM被置1,禁止其他可屏蔽中断,但中断标志寄存器IFR的相应标志位不会置位,也不能清零该位。③TRAPK0≤K≤31TRAP指令不影响位INTM,在CPU响应TRAP指令所引发的中断时,可以被其他高优先级的可屏蔽中断打断。24.C54X有两个寄存器对中断进行管理,中断标志寄存器IFR,中断屏蔽寄存器IMR,都是16位的寄存器映像寄存器,地址分别为(IFR)0001H(IMR)0000H25.当一个中断请求出现时,将把中断标志寄存器IFR中的相应位置126.IMR的各位可以看作是可屏蔽中断的分开关,给相位的标志位写1,允许该中断源产生中断,写0禁止该中断,而ST1中的INTM是总开关,INTM=0,使总开关闭合,令相应IMR某位=1使分开关闭合,该可屏蔽中断才能得到CPU响应,INTM、IMR对、不起作用。27.中断响应及中断处理过程(1)非屏蔽中断或软件中断的处理过程①产生一个中断应答信号②将INTM位置1,屏蔽其他可屏蔽中断(TRAPK指令除外)③保存当前PC值,以便中断结束后,返回主程序④CPU进入相应中断服务程序ISR,执行ISR⑤在ISR结束位置有一条返回指令,执行返回指令把返回地址从堆栈中弹给PC⑥CPU继续执行主程序(2)可屏蔽中断的处理过程首先判断:1)INTM=02)IMR的相位位为13)当前中断优先级最高为真时进行处理:①INTM位置1,屏蔽其他可屏蔽中断②CPU开始对中断矢量表的相应位寻址③当取出中断矢量的第一个字节指令后,DSP产生一个中断应答信号,并将IFR相应位清零④保存当前PC值⑤CPU进入相应中断服务程序ISR,执行ISR⑥在ISR结束位置有返回指令,执行返回指令将返回地址从堆栈中弹给PC⑦CPU继续执行主程序28.C54X流水线操作由6个阶组成预取指(P),取指(F)译码(D)寻址(A)读数(R)执行(X)29.指令末尾加“D”为有延时操作,否则是无延时操作,有延时操作缩短了执行时间30.流水线冲突(时序性、逻辑性)当多个流水线上的指令同时访问DSP的同一资源时所造成的时序上的冲突或一条指令要使用前一条或前几条指令的运行结果,而这个结果还没有产生,此时就会产生逻辑性的错误第三章汇编语言指令系统.1在一些实时要求较高的场合仍需采用汇编编程2.C54X指令集包括汇编语言指令、汇编伪指令和宏指令。汇编语言指令又称硬指令。宏指令是由硬指令和伪指令组成的程序段,汇编伪指令在汇编和连接过程中提供信息。3.寻址方式①立即寻址,有“#”例:LD#4,DP4→DP②绝对寻址,指令中包含着操作数的地址*()有四种类型1)数据存储器寻址2)程序
本文标题:DSP-重点--(仅供参考)
链接地址:https://www.777doc.com/doc-4791685 .html