第2章 DSP内核结构及存储器映射_第1页
第2章 DSP内核结构及存储器映射_第2页
第2章 DSP内核结构及存储器映射_第3页
第2章 DSP内核结构及存储器映射_第4页
第2章 DSP内核结构及存储器映射_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、China_ 第第2章章 TMS320LF240 x的的CPU内核结构及存储器映射内核结构及存储器映射 本章导读: CPU是DSP中最主要的运算部件,CPU的好坏直接影响着DSP的性能;而 存储器在DSP中的作用也不容忽视。本章通过介绍TMS320 x240 xA系列DSP的 CPU及存储器,使读者熟练掌握这两个部件的内部结构和工作原理。 China_ 2.1 CPU内部结构内部结构 2.1.1 乘法器乘法器 TMS320 x240 xA采用一个1616位硬件乘法器,可 以在一个时钟周期内产生一个32位有符号或者无符号的 乘积结果。在硬件乘法器中进行运算的两个16位值都被 认为具有二进制补码格

2、式(无符号乘法指令MPYU除 外)。 乘法器将来自16位数据存储器或程序存储器的被乘 数,与16位临时寄存器(TREG)的乘数相乘,把结果保 存在一个32位的乘积寄存器(PREG)中。乘积移位器再 将PREG中的乘积移位定标后,送入中央算术逻辑单元。 China_ China_ 2.1.2 输入定标移位器输入定标移位器 输入定标移位器的功能是将来自程序存储器 或数据存储器的16位数据调整为32位数据,并送 到CALU当中。因此16位输入与数据总线相连, 32位输出与CALU相连。这种移位操作只是数据 从程序或者数据存储器到CALU传输路径的一部 分,所以不会占用额外的时钟周期。 China_

3、2.1 CPU内部结构内部结构 2.1.3 中央算术逻辑单元(中央算术逻辑单元(CALU) 中央算术逻辑单元执行大部分的算术和逻辑运算功能,并且实现大多数 的功能都只要1个时钟周期,这些功能包括:16位加、16位减、布尔逻辑操作、 位测试、移位和循环功能。有关中央算术逻辑单元的结构框图,如下图。 China_ 2.1 CPU内部结构内部结构 2.1.4 累计器(累计器(ACC) 当CALU工作时,会将计算结果送至32位累加器,累计器负责将结果进行 单移位或者循环移位,然后将结果输出到数据定标移位器。 2.1.5 输出数据定标移位器输出数据定标移位器 输出数据定标移位器有一个32位的输入和一个1

4、6位输出,输入部分与32 位累加器相连,输出部分与数据总线相连。这个定标器将32位累加器的内容 全部复制下来,并将其内容左移07位,然后将移位器的高位字或低位字存 至数据存储器中。并且在这个过程中,累加起的内容不改变。 2.1.6 辅助寄存器算术单元辅助寄存器算术单元 中央处理单元(CPU)中还包括一个与中央算术逻辑单元(CALU)无关 的辅助寄存器算术单元(ARAU),如下图。它的主要功能是与中央算术逻 辑单元中进行的操作并行地实现对8个辅助寄存器(AR0AR7)的算术运算。 辅助寄存器提供了灵活而强大的间接寻址功能,使用其中任何一个寄存器提 供的16位地址都可以访问64K字数据存储空间的任

5、何单元。 China_ 2.1 CPU内部结构内部结构 China_ 2.1 CPU内部结构内部结构 2.1.7 状态寄存器状态寄存器 TMS320LF240 xA系列的DSP芯片都包含有两个状态寄存器,分别是ST0和ST1。 这两个寄存器的值既可以被储存在数据存储器当中,也可以从数据存储器当 中读出并装载到两个状态寄存器上,目的是在被子程序调用时保存CPU当前的 状态。 LST指令用于向ST0和ST1写数据;SST指令用于从ST0和ST1当中读数据。状态 寄存器ST0和ST1的每一位都可以用SETC和CLRC置位或者清零。 1. 状态寄存器状态寄存器ST0 位1513121110980 名

6、称ARPOVOVM1INTMDP 复位值X0X11X China_ 151 3 121110987654321 0 ARBCNFTCSXMC1111XF11PM X0X11111111100 2. 状态寄存器状态寄存器ST1 第三行为复位值第三行为复位值 China_ 2.2 存储器和存储器和I/O空间空间 2.2 存储器和存储器和I/O空间空间 TMS320LF/LC240 xA的存储空间由3组16位的并行总线访问:程序地址总线 (PAB)、数据读地址总线(DRAB)、数据写地址总线(DWAB)。这3组总线 的操作是独立的,因此可以同时访问程序空间和数据空间。在一个给定的机 器周期里,中央算

7、术逻辑单元(CALU)可执行3种存储器操作。 l TMS320LF/LC240 xA可访问的独立的选择空间有以下4种: l 64KB程序存储器空间,包含要执行的指令及程序执行时使用的数据。 l 64KB局部数据存储器空间,保存指令使用的数据。 l 32KB全局数据存储器空间,保存于其它处理器共用的数据,或者作为一个 附加的数据空间。 l 64KB的I/O空间,用于外设接口,包括一些片内外设的寄存器。 China_ 2.2 存储器和存储器和I/O空间空间 2.2.1 内部存储器内部存储器 TMS320LF/LC240 xA具有192K字的可寻址存储空间:64K字程序空间、64K字数 据空间和64

8、K字的I/O空间。一些芯片还通过扩展页增加地址空间。片内存储 器的结构和容量根据芯片的型号有所区别,一般包括随机存取存储器(RAM)、 只读存储器(ROM)和Flash型存储器。对于以LF为前缀的DSP芯片具有Flash, 而以LC为前缀的芯片没有Flash。其中RAM又可以分为两种类型:单存取RAM (SRAM)和双存取RAM(DARAM:B0块、B1块和B2块),DARAM和SARAM可以被 配置为数据存储器或者程序存储器。 China_ 2.2 存储器和存储器和I/O空间空间 2.2.2 程序存储器程序存储器 TMS320LF240 xA的程序存储器空间的作用是:保存程序代码以及数据表

9、信息和常量。它的寻址范围为64KB,包括片内DARAM和片内Flash EEPROM/ROM。当访问片外程序地址空间时,TMS320LF240 xA自动产生一 个访问外部程序地址空间的信号,如PS和DS等。如下图。 China_ 2.2 存储器和存储器和I/O空间空间 China_ 2.2 存储器和存储器和I/O空间空间 2.2.3 数据存储器数据存储器 1. 1. 数据存储器简介数据存储器简介 TMS320LF240 xA的数据存储空间寻址范围为64K字。每个器件都有3个片内DARAM块: B0、B1和B2。B1和B2只可以用于数据存储。B0既可以配置为数据存储器,也可以 配置为程序存储器。

10、针对数据存储器有两种寻址模式:直接寻址模式和间接寻址 模式。当使用直接寻址时,按128字的数据块来对数据存储器进行寻址。如表2-2 所示显示了这些块是如何被寻址的。全部64KB的数据存储器被分为512个数据页, 其标号为0511。当前页由状态寄存器ST0中的9位数据页指针(DP)值来确定, 所以,当使用直接寻址指令时,用户必须事先指定数据页,并在访问数据存储器 的指令中指定偏移量。 China_ China_ 2.4.1系统配置寄存器系统配置寄存器SCSR1(地址地址7018h ) 位15141312111098 名 -CLKSRCLPM1LPM0CLKPS2CLKPS1CLKPS0- 位76

11、543210 名 ADC CLKEN SCI CLKEN SPI CLKEN CAN CLKEN EVB CLKEN EVA CLKEN -ILLADR 位位6 6:SCISCI模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模 块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。 位位5 5:SPISPI模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模 块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。

12、 位位4 4:CANCAN模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模 块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。 位位3 3:EVBEVB模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模 块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。 位位2 2:EVAEVA模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模 块时钟且正常运行;当该位值为块

13、时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。 位位0 0:无效地址检测位。在检测到一个无效地址时,该位被置无效地址检测位。在检测到一个无效地址时,该位被置 1 1。置。置1 1后需要用户用软件清后需要用户用软件清0 0,清,清0 0的方法是对该位写的方法是对该位写1 1。检测。检测 到一个非法地址将会产生一个不可屏蔽中断到一个非法地址将会产生一个不可屏蔽中断(NMI)(NMI)。 位位1414:CLKOUTCLKOUT引脚时钟源选择位。当该位值为引脚时钟源选择位。当该位值为0 0时,时,CLKOUTCLKOUT引引 脚输出脚输出CPUCPU时钟;当该位值为时钟;当该

14、位值为1 1时,时,CLKOUTCLKOUT引脚输出看门狗时引脚输出看门狗时 钟钟(WDCLK)(WDCLK)。 位位13131212:低功耗选择位。这两位决定了低功耗选择位。这两位决定了CPUCPU在执行在执行IDLEIDLE指令指令 时芯片进入那种低功耗模式。时芯片进入那种低功耗模式。 位位7 7:模数转换模数转换(ADC)(ADC)模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,时, 使能该模块时钟,以使使能该模块时钟,以使A/DA/D转换正常进行;当该位值为转换正常进行;当该位值为0 0时,时, 禁止该模块时钟禁止该模块时钟( (在不用在不用ADCADC时,可

15、节约时,可节约DSPDSP的能量消耗的能量消耗) )。 位位11119 9:锁相环锁相环(PLL)(PLL)时钟预定标选择位。这时钟预定标选择位。这3 3位决定对输入位决定对输入 时钟进行锁相倍频的系数。当时钟进行锁相倍频的系数。当CLKPS=000CLKPS=000时时4 4倍频;当倍频;当 CLKPS=001CLKPS=001时时2 2倍频;当倍频;当CLKPS=010CLKPS=010时时1.331.33倍频;倍频;CLKPS=011CLKPS=011时时1 1 倍频;当倍频;当CLKPS=100CLKPS=100时时0.80.8倍频;倍频;CLKPS=101CLKPS=101时时0.6

16、60.66倍频;倍频; CLKPS=110CLKPS=110时时0.570.57倍频;倍频;CLKPS=111CLKPS=111时时0.50.5倍频。倍频。 China_ 2.3.2系统配置寄存器系统配置寄存器SCSR2 (地址是地址是7019h ) 1 11 1引脚引脚引脚引脚0 01 10 00 0初初 PONPONDONDON XMIFXMIF HI-ZHI-Z WDWD OVERRIDEOVERRIDE I/PI/P QUALQUAL 名名 0 01 12 23 34 45 56 615157 7位位 EN_BOOT MC/MP 位位6 6:输入时钟限定位。当输入时钟限定位。当CAP1

17、CAP16 6、XINT1XINT12 2、ADCSOCADCSOC等引脚等引脚 被指定为特殊功能时,该位决定了输入到这些引脚信号被正确被指定为特殊功能时,该位决定了输入到这些引脚信号被正确 锁存所需的最少脉冲数。当位值为锁存所需的最少脉冲数。当位值为0 0时,至少需时,至少需5 5个时钟周期;个时钟周期; 当位值为当位值为1 1时,至少需时,至少需1111个时钟周期。个时钟周期。 位位5 5:WDWD保护位。用户可通过软件将保护位。用户可通过软件将WDCRWDCR寄存器中的寄存器中的WDDISWDDIS控制控制 位置位置1 1来禁止来禁止WDWD工作。向该位写工作。向该位写1 1可以对其清可

18、以对其清0 0。该位为。该位为0 0时,不时,不 能通过软件来禁止能通过软件来禁止WDWD;为;为1 1时,可通过软件来禁止时,可通过软件来禁止WDWD工作。工作。 位位4 4:XMIFXMIF高阻控制位。它的作用是控制外部存储器的接口信高阻控制位。它的作用是控制外部存储器的接口信 号。当位值为号。当位值为0 0时,所有的外部存储器接口信号时,所有的外部存储器接口信号(XMIF)(XMIF)处于正处于正 常驱动模式常驱动模式( (接通接通) );当该位值为;当该位值为1 1时,所有的外部存储器接口时,所有的外部存储器接口 信号处于高阻状态,即断开外部存储器接口信号。信号处于高阻状态,即断开外部

19、存储器接口信号。 位位3 3:引导引导ROMROM使能位。当该位值为使能位。当该位值为0 0时,使能引导时,使能引导ROMROM,地址空,地址空 间间0000h0000h00FFh00FFh被片内引导被片内引导ROMROM块占用,该方式禁止使用块占用,该方式禁止使用FLASHFLASH; 当位值为当位值为1 1时,禁止引导时,禁止引导ROMROM,允许使用,允许使用FLASH,FLASH,对于对于 TMS320LF2407ATMS320LF2407A片内片内FLASHFLASH程序存储器映射地址范围为程序存储器映射地址范围为0000h0000h 7FFFh7FFFh。 位位2 2。片内。片内/

20、 /外程序存储器选择控制位,又称微处理器外程序存储器选择控制位,又称微处理器/ /微控制微控制 器模式选择位。可通过软件来改变该位值以改变存储器映射到器模式选择位。可通过软件来改变该位值以改变存储器映射到 片内或片外。当该位值为片内或片外。当该位值为0 0时,器件设置为微控制器模式,程时,器件设置为微控制器模式,程 序存储器地址范围序存储器地址范围0000h0000h7FFFh7FFFh被映射到片内被映射到片内FLASHFLASH;当位值;当位值 为为1 1时,器件设置为微处理器模式,程序存储器地址范围时,器件设置为微处理器模式,程序存储器地址范围0000h0000h。 位位1 10 0:单口

21、存储器:单口存储器SARAMSARAM的程序的程序/ /数据空间选择控制位。当该数据空间选择控制位。当该 两位为两位为0000时,地址空间被分配到外部存储器;当该两位为时,地址空间被分配到外部存储器;当该两位为0101时,时, SARAMSARAM被映射为片内程序空间;当该两位为被映射为片内程序空间;当该两位为1010时,时,SARAMSARAM被映射被映射 为片内数据空间;当该两位为为片内数据空间;当该两位为1111时,时,SARAMSARAM被同时映射到片内被同时映射到片内 程序空间和片内数据空间。程序空间和片内数据空间。 China_ 2.2 存储器和存储器和I/O空间空间 2. 数据存

22、储器映射数据存储器映射 在64K字的数据存储器中,包含了TMS320LF240 xA器件的映射寄存器,这些寄存器 位于数据存储空间的Page0上,如下表: China_ 2.2 存储器和存储器和I/O空间空间 2.2.4 I/O空间空间 TMS320LF/LC240 xA的I/O空间寻址可达64K字,如下图TMS320LF/LC240 xA的 I/O空间地质映射。 China_ 2.2 存储器和存储器和I/O空间空间 v I/O空间的访问都可用IN和OUT指令。当用IN或OUT指令时,信号IS将变成有效, 因此可用信号IS作为外围I/O设备的片选信号。访问外部I/O端口与访问程序存储器、 数据

23、存储器复用相同的地址总线和数据总线。数据总线的宽度为16位,若使用8位 的外设,即可使用高8位数据总线,也可使用低8位数据总线,以适应特定应用的 需要。 v 当访问片内的I/O空间时,信号IS和STRB变成无效,即这两个信号被驱动到高电 平状态。外部地址和数据总线仅仅当访问外部I/O地址时有效。 v 对所有的外部写操作,需要两个时钟周期,包括在WE变低电平之前的半个周期和 WE变高电平之后的半个周期,这样可以保护外部总线上的数据内容。 China_ 2.2 存储器和存储器和I/O空间空间 2.2.5 外部存储器接口及其操作外部存储器接口及其操作 1. 外部存储器接口简介外部存储器接口简介 这 里 以 T M S 3 2 0 L F 2 4 0 7 A 为 例 介 绍 外 部 存 储 器 接 口 及 其 操 作 , TMS320LF2407A包含2K16位字的SARAM和54416位字的片上DARAM, 其中DARAM被

温馨提示

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

评论

0/150

提交评论