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

news2024/11/16 15:53:24

目录标题

    • 一、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.coloradmin.cn/o/350460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

融云服务推动多款应用「登顶」海外下载榜!

移步【融云全球互联网通信云】,了解更多信息。 2023 开年第一爆,属于中国出海社交软件。 在全球互联网通信云领军品牌“融云”护航下,多款社交黑马一路登顶、持续霸榜。它们是在中东横空出世、一经发布便冲击沙特全品类下载榜首的 Beem&…

对话系统学习概述(仅够参考)

对话系统(仅够参考) 目录对话系统(仅够参考)背景类人对话系统的关键特征1、知识运用2、个性体现3、情感识别与表达数据集评价方式评价的一些指标训练模型需要的资源任务型对话系统预训练最新研究进展参考文献背景 对话系统一般包括…

Redis三 高级篇-3. 最佳实践

《Redis三 高级篇-3. 最佳实践》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Redis三 高级篇-3. 最佳实践》《Redis三 高级篇-3. 最佳实践》1、Redis键值设计1.1、优雅的key结构1.2、拒绝BigKey1.2.1、BigKey的危害1.2.2、如何发现BigKey①redis-cli…

Redis 数据类型

我们知道 Redis 是 Key-Value 类型缓存型数据库,Redis 为了存储不同类型的数据,提供了五种常用数据类型,如下所示: string(字符串)hash(哈希散列)list(列表)…

多线程事务怎么回滚

背景介绍1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败&…

返回数组的上三角和下三角np.triu()和np.tril()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 返回数组的上三角和下三角 np.triu()和np.tril() 选择题 以下说法错误的是? import numpy as np anp.array([[1,2,3],[4,5,6],[7,8,9]]) print("【显示】a:\n",a) pri…

一、Python时间序列小波分析——实例分析

小波分析是在Fourier分析基础上发展起来的一种新的时频局部化分析方法。小波分析的基本思想是用一簇小波函数系来表示或逼近某一信号或函数。 小波分析原理涉及到傅里叶变换,并有多种小波变换,有点点小复杂。但是不会原理没关系,只要会应用并…

单臂路由配置

单臂路由实现不同VLAN间通信 链路类型 交换机连接主机的端口为access链路 交换机连接路由器的端口为Trunk链路 子接口 路由器的物理接口可以被划分成多个逻辑接口 每个子接口对应一个VLAN网段的网关 我们需要知道的是单臂路由和虚拟机软件原理比较相似。他们都是依托于物理设备…

按键70秒,Root轻松得:Linux惊现高危漏洞

导读E安全11月16日讯 Linux被发现高危漏洞(CVE-2016-4484),攻击者可以通过持续按下Enter键70秒钟来获取 root initramfs shell,进而破坏Linux boxes。漏洞存在于Linux流行变体中的统一密钥设置(LUKS)。通过访问shell,攻击者可以解密Linux机…

标签管理系统

电子墨水屏最大的不便利之处在于它是单色屏,显示速度不够快,因为显示内容的单色性,要求需要显示的数据处理好后,以单色位图的方式把数据信息发送到屏幕上才可以正常显示。 我们把这个制作显示内容的方式叫做模版,有了…

Zynq 裸机 PS + PL 双网口实现之 lwip 库文件修改

基于 xilinx vivado 2017.4 库文件 lwip141_v2_0 的修改: 添加对 PHY 芯片 ksz9031 的支持; 添加 SDK 中 LWIP 参数设置对话框 emio_options 选项; 添加 XPAR_GMII2RGMIICON_0N_ETH0_ADDR 和 XPAR_GMII2RGMIICON_0N_ETH1_ADDR 宏配置&#…

布隆过滤器和布谷鸟过滤器详解

今天和大家分享下布隆过滤器和布谷鸟过滤器 一.布隆过滤器 1.简单介绍 布隆过滤器是用于检索一个元素是否在一个集合中的算法,是一种用空间换时间的查询算法。 2.实现原理 布隆过滤器的存储结构是一个bitmap结构,初始值都是0,如下图所示&am…

内核模块(传参和依赖)

目录 一、模块传参 二、模块依赖 三、内核空间和用户空间 四、执行流 五、模块编程与应用编程的比较 六、内核接口头文件查询 七、小作业 一、模块传参 module_param(name,type,perm);//将指定的全局变量设置成模块参数 name:全局变量名 type: 使用符号 …

MFC消息机制

1.消息映射消息映射是一个将消息和成员函数相互关联的表。比如,框架窗口接收到一个鼠标左击消息,MFC将搜索该窗口的消息映射,如果存在一个处理WM_LBUTTTONDOWN消息的处理程序,然后就调用OnButtonDown。2.消息映射机制2.1 声明宏 写…

教务查询系统简介

教务查询系统简介 项目核心代码展示 service层如下: Teacher老师Service层: public interface TeacherService {//根据id更新老师信息void updateById(Integer id, TeacherCustom teacherCustom) throws Exception;//根据id删除老师信息void removeB…

SheetJS的通用电子表格对象简介和使用

简言 “通用电子表格格式”&#xff08;CSF&#xff09;是SheetJS使用的对象模型。 例如使用xlsx插件时&#xff0c;获得的excel文件数据对象就是依据这个模型设计的。 SheetJs通用电子表格对象 介绍 cdn导入&#xff1a; <script lang"javascript" src"ht…

uprobe 实战

观测数据源 目前按照我的理解&#xff0c;和trace相关的常用数据源–探针 大致分为四类。 内核 Trace point kprobe 用户程序 USDT uprobe 在用户程序中&#xff0c;USDT是所谓的静态Tracepoint。和内核代码中的Trace point类似。实现方式是在代码开发时&#xff0c;使用USDT…

Visual Studio开启clang-tidy代码检查

在CLion中有针对C的静态代码检查工具clang-tidy&#xff0c;感觉非常好用&#xff0c;能养成好的编码习惯&#xff0c;后来写Qt转入了VS平台&#xff0c;想要继续使用功能一致的clang-tidy体验&#xff0c;所以研究出来在VS中开启clang-tidy的方法。 版本&#xff1a;Visual S…

XML 基础知识 XXE 漏洞原理解析及实验(基础篇)

XML 介绍 XXE全称XML外部实体注入&#xff0c;所以在介绍XXE漏洞之前&#xff0c;先来说一说什么是XML以及为什么使用XML进而再介绍一下XML的结构。 XML全称 可拓展标记语言&#xff0c;与HTML相互配合后&#xff1a; HMTL用来显示数据 HTML的焦点在于数据的外观&#xff08;…

双网卡(有线和wifi)同时连接内网和外网

双网卡&#xff08;有线和wifi&#xff09;同时连接内网和外网 Win10技巧&#xff1a;如何修改有线/WiFi网络优先级&#xff1a;https://www.ithome.com/html/win10/253612.htm双网卡实现两个网络的自由访问&#xff1a;https://blog.51cto.com/ghostlan/1299090Linux服务器安…