天南地北客
发表于: 2018-9-15 13:19:26 | 显示全部楼层

NUCLEO-8S208RB(基于STM8S208RBT6)和NUCLEO-8L152R8(基于STM8L152R8T6)开发板可用于评估所有STM8S系列和STM8L系列微控制器的主要特性。


本应用笔记简要介绍了如何使用TIM外设来生成三个PWM信号。


1     应用说明

本节描述了在NUCLEO-8S208RB或NUCLEO-8L152R8开发板上使用TIM外设生成三个PWM信号的硬件要求、应用程序的原理图和工作原理。


1.1    硬件要求

NUCLEO-8S208RB或NUCLEO-8L152R8开发板不需要额外的硬件。

需要一台示波器作为外部资源。


1.2    应用原理图

两块开发板的应用原理图如下图所示。

图1.   STM8S系列应用原理图

图1.   STM8S系列应用原理图.jpg


图2.   STM8L系列应用原理图

图2.   STM8L系列应用原理图.jpg


1.3  工作原理

该应用基于使用在PWM(脉冲宽度调制)模式的TIM外设来生成三个PWM信号。

•  使用STM8S系列器件的TIM2

•  使用STM8L系列器件的TIM1


生成过程如下图所示。

图3.   PWM生成原理

图3.   PWM生成原理.jpg


TIM根据定时器计数器时钟从0计数到自动重载寄存器值(TIM_ARR)。

•      当计数器值等于比较/捕获寄存器(TIM_CCRx)值时,通道x信号设置为0。

•      当计数器值达到TIM_ARR值时,计数器复位,通道x信号设置为1。

通过配置TIMx_CCRx和TIMx_ARR寄存器,用户可以轻松修改生成PWM信号的占空比和频率(参见第2节软件说明)。默认情况下,应用程序提供如下表所示的三个PWM信号。

注意:可以配置AFR选项字节以在PD2上得到通道3的PWM。

表2.  默认PWM信号

信号
占空比
频率
STM8S系列
STM8L系列
I / O引脚
连接器
I / O引脚
连接器
通道1 PWM
50%
2 KHz
PD4
CN5.6
PD2
CN5.24
通道2 PWM
25%
PD3
CN5.21 /CN6.1
PD4
CN5.6
通道3 PWM
75%
PA3
CN4.27
PD5
CN5.4

2     软件说明

此示例使用STM8S系列和STM8L系列标准固件库来控制通用函数。

要生成PWM信号,必须按如下方式配置TIMx外设:

•     为每个通道启用输出状态

•     每个通道的输出比较低电平有效

•     为每个通道启用预加载寄存器

•     PWM输出信号频率= 2 KHz:

      - 定时器源时钟频率为2 MHz(默认为fCPU),预分频器设置为1以获得一个2 MHz的TIMx计数器时钟。

      - PWM输出信号频率可根据以下公式设定:

       PWM输出信号频率= TIMx计数器时钟/(TIMx_ARR + 1)

       (在我们的例子中,TIMx_ARR = 999,因此PWM输出信号频率为2 KHz)

•      每个通道设置为PWM模式。要在每个通道上获得不同PWM占空比值,必须根据以下等式设置TIMx_CCRx寄存器:

       通道x占空比= [TIMx_CCRx /(TIMx_ARR + 1)]×100

       默认情况下,我们设置为:

       - 通道1:TIMx_CCR1x寄存器值为500,因此TIMx的通道1产生一个频率为2 KHz,占空比为50%的PWM信号。

       - 通道2:TIMx_CCR2x寄存器值为750,因此TIMx的通道2产生一个频率为2 KHz,占空比为75%的PWM信号。

       - 通道3:TIMx_CCR3x寄存器值为250,因此TIMx的通道3产生一个频率为2 KHz,占空比为25%的PWM信号。

注意:对于STM8S系列器件TIMx = TIM2,而对于STM8L系列器件TIMx表示TIM1。


2.1     应用软件流程图

2.1.1  主循环流程图

图4.  主循环流程图

图4.  主循环流程图 - CN.jpg


3    修订记录

表3.文档修订历史记录

日期
版本
更改内容
2018年6月29日
1
首次发布。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 10 | 回复: 18



手机版|

GMT+8, 2024-12-22 00:49 , Processed in 0.076281 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表