第2章CPU结构和存储器配置.ppt_第1页
第2章CPU结构和存储器配置.ppt_第2页
第2章CPU结构和存储器配置.ppt_第3页
第2章CPU结构和存储器配置.ppt_第4页
第2章CPU结构和存储器配置.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第2章CPU结构和内存配置、本课件的主要内容、2.1TMS320C2xx系列DSP结构2.2C2系列CPU结构2.4C2内存和I/O空间2.5程序控制、2.1TMS320LF2407ADSP结构、功能框图(参照教材P21 )、2.1.1 TMS 在各事件管理器中包含2个16位的通用计时器、8个PWM通道、可编程的PWM死区控制、3个捕获单元、正交码脉冲电路、16通道的ADC电路等。 (2)采用静态CMOS技术,供电电压为3.3V,运行速度为40MIPS,频率为40MHz,指令周期缩短了25ns。 (3)包括可扩展的192KB字外部存储器空间,其中有64KB程序存储器空间、64KB数据存储器空间、64KBI/O地址空间。 (基于TMS320C2xxDSP芯片的核心,TMS320LF240 x代码保证与TMS320系列的其他DSP芯片代码兼容。退出、2.1TMS320LF2407ADSP结构、(Flash程序存储器,最多包含32KB字符、2.5KB数据/程序RAM、544B双端口RAM和2KB单端口RAM。 (6)包括能够进行半双工或全双工通信的串行通信接口(SCI )模块。 (7)包括可单独编程或复用的通用输入输出端子在内41个。 (8)包括两个电机驱动保护中断、复位中断和两个可屏蔽的外部中断。 (9)提供了一种高速同步串行总线,其包括16位串行外围设备(SPI )接口模块并且可以连接到具有SPI接口的芯片。 (10 )包括三种低功耗模式的电源管理。 (11 )包括一个看门狗定时器模块。退出、(12 )包括基于锁相环的时钟发生器。 (13)10位A/D转换器的最小转换时间为500ns,2个事件管理器可选择启动2个8通道输入A/D转换器或16通道输入A/D转换器。 (14 )包括控制器局域网(CAN)2.0B模块。退出、2.1.2TMS320LF240 x的引脚说明、TMS320LF240 x系列的DSP中,不同型号的芯片引脚数不同。 TMS320LF2407A的引脚是该系列芯片的超集成,TMS320LF2407A复盖其它芯片的所有引脚。、退出、TMS320LF240系列的引脚图,TMS320LF2407A有144个引脚,可分为以下种类:事件管理器A(EVA )的引脚、事件管理器B(EVB )端子、模拟/数字转换器(ADC )端子、通信模块(cc ) SCI )端子,外部中断和时钟端子,振荡器/PLL/FLASH/引导程序和其他引脚JTAG仿真测试引脚,地址/数据和存储器控制信号端子,电源端子。退出、2.2C2总线结构、总线均为16位,CPU为DSP核心部件,主要进行读取、运算(加法、乘法、移位等)、进给数的操作。退出、2.3C2系列CPU结构,TMS320LF240 x芯片的数据总线为16位,中央运算逻辑单元(CALU )为32位,其必须完成不同数据格式之间的转换以将16位数据转换成32位因此,输入定标器的16位输入与数据总线连接,32位输出与CALU单元连接。 1 .不需要输入定标移位器并且输入定标移位器以额外地占用CPU时钟开销作为从数据总线到CALU的数据传输路径的一部分。 2 .中央算术逻辑部分包括32位中央算术逻辑单元(CALU )、32位累加器(ACC )和32位输出移位器。 (1)请注意,加到存储器中、从存储器中减去、将存储器的值移动1位、移动1位会影响进位标志位c。退出、(2)溢出方式位(OVM )确定累加器如何处理算术运算溢出,如果OVM=1处发生溢出,且如果累加器自动地填充最大值或最小值的OVM=0,则累加器的结果将正常溢出(3)如果未检测到存储器溢出,则当发生其值为0的溢出时,OV的位置设置为1。 (4)根据被测试比特的结果,测试控制标志比特(TC )的一个比特被设置为1或0。退出、3 .输出定标器、4 .乘法器、TMS320LF240 x系列DSP内有1616位硬件乘法器,可完成一个机械周期内有符号或无符号的乘法运算,乘法运算结果为32位。另外,将TREG的内容与来自数据存储器或程序存储器的数量相乘,保存至存储寄存器(preg ) (32位)。 然后,PREG的值通过累积移位器(PSCALE )发送给CALU,或者进行移位定标处理并发送给数据存储器。 另外,依据状态寄存器ST1的PM值,累积移位器能够执行四种不同形式的移位操作。 注:移位后,PREG的值不变。退出、辅助寄存器运算单元(ARAU )、CPU中有与CALU无关的辅助寄存器运算单元。 其主要功能是与CALU运算同时利用8个辅助寄存器(AR0AR7)执行运算。 辅助寄存器提供了丰富、灵活和有效的间接地址能力,并且可以利用通过任何辅助寄存器提供的16位地址来访问64K字的数据空间。 当前辅助寄存器或当前AR由状态寄存器ST0的辅助寄存器指针(ARP )指定。 当前AR正在使用,其内容是访问的数据存储器的地址。 在当前的程序指令需要从数据存储器读取数据的情况下,AR将该数据单元的地址发送到数据读取地址总线,在当前的程序指令需要向某个数据寄存器单元写入数据的情况下,AR将该地址发送到数据写入地址总线当完成了数据存储器的操作时,可以通过加减辅助寄存器的内容来将辅助寄存器指向下一个要操作的数据单元。 在、退出、状态寄存器、TMS320LF240 x芯片内包括2个状态寄存器ST0和ST1,它们包括各种状态和控制位。 状态寄存器的内容可保存在数据寄存器中,也可从数据寄存器加载。 1 .状态寄存器ST0、ARP :辅助寄存器指针。 可通过MAR、LST指令修正状态寄存器ST0的辅助寄存器指针(ARP )。 用于指定间接地址时选择当前的辅助寄存器。 当加载ARP时,原始ARP值复制到ARB。 OV:溢出标志位。 当中央处理单元溢出时,将OV=1清除,直到发生重置、执行以OV (溢出)或NOV (不溢出)为条件的转变命令、或者LST命令被执行为止。OVM :溢出方式比特。 OVM决定CALU溢出时的应对方法。 如果OVM=0,则如果累加器的结果是正常溢出的OVM=1,则累加器将根据溢出情况设置为最大正值(7FFFFFFFh )或负值(80000000h )。 SETC、CLRC和LST命令可以更改OVM。INTM :中断模式位。 INTM可以全局掩蔽或允许任何可掩蔽的中断。 如果INTM=0,则允许所有未屏蔽的中断;如果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、CLRC命令进行修改。 TC :测试/控制标志位。 如果比特或比特中测试的结果为1,则将TC比特设为1,如果比特或比特中测试的结果为1,那么如果NORM命令中存储器的高2位异或结果为真,那么如果CMPR命令中当前AR与AR0的比较条件成立。 编程时,可根据TC位的状态,跳转、调用程序并返回。SXM :码扩展方式比特。 SXM确定是否进行符号扩展。 如果SXM=0,则禁止符号扩展。如果SXM=1,则在将数据用于CALU之前进行编码扩展。 在运行ADDS和SUBS命令时禁止元件扩展。 可通过SETC、CLRC指令进行其位置和复位。 c :进位。 加法结果发生进位时清除1,减法结果发生进位时清除0。 执行带16位移位的ADD指令,发生进位时位置1时,执行不影响该位的16位移位的SUB指令,发生借位时设置0,否则不影响该位。编程时,可根据c的状态进行程序的跳转、调用、恢复。XF:XF端子状态位。 该比特决定XF端子的状态。 SETC命令设置其位置,CLRC命令清零。PM :积移位方式比特。 PM=00时,PREG的32位积的结果会直接加载到CALU中。PM=01时,PREG输出向左移动1位加载CALU,最低位LSB用0填充。PM=10时,PREG输出向左移动4位加载CALU,空位移动PREG的内容在操作过程中保持不变。 SPM、LST指令可变更PM的值。退出、2.4存储器和I/O空间、芯片内部,各部分存储器空间被分配,各部分具有指定的适用条件。 因此,在开发DSP控制时,芯片存储图的明确认识是很重要的。 此外,如果程序存储器的0000h-003Fh是内部中断的向量空间,则只能存储向量表,而不能存储其它的内容。 否则,中断系统将无法正常工作。 程序存储器的0040h-0043h、数据存储器的0400h-04FFh、I/O空间的FF00h-FF0Eh等是系统的预约空间时,用户不允许使用。 不这样做会导致意想不到的结果。 您还需要知道哪个地址范围是由特定内存(ADC、SCI、SPI等)指定的地址空间。 这些空间也不被占用,只允许访问。 另外,应该知道哪个空间是系统为了外部扩展而留下的空间,这与系统资源的扩展,例如外部扩展程序存储器、数据存储器、周边接口等有关。结束、程序存储器、地址范围为64KB (包括片上DARAM和片上EEPROM/ROM )。 当访问片外程序的地址空间时,TMS320LF2407自动地生成访问外部程序的地址空间的信号。 请注意,使用、程序存储器内的FLASH空间时,有内部和外部两种动作方法,由状态系统构成寄存器2的位控制。终止、系统复位后,程序指针指向0000h,程序从那里执行,通常在那里添加跳转命令,将CPU自动转入用户程序的入口。 0000h-003Fh用于存储系统的中断向量表,如果存在中断请求信号,则CPU从中读取中断子例程的条目地址。 FLASH的其他区域是用户程序区域。 8000h-87FFh为单面存储器(Sara ),模拟时程序较小的情况下,可将程序代码放入该区域。 8800h-FDFFh是用户扩展区域。 在、终止、DSP系统的开发阶段,通常在芯片外部将SRAM扩展为片外程序存储器,存储调试的软件代码,避免频繁写入芯片内FLASH。 这样做的好处是可以节省开发时间,同时延长芯片的寿命。 结束、数据存储和地址范围为64KB。 0000h-005Fh为专用寄存器区域。 0200h-02FFh为2端口存储器DARAM(B0 ),CNF=0时为用户数据区域。 0300h-03FFh为2端口内存DARAM(B1 )、用户数据区。 0800h-0FFFh为2K字的单面存储器,是用户数据区域。0060h-007Fh为2端口存储器DARAM(B2 ),是用户数据区域。 这些数据区域是编程时常用的区域,用户可以使用命令文件(*.CMD )将自定义的变量放置在特定数据区域或特定数据区域中。 DSP的数据存储空间有两种寻址方式:一种是全部16位地址的寻址方式另一种寻址方式是按页面进行寻址的方法。 此外,在对每页进行寻址方法的情况下,首先,利用9条高级地址线将64KB的数据空间划分成512段,并且按段称为一页(总共512页)。 在各数据页中有128B (低位7比特地址的决定)。 各数据页用数据页指针DP值表示(DP值由状态寄存器ST0的9位数据定义)。 该数据页内变量的具体位置由指令内与16比特地址的最低7比特相对应的偏移量确定(偏移量是由编程者确定的)。 作为寻址,首先找到变量的基本地址(DP值),并向其加上地址偏移量。 数据页面指针的使用对程序员来说非常方便,在编程时经常使用。,退出,数据页面指针和与其对应的地址分配关系,退出,I/O空间,I/O空间的地址范围为64KB,其中0000hFEFFh作为芯片外I/O端口使用。I/O空间全部可以通过IN和OUT命令进行访问。 执行IN或OUT指令后,信号变为激活状态,因此可作为外围I/O端口的芯片选择信号使用。 访问外部并行I/O端口的是与访问程序、数据存储器复位相同的地址以及所有数据总线,数据总线宽度为16位。、退出、READY、存储器扩展外部存储器接口信号、外部程序存储器接口,I/O空间可从0000FEEFH字用于扩展外部设备,其中、2.5程序控制、c24是具有8级深度的硬件堆栈, 即,8个字容量堆栈已经溢出,意味着用户可以在没有任何

温馨提示

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

评论

0/150

提交评论