当前位置:
文档之家› DSP2-F28335的结构原理
DSP2-F28335的结构原理
22
ST1:
全局中断屏蔽位-------INTM;(0-使能,1-中断屏蔽) 调试使能屏蔽位-------DBGM;(1-时间敏感代码内屏蔽调试) 寻址模式设置位------PAGE0;(0-C28x,1-C27x) 中断向量映射位-------VMAP;(0-低端,1-高端,默认) 堆栈指针定位位--------SPA;(0-未操作,1-已偶定位操作) 循环指令状态位-------LOOP;(0-循环结束,1-循环进行) 仿真及保护寄存器允许位-EALLOW;(1-仿真及保护寄存器允许) 空闲状态位-------IDLESTAT;(0-常态,1-低功耗状态) 寻址模式位----------AMODE;(0-C28x,C27x,1-C2xLP) 目标兼容模式位----OBJMODE;(0-C27x,1-C28x,要修改) M0和M1映射模式位--M0M1MAP;(0-TI测试,1-用户) XF状态位---------------XF;(0-XF引脚的状态,汇编指令) 辅助寄存器指针--------ARP;(000-确定当前辅助寄存器)
存储器
程序地址总线 PAB (22) 程序读数据总线 PRDB(32) 数据读地址总线 DRAB (32) 数据读数据总线 DRDB (32)
程序空间
(4M* 16)
数据空间
(4G * 16)
寄存器组
ARAU SP DP XAR0 XAR7 @X XT MPY32x32 P FPU R0H R7H
数据读总线
例:ASR AX,T ;T中低4位是移位位数 ASRL ACC,T;T中低5位是移位位数
12
2、乘积寄存器--P
乘法的结果
存放16位或32位数据; P的输出要经移位器,移位值由PM(ST0中)决定:
PM值
000
移位模式
左移1位
PM值 移位模式
100 右移3位
001
010 011
不移
右移1位 右移2位
101
110 111
13
右移4位
右移5位 右移6位
3、累加器--ACC
传送,算数,逻辑,比较,乘法运算结果 分拆为:16位和8位
14
与累加器相关的状态位:
符号扩展模式位------------SXM; 溢出模式位----------------OVM; 测试/控制标志位------------TC; 进位位----------------------C; 零标志位--------------------Z; 负标志位--------------------N; 溢出标志位------------------V; 溢出计数器位(6个位)--OVC/OVCU。
2017/3/1 Wednesday
ALU (32)
32
ACC (32)
AH (16) AL (16)
AH.MSB AH.LSB AL.MSB AL.LSB
32
Shift R/L (0-16) 数据总线
9
自寄存器
32
三、F28335的ARAU
Data Bus
XAR0 XAR1 XAR2 XAR3 XAR4 XAR5 XAR6 XAR7 ARAU ARAU Data Memory DP DP(16) (16)
寄存器总线
(96个中断)
PIE
McBSP 88*GPIO
Data Bus(数据总线)
2017/3/1 Wednesday 4
Program Bus(程序总线)
ePWM
DMA
6 CH.
一、F28335的基本组成(续)
XINTF
Sectored Flash
(256KW)
SARAM
(34KW)
BootROM
Shift R/L (0-16)
32 32 32
2、ACC
•AH:AH.MSB,AH.LSB •AL:AL.MSB,AL.LSB
32 x 32 or Dual 16 x 16 P (32) or PH/PL
32
8/16/32
Shift R/L (0-16)
8/16
32
3、Shift(桶型)
•输入ALU前的移位 •对P输出的移位 •对ACC输出的移位 •对寄存器内容移位
2017/3/1 Wednesday
7
一、F28335的乘法器
程序总线
32
数据总线
16 32
XT (32) or T/TL
16/32
1、32位乘法
•经XT(32)×另一个32位数 •积, P(高32位或低32位)
8/16/32 32
MULTIPLIER
Shift R/L (0-16)
32 32 32
32 x 32 or Dual 16 x 16 P (32) or PH/PL
32
Shift R/L (0-16)
8/16
2、双16位乘法-DMAC
•经XT(32)×另一个32位数
•积,ACC(高位字积):P(低位字积)
ALU (32)
32
ACC (32)
AH (16) AL (16)
AH.MSB AH.LSB AL.MSB AL.LSB
22位,指向当前操作指令(到达D2阶段)地址
到达D2阶段的指令不会被中断(要执行完)
19
8、返回程序计数器--RPC
22位,存放长调用的返回地址。 用指令LCR完成长调用时,RPC中的原来的内 容被压入堆栈,返回地址会装载到RPC中; 用指令LRETR实现返回时,RPC中的内容会被 传送到PC中,先前压入堆栈的内容会被弹出到 RPC中。
LCR和LRETR比另一对指令LC和LRET速度快。
20
9、中断控制寄存器--IFR、IER、DBGIER
3个寄存器的相应位定义是对应的: IFR相应位=1时,有对应的中断请求; IER相应位=1时,对应的中断使能; DBGIER用于实时仿真模式(以支持时间紧急中断)。
21
指令操作使用或影响的控制位或标志位
Atomic ALU
(R-M-W)
乘法器
(32x32 bit)
辅助 寄存器组 (32 bit)
FPU
时钟管理 Watchdog 定时器*3
实时JTAG 仿真逻辑
CPU
寄存器总线
(96个中断)
PIE
McBSP 88*GPIO
Data Bus(数据总线)
4、片上外设
•ePWM/eCAP/eQEP •ADC(12位*16路) •eCAN(2) •I2C(1) •SCI(3) •SPI(1) •McBSP(2) •GPIO(88)
(8KW)
OTPROM
(1KW)
eCAP eQEP
存储器
A(19-0)
DMA总线
12- bit ADC
片上外设
1、存储器 •Flash,256KW(8*32KW) •SARAM,34KW •Boot ROM,8KW •OPT存储器,1KW
D(31-0)
系统控制
CAN2.0B I 2C SCI SPI
Program Bus
ARAU
1、DP-直接寻址
•DP中为页号 •6位页内偏移量
32
MUX
22
6 LSB from IR
MUX
XARn 32- bits ARn 16- bits
2、XARx-寄存器间址
2017/3/1 Wednesday
10
四、F28335的CPU寄存器
C28x寄存器组
16bit T PH AH AR0H AR1H AR2H AR3H AR4H AR5H AR6H AR7H 16bit TL PL AL AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7 16bit IER IFR DBGIER ST0 ST1 SP DP 22bit PC RPC
数据/程序写总线
•DPWDB •DWAB
•DRAB •DRDB
ALU
ACC
执行单元
数据/程序写数据总线 DWDB (32) 数据写地址总线 DWAB (32)
~
片上外设 外部接口
(二)、F28335的CPU
一、F28335的乘法器 二、F28335的ALU 三、F28335的ARAU 四、35的CPU寄存器
16
5、数据页指针--DP
每页64个字
17
6、辅助寄存器--XAR0~XAR7
8个:
操作数地址指针; 32位通用寄存器; 16位通用寄存器(AR0~AR7),可作循环控制。
(注意:高16位可能受影响)
注意:高16位不能单独访问。
18
7、程序计数器--PC
F1: Instruction Address F2: Instruction Content D1: Decode Instruction D2: Resolve Operand Addr R1: Operand Address R2: Get Operand E: CPU doing “real” work W: store content to memory
6bit
FPU寄存器组
32bit R0H R1H R2H R3H R4H R5H R6H R7H STF RB
XT P ACC XAR0 XAR1 XAR2 XAR3 XAR4 XAR5 XAR6 XAR7
11
1、被乘数寄存器--XT
XT,被乘数(32位) T , 被乘数(16位)或移位位数
TL , 存16位有符号整数,可符号自动扩展
2、CPU 3、系统控制 •ALU,R-M-W:atomic •时钟管理 •Watchdog •乘法器 •定时器*3个 •AR及ARAU •PIE(仅用45) •DMA及JTAG •FPU及控制器