英飞凌TC23x–MCAL配置之 PWM
1 PWM基础知识
1.1 介绍:
AUTOSAR(Automotive Open System Architecture)中的PWM(Pulse Width Modulation,脉冲宽度调制)模块是用于生成具有特定占空比和频率的方波信号的模块。PWM信号广泛用于控制电机速度、调节LED亮度和通信协议中。
1.2 PWM原理:
-
什么是PWM:简称脉冲宽度调制,即在一个周期内存在不同极性的电平状态。
-
PWM频率:一秒内从高电平时间在到低电平时间,再从低电平跳到高电平的瞬间次数,单位HZ。*f = T / 1(HZ)
-
PWM周期:一秒内高电平到低电平所需要的时间,T = f / 1(s)。
-
PWM占空比:一个周期内高电平时间占总时间的比值。
1.3 功能:
- 占空比控制:通过调整PWM信号的占空比,可以精确控制输出功率,例如调节电机的转速或LED的亮度。
- 频率控制:PWM模块允许用户设置特定的输出频率,以适应不同的应用需求。
- 边沿对齐:支持对齐方式,如左对齐、右对齐和中心对齐。
- 互补输出:生成互补的PWM信号,常用于全桥电机驱动和逆变器控制。
1.4 依赖模块:
- MCU模块
- PORT模块
- Irq模块
1.5 重要API:
- PwmSetDutyCycle
- PwmSetPeriodAndDuty
- PwmDutyShiftInTicks
1.6 应用场景:
电机控制:通过调整PWM信号的占空比控制电机转速。
LED调光:通过PWM信号控制LED的亮度。
通信协议:如红外通信中,使用PWM信号进行调制和解调。
音频生成:通过高频PWM信号生成音频信号。
2 PWM硬件通道
在进行PWM配置前,通常需要先根据 MCU Datasheet 硬件手册 ,查看选中的Port端口是否可以被配置成PWM输出,并根据手册选择相应的TOM通道。以Infineon Tc234为例,查看Port00.4引脚,确定该通道支持TOM,如图
3 框图
4 PWM模块的配置
4.1 Pwm\ PwmChannelConfigSet\ PwmChannel\ General
PwmChannelId
配置 | 配置位置 | 说明 |
---|---|---|
影响 | Icu_17_GtmCcu6_Cfg.h | PWM通道ID |
- 每个PWM通道在硬件中有一个唯一的标识符,通过该标识符可以选择特定的PWM通道进行配置和控制。
PwmDutycycleDefault
配置 | 配置位置 | 说明 |
---|---|---|
影响 | Icu_17_GtmCcu6_Cfg.h | PWM信号的默认占空比 |
- 根据驱动设备的初始工作状态或系统的初始要求设置合适的默认占空比值。
PwmIdleState
配置 | 配置位置 | 说明 |
---|---|---|
影响 | Icu_17_GtmCcu6_Cfg.h | 闲置状态下的输出电平(高或低) |
- 闲置状态通常指PWM通道没有被激活或禁用时的状态。
- 根据被驱动设备的安全要求或系统设计来选择合适的闲置状态电平。例如,在一些应用中,闲置时需要保持低电平以确保安全。
PwmPeriodDefault
配置项 | 配置位置 | 支持Api |
---|---|---|
ICU_MODE_EDGE_COUNTER | Icu_17_GtmCcu6_Cfg.h | 默认周期长度 |
- 周期长度决定了PWM信号的频率,从而影响到驱动设备的工作频率。
PwmPolarity
配置 | 配置位置 | 说明 |
---|---|---|
影响 | Icu_17_GtmCcu6_Cfg.h | 设置PWM信号的极性 |
- 通常分为正极性(高电平代表有效信号)和负极性(低电平代表有效信号)。
PwmAssignedHwUnit
配置 | 配置位置 | 说明 |
---|---|---|
影响 | Icu_17_GtmCcu6_Cfg.h | 指定与PWM通道关联的硬件单元 |
- 根据上面确定的PWM硬件通道,选择
Tom0 Channel11
的硬件单元与PWM通道关联。确保每个PWM通道有对应的硬件资源进行控制。
5 EB配置
5.1 Port模块(P00.4)
5.2 General
-
PwmSetDutyCycle
用于设置指定PWM通道的占空比。 -
PwmSetPeriodAndDuty
用于同时设置指定PWM通道的周期长度和占空比。 -
PwmDutyShiftInTicks
的作用是调整 PWM 信号的占空比相位偏移(Duty Cycle Shift),即在时间轴上使 PWM 信号相对于其标准位置向前或向后移动一个特定的时间量,使得它们在时间轴上不同步地出现。