1、DSP原理与应用 The Technology & Applications of DSPs,北京交通大学 电气工程学院 夏明超 郝瑞祥 万庆祝 ,第三章:TMS320F2833X CPU结构和存储器配置,第3.1节 发展历史 第3.2节 TMS320F28335 CPU结构 第3.3节 TMS320F28335 存储器配置与IO 第3.4节 TMS320F28335寻址方式 习题,第3.1节 发展历史,第3.1节 发展历史,第三章:TMS320F2833X CPU结构和存储器配置,第3.1节 发展历史 第3.2节 TMS320F28335 CPU结构 第3.3节 TMS320F28335
2、 存储器配置与IO 第3.4节 TMS320F28335寻址方式 习题,第3.2节 TMS320F2833X CPU结构,主要参考资料: TMS320C28x CPU and Instruction Set Reference Guide(spru430e) 2.TMS320F28335, TMS320F28334, TMS320F28332 Digital Signal Controllers (DSCs) Data Manual(SPRS439B),第3.2节 TMS320F2833X CPU结构,第3.2节 TMS320F2833X CPU结构,第3.2节 TMS320F2833X CP
3、U结构,第3.2节 TMS320F2833X CPU结构,第3.2节 TMS320F2833X CPU结构,150MHz,1.9V内核,3.3V IO 32位CPU,32位FPU,16*16 32*32 乘法器 6路DMA通道 32位外部接口 RAM,FLASH,可外扩Boot ROM 88路复用IO 128位加密锁 18路PWM输出,6个事件捕捉器 3个独立32位定时器 2路CAN,3路SCI,2路SPI,1路I2C 16路12位80ns AD转换器 支持C/C+编程,低功耗模式,第3.2节 TMS320F2833X CPU结构,第3.2节 TMS320F2833X CPU结构,第3.2节
4、TMS320F2833X CPU结构,C28X内核: 程序和数据控制逻辑 实时仿真接口 地址寄存器算术逻辑单元 算术逻辑单元(ALU) 乘法单元及并行处理 预取指队列及指令译码单元 程序和数据地址生成器 中断处理单元,C28X内核内部寄存器: 32位中央算数逻辑单元 32位累加器ACC:AH,AL 32位输出移位器 32位乘法输入寄存器XT(T,TL) 32位辅助寄存器XAR0XAR7(AR0AR7) 32位乘积结果寄存器P(PH,PL) 16位数据页指针寄存器、中断标志寄存器、中断使能寄存器、堆栈指针SP、状态寄存器ST0、ST1,第3.2节 TMS320F2833X CPU结构,32位中央
5、算数逻辑单元,32位累加器,32位输出移位器 中央算数逻辑单元(CALU):+,-,&,|,位测试 一个固定输入是累加器 另一个来自输入移位器或乘法移位器 累加器(ACC):接收CALU的输出,可进行移位(ADD,ADDC) 输出移位器:输出移位后的ACC内容,并存到数据内存中,第3.2节 TMS320F2833X CPU结构,第3.2节 TMS320F2833X CPU结构,C28X核的16位乘法单元16位临时寄存器(T)16X16乘法单元32位乘积寄存器乘积移位器: 受PM控制 左移 0 1右移 1 2 3 4 5 6,第3.2节 TMS320F2833X CPU结构,第3.2节 TMS3
6、20F2833X CPU结构,C28X核的16位乘法单元32位临时寄存器(XT)32X32乘法单元32位乘积寄存器乘积移位器: 受PM控制 左移 0 1右移 1 2 3 4 5 6,移位寄存器:64位,可接受16、32或64位数据输入,左移016位,对齐成32位后送给CALU。 移位次数: 由指令字中的常数:ADD dma,shfit (ADD 1,1) 由TREG低4位:ADDT dma(ADDT 127) 移位方式: SXM=0 SXM=1,第3.2节 TMS320F2833X CPU结构,辅助寄存器:XAR0XAR7(AR0AR7), ARAU XAR0XAR7: 间接寻址 CMPR用于
7、条件分支/调用/返回 用作暂存 软件计数器 ARAU: 对XAR内容进行+- 实现XAR0内容和当前XAR的比较,第3.2节 TMS320F2833X CPU结构,状态寄存器:ST0:LST #0,dma OVC/OVCU:溢出计数 PM:乘积结果移位计数 V:溢出标志 N:负值标志 Z:结果为0标志 C:进位(借位)标志 TC:测试标志(TBIT指令) OVM:溢出模式控制 SXM:符号位扩展模式控制,第3.2节 TMS320F2833X CPU结构,状态寄存器:ST1:LST #1,dma ARP:当前AR选择 XF:XF状态 M0M1MAP:M0M1内存块映射模式 OBJMODE:是否兼
8、容C27代码 AMODE:地址模式位,同PAGE0配合 IDLESTAT:空闲状态标志 EALLOW:仿真器使能位,第3.2节 TMS320F2833X CPU结构,状态寄存器:ST1:LST #1,dma LOOP:在循环中 SPA:堆栈边界对齐方式 VMAP:中断向量表映射模式位0-03F,1-3FFFC03FFFFF PAGE0:PAGE0寻址模式 DBGM:调试使能标志 INTM:全局中断屏蔽位,第3.2节 TMS320F2833X CPU结构,第三章:TMS320F2833X CPU结构和存储器配置,第3.1节 发展历史 第3.2节 TMS320F28335 CPU结构 第3.3节
9、TMS320F28335 存储器配置与IO 第3.4节 TMS320F28335寻址方式 习题,第3.3节 TMS320F2833X 存储器配置与IO,低64k,64k 以上,第3.3节 TMS320F2833X 存储器配置与IO,第3.3节 TMS320F2833X 存储器配置与IO,256k Flash,第3.3节 TMS320F2833X 存储器配置与IO,Flash,外接存储空间扩展:XZCS6:0X10000017FFFF,第3.3节 TMS320F2833X 存储器配置与IO,扩展(外部)读时序,第3.3节 TMS320F2833X 存储器配置与IO,扩展(外部)写时序,第3.3节
10、 TMS320F2833X 存储器配置与IO,第3.3节 TMS320F2833X 存储器配置与IO,GPIO:3种复用功能 方向 数据,第3.3节 TMS320F2833X 存储器配置与IO,GPIO有关寄存器: 0x00006F80 - 0x00006FFF,复用 方向 上拉 控制 品质,第3.3节 TMS320F2833X 存储器配置与IO,GPIO有关寄存器: 0x00006F80 - 0x00006FFF,复用:GPxMUXn决定该GPIO管脚具体功能 方向:GPxDIR决定作为GPIO时是输入还是输出 上拉:内部上拉机制是否有效 控制:品质控制是否有效 品质:输入信号电平品质:3或
11、6个同步时钟周期不变,第3.3节 TMS320F2833X 存储器配置与IO,GPIO有关寄存器: 0x00006F80 - 0x00006FFF,品质:输入信号电平品质:3或6个同步时钟周期不变,第3.3节 TMS320F2833X 存储器配置与IO,GPIO有关寄存器: 0x00006F80 - 0x00006FFF,GPxDAT:数据,作为输入时的管脚状态 GPxSET:设定,作为输出时的管脚状态 GPxCLEAR:清0,作为输出时置0 GPxTOGGLE:置1,作为输出时置1,第三章:TMS320F2833X CPU结构和存储器配置,第3.1节 发展历史 第3.2节 TMS320F28
12、335 CPU结构 第3.3节 TMS320F28335 存储器配置与IO 第3.4节 TMS320F28335寻址方式 习题,第3.4节 TMS320F28335寻址方式,C程序与汇编程序与机器码的对应:,int a10,b10; scale(int k) int i;for( i=0; i10; i+)ai=bi*k; ,程序控制:PC复位后PC=0,从程序存储的3FFFC0H 开始, 然后按照流水取指-指令译码-取操作数-执行顺序执行. 根据指令译码结果,决定后续的PC值,即后续的指令取指位置. 例如: ADD #4000h,2 对应的程序存储段内容: 101111111001 0010
13、0100000000000000,第3.4节 TMS320F28335寻址方式,寻址模式控制位:AMODE ST1.8控制寻址模式AMODE=0,16位寻址模式,与大多数C2000兼容。AMODE=1,32位寻址模式,第3.4节 TMS320F28335寻址方式,寻址: 取操作数、数据或IO内容 立即数寻址方式 直接寻址方式 堆栈寻址方式 间接寻址方式 寄存器寻址方式,第3.4节 TMS320F28335寻址方式,立即数寻址方式: 通过指令中的立即数直接访问数据/程序/IO空间,方法:*16位立即数 例如:MOV loc16, *0100; 地址0100h的内容放到loc16中,第3.4节 T
14、MS320F28335寻址方式,直接寻址方式: 利用DP作为数据页面指针,指令中带6或7位偏移量访问该页面内存储单元。 例如:MOVW DP,#VarA;ADD AL,VarA ;,第3.4节 TMS320F28335寻址方式,堆栈寻址方式: 使用SP(堆栈指针),指令中带6位偏移量,从堆栈指针处减去此偏移量作为要访问的存储单元地址。 例如:ADD AL,*SP5 ; 从当前栈顶-5的位置取值加到ALMOV *-SP8,AL ; 将AL内容存到当前栈顶-8的位置,第3.4节 TMS320F28335寻址方式,间接寻址方式: 利用辅助寄存器XAR0XAR7保存数据单元地址,可访问数据段的任一单元
15、:当前XAR用*例如: MOVL XAR2,#Array1MOVL XAR3,#Array2MOV AR0,#N1Loop:MOVL ACC,*XAR2+MOVL *XAR3+,ACCBANZ Loop,AR0,第3.4节 TMS320F28335寻址方式,间接寻址方式选项和操作数:,第3.4节 TMS320F28335寻址方式,间接寻址方式选项和操作数: 反向进位加/减(reverse carry propagation) AR0 = AAAAh=1010 1010 1010 1010b 则实际+/-为 5555h = 0101 0101 0101 0101b,第3.4节 TMS320F28
16、335寻址方式,第3.4节 TMS320F28335寻址方式,寄存器寻址方式: 访问寄存器内容:直接使用寄存器内的值 方法为:寄存器名,例如ACC 可用寄存器:ACC,P,XT,XARn, 例如:MOVL XAR6,ACC; 把ACC的值放入XAR6MOVL ACC,XT; 把XT的值放入ACCADDL ACC,ACC; ACC = ACC + ACC,第3.4节 TMS320F28335寻址方式,习题,1. 请查找资料选择合适的RAM芯片,在0X20 0000开始扩展1M*16的RAM,完成扩展RAM的原理图:要求有完整的芯片引脚连接关系,并提供该芯片型号及关键参数资料。建议:学习使用Pro
17、tel等EDA工具进行原理图绘制。,习题,2.在进行RAM扩展或外部IO访问时,如果外部设备(外部RAM或IO设备)较慢,如何解决这个问题? 3.试比较几种寻址方式的异同,分析他们的优缺点,并举例说明其适用场合。总结哪些指令可以使用哪种寻址方式。,参考文献,1.TMS320F/C24x DSP Controllers CPU and Instruction Set Reference Guide 2.TMS320F/C240 DSP Controllers Peripheral Library and Specific Devices Ref. Guide (Rev. D) 3.TMS320LF240xA DSP Controllers System and Peripherals Reference Guide ,