707|2

24

帖子

0

TA的资源

一粒金砂(中级)

 

【CW32L052测评】之PWM功能测评 [复制链接]

 

生成PWM波的话,根据芯片手册的描述,GTIM跟ATIM都有硬件生产PWM波的功能,但是ATIM明显功能更为强大,还能生成互补PWM这种特殊PWM波。互补PWM带死区插入的话,是常用于电机控制的一种PWM控制方式。接触了电机控制也有好些年头,那就用ATIM来试试基本的带死区的互补PWM输出吧。

按照惯例,还是从例程入手,找到了一个应该是互补输出的PWM例程。

image-20230730111417-1.png  

打开看了一段时间,大概看出了有配置互补的两个PWM信号,但是配置项的具体作用不是很清楚。对于ATIM这种复杂一些的外设,因为配置项较多,建议是在代码中直接加入一些中午注释,有助于用户理解。毕竟要是每一项都是去看芯片手册,去看具体寄存器,还是要花不少精力。

因为代码注释较少,我参考了一下文档:

image-20230730111417-2.png  

一开始还很奇怪互补PWM跟LED灯有啥关系,然后查了一遍代码,并没有使用到PB14这个引脚,说明这个文档还是存在一些错误。建议原厂核查改正。

基于例程,简化了一下代码,把printf功能给去掉了。然后编译后烧入板子。

由于我自己手上是没有示波器的,所以只能用逻辑分析仪来替代一下测量波形,但可能精度不是特别的准,微小的偏差就当略掉。

image-20230730111417-3.png  

由上图可以看到PWM的周期是99.83us,略去精度误差,是符合我们设置的100us周期的。而且两个PWM波的高电平之间也存在死区。

我们再根据死区芯片手册计算一下死区时间

image-20230730111417-4.png  

由上面可以,计算这个死区时间需要两个量,一个是DTR数值,一个是ATIM的步长时间。

image-20230730111417-5.png  

由代码设置及DTR寄存器值,可知道步长为1us,DTR为1,则死区时间为(1+2)*1us = 3us。然后我们再测一下时间波形

image-20230730111417-6.png  

测量的死区时间就是3us,符合预期。

至此,PWM的带死区互补输出测评完成。

最新回复

看来CW32L052的PWM功能也是很强的,使用起来不复杂   详情 回复 发表于 2023-7-31 07:31
 
 
 

回复
举报

1524

帖子

0

TA的资源

五彩晶圆(初级)

 

看来CW32L052的PWM功能也是很强的,使用起来不复杂

点评

用起来还可以。不过高级定时器本身配置比较多,如果要精通这个模块的话,还是有些难度的  详情 回复 发表于 2023-7-31 11:17
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

 
火辣西米秀 发表于 2023-7-31 07:31 看来CW32L052的PWM功能也是很强的,使用起来不复杂

用起来还可以。不过高级定时器本身配置比较多,如果要精通这个模块的话,还是有些难度的


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表