EB - MCAL - ICU
EB - MCAL
ICU
ICU(输入捕获单元)模块的配置。
General
此选项卡为 ICU(输入捕获单元)模块的通用配置。
Config Variant:
- VariantPreCompile:仅预编译时配置参数。只有一组参数。
- VariantPostBuild:混合预编译和构建后配置参数。只有一组参数。
该容器包含 AUTOSAR ICU 模块的配置参数和子容器。
- IcuMaxChannel 的值必须与配置的 IcuChannel 数量相匹配。
- 要计算正确的值,请使用 CALC 按钮。
注意:所有 IcuConfigSet 中配置的通道总数应该相同。
General - IcuGeneral
常规 ICU 参数的配置。
- 打开或关闭开发错误检测和通知。
- True: 启用。
- False:禁用。
IcuReportWakeupSource:
- 启用唤醒源报告的开关。
- True: 报告唤醒源。
- False:不报告唤醒源。
IcuOverflowTimeStatistics:
- 启用溢出时间统计的开关。
- True: 在 ICU_MODE_SIGNAL_MEASUREMENT 模式下,溢出次数将添加到统计信息中。
- False:溢出次数将添加到统计信息中。
IcuGlobalTimeGroupSupport:
- FTU 通过全局时间基准 (GTB) 功能支持全局时间基准。
- 如果启用,则 FTU CNT 将不会在调用 Icu_StartGlobalTime() 之前启动。
Icu MultiCore Support:
- True: ICU 模块支持多核。
- False:ICU 模块不支持多核。
Icu Timestamp Dma Support:
- True: ICU 时间戳功能支持 DMA。
- False:ICU 时间戳功能不支持 DMA。
IcuKernelEcucPartitionRef:
- 将 ICU 内核映射到零个或一个 ECUC 分区,以将驱动程序内核分配给特定核心。
- 引用的 ECUC 分区是 PWM 驱动程序映射到的 ECUC 分区的子集。
此功能不受支持且已被拒绝。
General - IcuNonAUTOSAR
启用本节的设置将会将驱动程序配置为不符合 AUTOSAR 要求的模式。
IcuGetInputLevelApi:
- 从代码中添加/删除 Icu_GetInputLevel API。
- 此函数返回输入引脚状态。
注意:AUTOSAR 不需要此功能。
IcuOverflowNotificationApi:
- 添加/删除溢出通知功能。
- 启用 IcuOverflowNotificationApi 溢出事件不会被视为错误,并且可以提供通知处理程序。
注意:
- 由于硬件实现,ICU 溢出通知与 ICU_MODE_SIGNAL_MEASUREMENT 和 ICU_MODE_TIMESTAMP 模式的事件不同步。
- 当测量完成(对于 ICU_MODE_SIGNAL_MEASUREMENT)或下一个时间戳事件发生(对于 ICU_MODE_TIMESTAMP)时,将触发通知。
General - IcuOptionalApis
该容器包含用于配置 ICU 驱动程序可选 API 服务的所有配置开关。
IcuDeInitApi:
- 在代码中添加/删除服务 Icu_DeInit()。
- True: 可以使用 Icu_DeInit()。
- False:不能使用 Icu_DeInit()。
IcuDisableWakeupApi:
- 从代码中添加/删除服务 Icu_DisableWakeup()。
- True: 可以使用 Icu_DisableWakeup()。
- False:不能使用 Icu_DisableWakeup()。
IcuEdgeCountApi:
- 从代码中添加/删除与边沿计数功能相关的所有服务(如下所列):
- Icu_ResetEdgeCount()
- Icu_EnableEdgeCount()
- Icu_DisableEdgeCount()
- Icu_GetEdgeNumbers()
- True: 可以使用上面列出的服务。
- False:不能使用上面列出的服务。
IcuEnableWakeupApi:
- 从代码中添加/删除服务 Icu_EnableWakeup()。
- True: 可以使用 Icu_EnableWakeup()。
- False:不能使用 Icu_EnableWakeup()。
IcuGetDutyCycleValuesApi:
- 在代码中添加/删除服务 Icu_GetDutyCycleValues()。
- True: 可以使用 Icu_GetDutyCycleValues()。
- False:不能使用 Icu_GetDutyCycleValues()。
注意:如果 IcuSignalMeasurementApi 未使能,此开关也应设置为 False。
IcuGetInputStateApi:
- 从代码中添加/删除服务 Icu_GetInputState()。
- True: 可以使用 Icu_GetInputState()。
- False:不能使用 Icu_GetInputState()。
IcuGetTimeElapsedApi:
- 在代码中添加/删除服务 Icu_GetTimeElapsed()。
- True: 可以使用 Icu_GetTimeElapsed()。
- False:不能使用 Icu_GetTimeElapsed()。
IcuGetVersionInfoApi:
- 在代码中添加/删除服务 Icu_GetVersionInfo()。
- True: 可以使用 Icu_GetVersionInfo()。
- False:不能使用 Icu_GetVersionInfo()。
IcuSetModeApi:
- 在代码中添加/删除服务 Icu_SetMode()。
- True: 可以使用 Icu_SetMode()。
- False:不能使用 Icu_SetMode()。
IcuSignalMeasurementApi:
- 在代码中添加/删除服务:
- Icu_StartSignalMeasurement()
- Icu_StopSignalMeasurement()
- True: 可以使用:
- Icu_StartSignalMeasurement()
- Icu_StopSignalMeasurement()
- False:不能使用:
- Icu_StartSignalMeasurement()
- Icu_StopSignalMeasurement()
IcuTimestampApi:
- 从代码中添加/删除与时间戳功能相关的所有服务:
- Icu_StartTimestamp()
- Icu_StopTimestamp()
- Icu_GetTimestampIndex()
- True: 可以使用上面列出的服务。
- False:不能使用上面列出的服务。
IcuWakeupFunctionalityApi:
- 在代码中添加/删除服务 Icu_CheckWakeup()。
- True: 可以使用 Icu_CheckWakeup()。
- False:不能使用 Icu_CheckWakeup()。
IcuEdgeDetectApi:
- 在代码中添加/删除服务:
- Icu_EnableEdgeDetection()
- Icu_DisableEdgeDetection()
- True: 可以使用:
- Icu_EnableEdgeDetection()
- Icu_DisableEdgeDetection()
- False:不能使用:
- Icu_EnableEdgeDetection()
- Icu_DisableEdgeDetection()
IcuChannel
此选项卡为 ICU(输入捕获单元)模块的通道配置。
此选项卡为 ICU(输入捕获单元)模块的 TPU 配置。
IcuTpu:
平台上可用的 TPU 模块的配置。
IcuIsm
此选项卡为 ICU(输入捕获单元)模块的 ISM 配置。
IcuFtu
此选项卡为 ICU(输入捕获单元)模块的 FTU 配置。
IcuAontimer
此选项卡为 ICU(输入捕获单元)模块的 Aontimer 配置。
IcuEcucPartitionRef:
- 将 ICU 驱动程序映射到零个或多个 ECUC 分区,以使驱动程序 API 在相应分区中可用。
IcuGlobalGroupRef
此选项卡为 ICU(输入捕获单元)模块的 FTU GTB 组的配置。
此选项卡包含 ICU(输入捕获单元)模块的有关供应商和版本的已发布信息。
ArReleaseMajorVersion:
相应实施所基于的 AUTOSAR 规范的主版本号。
ArReleaseMinorVersion:
相应实施所基于的 AUTOSAR 规范的次版本号。
ArReleaseRevisionVersion:
相应实施所依据的 AUTOSAR 规范的修订版本号。
ModuleId:
来自模块列表的该模块的模块 ID。
SwMajorVersion:
- 模块供应商特定实现的主版本号。
- 编号是供应商特定的。
SwMinorVersion:
- 模块供应商特定实现的次版本号。
- 编号是供应商特定的。
SwPatchVersion:
- 模块供应商特定实现的补丁级别版本号。
- 编号是供应商特定的。
VendorId:
根据 AUTOSAR 供应商列表,此模块的专用实现的供应商 ID。
IcuChannel
单独 ICU 通道的配置。
General
此选项卡为 ICU 通道的通用配置。
IcuChannelId:
- ICU 通道的通道 ID。
- 该值将被分配给从 IcuChannel 容器短名称派生的符号名称。
IcuHardwareChannel:
参考硬件配置中设置的 ICU 硬件源配置。
IcuDefaultStartEdge:
- 如果服务 Icu_SetActivationCondition() 调用未配置激活边缘,则配置应用于此通道的默认激活边缘。
- 如果测量模式为“IcuSignalMeasurement”,并且设置了属性“DutyCycle”或“Period”,则此处配置的边缘将用作默认周期起始边缘。
- 实现类型:Icu_ActivationType。
IcuMeasurementMode:
- 配置此通道的测量模式。
- 用户应根据所选的 IcuMeasurementMode 启用可选参数。
- 实施类型:Icu_MeasurementModeType
IcuOverflowNotification:
- ICU 溢出通知处理程序。
- 为了激活此字段,您必须:
- 启用 IcuOverflowNotificationApi
- 选择以下模式之一以在内部计数器上启用溢出检测:
- ICU_MODE_SIGNAL_MEASUREMENT
- ICU_MODE_TIMESTAMP
IcuWakeupCapability:
- 有关此通道的唤醒功能的信息。
- True: 通道具有唤醒功能。
- False:通道不具有唤醒功能。
IcuSignalEdgeDetection
- 此选项卡为 ICU 通道的信号边沿配置。
- 如果测量模式为“IcuSignalEdgeDetection”,则此容器包含配置(参数)。
信号通知的通知功能。
IcuSignalMeasurement
- 此选项卡为 ICU 通道的信号配置。
- 如果测量模式为“IcuSignalMeasurement”,则此容器包含配置(参数)。
- 配置在模式为“IcuSignalMeasurement”时可以测量的属性。
- 此属性在运行时无法更改。
- 以下是测量模式
- ICU_DUTY_CYCLE
- ICU_HIGH_TIME
- ICU_LOW_TIME
- ICU_PERIOD_TIME
如果测量模式为“IcuTimestamp”,则此容器包含配置(参数)。
- 如果模式为“时间戳”,则配置缓冲区的处理。
- 当前实现中实现的缓冲区类型如下:
- ICU_CIRCULAR_BUFFER
- ICU_LINEAR_BUFFER
实现类型:Icu_TimestampBufferType
IcuTimestampNotification:
如果请求数量的时间戳被接收到(通知间隔 > 0),则触发通知函数。
IcuTimeStampDmaSupport:
- ICU 时间戳传输方式开关。
- True: 使用 DMA 传输通道的时间戳值。
- False:不使用 DMA 传输通道的时间戳值。
IcuTimeStampDmaRef:
DMA 通道引用。
实现类型:参考 DMA HW 通道。
IcuWakeup
此容器包含配置唤醒通道所需的配置(参数)。
如果唤醒能力被使能,则引用的唤醒源将被传输到 ECU 状态管理器 (EcuM)。
实现类型:引用 EcuM_WakeupSourceType。
IcuChannelEcucPartitionRef
此选项卡为 ICU 通道的映射分区配置。
- 将 ICU 通道映射到零个或多个 ECUC 分区,以限制对此通道组的访问。
- 引用的 ECUC 分区是 ICU 驱动程序映射到的 ECUC 分区的子集。
IcuIsm
平台上可用的 ISM (Interface Safety Monitor)模块的配置。
Ism Modules
此选项卡为 ISM 模块的配置。
只有一个物理 ISM 模块。
IcuIsmPartitionRef:
将 ICU ISM 实例映射到 ECUC 分区。
IcuIsmHwChannel
此选项卡为 ISM 模块的 HW 通道的配置。
ISM 模块的 HW 通道的配置。
IcuIsmHwChannel
此容器包含 ICU ISM HW 通道的配置。
IsmHwChannelConfig
此选项卡为 ISM 模块的 HW 通道的配置。
平台上可用的 FPC(Filter & Prescaler Channel)通道的配置。
IcuIsmFpcChannel (dynamic range):
选择一个物理 ISM FPC 硬件通道。
Icu Fpc Channel Filter Value (0 -> 65535):
设置 FPC 通道滤波值。
Icu Fpc Channel Rising Filter:
选择 FPC 通道上升滤波器。
Icu Fpc Channel Falling Filter:
选择 FPC 通道下降滤波器。
将 ICU ISM 通道映射到 ECUC 分区。
IcuFtu
平台上可用的 FTU(Flexible Timer Unit)模块的配置。
Ftu Modules
此选项卡为 FTU 模块的配置。
选择物理 FTU 模块。
选择 FTU 模块的时钟源,若时钟不是 ICU_FTU_BUS_CLK,则时钟频率不能超过总线时钟的1/4。
Icu FlexTimer Prescaler:
配置 FTU 模块的预分频器值。
- 初始化时使用的默认周期值。
- 有效值:
- FTU 实例:[0, 65535]
- 对于 7240 FTU 实例 1 或 2:[0, 16777215]
Icu FlexTimer Channel Filter Prescaler:
选择 FTU 模块的滤波器预分频器。
选择通道输入的过滤器值。当值为零时,过滤器被禁用。
注意:这是一个特定于实现的参数。
Icu FlexTimer - Channel 1 Input Filter value (0 -> 15):
选择通道输入的过滤器值。当值为零时,过滤器被禁用。
注意:这是一个特定于实现的参数。
Icu FlexTimer - Channel 2 Input Filter value (0 -> 15):
选择通道输入的过滤器值。当值为零时,过滤器被禁用。
注意:这是一个特定于实现的参数。
Icu FlexTimer - Channel 3 Input Filter value (0 -> 15):
选择通道输入的过滤器值。当值为零时,过滤器被禁用。
注意:这是一个特定于实现的参数。
Icu Ftu Debug Mode configuration:
选择 FTU 在调试模式下的行为。
- 启用 FTU 全局时基的开关。
- True: 启用。
- False:禁用。
IcuFtuGtbRef:
将 ICU FTU 实例映射到 ICU GTB 组。
IcuFtuPartitionRef:
将 ICU FTU 实例映射到 ECUC 分区。
IcuFtuChannels
此选项卡为 ICU 模块的 FTU 通道配置。
FTU 通道的配置。
IcuFtuChannel
FTU 通道的配置。IcuFtuChannel
此选项卡为 ICU 模块的 FTU 通道配置。
选择硬件 FTU 实例通道。
FtuIcmModeSupport:
- 启用 FTU ICM 模式的开关:
- True: 启用。
- False:禁用。
IcuPort
平台上可用的 Port 模块的配置。
Port Modules
此选项卡为 ICU Port 模块的配置。
Port Hardware Module:
选择物理 Port 模块。
IcuPortPartitionRef:
将 ICU Port 实例映射到 ECUC 分区。
此选项卡为 ICU Port 模块的配置。
IcuPortChannels
此选项卡为 ICU Port 模块的通道配置。
Port 通道的配置。
IcuPortChannel
此容器包含 ICU Port 模块的通道配置。
IcuPortChannel
此选项卡为 ICU Port 模块的通道配置。
定义硬件 Port 通道。
IcuAontimer
平台上可用的 Aontimer(Always-on Timer)模块的配置。
Aontimer Modules
此选项卡为 Aontimer 模块的配置。
Aontimer Hardware Module:
选择物理 Aontimer 模块。
IcuAontimerChannelClkSrc:
- 定时器单元的 ICU 模块特定时钟输入可以静态配置,并允许每个模块选择不同的时钟源。
- 选择此平台的 Aontimer 模块的时钟源:
- SIRC_1MHZ
- RTC_CLK
- PCC_CLK
IcuAontimerPrescalerEnable:
- 当 PBYP 被设置时,在时间计数器模式下所选的预分频器时钟或在脉冲计数器模式下所选的输入源将直接为 CNR 计时。
- True: 启用定时器计数器模式下的预分频器或脉冲模式下的毛刺滤波器。
- False:旁路定时器计数器模式下的预分频器或脉冲模式下的毛刺滤波器。
IcuAontimerPrescaler:
- 供应商特定:ICU 模块特定的毛刺滤波器值。
- 在脉冲计数器模式下配置毛刺滤波器:
- 01 - 毛刺滤波器在 00002 个时钟上升沿后识别输入引脚上的变化。
- 02 - 毛刺滤波器在 00004 个时钟上升沿后识别输入引脚上的变化。
- 03 - 毛刺滤波器在 00008 个时钟上升沿后识别输入引脚上的变化。
- 04 - 毛刺滤波器在 00016 个时钟上升沿后识别输入引脚上的变化。
- 05 - 毛刺滤波器在 00032 个时钟上升沿后识别输入引脚上的变化。
- 06 - 毛刺滤波器在 00064 个时钟上升沿后识别输入引脚上的变化。
- 07 - 毛刺滤波器在 00128 个时钟上升沿后识别输入引脚上的变化。
- 08 - 毛刺滤波器在 00256 个时钟上升沿后识别输入引脚上的变化。
- 09 - 毛刺滤波器在 00512 个时钟上升沿后识别输入引脚上的变化。
- 10 - 毛刺滤波器在 01024 个时钟上升沿后识别输入引脚上的变化。
- 11 - 毛刺滤波器在 02048 个时钟上升沿后识别输入引脚上的变化。
- 12 - 毛刺滤波器在 04096 个时钟上升沿后识别输入引脚上的变化。
- 13 - 毛刺滤波器在 08192 个时钟上升沿后识别输入引脚上的变化。
- 14 - 毛刺滤波器在 16384 个时钟上升沿后识别输入引脚上的变化。
- 15 - 毛刺滤波器在 32768 个时钟上升沿后识别输入引脚上的变化。
- 配置脉冲计数器模式中使用的输入源。
- ICU_AONTIMER_CLK0_PIN
- ICU_AONTIMER_CLK1_PIN
- ICU_AONTIMER_CLK2_PIN
- ICU_AONTIMER_TRGSEL_OUTPUT
将 ICU Aontimer 实例映射到 ECUC 分区。
IcuAontimerChannels
此选项卡为 Aontimer 模块的通道配置。
Aontimer 模块的通道配置。
IcuAontimerChannel
Aontimer 模块的通道配置。
IcuAontimerChannel
此选项卡为 Aontimer 模块的通道配置。
定义硬件 Aontimer 实例通道。
IcuCmp
此容器包含平台上可用的 CMP 模块的配置。
Cmp Modules
此选项卡为 CMP 模块的配置。
选择物理 CMP 模块。
选择功能模式。
选择负极输入的输入源。
选择正极输入的多路复用器。用户应将正极输入源配置为 ICU_CMP_INSRCSEL_MUX。
选择负极输入的多路复用器。用户应将负极输入源配置为 ICU_CMP_INSRCSEL_MUX。
Icu Filter Sample Period (0 -> 255):
指定比较器的输出滤波器的采样周期(以总线时钟周期为单位)
IcuCmpFilterCnt:
选择比较器的过滤器计数数字。
选择比较器的硬块滞后控制。
用户可以在 STOP 模式下启用模拟比较器或 DAC。
IcuInvCmpOut:
用户可以反转模拟比较器输出(CMOOUT 信号)。
IcuCmpHighSpeedMode:
- 高速模式将加快转换速度。
- 但也会增加功耗。
IcuCmpPartitionRef:
将 ICU CMP 实例映射到 ECUC 分区。
如果选择 ICU_CMP_DACENABLE_DCR,则 CMP DAC 由 DCR[DAC_EN] 启用。
如果选择 ICU_CMP_DACENABLE_CCR0,则 CMP DAC 由 CCR0[EN] 启用。
IcuCmpDacDcrEnable:
用户可以通过 DCR[DAC_EN] 来启用 DAC。
IcuCmpDacReference:
选择 DAC 参考高压源。
选择 DAC 参考高压源。
DACO = ( Vin / 256 ) * ( DAC_DATA + 1 ),因此 DACO 范围为 Vin / 256 至 Vin。
CMPO 输出使能。
IcuCmpDacReference:
CMPO 输出源选择。
Cmp Modules - IcuCmpWindowConfig
该容器包含 CMP 窗口的所有配置。
当窗口关闭时,用户可以定义 CMPOUT_WIN 级别。
IcuCmpOutWinUserDefLevel:
用户定义的 CMPOUT_WIN。
IcuCmpCloseWindowEnable:
在活动窗口期间,用户可以定义如果 CMP 改变其输出(CMPO),则窗口关闭。
IcuCmpCloseWinEvent:
用户定义导致窗口关闭的 CMP 事件。
反转 WINDOW/SAMPLE 信号。(仅用于窗口模式)
IcuCmpHwChannels
此选项卡为 CMP 通道的配置。
IcuCmpChannel:
CMP 通道的配置。
评论
发表评论