第章TMSLFX系列DSP概述.ppt
,现在主导的DSP生产商:1、TI(2000系列(240X/281X/2823X)、5000系列、6000系列2、摩托罗拉3、ADI 4、杰尔,第一部分TMS320LF240XDSP介绍,1.1 TMS320LF240 x系列DSP控制器专为数字电机控制和其它控制系统而设计的。是当前集成度高、性能强的运动控制芯片。不但有高性能的C2XX CPU内核,配置有高速数字信号处理的结构,且有控制电机的外设。,主要用途(1)电机(交流伺服、直流永磁、开关磁阻)的鲁棒控制器。(2)无刷电机的全变速控制。,(5)多电机系统的单处理器控制。(6)与控制算法处理一起完成电源开关转换的控制。(开关电源),(3)使用先进的算法可降低传感器的数量。(4)汽车电子制动系统。,处理速度:LF240 x为30MIPS,LF240 xA为40MIPS。指令系统:信号处理指令、通用控制指令。源代码和目标代码与24x同代产品兼容,源代码与C2x兼容。,有16位地址线,可以访问3个独立的地址空间,总192K字。(1)程序存储器:64K字;(2)数据存储器:64K字;(3)I/O空间:64K字。,所有的片内外设寄存器均映射在数据存储器空间。片内32K字Falsh。双口RAM为544个字(为DARAM双口RAM):B0-256个;B1-256个;B2-32个。片内SARAM 2K字(单口RAM)。,1 地址、数据、存储器控制信号A0-A15:D0-D15:DS*:数据空间选通;PS*:程序空间选通;IS*:I/O空间选通;R/W*:读写选通,指明与外围器件信号的传送方向;W/R*/IOPC0:为R/W*的反;WE*:对外部3个空间写;,常用引脚,RD*:对外部3个空间读STRB*:外部存储器选通;READY:插入等待状态;MP/MC*:微处理器/微计算机(控制器)方式选择,2、事件管理器A(EVA)引脚CAP1/QEP1/IOPA3:捕捉输入1/正交编码脉冲输入CAP2/QEP2/IOPA4:CAP3/IOPA5:PWM1/IOPA6:比较PWM输出或通用IO;PWM2/IOPA7:PWM3/IOPB0:PWM4/IOPB1:PWM5/IOPB2:PWM6/IOPB3:,T1PWM/T1CMP/IOPB4:T2PWM/T2CMP/IOPB5:TDIRA/IOPB6:通用计数器方向选择(EVA)TCLKINA/IOPB7:通用计数器(EVA)外部时钟输入,模数转换模块引脚ADCIN00ADCIN15:ADC的模拟输入VREFHI:ADC的模拟参考电压高电平输入端VREFLO:ADC的模拟参考电压低电平输入端,CAN、SCI、SPI模块引脚CANRX/IOPC7:CAN接收数据脚或IO脚;CANTX/IOPC6:CAN发送数据脚或IO脚;SCITXD/IOPA0:SCI发送数据脚或IO脚;SCIRXD/IOPA1:SCI接收数据脚或IO脚;SPICLK/SPI:时钟脚或IO脚SPISIMO/IOPC2:SPI从输入主输出或IO脚;SPISOMI/IOPC3:SPI从输出主输入或IO脚;SPISTE*/IOPC5:SPI从发送使能或IO脚;,外部、中断、时钟引脚RS*:复位引脚,当RS*为高电平时,从程序存储器的0地址开始执行程序;当WD定时器溢出时,在RS*脚产生一个系统复位脉冲;PDPINTA*:功率驱动保护中断输入,当电机驱动不正常时,如出现过压、过流时,该中断有效,将PWM脚(EVA)置为高阻态。XINT1/IOPA2:外中断1或通用IO脚,极性可编程;,XINT2/ADCSOC/IOPD0:外中断2可做AD转换开始输或通用IO脚,极性可编程;CLKOUT/IOPE0:时钟输出或通用IO脚;PDPINTB*:功率驱动保护中断输入,当电机驱动不正常时,如出现过压、过流时,该中断有效,将PWM脚(EVB)置为高阻态。,2.1 TMS320LF240 x系列的CPU功能模块(第二章)包括:输入定标移位器、乘法器、中央算术逻辑单元2.1.1 输入定标移位器2.1.2 乘法器,输入定标移位器,乘法器,2.1.3 中央算术逻辑单元(CALU)实现大部分的算术和逻辑运算功能。大多数只需1个机器周期。可进行布尔运算,使高速控制器所要求的位操作很容易。对大多数指令,状态寄存器ST1的第10位符号扩展位(SXM)决定在计算时是否使用符号扩展:若SXM0,符号扩展无效;若SXM1,符号扩展有效。,2.1.4 输出数据定标移位器将累加器输出的内容左移07位,而累加器的内容保持不变。,2.1.5 状态寄存器ST0和ST1特别重要,两个寄存器的内容可被读出并保存到数据存储器(用SST指令),或从数据存储器读出加载到ST0和ST1(用LST指令)。在子程序调用或进入中断时实现CPU各种状态的保存。可用指令SETC和CLRC单独置1或清0。,2.1.6 辅助寄存器算术单元(ARAU)1.辅助寄存器算术单元ARAU简介ARAU的主要功能:在CALU操作的同时,执行8个辅助寄存器AR7-AR0中的算术运算如何选择某一辅助寄存器?用ARP指针装入3位数据。,2.辅助寄存器除可用于数据存储器的地址外,还有其他用途:(1)利用辅助寄存器进行条件转移;(2)利用辅助寄存器进行暂存单元;(3)利用辅助寄存器进行软件计数。,2.2 存储器和I/O空间,LF/LC240X芯片有16位地址线,可以访问3个独立的地址空间,总计192K字。程序存储器:64K字节 数据存储器:64K字节 I/O空间:64K字节,/DS,/PS,/IS,数据存储器空间,程序存储器空间,I/O空间,LC:无FLASHLF:有FLASH,片内:单端口SARAM(共2K字)双端口DARAM(B0块、B1块、B2块共544字),一、片内存储器(一)双口RAM(DARAM)544个字,分为三块:B0(256字节)B1(256字节)B2(32字节)B0作程序存储器还是作数据存储器,由寄存器ST1的D12位CNF 来决定:CNF=1,B0映射到程序存储器空间CNF=0,B0映射到数据存储器空间,(二)单口RAM(SARAM)2K字,(三)FLASH程序存储器LF2407:32K字,映射到程序存储空间。有片内程序存储器和片外程序存储器之分。MP/MC*=0,选择片内Falsh存储器MP/MC*=1,选择片外程序存储器,从片外程序存储器开始执行程序。,2.2.1 程序存储器两个因素决定程序存储器的配置(1)CNF位CNF=1,B0映射到程序存储器空间CNF=0,B0映射到数据存储器空间(2)MP/MC*脚MP/MC*=0,选择片内Falsh存储器0000h-7FFFhMP/MC*=1,选择片外程序存储器0000h-7FFFh开始执行程序。,程序存储器映射图,2.2.2 数据存储器1.数据存储器映射三块:B0、B1、B2。B0:256个字(可设置为程序/数据存储器)B1、B2块:只能配置为数据存储器,数据存储器映射图,2.数据存储器页在直接寻址中,64K空间分为512页,具体页由状态寄存器ST0中的9位数据页指针(DP)的值确定。因此,在使用直接寻址指令中,必须指定数据页和7位偏移量9位数据页指针(DP)+7位偏移量,直接寻址方式,2.3 系统配置和中断,系统配置概述系统配置和中断操作的内容包括:系统配置寄存器、中断优先级和中断向量表、外设中断扩展控制器(PIE)、中断向量、中断响应的流程、中断响应的时间、CPU中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断控制寄存器。LF2407大部分的I/O口是多路复用的,复位时会被上拉为数字输入的模式。,2.3.1 系统配置寄存器对功能模块进行配置。系统控制和状态寄存器(1)系统控制和状态寄存器SCSR1,映射到数据存储器空间7018h。,位15:保留位14:CLKSRC,CLKOUT引脚输出源选择0CLKOUT引脚输出CPU时钟;1CLKOUT引脚输出WDCLK时钟位13-12:LPM低功耗模式选择,指明在执行IDLE 指令后进入哪一种低功耗模式。00进入IDLE1(LPM0)模式;01进入IDLE2(LPM1)模式;1x进入HALT(LPM2)模式。位11-9:PLL时钟预定标选择,对输入时钟选择倍频系数。,(2)系统控制和状态寄存器2SCSR2,映射到数据存储器空间7019h。,2.3.2 中断优先级和中断向量表LF2407 DSP具有3个不可屏蔽中断和6个可屏蔽中断(INT1-INT6),。,中断源如下所示:不可屏蔽中断(3个)中断优先级中断名称外设中断向量描述1 Reset 0000h 复位引脚和WD溢出2 保留0026h 仿真陷阱3 NMI 0004h 软件中断,2.3.3 外设中断扩展控制器LF2407采用一个外设中断扩展(PIE)控制器来专门管理来自各种外设或外部引脚的中断请求。下图为外设中断扩展模块图。具体寄存器为:PIRQR0-PIRQR2,外设中断扩展模块图,2.3.4 中断向量 LF2407 有两个向量表。CPU向量表 用来获取响应CPU中断请求的一级通用中断服务子程序(GISR)。(2)外设向量表 用来获取响应某一特定外设事件的特定中断服务子程序(SISR)。,1 假中断向量假中断向量特性可以保证系统一直可靠安全地运行,而不会进入无法预料的中断死循环中。,2 软件层次中断服务子程序的层次有两级:通用中断服务子程序(GISR)特定中断服务子程序(SISR),3 不可屏蔽中断LF2407 DSP 无NMI引脚,在访问无效的地址时,不可屏蔽中断(NMI)就会发出请求。当NMI被响应后,程序将转到不可屏蔽中断向量入口地址0024h处。LF2407 DSP没有与NMI相对应的控制寄存器。,2.3.7 CPU中断寄存器CPU中断寄存器包括:(1)中断标志寄存器(IFR);(2)中断屏蔽寄存器(IMR)。1 CPU中断标志寄存器(IFR)0006h 读取IFR可以识别挂号的中断,向相应的IFR位写1将清除已挂号的中断。位15-6:保留位。位5-0:分别为INT6-INT1的中断标志位。0:无中断挂号,1:表示有INTn的中断挂号。,2)中断屏蔽寄存器IMR,映射到数据存储器空间0004h。位15-6:保留位。位5-0:分别为INT6-INT1中断的屏蔽位。0:中断INTn被屏蔽。1:中断INTn被使能。,2.12 外设中断向量寄存器PIVR,寄存器中的内容为最近一次被CPU应答的外设中断向量,