DSP定时器的计算

以下是 0 到 F 的十六进制数对应的四位二进制表示的对照表:

十六进制 二进制
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

定时器周期:

我们先将 0x1742 转换成二进制形式:

0x1742 = 0001 0111 0100 0010(二进制)

↑ ↑ ↑ ↑

高位 低位(从右向左数位)

4位是0

5位是0

8位是0

9位是1

10位是1

11位是1

12位是0

以 TI 的 TMS320 系列 EVA 模块为例,T1CON 各个位的定义通常如下:

名称 含义
15 不常用(保留) ---
14 不常用(保留) ---
13 不常用(保留) ---
12-11 TMODE1-TMODE0 计数模式
10-8 TPS2-TPS0 时钟预分频
7-6 不常用或保留 ---
5-4 TCLKS1-TCLKS0 定时器时钟源
3-0 其他控制位(如启用位等) ---

T1CON = 0x1742,可以拆解成以下几个关键配置位:

  • TMODE1- TMODE0 = 10连续增计数模式

  • TPS2-TPS0 = 7时钟预分频比为 1/128

  • TCLKS1-TCLKS0 = 00选择 HSPCLK(高频系统时钟)作为定时器的时钟源

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

  • TMODE1-TMODE0 = Bit12~11 = 10

    • 二进制位置:bit 12 = 1, bit 11 = 0

    • 含义:10 → 连续增计数模式(Continuous up-counting mode)

  • TPS2-TPS0 = Bit10~8 = 111

    • TPS2 = 1(bit10),TPS1 = 1(bit9),TPS0 = 1(bit8)

    • 即:111 → 分频比为 1/128(这个是固定映射关系)

  • TCLKS1-TCLKS0 = Bit5~4 = 00

    • 选择定时器时钟源为 HSPCLK

T1PR 是定时器1的 预分频寄存器(Prescaler Register)

它的值用于 将定时器的输入时钟再进行一次分频,分频因子就是你写入的值。

0x0200 转十进制 0x0200 = 2 × 256 = 512

定时器输出 PWM 信号的频率与占空比:

这两页讲的是 TMS320F281x 定时器输出 PWM 信号的频率与占空比 的计算。


第一部分:T1 定时器输出 PWM 的频率与占空比

已知配置:

  • 外部时钟:75 MHz

  • T1PR = 0xFFFF = 65535

  • T1CON = 0x1042:连续计数模式、无分频

  • T1CMPR = 0x3C00 = 15360

1️⃣ PWM 频率计算:

PWM 频率由 T1PR 控制,计算公式如下:

复制代码
频率 = 定时器时钟频率 / (T1PR + 1)
     = 75MHz / (0xFFFF + 1)
     = 75MHz / 65536 ≈ 1.144 kHz

2️⃣ 占空比计算:

高电平时间 = T1CMPR = 0x3C00 = 15360

周期总时间 = T1PR + 1 = 65536

复制代码
高电平占空比 = 15360 / 65536 ≈ 23.4%
低电平占空比 = 1 - 23.4% = 76.6%

第二部分:T2 定时器输出 PWM 的频率与占空比

已知配置:

  • T2PR = 0x0FFF = 4095

  • T2CON = 0x1042:连续计数、无分频

  • T2CMPR = 0x03C0 = 960

  • 输出模式:T2PIN = 2 → 高电平有效


1️⃣ PWM 频率计算:

复制代码
频率 = 75MHz / (0x0FFF + 1)
     = 75MHz / 4096
     = 18.31 kHz

2️⃣ 占空比计算:

高电平时间 = 0x0FFF - 0x03C0 = 4095 - 960 = 3135

复制代码
高电平占空比 = 3135 / 4096 ≈ 76.5%
低电平占空比 = 1 - 76.5% = 23.5%

✅ 总结:

定时器 频率 高电平占空比 低电平占空比
T1 1.144 kHz 23.4% 76.6%
T2 18.31 kHz 76.5% 23.5%

相关推荐
xyx-3v9 小时前
VS CodeC51 单片机开发环境搭建
单片机·嵌入式硬件
iCxhust10 小时前
c# U盘映像生成工具
开发语言·单片机·c#
小宋同学在不断学习11 小时前
stm32--SPI原理应用W25Q64(二)
stm32·单片机·spi
lingzhilab12 小时前
零知开源——STM32F4结合BMP581气压传感器实现ST7789中文显示教程
stm32·单片机·嵌入式硬件
夜月yeyue12 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
猫猫的小茶馆13 小时前
【STM32】外部中断
stm32·单片机·嵌入式硬件·mcu·51单片机
森焱森14 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
brave and determined15 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
金色光环19 小时前
stm32与tp-linkv2接线、解决识别不到芯片问题
stm32·单片机·嵌入式硬件