CPU功能模块和时钟模块_第1页
CPU功能模块和时钟模块_第2页
CPU功能模块和时钟模块_第3页
CPU功能模块和时钟模块_第4页
CPU功能模块和时钟模块_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、第第3 3章章 TMS320LF240 xTMS320LF240 x的的CPUCPU功能模块和时钟模块功能模块和时钟模块 3.1 CPU3.1 CPU功能模块功能模块CPU模块包括:输入定标移位器、中央算术逻辑部分和乘法单元等。图3.1 CPU模块的功能结构3.1.1 3.1.1 输入定标移位器输入定标移位器该单元该单元将来自程序将来自程序/ /数据存储器的数据存储器的1616位数据位数据调调整为整为3232位数据送到中央算术逻辑单元位数据送到中央算术逻辑单元(CALU)CALU)。因此,输入定标移位器的。因此,输入定标移位器的1616位输位输入入与数据总线相连,与数据总线相连, 3232位输

2、出位输出与与CALUCALU单元单元相连。相连。输入定标移位器输入定标移位器在在算术定标算术定标及及逻辑操作设置逻辑操作设置时时非常有用。非常有用。输入定标移位器对输入数据进行输入定标移位器对输入数据进行0 01515位左移位左移。左移时,输出的最低有效位。左移时,输出的最低有效位(LSBLSB)为)为0 0,最高有效位(,最高有效位(MSBMSB)根据)根据状态寄存器状态寄存器ST1ST1寄存器的寄存器的SXMSXM位位(符(符号扩展方式)的值号扩展方式)的值来决定是否进行来决定是否进行符号扩展符号扩展。当。当SXMSXM1 1时,则高位进行时,则高位进行符号扩展;当符号扩展;当SXMSXM

3、0 0时,则高位填时,则高位填0 0。移位的次数移位的次数由包含在指令中的由包含在指令中的常量常量或或临时寄存器临时寄存器(TREGTREG)中的值来指定。)中的值来指定。3.1.2 3.1.2 乘法单元乘法单元乘法单元主要由乘法单元主要由乘法器乘法器、乘积寄存器乘积寄存器以及以及乘乘积移位寄存器积移位寄存器组成。组成。16161616位的硬件乘法器位的硬件乘法器,单个机器周期内产,单个机器周期内产生一个生一个3232位的位的有符号有符号或或无符号无符号乘积。乘积。除了执行除了执行无符号乘法无符号乘法指令(指令(MPYUMPYU)外,所有)外,所有的乘法指令均执行有符号的乘法操作,的乘法指令均

4、执行有符号的乘法操作,即即相乘的两个数都作为二进制的补码数,而相乘的两个数都作为二进制的补码数,而运算结果为一个运算结果为一个3232位的二进制的补码数位的二进制的补码数。乘法器乘法器接收的接收的两个乘数两个乘数,一个来自,一个来自1616位的临时寄存器(位的临时寄存器(TREGTREG),另一个通过数),另一个通过数据读总线(据读总线(DRDBDRDB)取自数据存储器,或通过程序读总线()取自数据存储器,或通过程序读总线(PRDBPRDB)取自程序)取自程序存储器。存储器。相乘相乘后,后,3232位的乘积结果保存在位的乘积结果保存在乘积寄存器(乘积寄存器(PREGPREG)中。中。乘积移位寄

5、存器乘积移位寄存器对乘对乘积结果采用积结果采用4 4种种移位方式进行处理,并将结果送到移位方式进行处理,并将结果送到CALUCALU。TREG3.1.3 3.1.3 中央算术逻辑部分中央算术逻辑部分该部分主要由该部分主要由中央算术逻辑单元中央算术逻辑单元CALUCALU、累加器累加器和和输出定标移位器输出定标移位器组成。组成。1 1、中央算术逻辑单元、中央算术逻辑单元CALUCALUCALUCALU实现实现大部分大部分算术和逻辑运算功能算术和逻辑运算功能,大多数,大多数功能只需功能只需一个时钟周期一个时钟周期,这些,这些运算功能运算功能包括包括:加:加/ /减、布尔运算、位移位和位循减、布尔运

6、算、位移位和位循环等。环等。由于由于CALUCALU可以可以执行布尔运算执行布尔运算,因此使得控制器具有,因此使得控制器具有位操作位操作功能。功能。CALUCALU的的位位移位移位和和位循环位循环在累加器中完成。一旦操作在在累加器中完成。一旦操作在CALUCALU中执行完毕,运算结中执行完毕,运算结果会被传送到累加器中,在累加器中再实现如移位等附加操作。果会被传送到累加器中,在累加器中再实现如移位等附加操作。CALUCALU有两个输入,有两个输入,一个由一个由累加器累加器提供,另一个由提供,另一个由乘积移位寄存器乘积移位寄存器或或输入数输入数据定标移位器据定标移位器提供。提供。2 2 累加器(

7、累加器(ACC)ACC)当当CALUCALU中的运算完成后,其结果就被送至累加器,中的运算完成后,其结果就被送至累加器,并在累加器中执行单一的并在累加器中执行单一的移位或循环操作。移位或循环操作。累加器的累加器的高位字高位字和和低位字低位字中的中的任意一个任意一个可以被送至可以被送至输出数据定标移位器输出数据定标移位器,在,在此定标移位后,再保存于数据存储器。与累加器有关的此定标移位后,再保存于数据存储器。与累加器有关的状态位和转移指状态位和转移指令,令,位于位于状态寄存器状态寄存器ST0ST0和和ST1ST1中。中。进位标志位进位标志位C C溢出方式标志位溢出方式标志位OVMOVM溢出标志位

8、溢出标志位OVOV测试测试/ /控制标志位控制标志位TCTC3 3 输出数据定标移位器输出数据定标移位器输出数据定标移位器输出数据定标移位器的输入是的输入是累加器输出的累加器输出的3232位数据位数据,将累加器输出的内容,将累加器输出的内容左移左移0 07 7位,然后将移位器的高位字或低位字存到数据存储器中(用位,然后将移位器的高位字或低位字存到数据存储器中(用SACHSACH或或SACLSACL指令)。指令)。在此过程中,累加器的内容保持不变。在此过程中,累加器的内容保持不变。3.1.4 3.1.4 辅助寄存器算术单元(辅助寄存器算术单元(ARAUARAU)ARAUARAU完全独立于中央算术

9、逻辑完全独立于中央算术逻辑单元单元, ,图图3.23.2所示为所示为ARAUARAU和相和相关的逻辑。关的逻辑。ARAUARAU的的主要功能主要功能是在是在CALUCALU操作操作的同时的同时执行执行8 8个辅助寄存器个辅助寄存器AR7-AR0AR7-AR0中的算术运算中的算术运算, , 8 8个个辅助寄存器辅助寄存器提供了提供了强大而灵强大而灵活的间接寻址能力活的间接寻址能力。利用利用ARAUARAU中的中的1616位地址位地址可访问可访问数据存储器数据存储器64K64K字空间字空间的任的任一单元。一单元。图3.2 辅助寄存器算术单元ARAUARAUARAU的的8 8个辅助寄存器个辅助寄存器

10、提供了提供了强大而灵活的间接寻址能力强大而灵活的间接寻址能力。利用。利用辅助寄存器中的辅助寄存器中的1616位地址可访问数据存储器位地址可访问数据存储器64K64K字空间的任一字空间的任一单元。单元。ARAUARAU除可数据存储器的寻址外,还可用作它用:除可数据存储器的寻址外,还可用作它用:(1 1)通过)通过CMPRCMPR指令,利用辅助寄存器指令,利用辅助寄存器支持条件转移、调用和返支持条件转移、调用和返回回;(2 2)利用辅助寄存器作为)利用辅助寄存器作为暂存单元暂存单元;(3 3)利用辅助寄存器进行)利用辅助寄存器进行软件计数软件计数。根据需要将其加。根据需要将其加1 1或减或减1 1

11、。3.1.5 3.1.5 状态寄存器状态寄存器ST0ST0和和ST1 ST1 两个状态寄存器两个状态寄存器ST0ST0和和ST1ST1包含了包含了DSPDSP运行时的运行时的各种状态和控制位各种状态和控制位。ST0ST0和和ST1ST1对控制和编程很重要!对控制和编程很重要!ST0ST0ST1ST1两个寄存器的内容可两个寄存器的内容可被读出并保存到数据存储器被读出并保存到数据存储器(SSTSST指令指令),),或或从数据存储器读出加载到从数据存储器读出加载到ST0ST0和和ST1ST1(LSTLST指令指令),从而在子),从而在子程序调用或进入中断时实现程序调用或进入中断时实现CPUCPU各种

12、状态的保存。各种状态的保存。 当采用当采用SETCSETC指令指令和和CLRCCLRC指令时,可对指令时,可对ST0ST0和和ST1ST1中的各个位单独置中的各个位单独置1 1或清或清0 0。ARPARP(位(位15-1315-13):辅助寄存器(辅助寄存器(ARAR)间接寻址的指针)间接寻址的指针,选择当前的选择当前的8 8个辅助个辅助寄存器寄存器ARAR中的一个中的一个。ST0ST0OVOV(位(位1212):溢出标志位溢出标志位。用以。用以指示指示CALUCALU中是否发生溢出中是否发生溢出,如溢出则该位,如溢出则该位保持为保持为1 1。 OVMOVM(位(位1111):溢出方式标志位溢

13、出方式标志位 0 0,累加器中结果正常溢出。,累加器中结果正常溢出。 1 1,根据溢出的情况,累加器被设定为它的最大正值或负值。,根据溢出的情况,累加器被设定为它的最大正值或负值。INTMINTM(位(位9 9):中断总开关位中断总开关位 1 1,所有可屏蔽中断被禁止,所有可屏蔽中断被禁止 0 0,所有可屏蔽中断有效。,所有可屏蔽中断有效。DPDP(位(位8-08-0):数据存储器页面指针数据存储器页面指针, ,9 9位位的的DPDP与指令中的与指令中的7 7位位形成形成1616位位的数的数据存储器的直接地址。据存储器的直接地址。ARBARB(位(位15-1315-13):辅助寄存器指针缓冲器

14、辅助寄存器指针缓冲器,当,当ARPARP被加载到被加载到ST0ST0时,原来的时,原来的ARPARP被复制到被复制到ARBARB中,也可将中,也可将ARBARB复制到复制到ARPARP中。中。ST1ST1CNFCNF(位(位1212):片内片内DARAMDARAM配置位配置位 0 0,片内片内DARAMDARAM映射到映射到数据存储器数据存储器区;区; 1 1,片内片内DARAMDARAM映射到映射到程序存储器程序存储器区。区。TCTC(位(位1111): :测试测试/ /控制标志位控制标志位。根据被测试位的值,该位被置。根据被测试位的值,该位被置1 1或清或清0 0。SXMSXM(位(位10

15、10): :符号扩展方式位符号扩展方式位,决定在计算时是否使用符号扩展:,决定在计算时是否使用符号扩展:1 1,数据通过定标移位器传送到累加器时将产生符号扩展;,数据通过定标移位器传送到累加器时将产生符号扩展; 0 0,不产生符号扩展。不产生符号扩展。C C(位(位9 9): :进位标志位,进位标志位,在加法结果产生进位时被置在加法结果产生进位时被置1 1,或在减法结果产生借,或在减法结果产生借位是被清位是被清0 0。ST1ST1XFXF(位(位4 4): :XFXF引脚状态位,引脚状态位,XFXF是是DSPDSP的一个通用引脚。该位反映的一个通用引脚。该位反映XFXF引脚的状引脚的状态,该位

16、的态,该位的1 1、0 0与与XFXF引脚的逻辑高、低电平一致。可用指令引脚的逻辑高、低电平一致。可用指令SETCSETC置置1 1,用,用指令指令CLRCCLRC清清0 0。PMPM(位(位1-0 1-0 ): :乘积移位方式乘积移位方式0000乘法器的乘法器的3232位乘积不移位,直接入位乘积不移位,直接入CALUCALU。0101PREGPREG左移左移1 1位后装入位后装入CALUCALU,最低位填,最低位填0 0;1010PREGPREG左移左移4 4位后装入位后装入CALUCALU,低,低4 4位填位填0 0;1111PREGPREG输出进行符号位扩展,右移输出进行符号位扩展,右移

17、6 6位。位。3.2 3.2 锁相环(锁相环(PLLPLL)时钟模块和低功耗模式)时钟模块和低功耗模式LF240 xDSPLF240 xDSP片内集成有片内集成有锁相环锁相环(PLL)(PLL)电路。可从一个较低频率的外部时钟电路。可从一个较低频率的外部时钟合合成片内较高工作频率的时钟成片内较高工作频率的时钟。这样,可以相对减少印制板级的电磁干扰,这样,可以相对减少印制板级的电磁干扰,使硬件系统更容易实现,系统性能更好。使硬件系统更容易实现,系统性能更好。PLLPLL可以看作为一个片内外设,接在片内外设总线上,可以看作为一个片内外设,接在片内外设总线上,为为DSPDSP提供所需要的提供所需要的

18、各种时钟信号各种时钟信号, ,还可以还可以控制低功耗操作。控制低功耗操作。LF240 xDSPLF240 xDSP有有三个引脚三个引脚与时钟模块有关:与时钟模块有关:(1 1)XTAL1/CLKINXTAL1/CLKIN:外接的基准晶体到片内振荡器输入引脚;如使用外部外接的基准晶体到片内振荡器输入引脚;如使用外部振荡器,外部振荡器的输出必须接到该引脚。振荡器,外部振荡器的输出必须接到该引脚。(2 2)XTAL2XTAL2:片内:片内PLLPLL振荡器驱动外部晶振的时钟输出引脚;振荡器驱动外部晶振的时钟输出引脚; (3 3)CLKOUT/IOPE0CLKOUT/IOPE0:时钟输出或通用时钟输出

19、或通用I/OI/O脚。脚。CLKOUTCLKOUT可用来可用来输出输出CPUCPU时钟时钟或或看门狗定时器时钟看门狗定时器时钟,这由,这由系统控制状态寄存器系统控制状态寄存器SCSR1SCSR1中的中的位位1414(CLKSRCCLKSRC)决定。当该脚不用于时钟输出时,就可作通用决定。当该脚不用于时钟输出时,就可作通用I/OI/O。图图3.3 3.3 锁相环的时钟模块电路锁相环的时钟模块电路两种两种时钟工作方式时钟工作方式:(1 1)内部时钟)内部时钟:外接:外接基准晶体基准晶体+ +片内片内PLL(PLL(锁相环锁相环) )电路共电路共同组成系统时钟电路。同组成系统时钟电路。(2 2)外部

20、时钟)外部时钟:一个:一个独立的外部时钟接至独立的外部时钟接至XTAL1/CLKINXTAL1/CLKIN引脚,引脚,此时内部时钟振荡器此时内部时钟振荡器被旁路。被旁路。XTAL2XTAL2XTAL1XTAL1XTALXTALOSCOSCPLLF1PLLF1PLLF2PLLF2PLLPLLPLLPLL倍率选择倍率选择CLKOUTCLKOUTfinCb1Cb1Cb2Cb2SCSR1,11:9SCSR1,11:9NCNC外部时钟外部时钟0-3.3V0-3.3V3.2.1 3.2.1 锁相环(锁相环(PLLPLL)1.1.锁相环的时钟模块电路锁相环的时钟模块电路时钟模块电路如图时钟模块电路如图3.3

21、3.3所示。所示。 PLL PLL支持从支持从0.50.5 4 4倍输入时钟频率倍输入时钟频率的的倍率倍率,由,由系统控制状态寄系统控制状态寄存器(存器(SCSR1)SCSR1)的的位位1111 9 9来决定。如来决定。如表表3.13.1所示。所示。 CLKPS2CLKPS2CLKPS1CLKPS1CLKPS0CLKPS0倍频系数倍频系数0 00 00 04 40 00 01 12 20 01 10 01.331.330 01 11 11 11 10 00 00.80.81 10 01 10.660.661 11 10 00.570.571 11 11 10.50.5表3.1 PLL的倍率选择

22、2. 2. 外部滤波器电路回路外部滤波器电路回路外部滤波器电路外部滤波器电路用来用来抑制信号抖动和电磁干扰,使其影响最小。抑制信号抖动和电磁干扰,使其影响最小。滤波器回路接到滤波器回路接到PLLFPLLF和和PLLF2PLLF2引脚,由引脚,由R1R1、C1C1和和C2C2组成。组成。C1C1和和C2C2必须是无极必须是无极性的,参数根据性的,参数根据振荡器频率振荡器频率确定,参考教材表确定,参考教材表3.33.3。由于由于电路中存在大量噪声电路中存在大量噪声,如何使得滤波效果最好如何使得滤波效果最好,在设计时,需通过实,在设计时,需通过实验来确定滤波器回路元件。验来确定滤波器回路元件。fcf

23、c10MHz10MHzV VDDDDVSSVSSPLLVCCAPLLVCCA时钟模块时钟模块PLLF1PLLF1PLLF2PLLF2R1R1C2C2C1C1可选的低通滤波回路可选的低通滤波回路滤波器回路滤波器回路图图3.4 3.4 外部滤波电路外部滤波电路另外注意事项:另外注意事项:1)1)所有连接所有连接PLLPLL的的PCBPCB导线尽导线尽可能短;可能短;2)2)旁路电容旁路电容(0.01-0.1uF(0.01-0.1uF的陶的陶瓷电容瓷电容) ),紧连电源。,紧连电源。3)3)可选的低通滤波器,可提可选的低通滤波器,可提高抖动性能,减少电磁高抖动性能,减少电磁干扰;干扰;4)4)导线和

24、器件所围环路面积导线和器件所围环路面积要小,减少干扰;要小,减少干扰;3. PLL3. PLL旁路方式旁路方式可设置为可设置为对片内对片内PLLPLL旁路的工作方式旁路的工作方式,通过复位时拉低,通过复位时拉低TRSTTRST、TMSTMS和和TMS2TMS2引脚引脚来实现。来实现。在这种方式下,在这种方式下,不但可以实现不但可以实现PLLPLL旁路旁路,而且可以实现而且可以实现PLLPLL时钟预定标时钟预定标。在这。在这种工作方式下,改变寄存器种工作方式下,改变寄存器SCSR1SCSR1的位的位11-911-9无效。此时无效。此时改变系统时钟的唯改变系统时钟的唯一方法是一方法是改变输入时钟频

25、率改变输入时钟频率,系统的时钟与外输入时钟相同系统的时钟与外输入时钟相同。例如,例如,要获要获得一个得一个30MHzCPU30MHzCPU时钟速度,那么一个时钟速度,那么一个30MHz30MHz时钟时钟CLKINCLKIN必须提供。在这种方必须提供。在这种方式下,式下,外部的滤波器元件是不需要的外部的滤波器元件是不需要的。 PLLPLL旁路方式下的时钟规范如下旁路方式下的时钟规范如下:(1 1)使用)使用内部时钟内部时钟方式,那么最小和最大的方式,那么最小和最大的CLKINCLKIN频率分别为频率分别为4MHz4MHz和和20MHz20MHz。(2 2)使用)使用外部时钟外部时钟方式,那么最小

26、和最大的方式,那么最小和最大的CLKINCLKIN频率分别为频率分别为4MHz4MHz和和30MHz30MHz(对(对2407A2407A为为40MHz40MHz)。)。3.2.2 3.2.2 看门狗定时器时钟看门狗定时器时钟WDCLKWDCLK被用来给看门狗提供时钟源。被用来给看门狗提供时钟源。WDCLKWDCLK来自于来自于CPUCPU的的CLKOUTCLKOUT,这可以保证即使当,这可以保证即使当CPUCPU处于处于IDLE1IDLE1或或IDLE2IDLE2模式(低功耗模式,见模式(低功耗模式,见3.2.33.2.3)看门狗定时器也能持续)看门狗定时器也能持续计数。计数。WDCLKWD

27、CLK是由看门狗定时器的外围器件生成的,其计算公式为:是由看门狗定时器的外围器件生成的,其计算公式为: WDCLKWDCLKCLKOUTCLKOUT/512/512当当CPUCPU的挂起信号有效时,的挂起信号有效时,WDCLKWDCLK将被停止将被停止。这可以。这可以通过通过停止时停止时钟输入到时钟分频钟输入到时钟分频(由(由CLKINCLKIN获取获取WDCLKWDCLK)来实现。)来实现。 3.2.3 3.2.3 低功耗模式低功耗模式LF240 xLF240 x的的IDLEIDLE(睡眠)指令,(睡眠)指令,可关闭可关闭CPUCPU时钟,进入睡眠状态,节约能耗时钟,进入睡眠状态,节约能耗。

28、CPUCPU退出睡眠状态退出睡眠状态: :收到一个中断请求或复位收到一个中断请求或复位。1.1.时钟域时钟域LF240 xLF240 x有有两个两个时钟域时钟域:(1 1)CPUCPU时钟域时钟域: :包含大部分包含大部分CPUCPU逻辑的时钟;逻辑的时钟;(2 2)系统时钟域)系统时钟域:包含外设时钟(来自:包含外设时钟(来自CLKOUTCLKOUT分频)和用于分频)和用于CPUCPU中断逻辑中断逻辑的时钟。的时钟。IDLE1IDLE1模式:模式:CPUCPU时钟域时钟域停止,停止,系统时钟域系统时钟域继续运行。继续运行。IDLE2IDLE2模式:模式:CPUCPU时钟域和系统时钟域均停止时

29、钟域和系统时钟域均停止,进一步降低功耗。,进一步降低功耗。HALTHALT模式模式:振荡器(即输入到振荡器(即输入到PLLPLL的时钟)和的时钟)和WDCLKWDCLK被关闭。被关闭。当执行当执行IDLEIDLE指令时,指令时,SCSR1SCSR1的的1313、1212位位指明进入哪种低功耗模式:指明进入哪种低功耗模式: 0 0 0 0 CPUCPU进入进入IDLE1IDLE1模式模式 0 10 1 CPUCPU进入进入IDLE2IDLE2模式模式 1 x1 x CPUCPU进入进入HALTHALT模式模式 2. 2. 唤醒低功耗模式唤醒低功耗模式(1 1)复位)复位复位信号可使器件退出复位信

30、号可使器件退出IDLEIDLE模式。模式。(2 2)外部中断)外部中断外部中断外部中断XINTxXINTx可使器件退出低功耗模式,但不能退出可使器件退出低功耗模式,但不能退出HALTHALT模式。模式。(3 3)唤醒中断)唤醒中断有些外设具有启动器件时钟的能力,然后产生一个中断去响应一定的外部有些外设具有启动器件时钟的能力,然后产生一个中断去响应一定的外部事件。如通信线路上的动作。例如,即使没有时钟运行,事件。如通信线路上的动作。例如,即使没有时钟运行,CANCAN唤醒中断唤醒中断也可以声明一个也可以声明一个CANCAN错误中断请求。错误中断请求。 3. 3. 退出低功耗模式退出低功耗模式外设中断外设中断可以用来唤醒处于低功耗模式工作的器件。可以用来唤醒处于低功耗模式工作的器件。根据以下几种情况执根据以下几种情况执行唤醒动作行唤醒动作(和随后的器件动作):(和随后的器件动作):n请求的外设中断是否使能于外设级。请求的外设中断是否使能于外设级。n与请求的外设中断相关的与请求的外设中断相关的IM

温馨提示

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

评论

0/150

提交评论