DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置

上传人:woxinch****an2018 文档编号:56903987 上传时间:2018-10-17 格式:PPT 页数:40 大小:2.12MB
返回 下载 相关 举报
DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置_第1页
第1页 / 共40页
DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置_第2页
第2页 / 共40页
DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置_第3页
第3页 / 共40页
DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置_第4页
第4页 / 共40页
DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置》由会员分享,可在线阅读,更多相关《DSP控制器原理与应用 张小鸣 第2章CPU结构和存储器配置(40页珍藏版)》请在金锄头文库上搜索。

1、第2章CPU结构和存储器配置,本课件主要内容,2.1 TMS320C2xx系列DSP结构 2.2 C2的总线结构 2.3 C2系列CPU结构 2.4 C2存储器和I/O空间 2.5 程序控制,2.1 TMS320LF2407A DSP结构,功能框图(见教材P21),2.1.1 TMS320LF2407A的硬件结构特点,(1)含有两个事件管理器EVA和EVB。每个事件管理器又包含有两个16位的通用定时器、8个PWM通道、可编程的PWM死区控制、3个捕获单元、正交编码脉冲电路等。,(2)采用静态CMOS技术,使得供电电压降为3.3V,40MIPS的执行速度使得频率在40MHz时指令周期缩短25ns

2、。,(3)含有可扩展的192KB字外部存储器空间,其中64KB程序存储器空间,64KB数据存储器空间,64KB I/O寻址空间。,(4)基于TMS320C2xxDSP芯片的内核,保证了TMS320LF240x的代码与TMS320系列的其他DSP芯片代码兼容。,退出,2.1 TMS320LF2407A DSP结构,(5)含有高达32KB字的Flash程序存储器,2.5KB的数据/程序RAM,544B的双口RAM和2KB的单口RAM。,(6)含有可实现半双工或全双工通信的串行通信接口(SCI)模块。,(7)含有可单独编程或复用的通用输入/输出引脚共41个。,(8)含有两个电动机驱动保护中断、复位中

3、断和两个可屏蔽外部中断。,(9)含有16位的串行外设(SPI)接口模块,提供了一个高速同步串行总线,可与带有SPI接口的芯片连接。,(10)含有3种低功耗模式的电源管理。,(11)含有一个看门狗定时器模块。,退出,(12)含有基于锁相环的时钟发生器。,(13)它的10位A/D转换器最小转换时间为500ns,可选择由两个事件管理器来触发两个8通道输入A/D转换器或一个16通道输入的A/D转换器。,(14)含有控制器局域网络(CAN)2.0B模块。,退出,2.1.2 TMS320LF240x的引脚说明,在TMS320LF240x系列的DSP中,不同型号芯片的引脚数是不同的。 TMS320LF240

4、7A的引脚是该系列芯片的一个超集,即TMS320LF2407A涵盖了其他芯片的所有引脚。,退出,TMS320LF240系列引脚图,TMS320LF2407A共有144个引脚,可分为以下几类:,事件管理器A(EVA)引脚;,事件管理器B(EVB)引脚;,模数转换器(ADC)引脚;,通信模块(CAN/SPI/SCI)引脚;,外部中断与时钟引脚;,振荡器/PLL/FLASH/引导程序及其他引脚;,JTAG仿真测试引脚;,地址/数据和存储器控制信号引脚;,电源引脚 。,退出,2.2 C2的总线结构,总线全部为16位,CPU是DSP的核心部件,主要进行取数、运算(加、乘、移位等)、送数的操作。,退出,2

5、.3 C2系列CPU结构,TMS320LF240x芯片的数据总线是16位,而中央算术逻辑单元(CALU)是32位,为了把16位数据转换为32位,必须完成不同数据格式之间的转换,这个转换工作就是由输入定标移位器完成的。因此,输入定标移位器的16位输入与数据总线相连,32位输出与CALU单元相连。,1输入定标移位器,输入定标移位器作为从数据总线到CALU之间的数据传输路径的一部分,不会额外占用CPU的时钟开销。,2中央算术逻辑部分,由32位的中央算术逻辑单元(CALU)、32位的累加器(ACC)以及32位的输出移位器组成。,注意几个问题:,(1)当加到累加器或从累加器减或将累加器数值移1位或循环移

6、1位时将影响进位标志位C。,退出,(2)溢出方式位(OVM)决定累加器如何处理算术运算的溢出,当OVM=1且有溢出发生时,累加器自动填充最大值或最小值;当OVM=0时,累加器中的结果正常溢出。,(3)当未检测到累加器溢出时,其值为0;当溢出发生时,OV位被置1。,(4)根据被测试位的结果,测试控制标志位(TC)位被置1或0。,退出,3输出定标移位器,4乘法器,TMS320LF240x系列DSP内有一个1616位的硬件乘法器,可以在一个机器周期内完成有符号或无符号数的乘法运算,乘积结果为32位。,TREG的内容和来自数据存储器或程序存储器中的数相乘,乘积存放到乘积寄存器(PREG) 中(32位)

7、。然后,通过乘积移位器(PSCALE) 将PREG的值在送往CALU或进行移位定标处理送入数据存储器。,乘积移位器根据状态寄存器ST1中的PM值的不同,可进行4种不同形式的移位操作。,注:移位后,PREG中的值不变。,退出,辅助寄存器算术单元(ARAU),CPU中还有一个与CALU无关的辅助寄存器算术单元。其主要功能是在CALU操作的同时执行8个辅助寄存器(AR0AR7)中的算术运算。辅助寄存器提供了丰富、灵活而有效的间接寻址功能,使用任何一个辅助寄存器提供的16位地址,就可以访问64K字的数据空间。,当前辅助寄存器或当前的AR,由状态寄存器ST0中的辅助寄存器指针(ARP)指定。在使用当前A

8、R时,其内容即为将被访问的数据存储器的地址。如果当前程序指令需要从数据存储器中读取数据,则AR将该数据单元的地址送至数据读地址总线;如果当前程序指令需向某个数据寄存器单元写数据,则AR将该地址送至数据写地址总线。在执行完对数据存储器的操作后,可以通过对辅助寄存器的内容的加减来将辅助寄存器指向下一个即将被操作的数据单元。,退出,状态寄存器,TMS320LF240x 芯片内含有两个状态寄存器ST0和ST1,它们含有各种状态和控制位。状态寄存器的内容可以被保存到数据寄存器,也可从数据寄存器中进行加载。,1状态寄存器ST0,ARP:辅助寄存器指针。利用MAR、LST指令可以修改状态寄存器ST0中的辅助

9、寄存器指针(ARP)。在间接寻址时用于选择当前辅助寄存器。在ARP被装载时,原先的ARP值被复制到ARB中。,OV:溢出标志位。当中央算术逻辑单元发生溢出时,OV=1,直到发生复位、执行以OV(溢出)或NOV(不溢出)为条件的转移指令、或执行LST指令时被清0。,OVM:溢出方式位。OVM决定CALU发生溢出时的处理方式。当OVM=0时,累加器中结果正常溢出;当OVM=1时,根据溢出的情况,累加器被设置成它的最大正值(7FFFFFFFh)或负值(80000000h)。SETC、CLRC、LST指令均可修改OVM。,INTM:中断模式位。INTM可全局屏蔽或使能所有的可屏蔽中断。INTM=0时,

10、使能所有未屏蔽的中断;INTM=1时,禁止所有的可屏蔽中断。复位或可屏蔽中断发生时(TRAP指令除外),INTM置1,禁止中断。,DP:数据存储器页指针。9位的DP指针和指令字中的低7位连接在一起,形成直接寻址中的16位数据存储单元地址。可通过LST、LDP指令对其修改。,退出,2状态寄存器ST1,ARB:辅助寄存器的缓冲器指针。当ARP被装载时,ARP原来的值就被复制到ARB中;当用LST指令装载ARB时,同样的值也被复制到ARP中。,CNF:片内DARAM配置位。当CNF=0时,可配置的DARAM映射到数据存储空间;当CNF=0时,可配置的DARAM映射到程序存储空间。可通过SETC、CL

11、RC指令对其进行修改。,TC:测试/控制标志位。在下列情况下TC位被置1:由BIT或BITT测试的某位为1时;用NORM指令对累加器最高的两位进行异或结果为真时;用CMPR指令对当前AR与AR0比较条件成立时。编程时,根据TC位的状态可进行程序的跳转、调用和返回。,SXM:符号扩展方式位。SXM决定是否进行符号扩展。当SXM=0时,禁止符号扩展;当SXM=1时,数据被CALU使用之前进行符号扩展。执行ADDS和SUBS指令时禁止符号扩展。通过SETC、CLRC指令可对其置位或复位。,C:进位位。加法运算结果产生进位时置1,减法运算结果产生借位时被清0。在执行带16位移位的ADD指令,若产生进位

12、时置1,否则不影响该位;在执行16位移位的SUB指令,若产生借位时置0,否则不影响该位。编程时,可根据C的状态进行程序的跳转、调用和返回。,XF:XF引脚状态位。该位决定XF引脚的状态。SETC指令可对该位进行置位,CLRC指令可对其进行清0。,PM:乘积移位方式位。若PM=00,PREG中的32位乘积结果不移位直接装入CALU;若PM=01,PREG输出左移1位后装入CALU,最低位LSB以0填充;若PM=10,PREG输出左移4位后装入CALU,移空位以0填充;若PM=11,PREG输出进行符号扩展右移6位。在操作时,PREG中的内容保持不变。SPM、LST指令可以修改PM的值。,退出,2

13、.4 存储器和I/O空间,在芯片的内部,已经对各部分存储器空间进行了分配,各个部分均有指定的应用条件。因此在开发DSP控制系统时,对芯片存储器映射图的清醒认识是很重要的。,如程序存储器的0000h003Fh为内部中断的向量表空间,该区间只能存储向量表,而不可存储任何其他内容,否则,中断系统将无法工作。再如程序存储器的0040h0043h、数据存储器的0400h04FFh、I/O空间的FF00hFF0Eh等均为系统的保留空间,用户不允许使用,否则将引起不可预见的后果。,另外,还应清楚哪些地址范围是特定的内部存储器(如ADC、SCI、SPI等)指定的地址空间,这些空间也是禁止占用的,只允许进行访问

14、。还有,应清楚哪些空间是系统留给外部扩展用的空间,这一点关系到系统资源的扩展,如外扩程序存储器或数据存储器以及外设接口等。,退出,程序存储器,寻址范围为64KB(包括片内DARAM和片内EEPROM/ROM)。当访问片外程序地址空间时,TMS320LF2407自动产生一个访问外部程序地址空间的信号,如PS和DS等。,使用程序存储器中的FLASH空间时还要注意一点,即它有内部和外部两种工作方式,它是受状态系统配置寄存器2的 位控制的。,退出,系统复位后程序指针指向0000h处,程序从该处开始执行,一般要在该处加一条跳转指令使CPU自动转入用户程序的入口。0000h-003Fh用于存储系统的中断向

15、量表,当有中断请求信号时,CPU从该处取出中断子程序的入口地址。FLASH的其他区域为用户程序区。,8000h87FFh为单口存储器(SARAM),仿真时,若程序较小,可将程序代码放入该区。8800hFDFFh为用户扩展区。,退出,在DSP系统的开发阶段,通常芯片外部扩展一个SRAM作为片外程序存储器以存储被调试的软件代码,以避免频繁对片内FLASH的写操作。这样做的好处是既可节省开发时间,又可延长芯片的使用寿命。,退出,数据存储器,寻址范围为64KB 。,0000h005Fh为专用寄存器区。,0200h02FFh为双口存储器DARAM(B0),当CNF=0时为用户数据区。,0300h03FF

16、h为双口存储器DARAM(B1),用户数据区。,0800h0FFFh为2K字的单口存储器SARAM,为用户数据区。,0060h007Fh为双口存储器DARAM(B2),为用户数据区。,以上几个数据区为编程时经常用到的区域,用户可通过命令文件(*.CMD)将自己定义的某些变量安排到某个或某几个数据区中。,DSP对数据存储器空间的寻址方式有两种:一种寻址方式为全16位地址的寻址;另一种寻址为按页进行寻址的方式。,按页进行寻址方式时,首先利用9条高位地址线将64KB的数据空间划分成512段,每段称为一个数据页(共512个)。每个数据页有128B(低7位地址决定)。每个数据页用数据页指针DP值表示(DP值由状态寄存器ST0中的9位数据定义)。变量在数据页中的具体位置是由指令中的偏移量确定的(偏移量由编程者确定),它对应16位地址中的低7位。寻址时首先找到变量的基地址(DP值),然后再加上地址偏移量即可。数据页指针的使用给编程者带来了很大的方便,在编程时经常使用。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号