首页 > 其他分享 >使用EB配置PWM驱动

使用EB配置PWM驱动

时间:2023-02-02 13:55:45浏览次数:44  
标签:container 启用 指定 本例 用于 驱动 PWM EB 通道

  1. 概述
    1. 脉宽调制(PWM)驱动器负责提供与AUTOSAR指定的PWM信号生成相关的标准服务。PWM通道的底层定时器引擎是一个GTM (TOM或ATOM片)或CCU6 (T12或T13片)定时器通道。

 

  1. 依赖硬件

 

 

  1. 详细配置

container:PwmGeneral 中包含Pwm的通用配置

PwmDevErrorDetect  用于指定是否启用开发错误诊断,本例中禁用;

PwmMultiCoreErrorDetect  用于指定是否启用多核开发错误诊断,本例中禁用;

PwmDutycycleUpdatedEndperiod 用于指定是否在当前周期结束时更新占空比参数,本例中开启;

PwmIndex 模块实例ID,从0计;

PwmLowPowerStatesSupport 是否支持低功耗电源模式,默认不支持;

PwmNotificationSupported 是否支持通知,本例中启用;

PwmPeriodUpdatedEndperiod 用于指定是否在当前周期结束时更新周期参数,本例中开启;

PwmChannelCoherentSelection 是否开启在当前周期结束时按通道更新duty/period参数的开关,默认禁用;

PwmHandleShiftByOffset 是否启用通道移位,默认禁用;

PwmDutyShiftInTicks 用于指定占空比和移位值是绝对的还是相对于周期的,本例中启用,采用绝对值;

PwmEnable0Or100DutyNotification 是否支持0%和100%的固定周期和可变周期通道的通知,本例中开启;

PwmPowerStateAsynchTransitionMode  用于指定是否对异步电源状态转换的支持,默认禁用;

PwmSafetyEnable  用于指定是否启用安全模式,本例中禁用;

PwmInitCheckApi  用于指定是否启用初始化检查api,本例中启用;

PwmPowerStateConfig 用于定义一个电源状态和到达此电源状态时要调用的回调,因为不支持电源模式,默认不可编辑;

 

container:PwmConfigurationOfOptApiServices

PwmDeInitApi  用于指定是否启用失能api,本例中启用;

PwmGetOutputState  用于指定是否启用获取输出状态的api,本例中启用;

PwmSetDutyCycle  用于指定是否启用设置占空比的api,本例中启用;

PwmSetOutputToIdle 用于指定是否启用设置输出空闲状态的api,本例中启用;

PwmSetPeriodAndDuty  用于指定是否启用设置周期和占空比的api,本例中启用;

PwmVersionInfoApi   用于指定是否启用版本信息的api,默认禁用;

 

container:PwmChannelConfigSet 中包含Pwm通道的具体配置,本例中创建了4个通道;

 

sub-container:PwmChannel_0 中包含Pwm通道0的具体配置,其余通道同理;

PwmChannelClass 用于指定PWM波的类型,支持下列4种

PwmChannelId  用于指定通道ID,从0计且值必须是连续的;

PwmAssignedHwUnit 用于指定所使用的硬件资源,GTM或CCU6;

PwmDutycycleDefault  占空比初始值,解释如下:

PwmIdleState 用于指定波形空闲时的电平值,默认低电平;

PwmNotification 指定回调函数名称,并在代码中实现定义,本例忽略;

PwmPeriodDefault  周期初始值,解释如下:

PwmPolarity 用于指定波形极性,默认低电平;

PwmMcuClockReferencePoint 用于指定时钟引用点,本例中忽略;

PwmShiftValue 指定默认偏移值,只对PWM_FIXED_PERIOD_SHIFTED类的波起效;

PwmReferenceChannel 用于指定固定周期波的通道引用,只对PWM_FIXED_PERIOD_SHIFTED和PWM_FIXED_PERIOD_CENTER_ALIGNED 类的波起效;

PwmCoherentUpdate 用于指定是否在当前周期结束时更新duty/period参数,本例中禁用;

GtmTimerOutputModuleConfiguration 中包含了用于配置TOM或ATOM计时器的定时需求的设置;

GtmTimerUsed 用于指定定时器通道,本例中用了Atom0的ch0,故为:/Mcu/Mcu/McuHardwareResourceAllocationConf_0/McuGtmAllocationConf_0/McuGtmAtomAllocationConf_0/McuGtmAtomChannelAllocationConf_0;

GtmTimerClockSelect 用于指定时钟源选择,定义如下:

CCU6CC6Configuration 由于使用的Gtm,因此CCU6无须配置;

 

container:McuHardwareResourceAllocationConf 中包含硬件外设资源的分配;

sub-container:McuGtmAtomChannelAllocationConf 中包含Atom通道的分配;Gtm下属12个Atom,故McuGtmAtomAllocationConf_0 ~ McuGtmAtomChannelAllocationConf_11;每一个Atom下属8个通道,故McuGtmAtomChannelAllocationConf_0 ~ McuGtmAtomChannelAllocationConf_7,本例中只使用了Atom0的前4个通道;

McuGtmAtomChannelAllocationConf  用于指定通道复用情况,支持如下:

McuAtomChannelEventHandledByDsadc 用于指定当事件发生时是否调用DSADC的回调或保留资源的驱动程序,默认禁用;

 

sub-container:GtmGlobalConfiguration 中包含Gtm的全局配置;

sub-container:GtmAtomGlobalConf 中包含Gtm下属外设Atom的全局配置;tc397中Gtm下属有12个Atom,故GtmAtomGlobalConf_0 ~ GtmAtomGlobalConf_11,篇幅有限其余未列出,配置相似;

sub-container:GtmAtomChannelConf 中包含Gtm下属外设Atom的具体通道的配置;每一个Atom下属8个通道,故GtmAtomChannelConf_0 ~ GtmAtomChannelConf_7,本例中只使用了Atom0的Ch0~3,其余通道未列出,配置相似;

GtmAtomChResetCn0OnTriggerEnable 用于指定是否启用从任何触发器上重置ATOM通道的CN0寄存器,默认禁用;

GtmAtomChInternalTriggerEnable  用于指定是否启用内部触发,默认禁用;

GtmTimerPortPinSelect 用于指定Gtm_Atom_Ch和Port_Pin的对应关系,每一个Gtm_Atom_Ch支持的pin脚可以在配置项的下拉菜单中选择,用户只需要合理匹配即可;

 

sub-container:PortContainer_2 中包含Pwm输出时使用的物理pin脚的具体配置;

本例中使用Port02的Pin0~3用来输出GTM_TOUT的0~3通道,具体GTM_TOUT通道和PortPin的对应关系请参考引脚文档;配置pin脚的方向为PORT_PIN_OUT,复用模式为ALT1,其他保持默认值即可。

 

container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。

 

标签:container,启用,指定,本例,用于,驱动,PWM,EB,通道
From: https://www.cnblogs.com/lance9527/p/17085765.html

相关文章