EB - MCAL - PWM

EB - MCAL

PWM

PWM(脉冲宽度调制)模块的配置。

General

此选项卡为 PWM(脉冲宽度调制)模块的通用配置


Config Variant:
  • VariantPreCompile:仅预编译时配置参数。只有一组参数。
  • VariantPostBuild:混合预编译构建后配置参数。只有一组参数。


General - PwmConfigurationOfOptApiServices

PwmConfigurationOfOptApiServices 容器用于存储所有可选 API 的配置。


PwmDeInitApi:
从代码中添加/删除服务 Pwm_DeInit()。

PwmGetOutputState:
从代码中添加/删除服务 Pwm_GetOutputState()。

PwmSetDutyCycle:
从代码中添加/删除服务 Pwm_SetDutyCycle()。

PwmSetOutputToIdle:
从代码中添加/删除服务 Pwm_SetOutputToIdle()。

PwmSetPeriodAndDuty:
从代码中添加/删除服务 Pwm_SetPeriodAndDuty()。

PwmVersionInfoApi:
勾选以指示支持 Pwm_GetVersionInfo

PwmGetChannelStateApi:
勾选以指示支持 Pwm_GetChannelState

PwmEnableTriggerOut:
从代码中添加/删除服务:
  • Pwm_EnableTriggerOut()
  • Pwm_EnableTriggerOut()

General - PwmGeneral

PwmGeneral 容器用于存储 PWM 的通用配置。


Pwm Multi-Core Enable:
  • 切换启用/禁用多核功能。
  • 启用该功能时,需要在 PwmChannelEcucPartitionRef 容器中配置至少一个 ECUC 分区,并且 PwmChannel 容器中的每个 PWM 通道也需要配置至少个 ECUC 分区。

PwmDevErrorDetect:
  • 启用/禁用开发错误检测的开关。
  • True:  启用检测和通知。
  • False:禁用检测和通知。

PwmDisableDetRuntimeErrorStatus:
启用 / 禁用 Det 运行时错误报告。

PwmDutycycleUpdatedEndperiod:
  • 用于在当前周期结束时启用更新占空比参数的开关。
  • True:  在当前生成的波形周期结束时更新占空比(当前波形完成)。
  • False立即更新占空比(服务调用后立即切断当前波形)。

PwmNotificationSupported:
启用 / 禁用 支持通知

PwmPeriodUpdatedEndperiod:
  • 用于在当前周期结束时启用周期参数更新的开关。
  • True:  在当前生成的波形周期结束时更新周期(当前波形完成)。
  • False立即更新周期(服务调用后立即切断当前波形)。

限制:当前实现仅支持在当前周期结束时更新周期参数。

PwmLowPowerStatesSupport:
  • 如果启用,硬件将提供低功耗模式并添加所有电源状态管理相关的 API :
    • PWM_SetPowerState
    • PWM_GetCurrentPowerState
    • PWM_GetTargetPowerState
    • PWM_PreparePowerState
    • PWM_Main_PowerTransitionManager
  • 指示 HW 是否提供低功耗状态管理。

PwmPowerStateAsynchTransitionMode:
启用/禁用 PWM 驱动器对异步电源状态转换的支持。

Pwm Enable User Mode Support:
  • 启用此参数后,PWM 模块将适应从用户模式运行。
  • 用户模式下运行时,PWM 驱动程序不会执行任何进一步的操作。

注意:特定于实现的参数。

PwmKernelEcucPartitionRef:
  • 将 PWM 内核映射到个或ECUC 分区,以将驱动程序内核分配给特定核心。
  • 引用的 ECUC 分区是 PWM 驱动程序映射到的 ECUC 分区的子集。

注意:此功能受支持被拒绝。

PwmIndex (0 -> 4294967295):
  • 指定此模块实例的实例 ID
  • 如果仅存在一个实例,则其 ID 应为 0

限制:在当前实现中使用此参数。

Fault Support Enable:
是否启用故障功能。

EnableMaskingOperations:
从代码中添加/删除服务 Pwm_MaskOutputs() 和 Pwm_UnMaskOutputs()。

Pwm Global Time Base Support:
FTU 通过全局时基GTB)功能支持全局时基
当启用此参数时,调用Pwm_ConfigGTB()将使 FTU CNT 计数。

PwmChannel

此选项卡为 PWM(脉冲宽度调制)模块的通道配置


PwmChannel - PwmChannelConfigSet

该容器包含AUTOSAR PWM 模块的配置参数和子容器。


PwmChannel:
单独 PWM 通道的配置。

PwmFtuModule

此选项卡为平台上可用的 FTU 模块的配置。


PwmFtuModule:
平台上可用的 FTU 模块的配置。

PwmEcucPartitionRef

此选项卡包含 PWM(脉冲宽度调制)模块的映射分区配置


PwmEcucPartitionRef:
  • 将 PWM 驱动程序映射到个或ECUC 分区,以使驱动程序 API 在相应分区中可用。
  • 当用户通过选中 PwmMulticoreEnabled 选项选择启用多核功能时,需要在此列表中配置至少一个从 ECUC 模块引用的 ECUC 分区。

PwmFtuGtbGroup

此选项卡为平台上可用的 FTU 模块 Gtb 组的配置。


PwmFtuGtbGroup:
平台上可用的 FTU 模块 Gtb 组的配置。

PwmPowerStateConfig

此选项卡包含 PWM(脉冲宽度调制)模块的电源状态配置


PwmPowerStateConfig:
此参数的每个实例定义一个电源状态以及达到该电源状态时要调用的回调。

Published Information

此选项卡包含 PWM(脉冲宽度调制)模块的有关供应商版本的已发布信息。


Published Information - CommonPublishedInformation

通用容器,由所有模块聚合。它包含有关供应商版本的已发布信息。


AUTOSAR Major Version
相应实施所基于的 AUTOSAR 规范的主版本号。

AUTOSAR Minor Version
相应实施所基于的 AUTOSAR 规范的次版本号。

AUTOSAR Revision Version
相应实施所依据的 AUTOSAR 规范的修订版本号。

Software Major Version
  • 模块供应商特定实现的主版本号。
  • 编号是供应商特定的。

Software Minor Version
  • 模块供应商特定实现的次版本号。
  • 编号是供应商特定的。

Software Patch Version
  • 模块供应商特定实现的补丁级别版本号。
  • 编号是供应商特定的。

VendorApiInfix
  • 在可以在单个 ECU 上多次实例化的驱动程序模块中,BSW00347 要求 API 的名称由 VendorId 和供应商特定名称扩展。
  • 此参数用于指定供应商特定名称。
  • 总的来说,实现特定名称的生成方式如下:
    • <ModuleName>_<VendorId>_<VendorApiInfix>_<SWS 中的 Api 名称>。
  • 例如,假设实施者的 VendorId 123,并且实施者选择了“v11r456”的 VendorApiInfix,则 SWS 中定义的 API 名称 Can_Write 将转换为:
    • Can_123_v11r456_Write
  • 此参数对于所有上限多重性 > 1 的模块都是必需的。它应用于上限多重性 = 1 的模块。

ModuleId
来自模块列表的该模块的模块 ID

VendorId
根据 AUTOSAR 供应商列表,此模块的专用实现的供应商 ID

PwmChannel

单独 PWM 通道的配置。

General

此选项卡为 PwmChannel 容器的通用配置


PwmChannelId (0 -> 4294967295):
  • PWM 通道的通道 ID
  • 此值将分配给从 PwmChannel 容器短名称派生的符号名称。

PWM Hardware IP
  • 当前 PWM 通道要使用的硬件外设:
    • FTU - 将使用 FTU 硬件 IP。(请从下面的 PwmFtuChannel 参数中选择一个 FTU 配置通道。)


PwmFtuChannel:
选择将实现当前 PWM 通道功能的 FTU 通道。

PwmMcuClockReferencePoint:
参考 MCU 驱动配置中设置的 PWM 时钟源配置。

注:该功能未使用。

PwmChannelClass:
  • PWM 通道类别:
    • PWM_FIXED_PERIOD - PWM 通道具有固定周期。仅占空比可以更改。
    • PWM_FIXED_PERIOD_SHIFTED - PWM 通道具有固定移位周期并支持相移功能。
    • PWM_VARIABLE_PERIOD - PWM 通道具有可变周期占空比周期可以更改。


PwmPolarity:
定义每个 PWM 通道的起始极性


PwmIdleState:
此参数代表输出设置为空闲时引脚的状态。


Default Period(HZ):
默认周期 Hz。

Default Period Value(in seconds) (0 -> Infinity) :
初始化所用周期的值(以为单位)。

PwmDutycycleDefault (0x0 -> 0x8000) :
  • 用于初始化的占空比默认值。
  • 有效值:[0, 32768]
    • 00000 (0x0000) 代表 000% 占空比
    • 16384 (0x4000) 代表 050% 占空比
    • 32768 (0x8000) 代表 100% 占空比

Pwm Phase Shift Counter(in seconds) (dynamic range):
PWM 相移值用于设置 PWM 脉冲信号的偏移时序

注意:
  • 仅对配置了相移的通道有效。
  • 可偏移的范围控制在一个周期时间内(PwmPeriodDefault)。

PwmNotification:
用户回调函数。

注意:
  • 请使用不带引号的 NULLNULL_PTR
  • 如果使用的字符串与 NULLNULL_PTR 不同,它将被用作配置的函数名称。

PwmChannelEcucPartitionRef

此选项卡为 PwmChannel 容器的映射分区配置


PwmChannelEcucPartitionRef:
  • PWM 通道映射到个或ECUC 分区,以限制对此通道组的访问。
  • 引用的 ECUC 分区是 PWM 驱动程序映射到的 ECUC 分区的子集。
  • 当用户通过选中 PwmMulticoreEnabled 选项选择启用多核功能时,需要在此列表中配置至少一个从 ECUC 模块引用的 ECUC 分区。

PwmFtuModule

该容器包含 FTU 模块的配置。

Ftu Modules

此选项卡为平台上可用的 FTU 模块的配置


Ftu Hardware Module:
选择当前 FTU 模块上可用的子模块之一。


Ftu Module Prescaler:
Autosar 要求:未指定。


Ftu Module clock selection:
  • FTU 模块时钟选择:
    • PWM_BUS_CLOCK -> 核心时钟提供给 FTU
    • PWM_PCC_CLOCK -> pcc 时钟提供给 FTU
    • PWM_EXTERNAL_CLOCK0 -> 外部时钟 0 提供给 FTU
    • PWM_EXTERNAL_CLOCK1 -> 外部时钟 1 提供给 FTU
    • PWM_EXTERNAL_CLOCK2 -> 外部时钟 2 提供给 FTU


注意:时钟选择和定时器频率取决于 MCU 中配置的时钟值,并由 PwmMcuClockReferencePoint 引用。确保对配置的时钟使用正确的参考。

Ftu Module clock Frequency:
参考 MCU 驱动配置中设置的 FTU 时钟源配置。


Ftu Module's Channels Alignment:
  • 此列表将更改此 FTU 子模块的 PWM 生成模式。
  • 这是 AUTOSAR 扩展功能。


Reload Frequency:
当使能的重装载机会成为重装载点时,使能的重装载机会发生的数量。


注意:如果设置了 PwmDutycycleUpdatedEndperiod,则此功能启用。

Maximum Loading Point:
  • 如果启用此选项,则重装载机会是当 FTU 计数器达到 MOD 时(即 FTU 计数器溢出)。
  • EPWM 下,无论是否选中此选项,默认情况下 FTU 计数器溢出都被视为重装载机会
  • 默认情况下,最大装载点是禁用的。

Minimum Loading Point:
  • 如果启用此检查,则重装载机会是当 FTU 计数器达到 CNTIN 时(这意味着 FTU 计数器重新加载)。
  • 默认情况下,最小装载点是启用的。

Default Period(HZ) (0 -> 4294967295):
默认 FTU 周期 Hz。

Default Period Value (0 -> 16777215):
  • 初始化时使用的默认周期值。
  • 有效值:
    • FTU 通道:         [0, 65535](适用于 FC7300)
    • FTU 1/2 通道:  [0, 16777215]
    • 其他 FTU 通道:[0, 65535](适用于 FC7240)

Deadtime Counter (0 -> 1023):
  • 死区时间计数器用于在互补组合模式下的两个连续 FTU 通道的输出之间创建相位偏移。
  • 互补通道表现为具有两个输出的单个通道,它们之间可能存在死区时间。

注意:对于配置为独立的通道,此值无效。

DeadTime Counter Prescaler:
死区时间计数器预分频器


Pwm Background Debug Mode configuration:
选择调试模式。


Pwm Fault Funtionality and Clear Mode:
选择故障控制模式:
  • FLTCTRL_DISABLED
    • 禁用所有通道的故障控制。
  • MANUAL_FOR_EVEN_CHANNELS
    • 启用偶数通道的故障控制,并手动清除故障。(偶数通道 ( 024 ) )
  • MANUAL_FOR_ALL_CHANNELS
    • 启用所有通道的故障控制,并手动清除故障。
  • AUTOMATIC_FOR_ALL_CHANNELS
    • 启用所有通道的故障控制,并自动清除故障。


注意:
  • 对于自动清除故障模式,故障将自动清除,无需通知。
  • 手动模式下,硬件自动清除故障,需要启用通知,静态代码将在中断功能处清除故障。

Pwm disable channel match trigger interrupt:
CPWM 模式下,当计数/时禁用通道匹配的触发/中断
  • NOT_EFFECT
    • 无效果。
  • DISABLE_IN_COUNT_DOWN
    • 当计数向下时禁用触发/中断
  • DISABLE_IN_COUNT_UP
    • 当计数向上时禁用触发/中断
  • DISABLE_IN_COUNT_DOWN_UP
    • 当计数向上/向下时禁用触发/中断

注意:此容器只能在 CPWM 模式下配置。

PwmFtuGtbRef:
  • 将 PWM FTU 实例映射到 PWM GTB 组。
  • 同一个 GTB 组内的 FTU 实例可以同时开始计数。

Enable External Trigger Channel 0:
在触发通道 0 使能通道触发的生成。

Enable External Trigger Channel 1:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 2:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 3:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 4:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 5:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 6:
在触发通道 使能通道触发的生成。

Enable External Trigger Channel 7:
在触发通道 使能通道触发的生成。

Enable Reload Trigger:
FTU 计数器等于 CNTIN 寄存器时,允许生成触发。


Ftu Fault

此选项卡为 FTU 模块的故障配置


Ftu Fault - FaultSettings

全局故障配置。

Autosar 要求:未指定。


Pwm Fault Filter Prescaler:
选择 FTU 模块的滤波器预分频器。


Pwm Fault Filter Value (0 -> 15):
用于消除故障输入抖动的值。

Channel Output on Fault:
指定故障条件下 PWM 通道输出的故障状态:
  • SAFE_VALUES
    • 当故障事件持续发生时,输出将置于安全值(由极性定义)。
  • TRISTATE
    • 当故障事件持续发生时,输出将处于三态

Autosar 要求:未指定。

Fault notification enable:
是否开启故障中断功能。

PwmFtuChannelFaultSettings:
故障输入通道的配置。

Autosar 要求:未指定。

PwmFtuChannels

此选项卡为 FTU 模块的通道配置


PwmFtuChannels:
PWM FTU 通道的配置。

PwmFtuChannels

该容器包含 FTU 模块的通道配置

General

此选项卡为 PwmChannel 容器的通用配置


Ftu Hardware Channel:
  • 当前 Flex Timer 通道的通道 ID
  • 此值将分配给从 PwmChannel 容器短名称派生的符号名称。


Edge configuration setting for current channel:
当前通道的边沿配置设置:
  • INDEPENDENT
    • 将仅使用一个 FTU HW 通道生成PWM 输出。
  • COMBINED_SYNCED
    • 将使用两个 FTU HW 通道生成个相位同步PWM 输出。
  • COMBINED_COMPLEMENTARY
    • 将使用两个 FTU HW 通道生成个相位互补PWM 输出。
    • 死区时间插入适用于确保不会有个互补信号(通道 (n) 和 (n+1))同时驱动活动状态。


Autosar 要求:未指定。

Enable Deadtime on combined channels:
用于启用/禁用 COMBINED_COMPLEMENTARY 通道的 DeadTime 的开关。

Enable Channel Phase Shift:
用于启用/禁用 COMBINED_SYNCED COMBINED_COMPLEMENTARY 通道相移的开关。

评论

此博客中的热门博文

ISO 14229-1-2020

AUTOSAR_SWS_CANDriver

Linux Driver Char Device 笔记

AUTOSAR_SWS_PWMDriver

AUTOSAR_SWS_PortDriver

AUTOSAR_SWS_ECUStateManager

EB - MCAL - MCU

AUTOSAR_SWS_ICUDriver