EB - MCAL - ICU

EB - MCAL

ICU

ICU(输入捕获单元)模块的配置。

General

此选项卡为 ICU(输入捕获单元)模块的通用配置


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


General - IcuConfigSet

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


IcuMaxChannel
  • IcuMaxChannel 的值必须与配置的 IcuChannel 数量相匹配。
  • 要计算正确的值,请使用 CALC 按钮。

注意:所有 IcuConfigSet 中配置的通道总数应该相同。

General - IcuGeneral

常规 ICU 参数的配置。


IcuDevErrorDetect:
  • 打开或关闭开发错误检测通知
  • True:  启用。
  • False:禁用。

IcuReportWakeupSource
  • 启用唤醒报告的开关。
  • True:  报告唤醒
  • False:不报告唤醒

IcuOverflowTimeStatistics:
  • 启用溢出时间统计的开关。
  • True:  在 ICU_MODE_SIGNAL_MEASUREMENT 模式下,溢出次数将添加到统计信息中。
  • False溢出次数将添加到统计信息中。

IcuGlobalTimeGroupSupport:
  • FTU 通过全局时间基准 (GTB) 功能支持全局时间基准。
  • 如果启用,则 FTU CNT 将不会在调用 Icu_StartGlobalTime() 之前启动。

Icu MultiCore Support:
  • True:  ICU 模块支持多核
  • FalseICU 模块不支持多核

Icu Timestamp Dma Support:
  • True:  ICU 时间戳功能支持 DMA
  • FalseICU 时间戳功能不支持 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()。
注意:如果 IcuSignalMeasurementApi 使能,此开关也应设置为 False

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(输入捕获单元)模块的通道配置


IcuChannel:
单独 ICU 通道的配置。

IcuTpu

此选项卡为 ICU(输入捕获单元)模块的 TPU 配置


IcuTpu:
平台上可用的 TPU 模块的配置。

IcuIsm

此选项卡为 ICU(输入捕获单元)模块的 ISM 配置


IcuIsm:
平台上可用的 ISM 模块的配置。

IcuFtu

此选项卡为 ICU(输入捕获单元)模块的 FTU 配置


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

IcuPort

此选项卡为 ICU(输入捕获单元)模块的 Port 配置


IcuPort:
平台上可用的 Port 模块的配置。

IcuAontimer

此选项卡为 ICU(输入捕获单元)模块的 Aontimer 配置


IcuAontimer:
平台上可用的 Aontimer 容器模块的配置。

IcuCmp

此选项卡为 ICU(输入捕获单元)模块的 Cmp 配置


平台上可用的 Cmp 模块的配置。

IcuEcucPartitionRef

此选项卡为 ICU(输入捕获单元)模块的映射分区配置


IcuEcucPartitionRef:
  • 将 ICU 驱动程序映射到个或个 ECUC 分区,以使驱动程序 API 在相应分区中可用。

IcuGlobalGroupRef

此选项卡为 ICU(输入捕获单元)模块的 FTU GTB 组的配置


IcuGtbGroup:
FTU GTB 组的配置。

Published Information

此选项卡包含 ICU(输入捕获单元)模块的有关供应商版本的已发布信息。


Published Information - CommonPublishedInformation

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


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”,则此容器包含配置(参数)。


IcuSignalNotification:
信号通知的通知功能

IcuSignalMeasurement

  • 此选项卡为 ICU 通道的信号配置
  • 如果测量模式为“IcuSignalMeasurement”,则此容器包含配置(参数)。


IcuSignalMeasurementProperty:
  • 配置在模式为“IcuSignalMeasurement”时可以测量的属性。
  • 此属性在运行时无法更改。
  • 以下是测量模式
    • ICU_DUTY_CYCLE
    • ICU_HIGH_TIME
    • ICU_LOW_TIME
    • ICU_PERIOD_TIME


实现类型:Icu_SignalMeasurementPropertyType

IcuTimestampMeasurement

如果测量模式为“IcuTimestamp”,则此容器包含配置(参数)。


IcuTimestampMeasurementProperty:
  • 如果模式为“时间戳”,则配置缓冲区的处理。
  • 当前实现中实现的缓冲区类型如下:
    • ICU_CIRCULAR_BUFFER
    • ICU_LINEAR_BUFFER


实现类型:Icu_TimestampBufferType

IcuTimestampNotification:
如果请求数量的时间戳被接收到(通知间隔 > 0),则触发通知函数。

IcuTimeStampDmaSupport:
  • ICU 时间戳传输方式开关。
  • True: 使用 DMA 传输通道的时间戳值。
  • False:不使用 DMA 传输通道的时间戳值。

IcuTimeStampDmaRef:
DMA 通道引用。

实现类型:参考 DMA HW 通道。

IcuWakeup

此容器包含配置唤醒通道所需的配置(参数)。


IcuChannelWakeupInfo:
如果唤醒能力被使能,则引用的唤醒源将被传输到 ECU 状态管理器 (EcuM)。

实现类型:引用 EcuM_WakeupSourceType

IcuChannelEcucPartitionRef

此选项卡为 ICU 通道映射分区配置


IcuChannelEcucPartitionRef:
  • 将 ICU 通道映射到个或个 ECUC 分区,以限制对此通道组的访问。
  • 引用的 ECUC 分区是 ICU 驱动程序映射到的 ECUC 分区的子集。

IcuIsm

平台上可用的 ISM (Interface Safety Monitor)模块的配置。

Ism Modules

此选项卡为 ISM 模块的配置


Ism Hardware Module:
只有一个物理 ISM 模块。


IcuIsmPartitionRef:
ICU ISM 实例映射到 ECUC 分区。

IcuIsmHwChannel

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


IcuIsmHwChannel:
ISM 模块的 HW 通道的配置

IcuIsmHwChannel

此容器包含 ICU ISM HW 通道的配置。

IsmHwChannelConfig

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


IcuIsmlamChannel (0 -> 15):
选择一个物理 ISM IAM 硬件通道。

IsmHwChannelConfig - Ism Fpc Config

平台上可用的 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 通道下降滤波器。


IcuIsmChannelPartitionRef:
ICU ISM 通道映射到 ECUC 分区。

IcuFtu

平台上可用的 FTU(Flexible Timer Unit)模块的配置

Ftu Modules

此选项卡为 FTU 模块的配置


Ftu Hardware Module:
选择物理 FTU 模块。


Icu FlexTimer clock source:
选择 FTU 模块的时钟源,若时钟不是 ICU_FTU_BUS_CLK,则时钟频率不能超过总线时钟的1/4。


Icu FlexTimer Prescaler:
配置 FTU 模块的预分频器值。


Icu FlexTimer Period Value (0 -> 16777215):
  • 初始化时使用的默认周期值。
  • 有效值:
    • FTU 实例:[0, 65535]
    • 对于 7240 FTU 实例 12:[0, 16777215]

Icu FlexTimer Channel Filter Prescaler:
选择 FTU 模块的滤波器预分频器。


Icu FlexTimer - Channel 0 Input Filter value (0 -> 15):
选择通道输入的过滤器值。当值为时,过滤器被禁用。

注意:这是一个特定于实现的参数。

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 在调试模式下的行为。


IcuFtuGtbSupport:
  • 启用 FTU 全局时基的开关。
  • True: 启用。
  • False:禁用。

IcuFtuGtbRef:
ICU FTU 实例映射到 ICU GTB 组。

IcuFtuPartitionRef:
将 ICU FTU 实例映射到 ECUC 分区。

IcuFtuChannels

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


IcuFtuChannel:
FTU 通道的配置。

IcuFtuChannel

FTU 通道的配置。

IcuFtuChannel

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


IcuFtuChannel (0 -> 7):
选择硬件 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 模块的通道配置


IcuPortChannel:
Port 通道的配置。

IcuPortChannel

此容器包含 ICU Port 模块的通道配置

IcuPortChannel

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


IcuPortPin (0 -> 31):
定义硬件 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 个时钟上升沿后识别输入引脚上的变化。


IcuAontimerPinSelect:
  • 配置脉冲计数器模式中使用的输入源。
    • ICU_AONTIMER_CLK0_PIN
    • ICU_AONTIMER_CLK1_PIN
    • ICU_AONTIMER_CLK2_PIN
    • ICU_AONTIMER_TRGSEL_OUTPUT


IcuAontimerPartitionRef:
ICU Aontimer 实例映射到 ECUC 分区。

IcuAontimerChannels

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


IcuAontimerChannel:
Aontimer 模块的通道配置

IcuAontimerChannel

Aontimer 模块的通道配置

IcuAontimerChannel

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


IcuAontimerChannel (0 -> 0):
定义硬件 Aontimer 实例通道

IcuCmp

此容器包含平台上可用的 CMP 模块的配置。

Cmp Modules

此选项卡为 CMP 模块的配置


Icu Cmp Hardware Module:
选择物理 CMP 模块。


IcuCmpFunctionMode:
选择功能模式。


IcuCmpPositiveInputSrc:
选择极输入的输入源。


IcuCmpNegativeInputSrc:
选择极输入的输入源。


IcuCmpPositiveInputMuxSelect:
选择极输入的多路复用器。用户应将极输入源配置为 ICU_CMP_INSRCSEL_MUX


IcuCmpNegativeInputMuxSelect:
选择极输入的多路复用器。用户应将极输入源配置为 ICU_CMP_INSRCSEL_MUX


Icu Filter Sample Period (0 -> 255):
指定比较器的输出滤波器的采样周期(以总线时钟周期为单位)

IcuCmpFilterCnt:
选择比较器的过滤器计数数字。


注意:在某些功能模式下,过滤器计数器可能会禁用。

IcuCmpHystCtrlType:
选择比较器的硬块滞后控制。


IcuCmpStopModeEnable:
用户可以在 STOP 模式下启用模拟比较器或 DAC

IcuInvCmpOut:
用户可以反转模拟比较器输出(CMOOUT 信号)。

IcuCmpHighSpeedMode:
  • 高速模式将加快转换速度。
  • 但也会增加功耗。

IcuCmpPartitionRef:
ICU CMP 实例映射到 ECUC 分区。

Cmp Modules - IcuCmpDacConfig

该容器包含 CMP DAC 配置的所有配置。


IcuCmpDacEnableSrc:
如果选择 ICU_CMP_DACENABLE_DCR,则 CMP DAC 由 DCR[DAC_EN] 启用。
如果选择 ICU_CMP_DACENABLE_CCR0,则 CMP DAC 由 CCR0[EN] 启用。


IcuCmpDacDcrEnable:
用户可以通过 DCR[DAC_EN] 来启用 DAC

IcuCmpDacReference:
选择 DAC 参考高压源。


Icu Dac Voltage (0 -> 255):
DACO = ( Vin / 256 ) * ( DAC_DATA + 1 ),因此 DACO 范围为 Vin / 256Vin

Cmp Modules - IcuCmpOutPinConfig

该容器包含 CMP 输出引脚的所有配置。


IcuCmpOutPinEnable:
CMPO 输出使能。

IcuCmpDacReference:
CMPO 输出选择。


Cmp Modules - IcuCmpWindowConfig

该容器包含 CMP 窗口的所有配置。


IcuCmpWinOutUserDef:
窗口关闭时,用户可以定义 CMPOUT_WIN 级别。

IcuCmpOutWinUserDefLevel:
用户定义的 CMPOUT_WIN


IcuCmpCloseWindowEnable:
在活动窗口期间,用户可以定义如果 CMP 改变其输出(CMPO),则窗口关闭。

IcuCmpCloseWinEvent:
用户定义导致窗口关闭的 CMP 事件。


IcuCmpInvSampleEnable:
反转 WINDOW/SAMPLE 信号。(仅用于窗口模式)

IcuCmpHwChannels

此选项卡为 CMP 通道的配置。


IcuCmpChannel:
CMP 通道的配置。

IcuCmpChannel

CMP 通道的配置。

IcuCmpChannel

此选项卡为 CMP 通道的配置。


IcuCmpChannel (0 -> 0):
定义硬件 CMP 实例通道。

评论

此博客中的热门博文

AUTOSAR_SWS_CANDriver

Linux Driver Char Device 笔记

AUTOSAR_SWS_PWMDriver

AUTOSAR_SWS_PortDriver

AUTOSAR_SWS_ECUStateManager

EB - MCAL - MCU

AUTOSAR_SWS_ICUDriver

EB - MCAL - PWM