DSP应用技术之二.ppt
《DSP应用技术之二.ppt》由会员分享,可在线阅读,更多相关《DSP应用技术之二.ppt(163页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数字信号处理系列课程 DSP应用技术DSP 应用技术之二刘明 数字信号处理系列课程 DSP应用技术二 TMS320C2000处理器n2.1 TMS320C2000各系列DSP概述n2.2 芯片内部结构n2.3 常规外部引脚n2.4 程序控制n2.5 中断控制n2.6 存储器与I/O空间n2.7 片内外设 数字信号处理系列课程 DSP应用技术2.1 TMS320C2000概述 TMS320C2000系列DSP集微控制器和高性能DSP的特点于一身,具有强大的控制和信号处理能力,能够实现复杂的控制算法。其DSP芯片上整合了FLASH存储器、快速的AD转换器、增强的CAN模块、时间管理器、正交编码电
2、路接口、多通道缓冲串口等外设。其强大的数据处理功能和控制功能可以大幅度提高应用效率、降低功耗。数字信号处理系列课程 DSP应用技术TMS320C2000系列DSP产品 数字信号处理系列课程 DSP应用技术 C28系列是面向控制领域最高性能的处理器,具有精度高、速度快、集成度高等特点,为不同控制领域提供了高性能的解决方案。C24系列DSP则为不同应用平台提供了基本解决方案。DSP系列DSP类型特 性C28x32位定点150MIPS,3232位的乘法累加器,外设中断扩展模式,SCI、SPI、CAN、12位AD(80ns)、McBSP、watchdog、内部flash存储器,1.9V内核电压C24x
3、16位定点40MIPS,1616位乘法累加器,中断控制器,SCI、SPI、CAN、10位AD(375ns)、McBSP、watchdog、内部Flash存储器,3.3V内核电压 数字信号处理系列课程 DSP应用技术2.2 TMS320C2000内部结构 TMS320C2000系列DSP芯片采用改进的哈佛结构,其程序总线存储器和数据存储器分别独立,有各自的总线结构,并允许互访。TMS320C2000系列DSP芯片有3个主要组成部分:中央处理单元、存储器、片内外设。同一系列DSP都采用相同的中央处理单元、总线结构和指令集。但片内存储器以及外设有所区别。数字信号处理系列课程 DSP应用技术TMS32
4、0C240 x内部结构框图 数字信号处理系列课程 DSP应用技术2.2.1 中央处理单元n 32位中央算术逻辑单元(CALU)n 32位累加器(ACC)n 输入数据定标移位部分(Input Scaling Section)n 1616位的乘法器(MUL)n 辅助算术单元(ALAU)n 状态寄存器(ST0&ST1)数字信号处理系列课程 DSP应用技术1.中央算术逻辑部分中央算术逻辑部分 中央算术逻辑部分主要包括中央算术逻辑单元、累加器、输出数据定标移位器3部分。中央算术逻辑单元CALU 功能:进行各种算术逻辑运算,包括16位加减、布尔逻辑操作、位测试、移动和循环。特点:大部分运算只需一个时钟周期
5、。累加器ACC 功能:存放CALU的操作结果,并可对其进行单比特移动或循环。将结果输出到中央算术单元或输出数据定标移位器。与累加器相关联的状态位有溢出模式位、溢出标志位、进位位和测试控制标志位。分别影响ST0和ST1。数字信号处理系列课程 DSP应用技术输出数据定标移位器 功能:将累加器的32位值进行左移07位,然后将移位器中的高位字(用SACH指令)或低位字(用SACL指令)保存到数据存储器,而累加器的内容保持为移位前的值不变。移位方法:均左移,移位时高位丢失,低位补0。3 C F 0 F A 0 5 累加器:0011 1100 1111 0000 1111 1010 0000 0101左移
6、位后移位器:0011 1100 0011 1110 1000 0001 0100 0000 3 C 3 E 8 1 4 0 SACH SACL 数据存储单元 数据存储单元 数字信号处理系列课程 DSP应用技术2.输入定标部分输入定标部分 功能:将来自存储器的16位数据左移016位变成32位送往中央算术逻辑单元(CALU)。移位方法:均进行左移,左移后,低位LSB用0填入;没有使用的高位MSB根据状态寄存器ST1的符号扩展模式位SXM决定:当SXM0,用0填入;当SXM1,符号扩展。SXM0SXM1 数字信号处理系列课程 DSP应用技术3.乘法部分乘法部分 功能:在一个时钟周期内完成16位有符号
7、或无符号乘法,乘积32位。乘法器将来自16位数据存储器(或程序存储器)的值与16位TREG寄存器的值相乘,运算结果送到32位PREG乘积寄存器中。乘积移位器将PREG中的乘积移位后,全部32位送到CALU,或将结果的16位存到数据存储单元。移位后PREG的值不变。移位模式取决于状态寄存器ST1中的乘积移位模式位PM。数字信号处理系列课程 DSP应用技术C24x乘法器 数字信号处理系列课程 DSP应用技术 数字信号处理系列课程 DSP应用技术4.辅助寄存器算术单元辅助寄存器算术单元ARAU 功能:对8个16位的辅助寄存器(AR7AR0)执行算术操作,该操作可与CALU中的操作并行执行。寻址功能:
8、ARx提供了灵活而有效的间接寻址,使用其中任何一个寄存器都提供了16位地址,可以任意访问64K数据存储单元。运算功能:将辅助寄存器内容的值加、减一个数值;将AR0的内容与当前内容进行比较,结果影响ST1的TC位;辅助寄存器可用做暂存单元和软件计数器。数字信号处理系列课程 DSP应用技术5.状态寄存器状态寄存器 ST0和ST1均为16位,含有状态位和控制位,用以描述当前CPU工作状态。可以用指令对这两个寄存器进行读写。用LST指令,可以对ST0或ST1进行写操作,将指定数据装载到状态寄存器STx中;用SST指令,可以对ST0或ST1进行读操作,将状态寄存器STx的数值保存到指定数据单元;用SET
9、C或CLRC指令,可以对其中某些位置1或清0。数字信号处理系列课程 DSP应用技术状态寄存器ST0状态寄存器ST1注:R表示可读,W表示可写,x表示复位后的值 数字信号处理系列课程 DSP应用技术 数字信号处理系列课程 DSP应用技术 数字信号处理系列课程 DSP应用技术 数字信号处理系列课程 DSP应用技术2.2.2 系统配置寄存器 TMS320C20 x芯片没有系统配置寄存器。TMS320C240 x的系统配置寄存器包括系统控制和状态寄存器SCSR1,SCSR2。这两个寄存器均为存储器映射寄存器,分别对240 x的系统信号和片内外设模块进行选择配置。数字信号处理系列课程 DSP应用技术系统
10、控制和状态寄存器系统控制和状态寄存器SCSR1SCSR1CLKSRC.CLKOUT pin source select 0 CLKOUT pin has CPU Clock as the output 1 CLKOUT pin has Watchdog clock as the outputCLKPS2 CLKPS1 CLKPS0 System Clock Frequency 0 0 0 4 x Fin 0 0 1 2 x Fin 0 1 0 1.33 x Fin 0 1 1 1 x Fin 1 0 0 0.8 x Fin 1 0 1 0.66 x Fin 1 1 0 0.57 x Fin 1
11、 1 1 0.5 x Fin注解:数字信号处理系列课程 DSP应用技术系统控制和状态寄存器系统控制和状态寄存器SCSR2SCSR2Bits 10 SARAM Program/Data Space SelectDON PON SARAM status 0 0 SARAM not mapped(disabled),address space allocated to external memory 0 1 SARAM mapped internally to Program space 1 0 SARAM mapped internally to Data space 1 1 SARAM bloc
12、k mapped internally to both Data and Program spaces.(default or reset value)数字信号处理系列课程 DSP应用技术2.2.3 总线结构 TMS320C2000器件内部有6条16位总线。n PAB:程序地址总线,提供读写程序存储器地址n PRDB:程序读总线,将指令代码、立即数和表信息从程序存储器传送到CPUn DRAB:数据读地址总线,提供读数据存储器的地址n DWAB:数据写地址总线,提供写数据存储器的地址n DRDB:数据读总线,将数据从数据存储器传送到中央算术逻辑单单元(CALU)和辅助寄存器算术单元(ALAU)n
13、 DWEB:数据写总线,将数据写入程序存储器和数据存储器 数字信号处理系列课程 DSP应用技术TMS320C24x总线结构框图 数字信号处理系列课程 DSP应用技术C2000总线结构特点如下:总线结构特点如下:(1)采用各自独立的数据地址总线分别用于数据读(DBAB)和数据写(DWAB),因此CPU的读写可在一个周期内进行;(2)独立的程序空间和数据空间允许CPU同时访问程序指令和数据。例如,在对数据进行乘法运算时,先前的乘积可以与累加器相加,同时还可以产生出一个新的地址。这种并行机制可以支持一组算术、逻辑和位管理操作,这些操作均可以在一个机器周期内完成。数字信号处理系列课程 DSP应用技术2
14、.3 引脚和信号说明n事件管理器A、Bn模数转换器ADCnCAN,异步串行口SCI,同步串行口SPIn外部中断,时钟n振荡器,PLL,FLASH,引导程序n仿真与测试n地址、数据和存储器控制信号n电源和地 数字信号处理系列课程 DSP应用技术外部中断,时钟 数字信号处理系列课程 DSP应用技术振荡器、PLL、FLASH、引导程序 数字信号处理系列课程 DSP应用技术仿真和测试 数字信号处理系列课程 DSP应用技术地址、数据和存储器控制 数字信号处理系列课程 DSP应用技术A0A15:16位地址线D0D15:16位数据线 数字信号处理系列课程 DSP应用技术2.4 程序控制n程序地址的产生n转移
15、、调用和返回指令n重复指令 数字信号处理系列课程 DSP应用技术程序地址产生框图 数字信号处理系列课程 DSP应用技术2.4.1 程序地址产生 在执行当前指令的同时,程序流要求处理器生成下一条指令的程序地址(顺序或非顺序的)TMS320C2000芯片的程序地址产生逻辑使用以下硬件:(1)程序计数器PC:在取指令时,16位的程序计数器PC对内部和外部存储器寻址;(2)程序地址寄存器PAR:16位的程序地址寄存器驱动程序地址总线PAB,提供程序的读、写地址;(3)堆栈:16位宽、8级深度的硬件堆栈,最多可返回8个返回地址;(4)微堆栈MSTACK:有时程序地址产生逻辑使用这个16位宽、1级深度的堆
16、栈保存一个返回地址;(5)重复计数器RPTC:16位宽的RPTC与重复指令一起,用来确定RPT后面一条指令重复执行次数。数字信号处理系列课程 DSP应用技术1.程序计数器程序计数器 程序地址产生逻辑利用16位的程序计数器PC对内部和外部程序存储器寻址,PC中存放将被执行的下一条指令的地址。C2000有不同的方式加载PC,从而适应连续和不连续的程序流程。数字信号处理系列课程 DSP应用技术2.堆栈堆栈 C2000系列DSP有一个16位宽、8级深度的硬件堆栈。当调用子程序或发生中断时,程序地址产生逻辑利用该堆栈保存返回地址。当CPU进入子程序或中断服务程序时,返回地址自动装入堆栈的栈顶,这一操作不
17、需要附加的周期。当子程序或中断服务程序完成时,返回指令将返回地址从栈顶传送到程序计数器。当不需要用8级返回地址时,该堆栈也可以用来保存子程序或中断服务程序中有关的数据或用于其他目的。数字信号处理系列课程 DSP应用技术访问堆栈的指令有下列两组。PUSH和POP:PUSH指令把累加器(32位)的低半部分(低16位)拷贝到到栈顶。POP指令把栈顶的值拷贝到累加器的低半部分。PSHD和POPD:当子程序或中断嵌套超过8级时可利用这两条指令在数据存储区中建立一个堆栈。PSHD指令将数据存储器中的值压入栈顶。POPD指令将栈顶的值弹出到数据存储。每当一个数值压入栈顶,堆栈中每级的内容都下移一级,栈底的内
18、容则丢失。因此,如果没有弹出,连续压入多于8次就会丢失数据,即发生堆栈溢出。弹出操作与压入操作相反,弹出操作把堆栈中每一级的值都拷贝到较高的上一级,并取出堆栈顶部的值。数字信号处理系列课程 DSP应用技术PUSH指令POP指令 数字信号处理系列课程 DSP应用技术3.微堆栈微堆栈MSTACK 微堆栈只有1级深、16位宽,与堆栈不同,它的操作是不可见的。也就是说没有使用微堆栈保存信息的指令,只有程序地址产生逻辑才能够使用微堆栈。程序地址产生逻辑在执行BLDD,BLPD,MACD,MAC,TBLR和TBLW这些块操作指令时利用微堆栈保存返回地址。当执行这些指令时,首先把PC1的地址送到微堆栈保存,
19、然后用PC存放第一个操作数的地址,用辅助寄存器算术单元(ARAU)产生第二个操作数的地址,当这些指令重复执行时,PC可使第一个操作数的地址自动增量,ARAU使第二个操作数的地址改变,到所重复的指令完成时再将微堆栈弹出到程序地址产生逻辑。数字信号处理系列课程 DSP应用技术4.流水线操作流水线操作 指令流水线包括执行时发生的一系列总线操作。TMS320C2000的流水线有4个独立的阶段:取指令、指令译码、取操作数和执行指令。由于这4个操作阶段是互相独立的,因此,这些操作可以重叠进行。在任意的指定周期内,14个不同的指令均可有效(均被激活),每一条被激活的指令均处于一个不同的完成阶段。对于单字、单
20、周期指令(无等待状态)的4级流水线的操作示意图如下:数字信号处理系列课程 DSP应用技术2.4.2 转移、调用和返回 转移、调用和返回将改变指令流的顺序,转到新的地址单元去执行指令。转移仅使控制转换到新的地址单元,调用还要将返回地址(调用指令后面的那条指令的地址)保存到硬件堆栈的栈顶。每个被调用的子程序或中断服务程序都以返回指令结束,返回指令将堆栈中的返回地址弹出到程序计数器(PC)。TMS320C2000具有:无条件转移、调用和返回无需满足某个特定条件 有条件转移、调用和返回需要满足某个特定的条件才能被执行;数字信号处理系列课程 DSP应用技术1.无条件指令无条件指令 当碰到无条件转移和调用
21、指令时,该指令总是被执行。在执行期间,指令中指定的程序地址被装载到PC,并在该地址处执行程序。装入的地址既可以来自转移指令的第一个操作数,也可以是累加器的低16位字。当碰到无条件返回指令时,该指令总是被执行。执行期间,CPU将栈顶的值(返回地址)加载到PC,并从该地址继续执行程序。譬如:B、BACC、CALL、CALA、RET 当这些指令到达流水线的执行阶段时,位于流水中的其他指令字会自动被清除,即不执行这两条指令。数字信号处理系列课程 DSP应用技术2.有有条件指令条件指令 当满足一个或多个条件时,转移、调用或返回指令才被执行。数字信号处理系列课程 DSP应用技术 在条件指令的操作数中可以列
22、出多个条件。如果列出了多个条件,则必须所有条件均被满足才认为是条件满足的,程序才能被执行。应注意,只有某些条件组合才是有意义的。具体组合,详见Users Guide。条件转移指令有BCND和BANZ:这类指令可以使程序转移到程序存储器的任意单元,只有当满足用户指定的条件时,才能实现转移。条件调用指令CC:该指令可使程序根据处理数据的不同在多个子程序间进行选择,只有当满足用户指定的条件时才能实现调用,此时,PC将装载调用指令的第1个操作数,并将返回地址保存到堆栈中,然后执行子程序。返回指令RETC:返回指令与调用和中断配合使用。该指令将返回地址从栈项弹到程序计数器(PC)。条件返回指令仅当用户指
23、定的一个或多个条件满足时才执行,利用RETC指令可以使子程序或中断服务程序有多种返回路径。数字信号处理系列课程 DSP应用技术2.4.3 重复指令 重复指令(RPT)允许一条指令的重复次数为N1次。N为RPT指令的一个操作数。在执行RPT时,计数值N被装入重复计数器(RPTC),然后,被重复的指令每执行一次,RPTC就减1,直至RPTC为0。如果计数值N是从一个数据存储器单元读取的,RPTC可作为16位计数器,如果N被设定为一个操作常数,则RRTC为8位计数器。这种重复功能对于NORM(累加器内容归一化)、MACD(乘累加及数据移动)和SUBC(条件减)等指令很有用。在指令重复时,程序存储器的
24、地址总线和数据总线是空闲的,可与数据存储器的地址总线和数据总线并行地取第2个操作数。这就使得被重复的指令每重复一次,都能够在一个单周期内完成操作。数字信号处理系列课程 DSP应用技术2.5 中断控制 为了及时响应、处理外界的异步事件,DSP设置了中断管理。中断要求DSP暂停当前的工作,转而对外界异步事件作出处理,完成以后再继续当前的工作。服务一个中断事件包括了保存当前现场环境、完成中断任务、恢复现场环境、返回继续执行中断前程序等环节。n 中断分类n 中断矢量表n 中断使能设置n 中断响应流程 n 中断服务程序n 复位 数字信号处理系列课程 DSP应用技术2.5.1 中断分类 TMS320C20
25、00支持软件和硬件两种中断。软件中断:由INTR,NMI或TRAP指令请求。硬件中断:外部中断由外部中断引脚上的信号触发。内部中断由片内外设的信号触发。硬件中断和软件中断从CPU管理的角度又分为可屏蔽中断和不可屏蔽中断两类。可屏蔽中断:均为硬件中断,可以用软件设置使它们禁止或允许。当硬件设备或外部引脚成功地请求了可屏蔽中断时,与其相应的一个或几个标志被激活,无论处理器是否响应此中断,这些标志都被设置为1。不可屏蔽中断:包括所有的软件中断和两种外部硬件中断(RS、NMI)。对于不可屏蔽中断,CPU总是要响应并从主程序转移到中断服务程序。数字信号处理系列课程 DSP应用技术 TMS320C2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 应用技术
限制150内