目录标题
- 一、MACL-ADC General
- 1.Config Variant与AdcConfigSet
- 2. AdcGeneral
- 3.AdcPublishedInformation
- 二、最终对应达芬奇生成内容
一、MACL-ADC General
1.Config Variant与AdcConfigSet
Config Variant :变体配置,默认选择VariantPostBuild就好了;
选项:
VariantLinkTime: 链接时生效的参数。
VariantPreCompile:编译前生效的参数。
VariantPostBuild: 混合编译前以及编译后生效的参数。
AdcSyncClockDisable :此参数确定模拟时钟是否在同步/非同步模式下生成。转换器控制(CONVCTRL)时钟的配置由MCU驱动器完成;
AdcSystemClock :这个参数是指MCU驱动程序配置的系统时钟。使用这个系统时钟,给ADC组的计时器触发器重新加载值(触发器也是一个计时器,相当于ADC模块的计时器需要一个标准时间,系统时钟就是起到这个作用);
2. AdcGeneral
AdcDeInitApi :从代码中添加/删除服务Adc_DeInit(),若勾选,则可使用去初始化功能。
AdcDevErrorDetect :打开或关闭默认错误跟踪器(Det)的检测和通知。
AdcSafetyEnable:启用/禁用安全检查和所有相关通知;启用ADC驱动程序安全特性的预处理器开关。通过打开此开关,隐式地启用了这些安全功能:对API参数进行了范围检查;ADC配置结构有一个唯一的标记手段,该手段将由驱动程序验证;发布ADC驱动程序的安全使用情况,供用户设置相应的ADC设置。
AdcMultiCoreErrorDetect :从代码中添加/删除多核错误检测功能。
AdcInitCheckApi :从代码中添加/删除服务Adc_InitCheck(),该服务用于验证ADC驱动程序完成的初始化。
AdcEnableLimitCheck:启用或禁用ADC驱动程序中的限制检查功能;确定在优先级机制禁用的情况下,队列机制是否处于活动状态。(全局启用限制检查,若未启用,则AdcChannelHighLimit和AdcChannelLowLimit、AdcChannelRangeSelect不可用)
AdcEnableQueuing:确定在优先级机制禁用的情况下,队列机制是否处于活动状态;如果启用了优先级机制,则队列机制始终处于活动状态,而参数ADC_ENABLE_QUEUING不会被求值。
AdcEnableStartStopGroupApi :从代码中添加/删除服务Adc_StartGroupConversion()和Adc_StopGroupConversion()。
AdcGrpNotifCapability :确定组通知机制(启用和禁用通知的功能)在运行时是否可用。AdcNotification函数必须在该API启用时才可用。
AdcHwTriggerApi:从代码中添加/删除服务Adc_EnableHardwareTrigger()和Adc_DisableHardwareTrigger()。
AdcReadGroupApi :从代码中添加/删除服务Adc_ReadGroup()。
AdcVersionInfoApi :从代码中添加/删除服务Adc_GetVersionInfo()。
AdcStartupCalibApi:从代码中添加/删除服务Adc_GetStartupCalStatus()和Adc_TriggerStartupCal()。
AdcTriggerOneConversionEnable :该参数允许在API—Adc_TriggerStartupCal()中触发启动校准之前,为每个配置的HW单元执行一个虚拟转换。
AdcSyncConvEnable :支持ADC HW组之间的同步转换。
AdcPriorityImplementation :
确定转换请求的优先级机制是否可用,如果可用,则确定优先级机制的类型。此选择适用于具有软件触发源和硬件触发源的组。
有三种优先级机制可以选择分别是:
AdcPriorityHw(硬件优先级机制):只有硬件优先级机制可用。
AdcPriorityHwSw:硬件和软件优先级都可用。
ADC_PRIORITY_NONE :优先级机制不可用。
软件触发组的组优先级通常配置为低于硬件触发组的组优先级级别。
AdcResultHandlingImplementation:
确定ADC驱动程序的结果处理模式。
ADC_INTERRUPT_MODE_RESULT_HANDLING:转换结果在请求源ISR (AUTOSAR模式)中传输。
ADC_DMA_MODE_RESULT_HANDLING:使用DMA通道传输转换结果。ADC_POLLING_MODE_RESULT_HANDLING:使用同步api传输转换结果。
AdcResultAlignment :
ADC结果缓冲区中的ADC原始结果对齐方式(左/右对齐)。
AdcMaxChConvTimeCount (0 -> 16962)
在转换请求停止时,A/D转换器中正在进行的信道转换不能立即停止。相反,软件需要等待信道转换完成。为了确保转换器处于空闲状态,需要对转换器状态轮询进行等待,其最大等待时间由AdcMaxChConvTimeCount中输入的值定义。
AdcSleepMode :
该参数决定ADC驱动程序是否接受或拒绝来自SCU的休眠模式请求。
ADC_SLEEP_MODE_ACCEPT: 接受SCU的睡眠模式请求 。
ADC_SLEEP_MODE_REJECT: 拒绝SCU的睡眠模式请求。
AdcSupplyVoltage:
该参数将模拟电路调整到所选的电源电压,该参数的默认值为对应SFR的重置值。
ADC_VOLTAGE_3P3V: 3.3V固定电源接通。
ADC_VOLTAGE_5V: 固定5V电源接通。
ADC_VOLTAGE_CONTROLLED_BY_SUPPLY: 电压范围由电源控制。
AdcRuntimeApiMode:
参数定义运行时api将在其中操作的特权模式。
由于ADC驱动程序访问SFRs,在监控器模式下操作ADC驱动程序更加高效。因此,默认的操作模式是supervisor。
当AdcInitDeInitApiMode配置为User-1模式时,AdcRuntimeApiMode必须配置为User-1模式。
AdcInitDeInitApiMode:
配置参数定义初始化和反初始化api将在其中操作的特权模式。
由于ADC驱动程序访问SFRs,在监控器模式下操作ADC驱动程序更加高效。因此,默认的操作模式是supervisor。
3.AdcPublishedInformation
AdcPublishedInformation:
关于PublishedInformation(发布信息)
这个模块包含了由BSW模块的实现者定义的数据,当模块适应(即配置)到实际的硬件和软件环境时,这些数据不会改变。它包含版本和制造商信息。这对于为每个BSW提供明确的版本标识是必要的模块。这个模块一般不用配置,保持默认即可,因为主要与硬件相关的部分有关。
二、最终对应达芬奇生成内容
De Init Api:实现去初始化功能的API。
Dev Error Detect:实现错误检测功能。
Enable Queuing:队列机制,只有在AdcNonAutosarDmaResultHandling is false [STD_OFF]
AdcPriorityImplementation(15) is ADC_PRIORITY_NONE. 这种情况下才能编辑。
排队机制被禁用的话,则一次只处理一个转换。
Enable Start Stop Group Api:启用AdcGroup功能的API,必须勾选。
Grp Notif Capablility:使能ADC的通知函数功能的API。
Hw Trigger Api:实现硬件触发功能。
Init Check Api:验证ADC驱动程序的初始化是否完成。
Init De Init Api Mode:选择反初始化API的模式,默认的操作模式为ADC_MCAL_SUPERVISOR。
Max Ch Conv Time Count:对转换器状态轮询进行等待的最大等待时间,要确保下一次转换开始的时候,上一次的转换已经完成,转换器已经进入了空闲状态, 默认值10000。
Multi Core Error Detect:实现错误检测功能。
Priority Implementation:三种优先级机制。
Read Group Api:启用AdcGroup功能的API,必须勾选。
Result Alignment:ADC结果缓冲区中,ADC原始结果的对齐方式(左/右对齐)。举例如下:
Result Handling Implementation:确定ADC驱动程序的结果处理模式。
ADC_INTERRUPT_MODE_RESULT_HANDLING:中断模式传输,转换结果在请求源ISR (AUTOSAR模式)中传输。
ADC_DMA_MODE_RESULT_HANDLING:使用DMA通道模式传输转换结果。 ADC_POLLING_MODE_RESULT_HANDLING:轮询模式,使用同步api传输转换结果。
Runtime Api Mod:参数定义运行时api将在其中操作的特权模式。
由于ADC驱动程序访问SFRs(特殊功能寄存器),在监控器模式下操作ADC驱动程序更加高效。因此,默认的操作模式是ADC_MCAL_SUPERVISOR。
当Init De Init Api Mode配置为User-1模式时,Runtime Api Mode必须配置为User-1模式。
Safety Enable:安全使能。
Sleep Mode:该参数决定ADC驱动程序是否接受或拒绝来自SCU的休眠模式请求。
ADC_SLEEP_MODE_ACCEPT: 接受SCU的睡眠模式请求 。
ADC_SLEEP_MODE_REJECT: 拒绝SCU的睡眠模式请求。
SCU(system control Unit):负责处理系统控制任务。
Startup Calib Api(启动校准功能):从代码中添加/删除服务Adc_GetStartupCalStatus()和Adc_TriggerStartupCal()
Supply Voltage:该参数将模拟电路调整到所选的电源电压。
Sync Conv Enable :启用或禁用ADC硬件组之间的同步转换。
Trigger One Conversion Enable:该参数允许在API Adc_TriggerStartupCal()中触发启动校准之前,为每个配置的HW单元执行一个虚拟转换。
Version Info Api:获取版本信息。