“DSP技术”第2章内部资源介绍.ppt
《“DSP技术”第2章内部资源介绍.ppt》由会员分享,可在线阅读,更多相关《“DSP技术”第2章内部资源介绍.ppt(98页珍藏版)》请在三一办公上搜索。
1、小 测 验,1)DSP的基本特点2)什么是哈佛结构?(并画出示意图)3)DSP与单片机的主要区别,第2章:TMS320LF240 x DSP内部资源介绍,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍2.2 存储器和I/O空间2.3 系统配置和中断2.4 程序控制,第2章:TMS320LF240 x DSP内部资源介绍,重点:TMS320LF240 x DSP CPU控制器的内部功能模块;存储器和I/O空间;系统配置和中断;程序控制工作原理难点:)DSP2407的中断系统(2)DSP2407的存储器映射(3)DSP2407锁相环的工作方式(4)DSP2407数字I/O引脚的
2、使用R2的理解,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,中央处理单元(CPU)输入定标器乘法单元中央算术逻辑单元,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,1、输入定标移位器是一个16位到32位的滚动式左向移位器;能将输入的16位数据的015位在本周期内向左移位以得到32位的输出;本操作不需要额外的周期。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,移位器的输入来源数据读总线(DRDB),该输入值来自指令操作数据所引用的数据存储单元;程序读总线(PRDB),改输入是指令操作数给出的常数。,移位量的来源嵌在指令字中的常
3、数。把移位量放在指令字中,该程序代码使用特定的数据比例;临时寄存器TREG的提位。根据TREG的值移位,数据的定标因子是动态确定的,可适应不同的系统要求。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,输入移位器的输出值最低有效位LSBs段填0;未使用的最高有效位MSBs填0或者根据状态寄存器ST1的SXM位的值来确定是否需要进行符号扩展,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,2、乘法器1616位的硬件乘法器,在单个周期内产生一个32位乘积结果的有符号或无符号数;除了MPYU指令,所有的乘法指令都执行有符号的乘法操作。,2.1 TMS320L
4、F240 x DSP的CPU内部功能模块介绍,乘法器的输入16位临时寄存器(TREG),在乘法之前把数据读总线的值加载到TREG;数据读总线的数据存储器值和程序读总线的程序存储器值。,乘法器的输出两个输入值相乘后的32位结果保存在乘积寄存器(PREG)中;PREG的输出连接到32位的乘积定标移位器(PSCALE),通过PSCALE将乘积结果送到CALU或数据存储器。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法定标移位器(PSCALE)输入:该移位器的32位输入连到PREG的输出。输出:完成移位后,全部32位送到CALU,或将结果的16位存到数据存储器。移位模式:该
5、移位器可用4中移位模式,这些模式由状态寄存器ST1的乘积移位方式(PM)位确定。注:PREG的内容保持不变,其值被复制到PSCALE中,进行移位。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法器相关指令及操作用LT指令将数据从数据总线载入TREG提供1操作数,MPY指令提供第2个操作数或从数据总线上得到。使用MPY指令时,可以对一个13位的立即数进行操作,每两个指令周期得到一个乘积。代码执行多路乘法和乘积求和运算时,CPU支持流水线操作。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,乘法器相关指令及操作乘且累加并带动数据移动指令MAC和MAC
6、D充分利用了乘法器的计算宽度,允许两个操作数被同时处理。无符号乘法运算MPYU指令执行大大方便了用于扩展精度的算术运算。平行并累加前次乘积指令SQRA和平方并减去前次乘积指令SQRS传送相同的数到乘法器的两个输入端,以对一个数据存储器单元的值进行平方运算。存储乘积的高字节指令SPH和低字节指令SPL,可将装入PREG的32位乘积结果传送到CALU单元或数据存储器。在执行中断服务程序前必须对PREG的值进行保存。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,3、中央算术逻辑部分中央算术逻辑单元(CALU):实现各种算术、逻辑功能;32位累加器(ACC):接收来自CALU的
7、输出,并可以根据进位位(C)的值来实现移位;输出移位器:将ACC的高位字和低位字在送入数据存储器之前进行移位。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,中央算术逻辑单元(CALU)运算功能:16位加、16位减、布尔逻辑操作、位测试、移动和循环。输入:一个由累加器提供,另一个由乘积定标移位器或输入数据定标移位器提供。输出:其结果送至32位累加器,进行移位。相关状态位:符号扩展模式位SXM(ST1第10位)确定CALU是否进行符号扩展。SXM=0,抑制符号扩展;SXM=1,进行符号扩展。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,累加器(ACC
8、)功能:对送到ACC的CALU的运算结果进行单个移位和循环操作。输入:CALU的运算结果。输出:ACC的高16位和低16位中任何一个都可送到输出定标移位器,经定标移位后存入数据存储器。相关状态位,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,输出定标移位器 将累加器输出的内容左移07位,移动位数由存储器指令指定,然后用SACH或SACL指令将移位器中的高位字或低位字保存到数据存储器中,ACC的内容不变。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,4、辅助寄存器算术逻辑单元(ARAU)在CALU操作的同时执行8个辅助寄存器(AR7AR0)上的算术运
9、算。8个辅助寄存器提供了灵活而有效的间接寻址。通过把数值07写入状态寄存器ST0第3位的辅助寄存器指针(ARP),选择一个辅助寄存器作为当前AR。当前AR存放被访问的数据存储器的地址,根据指令的需要分别向数据读/写地址总线读/写数据,使用完该数据后,当前AR的内容可以被ARAU增减,可实现无符号16位算术运算。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,ARAU可执行的操作将辅助寄存器值增、减1,或者增、减一个变址量(借助任何支持间接寻址的指令)。使辅助寄存器的值加/减一个常数(ADRK/SBRK指令),该常数是指令字的低8位。将AR0的内容与当前AR的内容进行比较,
10、并把结果放入状态寄存器ST1的测试/控制位TC(CMPR指令)。结果经数据写总线DWEB传送到TC。,辅助寄存器的用途数据存储器地址存储器;通过CMPR指令,使辅助寄存器支持条件分支、调用及返回;用作暂存单元;用作软件计数器,按需要对其进行加、减。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,5、状态寄存器两个状态寄存器ST0和ST1,含有各种状态和控制位;可保存在数据存储器,也可从数据存储器加载,可以保存和恢复子程序的机器状态;加载状态寄存器LST指令写ST0和ST1,保存状态寄存器SST指令读ST0和ST1;INTM位不受LST指令的影响;寄存器中每一位均可由SET
11、C和CLRC指令单独置位和清0。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,ARB辅助寄存器指针缓冲器:当ARP被加载到ST0,除了使用LST指令外,原有的ARP值被复制到ARB中;当通过LST#1指令加载ARB时,把相同的值复制到ARP。ARP辅助寄存器指针:ARP选择间接寻址时使用的当前AR;当ARP被加载时,原有的ARP值被复制到ARB寄存器中;在讲解寻址时,ARP可由存储器相关指令改变,也可由LARP、MAR和LST指令改变;当执行LST#1时,ARP也可加载与ARB相同的值。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,OV溢出标志位
12、:该位锁存的值指出CALU是否发生了溢出;发生溢出,OV=1,直到复位、溢出时条件转移、无溢出时条件转移或LST指令执行时才被清0。OVM溢出方式位:该位决定如何管理CALU的溢出。SETC和CLRC指令分别可将该位置1或清0;LST指令也可修改该位;OVM=0,ACC结果正常溢出;OVM=1,根据发生的溢出,把ACC置为最大正值或负值。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,CNF片内DARAM配置位:CNF=0,可配置双口RAM被映射到数据存储空间;CNF=1,可配置双口RAM被映射到程序;该位可通过SETC、CLRC和LST指令修改;RS复位时该位清0。TC
13、测试/控制标志位:TC=1,由BIT或BITT指令测试位为1;利用NORM指令测试时,ACC的2个最高有效位“异或”为真;CMRP所测试的当前AR和AR0之间的比较条件成立。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,INTM中断模式位:该位用来允许或禁止所有可屏蔽中断。通过SETC和CLRC指令置1或清0;该位不影响不可屏蔽中断RS和NMI;LST指令不影响该位;发生中断及复位时置1;INTM=0,允许全部没有被屏蔽的中断;INTM=1,禁止全部没有被屏蔽的中断。DP数据存储器页指针:当指令使用直接寻址方式时,这个9位的DP寄存器与指令寄存器的低7位一起形成一个完整
14、的数据存储器16位地址。LST和LDP指令可修改该字段。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,SXM符号扩展模式位:SXM=1数据通过定标移位器传送到累加器时产生符号扩展,SXM=0抑制符号扩展;该位不影响某些指令的基本操作,如ADDS指令不管SXM位的状态如何都抑制符号扩展;通过SECT、CLRC和LST指令对该位进行置1、清0和加载;复位时该位置1。C进位位:C=1,加法结果产生进位或减法结果未产生借位;C=0,反之;移位16位的ADD指令只能使C位置1,SUB指令只能使C位清0,不会对C位产生其他影响;移1位、循环指令、SETC、CLRC和LST指令均影响
15、该标志位;条件转移、调用和返回指令可根据C的状态执行;复位时该位置1。,2.1 TMS320LF240 x DSP的CPU内部功能模块介绍,XF引脚状态位:该位确定通用输出引脚XF的状态;通过SECT、CLRC和LST指令对该位进行置1、清0和加载;复位时该位置1。PM乘积移位模式:该位决定PREG的值是送往CALU或数据存储器时如何移位;SPM和LST指令可以对该位加载;复位时该位清0。PM=00,乘法器32位乘积不经移位送到CALU或数据存储器;PM=01,送到CALU之前,PREG的输出左移1位(低位填0);PM=10,送到CALU之前,PREG的输出左移4位(低位填0);PM=11,P
16、REG输出进行符号扩展右移6位。注:PREG的内容保持不变,其值被拷贝到乘积移位器中进行移位。,2.2 存储器和I/O空间,增强的哈佛结构,三组并行总线程序地址总线(PAB)数据读地址总线(DRAB)数据写地址总线(DWAB)三个可独立选择的空间程序存储器(64K字)数据存储器(64K字)I/O空间(64K字)注意:LF240 x DSP的所有片内外设的寄存器均映射在数据存储器空间。,2.2 存储器和I/O空间,1、程序存储器保存程序代码及数据表信息和常量寻址范围为64K,包括片内DARAM和片内FLASH访问片外程序地址空间时,DSP自动产生一个访问外部程序地址空间的信号PS,LF2407的
17、程序存储器空间映射图,2.2 存储器和I/O空间,决定程序存储器的配置两个因素CNF位。CNF位是状态寄存器ST1的第12位,决定DARAM中的B0块配置在数据存储器空间,还是配置在程序存储器空间。CNF=0,256字的B0块被映射到数据存储器空间。CNF=1,256字的B0块被映射到程序存储器空间。复位时,CNF0,B0块被映射到数据存储器空间。MP/MC引脚。该引脚决定是从片内Flash读取指令,还是从外部程序存储器读取指令。MP/MC=0:微控制器方式。此时访问的是片内程序存储器(片内Flash)0000h-7FFFh空间。MP/MC=1:微处理器方式。此时访问的是片外程序存储器的000
18、0h-7FFFh空间。注:无论MP/MC引脚为何值,LF240 xDSP都是从程序存储器空间的0000h单元开始执行程序。,2.2 存储器和I/O空间,2、数据存储器寻址范围64K字:前32K字(0000h-7FFFh)是内部数据存储器空间,包括了DARAM和片内外设的映射寄存器;后32K字(8000h-FFFFh)空间的存储器为外部数据存储器。片内有3个DARAM块:B0、B1和B2块。B0块:即可为数据存储器,也可配置为程序存储器。B1、B2块:只能配置为数据存储器。,LF2407的数据存储器空间映射图,2.2 存储器和I/O空间,两种寻址方式:直接寻址和间接寻址。直接寻址时,128字为一
19、页的数据块来对数据存储器进行寻址。右图显示了这些块是如何被寻址的。全部64K的数据存储器分为512个数据页,其标号从0-511。当前页由状态寄存器ST0中的9位数据页指针(DP)值来确定。因此,当使用直接寻址指令时,用户必须事先指定数据页,并在访问数据存储器的指令中指定偏移量,偏移量为7位。,数据存储器页,2.2 存储器和I/O空间,编程时要注意,访问下面的数据存储器的地址空间是非法的,并会对NMI置位。除了以下地址,任何对外设寄存器映射中的保留地址的访问也是非法的。0080h-00FFh 701Fh-71FFh(CAN内部的)0500h-07FFh 7230h-73FFh(部分在CAN内部)
20、1000h-700Fh 7440h-74FFh 7030h-703Fh 7540h-75FFh 7060h-706Fh 7600h-77EFh 77F4h-7FFFh 7080h-708Fh,2.2 存储器和I/O空间,第0页数据地址映射 数据存储器中包括存储器映射寄存器,它们位于数据存储器的第0页(地址0000h-007Fh),下表是对第0页数据地址映射的详细说明。应用中必须注意以下几点:以零等待状态访问两个映射寄存器:中断屏蔽寄存器(IMR)和中断标志寄存器(IFR)测试/仿真保留区被测试和仿真系统用于特定信息发送。因此不能对测试/仿真地址进行操作。,第0页数据地址映射,2.2 存储器和I
21、/O空间,数据存储器配置 CNF位决定B0块的配置,CNF位是状态寄存器ST1的第12位。CNF0,B0块被映射为数据存储器空间;复位时,CNF0;CNF1,B0块被映射到程序存储器空间;,2.2 存储器和I/O空间,3、I/O空间寻址范围为64K字。I/O空间访问的控制信号为IS。所有64K的I/O空间均可以用IN和OUT指令来访问。当执行IN或OUT指令时,信号IS*变为有效,可作为外部I/O设备的片选信号。访问外部I/O端口与访问程序存储器、数据存储器复用相同的的地址总线和数据总线。数据总线的宽度为16位,若使用8位的外设,即可使用高8位数据总线,也可使用低8位数据总线,以适应特定应用的
22、需要。当访问片内的I/O空间时,信号IS和STRB变成无效,外部地址和数据总线仅仅当访问外部I/O地址时有效。,LF2407 I/O空间地址映射图,2.2 存储器和I/O空间,下面是使用汇编语言的直接访问I/O空间的实际例子:IN DAT2,0AFEEh;从端口地址为AFEEh的外设;读数据,并存入DAT2寄存器OUT DAT2,0CFEFh;输出数据存储器DAT2的内容;到端口地址为CFEFh的外设下面是访问等待状态发生器的寄存器的实例:IN DAT2,0FFFFh;从等待状态发生器读取数据到DAT2寄存器OUT DAT2,0FFFFh;将DAT2寄存器的数据写入等待状态发生器,使用等待状态
23、发生器,2.3 系统配置和中断,本节介绍LF240 x DSP的系统配置寄存器和中断模块。系统配置:用来对DSP片内的功能模块进行用户配置,根据具体用途来进行模块定制。中断模块:主要包括中断优先级和中断向量表、外设中断扩展控制器(PIE)、中断向量、中断响应的流程、中断响应的延时、CPU中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断控制寄存器。,2.3 系统配置和中断,1、系统配置寄存器(1)、系统控制和状态寄存器1(SCSR1)SCSR1映射到数据存储器空间的7018h,各位如下:位15:保留位14:CLKSRC,为CLKOUT引脚输出时钟源的选择位0CLKOUT引脚输出CPU时钟
24、;1CLKOUT引脚输出WDCLK时钟。位13、12:LPM1,LPM0,低功耗模式选择,指明在执行IDLE 指令后进入哪一种低功耗模式。00进入IDLE1(LPM0)模式;01进入IDLE2(LPM1)模式;1x进入HALT(LPM2)模式。,2.3 系统配置和中断,位119:CLK PS2-CLK PS0,(PLL)时钟预定标选择位,选择输入时钟频率fin的倍频系数,如下表(P.28)所示。,2.3 系统配置和中断,位8:保留位7:ADC CLKEN,ADC模块时钟使能控制位0-禁止ADC模块时钟(节能)1-使能ADC模块时钟,且正常运行位6:SCICLKEN,,SCI模块时钟使能控制位0
25、-禁止SCI模块时钟(节能)1-使能SCI模块时钟,且正常运行位5:SPICLKEN,,SPI模块时钟使能控制位0-禁止SPI模块时钟(节能)1-使能SPI模块时钟,且正常运行,2.3 系统配置和中断,位4:CANCLKEN,CAN模块时钟使能控制位0-禁止CAN模块时钟(节能)1-使能CAN模块时钟,且正常运行位3:EVBCLKEN,EVB模块时钟使能控制位0-禁止EVB模块时钟(节能)1-使能EVB模块时钟,且正常运行位2:EVACLKEN,EVA模块时钟使能控制位0-禁止EVA模块时钟(节能)1-使能EVA模块时钟,且正常运行位1:保留位0:ILLADR,无效地址检测位检测到无效地址时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 技术 内部 资源 介绍
链接地址:https://www.31ppt.com/p-6234611.html