第7章TMS320C54XDSP片内外设—09.11
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
片上外设
常用特殊功能寄存器 l 辅助寄存器(AR0-AR7) 8个16位的辅助寄存器(AR0-AR7)能被算术逻辑单元ALU访问,也
能被辅助寄存器算术单元ARAU修改,其主要功能是产生16位的数据 空间地址,也能用来作为通用寄存器和计数器。
l 循环缓冲寄存器(BK) 循 环缓冲寄存器(BK)被用来通过ARAU在循环寻址中确定数据循
三个定 时器寄 存器控 制定时 器操作
18
片上外设
3个与定时器相关的寄存器用来控制定时器操作,它们都是存储器 映像寄存器,位于数据存储区的第0页上。 寄存器 TIM PRD TCR
Timer0 地址 Timer1 地址
说明
定时器寄存器, CLKOUT时钟每计数 一次自动减1
定时 器 周 期 寄 存 器 , 当TIM 减 为0 后 , CPU自动将PRD的值装入TIM
11
PLL DIV
PLL分频因子,与PLL MUL及PLL NDIV共同决定实际频率。
10—3
PLL COUNT PLL ON/OFF
PLL计数器,每输入16个CLKIN后减1,用以设定PLL从启 动到频率锁定之间的时间,保证频率转换的可靠性。 PLL通/断控制位, PLL ON/OFF与PLL NDIV共同决定PLL 是否工作。 当PLL ON/OFF与PLL NDIV均为0时, PLL断开,其余情况 PLL工作。 时钟工作方式选择位,为0,分频(DIV)方式;为1, 倍频(PLL)方式。 同时该位还与PLL MUL或PLL DIV共同决定实际频率。 PLL状态位,指示当前时钟发生器的工作方式(只读)。 为0,表示在分频(DIV)方式; 14 为1,表示在倍频(PLL)方式。
辅助寄存存器0 辅助寄存存器1 辅助寄存存器2 辅助寄存存器3 辅助寄存存器4 辅助寄存存器5 辅助寄存存器6 辅助寄存存器7 堆栈指针寄存器 循环缓冲大小寄存器 块重复计数寄存器 块重复首址寄存器 块重复尾址寄存器 处理器方式状态寄存器 扩展程序计数寄存器 保留
6
外设映射寄存器 DRR20 DRR10 DXR20 DXR10 TIM PRD TCR — SWWSR BSCR — SWCR HPIC — 32 33 34 35 36 37 38 39 40 41 42 41 44 45-47 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D-2F McBSP0缓冲串口数据接收寄存器2 McBSP0缓冲串口数据接收寄存器1 McBSP0缓冲串口数据发送寄存器2 McBSP0缓冲串口数据发送寄存器1 定时器0减计数寄存器 定时器0周期寄存器 定时器0控制寄存器 保留 软等待状态寄存器 外部块间转换控制寄存器 保留 软等待状态控制寄存器 主机接口控制寄存器 保留
PLL MUL PLL乘数
11
PLL DIV
PLL除数
10-3
PLL N/OFF
PLL通 /断位
1
PLL NDIV
PLL方式选择
0
PLL STATUS
PLL状态位
例:
STM
#9007H, CLKMD
13
字段位
15—12
字段名称
PLL MUL
字段说明
PLL倍频因子,与PLL DIV及PLL NDIV共同决定实际频率。
12
片上外设
(1)
软件配置PLL
PLL的软件配置是指通过设置’C54xDSP时钟模式寄存器CLKMD的 各状态位来选择配置PLL的倍频/分频系数,不仅能通过其时钟定标 器配置各种乘法器系数,还可以直接开通或关断PLL。 CLKMD属存储器映像寄存器,位于数据存储区的第0页上,地址为 0058H。 15-12
X1 X2/CLKIN C1 C2 X1 X2/CLKIN VDD 外部时钟
11
片上外设
VC5402DSP内部高稳定性能的锁相环(PLL)电路能够 锁定时钟振荡频率,并有信号提纯和频率放大作用,故可 以选择一个频率比CPUCLK低的高稳定时钟源,降低对频率 的要求。 PLL的倍频大小与时钟模式寄存器的软件配置以及DSP 管脚的硬件连接有关,即有软件/硬件两种配置方法:
66 67 6871 72 73 7483 84 85 86 87 88 8995
42 43 4447 48 49 4A53 54 55 56 57 58 595F
McBSP1缓冲串口数据发送寄 存器2 McBSP1缓冲串口数据发送寄 存器1 保留 McBSP1口子区地址寄存器 McBSP1口子区数据寄存器 保留 DMA通道优先级和使能控制 寄存器 DMA子区地址寄存器 带地址自增的DMA子区数据 寄存器 DMA子区数据寄存器 时钟模式寄存器 保留
0024H 0025H 0026H
0030H 0031H 0032H
定时器控制寄存器,可编程设置 定时器的控制位和状态位
19
片上外设
TCR寄存器所包含的各状态位主要用来设置硬件定时器的各控制位。
15-12 保留 11 10 9-6 5 4 3-0
soft
free
PSC
TRB
TSS
TDDR
20
片上外设
定时器1减计数寄存器 定时器1周期寄存器 定时器1控制寄存器 保留 McBSP0口子区地址寄存器 McBSP0口子区数据寄存器 保留 通用IO口控制寄存器 通用IO口状态寄存器 保留 McBSP1缓冲串口数据接收寄 存器2 McBSP1缓冲串口数据接收寄 存器1
DXR21 DXR11 — SPSA1 SPSD1 — DMPR EC DMSA DMSDI DMSD N CLKM D —
《DSP技术与应用》
学时:32(含8学时实验)
1
第7章 TMS320C54XDSP片内外设
2
本 章 内 容
1、特殊功能寄存器 2、时钟发生器 3、硬件定时器 4、编程等待状态发生器 5、中断系统 6、HPI/McBSP/通用I/O口
3
片上外设
所有的’C54x的CPU结构及功能完全相同,但片上外设的配置可能不同。 完整的片上外设配置包括特殊功能寄存器、串行口、并行口、通用I/O口、 定时器、时钟发生器、软件可编程等待状态发生器、中断系统等等。
5
AR0 AR1 AR2 AR3 AR4 AR5 AR6 AR7 SP BK BRC RSA REA PMST XPC —
16 17 18 19 20 2` 22 23 24 25 26 27 28 29 30 31
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
1.特殊功能寄存器
’C54x拥有众多的特殊功能寄存器,这些特殊功能寄存 器非常重要,被用于对片内各功能模块进行管理、控制、 监视。对于DSP的使用者来说,掌握了这些寄存器的用法, 也就基本掌握了DSP的应用要点。 VC5402DSP中众多的特殊功能寄存器分CPU映射寄存器和 外设映射寄存器两大类,分布在一个特定的RAM区(00H7FH),即数据存储区的第0页内,又称作存储器映像寄存器 MMR。
16
VC5402DSP复位时的时钟方式
引脚状态 CLKMD1 0 0 0 1 1 1 1 0 CLKMD2 0 0 1 0 1 1 0 1 CLKMD3 0 1 0 0 0 1 1 1 CLKMD寄存器 复位值 E007H 9007H 4007H 1007H F007H 0000H F000H —— 时钟模式
环区的大小。
l 块循环寄存器(BRC、RSA、REA) 块循环寄存器(BRC)在块循环时确定一段代码所需循环的次数;
块循环头地址寄存器(RSA)中存放循环程序块的开始地址;块循 环尾地址寄存器(REA)中存放循环程序块的结束地址。
9
片上外设
常用特殊功能寄存器
l 堆栈指针寄存器(SP)
堆栈指针是—个l6位的专用寄存器,被用来存放栈顶地址,指示出堆栈顶 部在数据存储空间的位置。’C54x的堆栈是向下生成的,SP总是指向压入堆 栈的最后一个数据。系统复位后,SP初始化为0H,使得堆栈由0000H处开始 。中断、调用、返回、PUSH、POP等指令都要进行堆栈处理。
例:
STM STM STM RSBX
#0100H, PRD #0C20H, TCR #0008H, IMR INTM
正常情况下硬件定时器工作过程:当 CLKOUT时钟信号沿到来时 , 触 发 4 位 预 定 标 器 PSC 减 1 , 直 至 PSC 为 0 , 然 重 装 PSC 参 数 ( 最 大 为 1111B),同时TIM减1;当TIM为0时,用PRD值重装TIM,同时CPU发出 TINT中断,并在TOUT引脚输出一个脉冲信号,脉冲宽度与CLKOUT一致, 循环往复直至系统或定时器复位。 可见,定时器发生中断(TINT)的频率为:
内部振荡器,PLL工作,频率×15 内部振荡器,PLL工作,频率×10 内部振荡器,PLL工作,频率×5 内部振荡器,PLL工作,频率×2 内部振荡器,PLL工作,频率×1 内部振荡器,PLL禁止,频率÷2 内部振荡器,PLL禁止,频率÷4 保留
17
片上外设
3.硬件定时器
’C5402内含2个带预定标器的16位定时器(最多扩展至20位),可通过编 程设置特定的状态位实现停止、重启、复位或禁止等操作。定时/计数器在 每一个时钟周期中减1,减至零则产生一个定时中断TINT。
(CPU时钟频率) CLKOUT=CLKIN ×(实际倍频/分频系数)
15
(2) 硬件配置PLL
PLL的硬件配置是指通过连接设置C54xDSP三个引脚 CLKMD1、CLKMD2、CLKMD3的电平状态来选择配置PLL的倍频大小。 需要指出的是:DSP复位时首先根据这3个引脚状态硬件配 置PLL。 芯片复位时,首先采样CLKMD1、CLKMD2和CLKMD3的管脚电 平,这三个管脚的状态同时决定了时钟模式寄存器CLKMD的初 始值;芯片复位后,则可以通过编程修改CLKMD的内容,重新 设置时钟方式,以获得所需的PLL倍频/分频系数。 VC5402DSP复位时的CLKMD初始值如下表所示。
l
暂存器(TREG)
TREG被用来为乘法指令、乘法/累加指令存放一个乘数,或为带移位操作的 指令(如ADD,LD,SUB)存放一个动态的移位计数值,也可为BITT指令存 放一个动态位地址。EXP指令把计算出的数值存入TREG,而NORM指令则根据 TREG中的值对累加器进行归一化处理。
l
中断寄存器(IMR,IFR)
4
CPU映射寄存器 IMR IFR — ST0 ST1 AL AH AG BL BH BG TREG TRN 0 1 2-5 6 7 8 9 10 11 12 13 14 15 0 1 2-5 6 7 8 9 A B C D E F 中断屏蔽寄存器 中断标志寄存器 保留(用以测试) 状态寄存器0 状态寄存器1 累加器A的低位字(15—0) 累加器A的高位字(31—16) 累加器A的保护位(39—32) 累加器B的低位字(15—0) 累加器B的高位字(31—16) 累加器B的保护位(39—32) 暂时寄存存器 转换寄存存器
外设 映 射 寄 存 器
7
TIM1 PRD1 TCR1 — SPSA0 SPSD0 — GPIOC R GPIOS R — DRR21 DRR11
48 49 50 5155 56 56 5859 60 61 6263 64 65
30 31 32 3337 38 39 3A3B 3C 3D 3E3F 40 41
中断屏蔽寄存器IMR在需要的时候独立屏蔽特定的中断;中断标志寄存器 IFR则用来指明各个中断的当前状态。
10
片上外设
2.时钟发生器
时钟发生器为DSP提供时钟信号,由一个内部振荡器和一个锁相 环电路组成,可通过晶振或外部的时钟驱动。 时钟发生器工作时需要的参考时钟输入可有两种选择方式: (1) 由内部晶体振荡器产生。在DSP引脚X1和X2/CLKIN之间接一枚晶 体,使能内部晶体振荡电路。 (2) 由外部参考时钟源产生。外部时钟直接从X2/CLKIN引脚输入X1 引脚悬空。
2
1
PLL NDIV
0
PLL STATUS
片上外设
PLL倍频/分频系数配置方法
PLL NDIV 0 0 1 1 1 1 PLL DIV X X 0 0 1 1 PLL MUL 0-14 15 0-14 15 0或偶数 奇数 实际倍频/分频系数 0.5 0.25 PLL MUL+1 1 (PLL MUL+1)/2 (PLL MUL+1)/4