已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
我的教案100605DSP 第一章绪论 一、数字信号处理实现的方法t (1)在通用的微机上用软件实现。 (2)利用特殊用途的DSP芯片来实现。 (3)利用专门用于信号处理的通用DSP芯片来实现。 (4)用FPGA/CPLD用户可编程器件来实现。 (1)在通用的计算机上用软件实现; (2)在通用计算机系统中加上专用的加速处理机实现; (3)用通用的单片机实现 (4)用通用的可编程DSP芯片实现 (5)用专用的DSP芯片实现 二、TMS320DSP系列1.通用DSP芯片的代表性产品包括TI公司的TMS320系列、AD公司ADSP21xx系列、MOTOROLA公司的DSP56xx系列和DSP96xx系列、AT&T公司的DSP16/16A和DSP32/32C等单片器件。 2.TI的三大主力DSP产品系列为C2000系列主要用于数字控制系统;C5000(C54x、C55x)系列主要用于低功耗、便携的无线通信终端产品;C6000系列主要用于高性能复杂的通信系统。 C5000系列中的TMS320C54x系列DSP芯片被广泛应用于通信和个人消费电子领域。 三、DSP芯片的主要特点1.哈佛结构2.多总线结构3.流水线结构4.多处理单元5.特殊的DSP指令6.指令周期短7.运算精度高8.硬件配置强 五、DSP技术的发展趋势(新增内容) (1)DSP内核结构进一步改善的趋势 (2)存储器构架的趋势 (3)SOC的趋势 (4)实时的趋势 (5)嵌入式的趋势第二章TMS320C54x的硬件结构2.1结构概述 一、TMS320C54x的主要特性3.指令系统单指令重复和块指令重复操作。 块存储器传送指令。 32位长操作数指令。 同时读入两个或3个操作数的指令。 并行存储和并行加载的算术指令。 条件存储指令。 从中断快速返回指令。 4.在片外围电路软件可编程等待状态发生器。 可编程分区转换逻辑电路。 带有内部振荡器。 外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。 数据总线具有总线保持器特性。 可编程定时器。 并行主机接口(HPI)。 5.电源可用IDLEl、IDLE2和IDLE3指令控制功耗,以工作在省电方式。 可以控制关断CLKOUT输出信号。 6.在片仿真接口具有符合IEEEll49.1标准的在片仿真接口(JTAG)。 7.速度单周期定点指令的执行时间为25/20/15/12.5/10-ns(40MIPS/50MIPS/66MIPS/80MIPS/100MIPS)。 二、TMS320C54x的硬件结构框图它围绕8条总线由10大部分组成。 硬件结构框图2.3存储器分配 一、TMS320C54x存储器由3个独立的可选择空间组成程序空间、数据空间和I/O空间。 程序存储器空间包括程序指令和程序中所需的常数表格;数据存储器空间用于存储需要程序处理的数据或程序处理后的结果;I/O空间用于与外部存储器映象的外设接口,也可以用于扩展外部数据存储空间。 三、程序存储器器件复位时,复位、中断和陷阱中断的向量映象在地址FF80H开始的程序控制界面系统控制程序地址控制数据地址控制乘法器加法器算术逻辑运算桶形移位器程序/数据存储器串行口并行口定时器中央处理器比较器特殊功能寄存器存储控制外设控制PAB PBCAB CBDAB DB存储器空间。 然而,复位后这些向量可以被重新映象在程序存储器空间任何128字页的开始。 这样,可以把向量表移出引导ROM,并重新配置其地址。 四、数据存储器通过对处理器方式状态寄存器PMST的DROM位的设置,将片内ROM配置在数据存储器空间(DROM=1),这样,可以用指令将片内ROM作为数据存储器中的数据ROM来读取。 复位时,DROM位被清0。 64K字的数据存储器空间包括数据存储器映象寄存器,0000H001FH是常用的CPU寄存器地址,0020H005FH是片内外设寄存器的地址。 五、I/O存储器除程序存储器空间和数据存储器空间外,C54x系列器件还提供了I/O存储器空间,利用I/O空间可以扩展外部存储器。 I/O存储器空间为64K字(0000hFFFFh),有两条指令PORTR和PORTW可以对I/O存储器空间操作,读写时序与程序存储器空间和数据存储器空间有很大不同。 FF80H中断矢量表(外部存储器)指数编码器【例】EXP A;(冗余符号位-8)T寄存器ST T,EXPONET;将指数值存到数据存储器中NORM A;对累加器进行归一化3数据存储器根据型号的不同,其容量范围为10200KW(千字),包括片上ROM、DARAM、SARAM。 当CPU产生的数据地址在片内数据存储器范围内时,便直接对片内数据存储器寻址;当CPU产生的数据地址不在片内数据存储器范围内时,CPU自动对片外数据存储器寻址。 2.5TMS320C54x片内外设简介或2.5片内外围设备1通用I/O引脚2定时器或硬件定时器3时钟发生器4主机接口(HPI)5串行口或串行通信接口6软件可编程等待状态发生器或软件可编程等待状态发生器7可编程分区转换逻辑或可编程块切换逻辑2.6复位电路TMS320C54x复位时,CPU中的主要寄存器ST0,ST1,PMST的状态分别为ST0=1800H,ST1=2900H,PMST=FF80H。 由于芯片内部工作在程序计数器控制的节奏下,由各寄存器控制各种片内功能,因此复位状态决定了芯片的最初情况。 同时,在复位情况下,各引脚状态不同,了解初始状态可以有助于外设控制设计。 二、复位电路发信号给外部设备检测外部设备状态:XF:BIO TMS320C54x复位有3种方式,即上电复位、手动复位和软件复位。 前两种是通过硬件电路实现的复位,后一种则是通过指令方式实现的复位。 第三章汇编指令系统3.1寻址方式3.1立即寻址在立即寻址方式中,指令中包括了立即操作数。 一条指令中可对两种立即数编码,一种是短立即数( 3、 5、8或9位),另一种是16位的长立即数。 短立即数指令编码为一个字长,16位立即数的指令编码为两个字长。 立即数寻址指令中在数字或符号常数前面加一个“”号,来表示立即数。 例RPT#99;将紧跟在RPT后面的下一条指令循环执行100次【例3-2】RPT#0FFFFH;将紧跟在RPT的下一条指令循环执行10000H次3.1.2绝对地址寻址1数据存储器地址寻址如MVKD DATA1,*AR22程序存储器地址寻址如MVPD TABLE1,*AR23端口寻址如PORTR F2F0,*AR54*(1k)寻址如LD*(BUFFER),A3.1.3累加器寻址累加器寻址方式将累加器内的当前值作为地址去访问该单元程序存储器。 累加器的地址用累加器中的数作为一个地址,这种寻址方RS TMS320C54x RC+5V RSTMS320C54x RC+5VR1(a)上电复位电路(b)上电或按钮复位电路缩写符号含义Smem16位单数据存储器操作数Xmem在双操作数指令及某些单操作数指令中所用的16位双数据存储器操作数,从DB总线上读出Ymem在双操作数指令中所用的16位双数据存储器操作数,从CB总线上读出;在读同时并行写的指令中表示写操作数dmad16位立即数数据存储器地址(065535)pmad16位立即数程序存储器地址(065535)PA16位立即数I/O口地址(065535)src源累加器(A或B)dst目的累加器(A或B)lk16位长立即数式可用来对存放数据的程序存储器寻址。 共有两条指令可以采用累加器寻址READA SmemWRITA Smem3.1.4直接寻址直接寻址指令中的低7位是一个数据页内的偏移地址,而所在的数据页由数据页指针DP或SP决定。 该偏移量加上DP和SP的值,决定了在数据存储器中的实际地址。 直接寻址的语法格式中,用一个符号或一个常数来确定偏移值。 例如ADD SAMPLE,A或ADDx,A3.1.5间接寻址间接寻址方式按照辅助寄存器中的地址访问存储器。 在间接寻址中,64KW16bit数据空间任意单元都可通过一个辅助寄存器中的16位地址进行访问。 TMS320C54x有8个16位辅助寄存器(AR0AR7),两个辅助寄存器算术单元(ARAU0和ARAU1),可以根据辅助寄存器的内容进行操作,完成无符号的16位算术运算。 3.1.6存储器映射寄存器寻址只有如下8条指令可用LDM MMR,dst MVDMdmad,MMR MVMDMMR,dmad MVMMMMRx,MMRy POPMMMR PSHMMMR STLMsrc,MMR STM#1k,MMR3.1.7堆栈寻址共有以下4条指令使用堆栈寻址方式访问堆栈 (1)PSHD把一个数据存储器的值压入堆栈 (2)PSHM把一个存储器映射寄存器的值压入堆栈 (3)POPD把一个数据存储器的值弹出堆栈 (4)POPM把一个存储器映射寄存器的值弹出堆栈3.2指令系统3.2.1符号与意义符号意义A累加器A ACC累加器ACCA累加器A ACCB累加器B ALU算术逻辑单元AR x特指某个辅助寄存器(0x7)ARP ST0中的辅助寄存器指针位,这3位指向当前辅助寄存器(AR)ASM ST1中的5位累加器移位方式位(-16ASM15)B累加器B BRAFST1中的块循环有效标志BRC块循环计数器BITC4位数决定位测试指令对指定的数据存储器值的哪一位进行测试C16ST1中的双16位/双精度算术方式位C ST0中的进位位CC两位条件代码(0CC3)CMPT ST1中的兼容方式位CPL ST1中的编译方式位cond用操作数表示条件执行指令使用的条件3.2.2TMS320C54x的指令系统1算术运算指令 (1)加法指令ADD语法表达式注释ADD Smem,src src=src+Smem与ACC相加ADD Smem,TS,src src=src+Smem (2)减法指令SUB (3)乘法指令MPY (3)乘法指令MPY (4)移位指令语法表达式注释ROL src带进位位循环左移累加器值循环左移算术逻辑单元(ALU)和累加器TMS320C54x使用40位算术逻辑单元(ALU)和两个40位累加器(ACCA和ACCB)来完成算术运算和逻辑运算,且大多数都是单周期指令。 ALU功能框图如图2-4所示。 桶形移位寄存器如图2-5所示为桶形移位寄存器的功能框图。 桶形移位寄存器的输入可以为从DB获得的16位操作数;从DB和CB获得的32位操作数;从累加器A或B获得的40位操作数。 桶形移位寄存器的输出连到ALU或经过MSW/LSW(最高有效字/最低有效字)写选择单元至EB总线。 指数编码器指数编码器用于支持单周期指令EXP的专用硬件。 在EXP指令中,累加器中的指数值能以二进制补码的形式(-831)存储在T寄存器中。 指数值定义为前面的冗余位数减8的差值,即累加器中为消除非有效符号位所需移动的位数。 当累加器中的值超过32位时,指数为负值。 CPU状态和控制寄存器TMS320C54x有三个状态和控制寄存器,分别为状态寄存器ST 0、状态寄存器ST1和处理器方式状态寄存器PMST。 ST0和ST1包括各种工作条件和工作方式的状态,PMST包括存储器配置状态和控制信息。 第四章DSP芯片内的CPU外围电路【例4-36】复位向量文件vectors.asm。 *Reset vectorsfor example.asm*.titlevectors.asm.ref start.sect.vectorsB start.end (2)编写example.asm.*example.asm y=a1x1+a2x2+a3x3+a4x4*.titleexample.asm.mmregs STACK.usectSTACK,10H;allocate spacefor stack.bss a,4;allocate9word forvariants.bss x,4.bss y,1.def start.data table:.word1,2,3,4;data follows.word8,6,4,2.text;code follows.start:STM#0,SWWSR;adds nowait statesSTM#STACK+10H,SP;set stackpointer STM#a,AR1;AR1point aRPT#7;move8values MVPD table,*AR1+;from programmemory;into datamemory CALLSUM;call SUMsubroutine end:B endSUM:STM#a,AR3;The subroutineimplement STM#x,AR4;multiply-aumulate RPTZA,#3MAC*AR3+,*AR4+,A STLA,y RET.end4.1定时器定时器的组成框图如图8-1所示。 它有3个存储器映象寄存器TIM、PRD和TCR。 这3个寄存器在数据存储器中的地址及其说明如表8-1所示。 定时器控制寄存器(所示。 定时器控制寄存器(TCR)位结构如图8-2所示,各控制位和状态位的功能如表8-2所示。 定时器由TIM,PRD,TCR三个寄存器组成 (1)TIM在数据存储寄存器中的地址为0024H,是减1计数器。 (2)PRD地址为0025H,存放定时时间常数。 (3)TCR地址为0026H,存储定时器的控制及状态位。 定时器产生中断的计算公式如下定时周期=CLKOUT(TDDR+1)(PRD+1)【例8-1】设时钟频率为16.384MHz,在TMS320C5402的XF端输出一个周期为2s的方波,方波的周期由片上定时器确定,采用中断方法实现。 1定时器0的初始化 (1)设置定时控制寄存器TCR(地址0026H)。 (2)设置定时寄存器TIM(地址0024H)。 (3)设置定时周期寄存器PRD(地址0025H)。 2定时器对C5402的主时钟CLKOUT进行分频CLKOUT与外部晶体振荡器频率(在本系统中外部晶体振荡器的频率为16.384MHz)之间的关系由C5402的三个引脚CLKMD 1、CLKMD2和CLKMD3的电平值决定,为使主时钟频率为16.384MHz,应使CLKMD1= 1、CLKMD2= 1、CLKMD3=0,即PLL?1。 3中断初始化 (1)中断屏蔽寄存器IMR中的定时屏蔽位TINT0置1,开放定时器0中断。 (2)状态控制寄存器ST1中的中断标志位INTM位清零,开放全部中断。 4.3多通道缓冲串口(McBSP)4.4主机接口(HPI)使用CCS开发应用程序的一般步骤:打开或创建一个工程文件。 使用CCS集成开发环境各类文件,如头文件(.h文件)、命令文件(.cmd文件)和源程序等。 对工程进行编译。 评估算法性能。 第五章汇编语言程序设计5.2.1COFF文件的基本单元段段?段(sections)是COFF文件中最重要的概念。 一个段就是最终在存储器映象中占据连续空间的一个数据或代码块。 目标文件中的每一个段都是相互独立的。 一般地,COFF目标文件包含3个缺省的段text段、data段、bss段。 ?段可以分为两大类,即已初始化段和未初始化段。 如图5-2所示为目标文件中的段与目标系统中存储器的关系。 5.2.2汇编器对段的处理1未初始化段?未初始化段主要用来在存储器中保留空间,通常将它们定位到RAM中。 这些段在目标文件中没有实际内容,只是保留空间而已。 程序可以在运行时利用这些空间建立和存储变量。 未初始化段是通过使用.bss和.usect汇编伪指令建立的,两条伪指令的句法分别为.bss符号,字数符号.usect“段名”,字数2已初始化段已初始化段包含可执行代码或已初始化数据。 这些段的内容存储在目标文件中,加载程序时再放到TMS320C54X存储器中。 三个用于建立初始化段的伪指令句法分别为.text段起点.data段起点.sect“段名”,段起点5.2.3链接器对段的处理?链接器对段的处理有两个功能。 首先,它将汇编器产生的COFF目标文件(.obj文件)中的各种段作为输入段,当有多个文件进行链接时,它将输入段组合起来,在可执行的COFF输出模块中建立各个输出段。 其次,链接器为输出段选择存储器地址。 链接器有两个命令完成上述功能,即?MEMORY命令定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。 ?SECTIONS命令告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出段。 子段可以用来更精确地编排段,可用链接器SECTIONS命令指定子段。 5.2.5程序装入 (1)硬件仿真器和CCS集成开发环境,具有内部的装入器,调用装入器的LOAD命令即可装入可执行程序。 (2)将代码固化在片外存储器中,采用Hex转换工具(Hex conversionutility),例如Hex500将可执行的COFF目标模块(.out文件)转换成几种其他目标格式文件,然后将转换后的文件用编程器将代码写入EPROM/Flash。 1段定义伪指令?为便于链接器将程序、数据分段定位于指定的(物理存在的)存储器空间,并将不同的obj文件链接起来。 段的使用非常灵活,但常用以下约定?.text此段存放程序代码。 ?.data此段存放初始化了的数据。 ?.bss此段存入未初始化的变量。 ?.sect名称定义一个有名段,放初始化了的数据或程序代码。 1程序存储器数据存储器例初始化数组x5=1,2,3,4,5。 .titlezh9.asm.mmregs STACK.usectSTACK,10H.bss x,5.data table:.word1,2,3,4,5.def start.text start:STM#x,AR1RPT#4MVPD table,*AR1+end:B end.end2数据存储器数据存储器例编写一段程序,将数据存储器中数组x20中的数据复制到数组y20中。 .titlezh10.asm.mmregs STACK.usectSTACK,30H.bss x,20.bss y,20.data table:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20.def start.text start:STM#x,AR1RPT#19MVPD table,*AR1+;从程序存储器传送到数据存储器中STM#x,AR2STM#y,AR3RPT#19MVDD*AR2+,*AR3+;从数据存储器传送到数据存储器中end:B end.end例计算z=x+y?w。 SUMB:LDx,A ADDy,A SUBw,A STLA,z RET.end计算结果数据寄存器地址存储内容十进制数x0060H000AH10y0061H001AH26w0062H0017H23z0063H000DH132并行运算(新增内容)例用并行运算指令编写计算z=x+y和f=e+d的程序。 .mmregs STACK.usectSTACK,10H.bss x,3.bss d,3.def start.data table:.word0123H,1027H,0,1020H,0345H,0.text start:STM#0,SWWSR STM#STACK+10H,SP STM#x,AR1RPT#5MVPDtable,*AR1+STM#x,AR5STM#d,AR2LD#0,ASM LD*AR5+,16,A ADD*AR5+,16,A STA,*AR5;并行指令|LD*AR2+,B ADD*AR2+,16,B STHB,*AR2end:B end.end设置堆栈之后,就可以使用堆栈了,例如CALL pmad;(SP)-1SP,(PC)+2TOS;pmadPC RET;(TOS)PC,(SP)+lSP中断请求1.不可屏蔽中断2.可屏蔽中断外部中断触发方式有两种,分别是电平触发和边沿触发。 (1)电平触发方式是指外部的硬件中断源产生中断用电平表示。 (2)边沿触发方式是指以负脉冲方式输入的外部请求源产生的中断。 6.4用CCS开发简单的程序1创建新的工程文件工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。 (1)在CCS的安装目录的myprojects子目录下创建一个volume1目录。 (2)启动CCS,在Project菜单中选择New项,在Project中输入volume1,CCS将创建一个名为volume1.pjt的工程。 2.将文件添加到工程中3生成和运行程序4改变Build选项并修改程序语法错误5断点和观察窗口的应用7.1.6TMS320C54x中断系统1中断类型?C54x支持软件中断和硬件中断。 软件中断由程序指令产生(INTR、TRAP或RESET)。 硬件中断由设备的一个信号产生,包括两种类型外部硬件中断由外部中断口的信号触发;内部硬件中断由片内外设的信号触发。 无论是硬件中断还是软件中断,都属于以下两种类型 (1)可屏蔽中断 (2)非屏蔽中断2中断标志寄存器(IFR)和中断屏蔽寄存器(IMR)3中断响应过程(如图7-3所示) (1)接受中断请求。 (2)响应中断。 (3)执行中断服务程序(ISR)。 4重新映象中断向量地址?C54x的中断向量表是可重定位的,即在DSP复位时,中断向量表的起始地址固定为0FF80H,复位后,此表的起始地址可由用户指定。 ?中断向量可重新被映象到程序存储器的任何一个128字页开始的地方(除保留区域外)。 中断向量地址由PMST中的中断向量指针IPTR(9位)和中断向量号(031)左移两位后组成。 如图7-4所示。 7.1.7堆栈的使用堆栈寻址:当发生中断或子程序调用时,系统堆栈自动保存PC值。 堆栈也可以用于保存和传递其他数据。 堆栈由高地址向低地址增长,处理器使用值。 堆栈也可以用于保存和传递其他数据。 堆栈由高地址向低地址增长,处理器使用16位的存储器映象寄存器位的存储器映象寄存器堆栈指针(SP)对堆栈进行寻址,SP总是指向压入堆栈的最后一个数据。 总是指向压入堆栈的最后一个数据。 ?堆栈被用于保存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025未经许可房屋买卖合同书
- 聘请专家协议合同范本
- 2025年湖北网页设计试卷及答案
- 2025标准版小麦委托加工合同模板
- 2025年宠物寄养APP开发行业功能设计趋势与用户体验调研
- 2025年短视频创作者保底结算合同协议
- 2025年低空经济「航空运动」市场分析与增长潜力报告
- 2025年低空飞行器「节能环保」一体化补给站发展前景研究报告
- 2025年共享电动滑板车投放市场运营成本控制报告
- 2025年建筑劳务分包合同协议模板
- 相机租赁合同模板
- 全国公开课一等奖统编版七年级语文上册新教材(统编2024版)《往事依依》课件
- DBJ51-T 040-2021 四川省工程建设项目招标代理操作规程
- PDCA课件培训教学课件
- 四年级下册劳动《小小快递站》课件
- 2023九年级数学上册 第四章 图形的相似4 探索三角形相似的条件第4课时 黄金分割教学实录 (新版)北师大版
- 餐饮五常管理法
- 204张思维导图速记初中1600单词(完整排版-直接打印)
- 贲门癌术后护理流程
- 2021浙江省公务员考试行测真题含答案
- 创新方法大赛理论知识考核试题题库及答案
评论
0/150
提交评论