当前位置: 首页 > news >正文

基于TC377的MACL-ADC General配置解读

目录标题

    • 一、MACL-ADC General
    • 1.Config Variant与AdcConfigSet
    • 2. AdcGeneral
    • 3.AdcPublishedInformation
    • 二、最终对应达芬奇生成内容

一、MACL-ADC General

1.Config Variant与AdcConfigSet

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

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:获取版本信息。

http://www.lryc.cn/news/9207.html

相关文章:

  • error: src refspec master does not match any.处理方案
  • 防火墙有关iptables的知识点
  • 路肩石水渠机在施工公路项目中工艺特点的匹配
  • JS 动态爱心(HTML+CSS+JS)
  • 钉钉配置事件订阅(Python)
  • Linux-Udev机制
  • ERP是什么?中小商户有必要用吗?秦丝、金蝶、管家婆哪家强?
  • pytorch离线安装
  • 数据结构-算法的时间复杂度(1.1)
  • Cygwin安装与Mingw
  • 教育舆情监测方案有哪些,TOOM讲解教育舆情的应对与处理?
  • c语言操作文件
  • 【C语言】初识指针
  • FFMPEG自学一 音视频解封装
  • HoloLens 2 丨打包丨MRTK丨Unity丨新手教学
  • AcWing语法基础课笔记 第四章 C++中的数组
  • UTF小结
  • (考研湖科大教书匠计算机网络)第四章网络层-第六节3:开放最短路径优先OSPF的基本工作原理
  • 积水在线监测仪——积水点、易涝点水位监测设备
  • DCMM认证机构
  • Golang基于文件魔数判断文件类型
  • MySQL——索引视图练习题
  • 哈希表题目:矩阵置零
  • HTTP API自动化测试从手工到平台的演变
  • 【从零开始学C语言】知识总结一:C语言的基本知识汇总
  • CAD二次开发 添加按钮Ribbon
  • [RK3568 Android12] 添加自定义启动脚本
  • API 体系构建
  • RMPE: Regional Multi-Person Pose Estimation (AlphaPose)阅读笔记
  • 2月16日昆明面试经历部分考题