11、W601之PWM控制器

本文介绍了W601微控制器的PWM控制器特性,包括2通道输入信号捕获、5通道PWM信号生成、支持中断和DMA传输模式。详细阐述了寄存器配置和代码实现,例如通过`pwm1_init`函数设置PWM频率和占空比,以创建1KHz频率、50%占空比的PWM信号。示例代码展示了如何启动PWM并使用示波器观察占空比为一半的方波。
摘要由CSDN通过智能技术生成

11、W601之PWM控制器

一、PWM功能概述

PWM 是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM 信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用 PWM 进行编码。

二、W601的PWM控制器的主要特性

  • 支持 2 通道输入信号捕获功能(PWM0 和 PWM4 两个通道)
  • 输入信号捕获功能支持中断交互模式和 DMA 传输模式;DMA 模式支持按字操作
  • 支持 5 通道 PWM 信号生成功能
  • 5 通道 PWM 信号生成支持单次生成模式和自动装载模式
  • 支持 5 通道制动功能
  • PWM 输出频率范围:3Hz~160kHz
  • 占空比最大精度:1/256,插入死区的计数器宽度:8bit
  • 支持通道 0 通道 1 同步功能,支持通道 2 通道 3 同步功能
  • 支持通道 0 通道 1 的互补与非互补模式,支持通道 2 通道 3 的互补与非互补模式
  • 支持 5 通道同步功能
  1. 输入信号捕获
    1. PWM 控制器支持两个通道的信号捕获功能,通过设置 PWM_CTL 寄存器的 Bit24 可以激活通道 0 的捕
      获功能
    2. 设置 PWM_CAP2CTL 寄存器的 Bit1 可以激活通道 4 的捕获功能
  2. DMA 传输捕获数
    1. 通道 0 或者通道 4 开启捕获功能后,捕获寄存器的计数可以通过 DMA 通道快速传输至内存,加速用户
      处理进程

三、寄存器描述

在这里插入图片描述

四、代码实现

void pwm1_init(u32 freq, u8 duty)
{
	wm_pwm1_config(WM_IO_PB_30);//复用PB30为PWM
	tls_pwm_init(0, freq, duty, 0);//配置PWM基本参数
	tls_pwm_start(0);//开始PWM
}

int main(void)
{
    pwm1_init(1000, 128);	//PWM初始化,频率1KHz,占空比128/256 = 50%
    while(1)
    {
        LED_B = 0;
        delay_ms(500);
        LED_B = 1;
        delay_ms(500);
		log_i("main is running");
    }
}

使用示波器就可以看到占空比为一般的方波

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值