英飞凌TC23x--MCAL配置之 PWM

英飞凌TC23x–MCAL配置之 PWM

1 PWM基础知识

1.1 介绍:

AUTOSAR(Automotive Open System Architecture)中的PWM(Pulse Width Modulation,脉冲宽度调制)模块是用于生成具有特定占空比和频率的方波信号的模块。PWM信号广泛用于控制电机速度、调节LED亮度和通信协议中。

1.2 PWM原理:

  1. 什么是PWM:简称脉冲宽度调制,即在一个周期内存在不同极性的电平状态。

  2. PWM频率:一秒内从高电平时间在到低电平时间,再从低电平跳到高电平的瞬间次数,单位HZ。*f = T / 1(HZ)

  3. PWM周期:一秒内高电平到低电平所需要的时间,T = f / 1(s)

  4. 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.hPWM通道ID
  • 每个PWM通道在硬件中有一个唯一的标识符,通过该标识符可以选择特定的PWM通道进行配置和控制。

PwmDutycycleDefault

配置配置位置说明
影响Icu_17_GtmCcu6_Cfg.hPWM信号的默认占空比
  • 根据驱动设备的初始工作状态或系统的初始要求设置合适的默认占空比值。

PwmIdleState

配置配置位置说明
影响Icu_17_GtmCcu6_Cfg.h闲置状态下的输出电平(高或低)
  • 闲置状态通常指PWM通道没有被激活或禁用时的状态。
  • 根据被驱动设备的安全要求或系统设计来选择合适的闲置状态电平。例如,在一些应用中,闲置时需要保持低电平以确保安全。

PwmPeriodDefault

配置项配置位置支持Api
ICU_MODE_EDGE_COUNTERIcu_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 信号相对于其标准位置向前或向后移动一个特定的时间量,使得它们在时间轴上不同步地出现。

5.3 Pwm\ PwmChannelConfigSet\ PwmChannel\ General

在这里插入图片描述

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,TC387 MCAL配置PWM的步骤如下: 1. 首先,需要初始化端口和PWM模块。通过调用Port_Init函数和Pwm_17_Gtm_Init函数来完成端口和PWM的初始化。 2. 在调度代码中,可以设置PWM的占空比和周期。通过设置PWM_00_9_DutyCycle和PWM_00_9_Perid来指定占空比和周期的数值。 3. 使用Pwm_17_Gtm_SetPeriodAndDuty函数来设置PWM的周期和占空比。通过传入Pwm_17_GtmConf_PwmChannel_PwmChannel_MCU_PWMOUT1_0作为通道参数,以及PWM_00_9_Perid和PWM_00_9_DutyCycleTicks作为周期和占空比的数值。 4. 配置触发ADC采集的PWM通道2。需要将ShiftValue配置为延迟的相位值,并将PwmReferenceChannel设置为PWM通道1。确保配置的时钟源相同,并选择相邻的GTM通道。关联通道的ChannelClass需要配置PWM_FIXED_PERIOD_SHIFTED,并选择GTM_TOM0_7作为PWM通道的源定时器。 5. 最后,进行ADC相关的配置。 综上所述,以上是TC387 MCAL配置PWM的步骤。 #### 引用[.reference_title] - *1* [基于EB工具的TC3xx_MCAL配置开发02_ICU模块配置](https://blog.csdn.net/initiallizer/article/details/129391852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MCAL知识点(八):PWM驱动配置详解](https://blog.csdn.net/weixin_43580890/article/details/129830934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [基于EB工具的TC3xx_MCAL配置开发05_ADC模块硬件Pwm触发Demo配置](https://blog.csdn.net/initiallizer/article/details/129718915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值