资源预览内容
第1页 / 共137页
第2页 / 共137页
第3页 / 共137页
第4页 / 共137页
第5页 / 共137页
第6页 / 共137页
第7页 / 共137页
第8页 / 共137页
第9页 / 共137页
第10页 / 共137页
亲,该文档总共137页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
DSP 应用技术二,二 TMS320C2000处理器,2.1 TMS320C2000各系列DSP概述 2.2 芯片内部结构 2.3 常规外部引脚 2.4 程序控制 2.5 中断控制 2.6 存储器与I/O空间 2.7 片内外设,2.1 TMS320C2000概述,TMS320C2000系列DSP集微控制器和高性能DSP的特点于一身,具有强大的控制和信号处理能力,能够实现复杂的控制算法。,DSP芯片上整合了FLASH存储器、快速的AD转换器、增强的CAN模块、时间管理器、正交编码电路接口、多通道缓冲串口等外设。,强大的数据处理功能和控制功能可以大幅度提高应用效率、降低功耗。,TMS320C28x是工业控制领域第一款32bit的最高性能DSP芯片,内部集成了可编程Flash、RAM以及丰富的外设,指令速度可达150MIPS,可以为不同控制领域提供高性能的解决方案。,应用:数字马达控制,数字电源,高级传感器,汽车电子,医疗电子,消费市场,TMS320LF24x系列DSP为工业不同应用平台设计提供了最基本的解决方案。片上集成了多种外设,包括CAN总线,PWM控制器等。最高指令速度可达40MIPS,是业界最小的基于DSP的控制芯片。,应用:工业自动化,功率转换,测量测试,办公设备,传感器,消费电子,C28x与C24x的性能比较,2.2 TMS320C2000内部结构,TMS320C2000系列DSP芯片采用改进的哈佛结构,其程序总线存储器和数据存储器分别独立,有各自的总线结构,并允许互访。,TMS320C2000系列DSP芯片有3个主要组成部分:中央处理单元、存储器、片内外设。同一系列DSP都采用相同的中央处理单元、总线结构和指令集。但片内存储器以及外设有所区别。,TMS320C240x 内部结构框图,2.2.1 中央处理单元,32位中央算术逻辑单元(CALU) 32位累加器(ACC) 输入数据定标移位部分(Input Scaling Section) 1616位的乘法器(MUL) 辅助算术单元(ALAU) 状态寄存器(ST0 & ST1),1. 中央算术逻辑部分,中央算术逻辑部分,中央算术逻辑单元 CALU,累加器 ACC,输出数据定标移位器 Output Scaling Section,中央算术逻辑单元CALU 功能:进行各种算术逻辑运算,包括16位加减、布尔逻辑操作、位测试、移动和循环。 特点:大部分运算只需一个时钟周期。,累加器ACC(32bit) 功能:存放CALU的操作结果,并可对其进行单比特移动或循环。将结果输出到中央算术单元或输出数据定标移位器。 与累加器相关联的状态位有溢出模式位、溢出标志位、进位位和测试控制标志位。分别影响ST0和ST1状态寄存器。这些标志位反映了ACC的运算过程。,输出数据定标移位器Output Scaling Section 功能:将累加器的32位值进行左移07位,然后将移位器中的高位字(用SACH指令)或低位字(用SACL指令)保存到数据存储器,而累加器的内容保持为移位前的值不变。 移位方法:均左移,移位时高位丢失,低位补0。,3 C F 0 F A 0 5 累加器:0011 1100 1111 0000 1111 1010 0000 0101,左移位后移位器:0011 1100 0011 1110 1000 0001 0100 0000 3 C 3 E 8 1 4 0,存储单元 16bit,SACH ADDR1,SACL ADDR2,2. 输入定标部分,功能:将来自存储器的16位数据左移016位变成32位送往中央算术逻辑单元(CALU)。 移位方法:均进行左移,左移后,低位LSB用0填入;没有使用的高位MSB根据状态寄存器ST1的符号扩展模式位SXM决定: 当SXM0,用0填入; 当SXM1,符号扩展。,SXM0,SXM1,3. 乘法部分,功能:在一个时钟周期内完成16位有符号或无符号乘法,乘积32位。 乘法器将来自16位数据存储器(或程序存储器)的值与16位TREG寄存器的值相乘,运算结果送到32位PREG乘积寄存器中。,乘积移位器将PREG中的乘积移位后,全部32位送到CALU,或将结果的16位存到数据存储单元。移位后PREG的值不变。 移位模式取决于状态寄存器ST1中的乘积移位模式位PM。,C24x乘法器,Step1:TREG赋值,Step2:完成乘法,4. 辅助寄存器算术单元ARAU 对8个16位的辅助寄存器(AR7AR0)执行算术操作,该操作可与CALU中的操作并行执行。,功能,为间接寻址提供地址,寻址功能,运算功能,1.将辅助寄存器内容的值加、减一个数值 2.将AR0的内容与当前内容进行比较 3.辅助寄存器可用做暂存单元和软件计数器,5. 状态寄存器,状态寄存器ST0,状态寄存器ST1,注:R表示可读,W表示可写,x表示复位后的值,2.2.2 系统配置寄存器,TMS320C20x芯片没有系统配置寄存器。 TMS320C240x的系统配置寄存器包括系统控制和状态寄存器SCSR1,SCSR2。这两个寄存器均为存储器映射寄存器,分别对240x的系统信号和片内外设模块进行选择配置。,系统控制和状态寄存器SCSR1,CLKSRC. CLKOUT pin source select 0 CLKOUT pin has CPU Clock as the output 1 CLKOUT pin has Watchdog clock as the output CLKPS2 CLKPS1 CLKPS0 System Clock Frequency 0 0 0 4 x Fin 0 0 1 2 x Fin 0 1 0 1.33 x Fin 0 1 1 1 x Fin 1 0 0 0.8 x Fin 1 0 1 0.66 x Fin 1 1 0 0.57 x Fin 1 1 1 0.5 x Fin,注解:,系统控制和状态寄存器SCSR2,Bits 10 SARAM Program / Data Space Select DON PON SARAM status 0 0 SARAM not mapped (disabled), address space allocated to external memory 0 1 SARAM mapped internally to Program space 1 0 SARAM mapped internally to Data space 1 1 SARAM block mapped internally to both Data and Program spaces. (default or reset value),2.2.3 总线结构,C2000总线结构特点如下:,(1) 采用各自独立的数据地址总线分别用于数据读(DBAB)和数据写(DWAB),因此CPU的读写可在一个周期内进行;,(2) 独立的程序空间和数据空间允许CPU同时访问程序指令和数据。,2.3 引脚和信号说明,事件管理器A、B 模数转换器ADC CAN,异步串行口SCI,同步串行口SPI 外部中断,时钟 振荡器,PLL,FLASH,引导程序 仿真与测试 地址、数据和存储器控制信号 电源和地,外部中断,时钟,振荡器、PLL、FLASH、引导程序,仿真和测试(JTAG),地址、数据和存储器控制,READY (input) :外设准备好信号。低电平表示DSP总线需要延长一个总线周期进行读写。,A0A15:16位地址线 D0D15:16位数据线,2.4 程序控制,程序地址的产生 转移、调用和返回指令 重复指令,程序地址产生框图,程序地址产生框图,2.4.1 程序地址产生,1. 程序计数器 程序地址产生逻辑利用16位的程序计数器PC对内部和外部程序存储器寻址,PC中存放将被执行的下一条指令的地址。 C2000有不同的方式加载PC,从而适应连续和不连续的程序流程。,2. 堆栈 C2000系列DSP有一个16位宽、8级深度的硬件堆栈。,功能,保存返回地址,保存重要数据,堆栈数据结构:先进后出,堆栈访问指令,PUSH,POP,PSHD,POPD,压栈,把ACL内容复制到栈顶。,弹出,把栈顶内容复制到ACL 。,把数据存储器中的内容复制到栈顶。,把栈顶中的内容复制到数据存储器。,3. 微堆栈MSTACK,微堆栈只有1级深、16位宽。,功能:保存返回地址,无指令对微堆栈操作。,程序地址产生逻辑操控微堆栈。,4. 流水线操作,TMS320C2000的流水线有4个独立的阶段: 取指令(Fetch)、指令译码(Decode)、取操作数(Operand)和执行指令(Execute)。,对于单字、单周期指令(无等待状态)的4级流水线的操作示意图如下:,2.4.2 转移、调用和返回,转移(跳转):使控制转换到新的地址单元,调用:使控制转换到新的地址单元,将返回地址压入堆栈,返回:使栈顶的地址弹出到程序计数器PC中,1. 无条件指令,当碰到无条件转移和调用指令时,该指令总是被执行。在执行期间,指令中指定的程序地址被装载到PC,并在该地址处执行程序。,PC的装载地址,指令中的操作数,累加器的低16位字,B pma CALL pma,BACC CALA,RET,从栈顶弹出返回地址,2. 有条件指令,当满足一个或多个条件时,转移、调用或返回指令才会被执行。,指令中的操作数,BCND pma,cond1,cond2 CC pma,cond1,cond2 BANZ pma,RETC cond1,cond2,从栈顶弹出返回地址,Condition,2.4.3 重复指令,重复指令RPT允许它的下一条指令重复被执行,执行次数是重复指令中操作数加一。,例如:RPT #N INST1 INST2,A. INST1执行N次,C. INST1执行N1次,B. INST1与INST2执行N次,D. INST1与INST2执行N1次,2.5 中断控制,为了及时响应、处理外界的异步事件,中断要求DSP暂停当前的工作,转而对外界异步事件作出处理,完成以后再继续当前的工作。,中断分类 中断矢量表 中断使能设置 中断响应流程 中断服务程序 复位,2.5.1 中断分类,软件中断,硬件中断,外部中断,内部中断,由指令触发,由外部中断引脚触发,由内部外设事件触发,可屏蔽中断,不可屏蔽中断,从DSP管理中断角度,从触发源 角度,TMS320C2000管理中断有3个主要阶段:,接收中断请求,响应中断 条件判断,执行中断服务程序,满足,不满足,2.5.2 中断矢量表,中断矢量表,又称为中断地址,表明中断发生后,若DSP响应中断,指令执行的地址。,相应的中断地址,PC,DSP内核自动执行,写入相应的转移指令,程序员控制,TMS320F206中断矢量表,2.5.3 可屏蔽中断设置,中断标志寄存器IFR,中断屏蔽寄存器IMR,中断控制寄存器ICR,1. 中断标志寄存器IFRDS0006H,当可屏蔽中断请求到达CPU时,IFR中相应的标志位置1,表明该中断挂起,正在等待响应。,2. 中断屏蔽寄存器IMRDS0004H,向IMR相应的位写0,即屏蔽该中断; 向IMR相应的位写1,即使能该中断。 IMR中的各位对应于中断标志寄存器IFR的各位。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号