S32K3 MCAL配置 【PWM】

1、需求分析

目标是在s32k342的板子实现10k~20k的pwm输出,任意占空比

2、功能介绍

pwm输出的实现是依靠s32k3的emios模块功能,下面看下emios的硬件资源

2.1硬件资源

在这里插入图片描述
上图介绍了s32k342具有两个emios实体,每个实体有对应的属性
在这里插入图片描述
在这里插入图片描述
每个emios实体有4种不同的通道,分别为X,Y,G,H
在这里插入图片描述
在这里插入图片描述
每个emios具体的通道对应的通道类型

2.2 clock

在这里插入图片描述
由上图可以看出,emios的clock由system clokc提供,经过全局分频器后提供给所有channel,其中channel0/8/16/22/23为其他channel提供counter。所有通道配置请看下图。
在这里插入图片描述

2.3 pwm介绍

在这里插入图片描述
EMIOS模块可以配置成多种模式,普通PWM常用的Output PWM Buffered (OPWMB) mode模式
在这里插入图片描述
此模式下,必须选择一个MCB Up模式下驱动的外部计数器,AS1和BS1决定占空比。

3、EB配置

3.1 port配置

在这里插入图片描述
1.选择PTA2为emios输出引脚,通道为EMIOS1_CH19_Y

3.2 Mcl配置

在这里插入图片描述
使能emios支持
在这里插入图片描述
1、选择EIOS_1
2、时钟分频
在这里插入图片描述
1、选择EMIOS_CH_16为PTA2 pwm输出提供counter,此时pwm频率=160M/1/4000/1/1 = 40K
2、使能允许debuge模式,如果是PWM模式,需要使能PWM exclusive access

3.3 pwm配置

在这里插入图片描述
1.此页为配置使能pwm相关模式和一些api,按需配置
在这里插入图片描述
在这里插入图片描述
通道选择emios1_ch19,pwm模式选择OPWMB mode
在这里插入图片描述
引用mcl模块配置的masterbus
在这里插入图片描述
1、默认分频,配置必须和mcl模块中配置一致
2、占空比
3、时钟源选择系统时钟

4、代码调试

void Pwm_Init(const Pwm_ConfigType * ConfigPtr)
//pwm初始化
void Mcl_Emios_SetCounterBusPeriod(uint16 logicChannel, uint32 period, boolean syncUpdate)
//设置pwm频率
void Pwm_SetDutyCycle(Pwm_ChannelType   ChannelNumber,
                      uint16            DutyCycle)
//设置pwm占空比

最后,看硬件输出效果

在这里插入图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值