当前位置:
文档之家› 第7章TMS320C54XDSP片内外设—09.11
第7章TMS320C54XDSP片内外设—09.11
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初始值如下表所示。