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

关于tresos Studio(EB)的MCAL配置之ADC

General

a9001b644d6e4b53b37cee65c5190cff.png 

Adc_DeInit API 使能Adc_DeInit接口

Adc Development Error Detection 开发者错误检测

Adc Enable Limit Check边界检测

Adc Queue启用队列,如果AdcPriorityImplementation=ADC_PRIORITY_HW_SW执行优先级为硬件则一定要开启队列

Adc_StartStopGroup API使能Adc_StartGroupConversion接口

Adc Notification Capability启用通知机制

Adc Hw Trigger  API使能Adc_EnableHardwareTrigger和Adc_DisableHardwareTrigger硬件触发接口

Adc Priority Mechanism选择转换优先级机制。可以选择无优先级/硬件/硬件和软件混合。

Adc_ReadGroup API使能Adc_ReadGroup接口

Adc Result Alignment转换结果对齐方式

Adc_VersionInfo API获取版本信息

ADC Direct DMA Result Buffer Copy直接将转换结果复制到用户指定的缓冲区

Adc Timeout如果ADC硬件超过这个时间未进入空闲状态就报错

50685e98e4ef4a1595cfdb17b3fd5c6b.png 

Adc Channel Value Signed转换结果数值是有符号是无符号

Adc Group First Channel Fixed可以配置ADC通道组的第一个通道

Adc Max Channel Resolution所有通道最大精度

Adc Set Mode API使能Adc_SetModeApi接口

Adc Dual Clock Mode增加双时钟模式服务

Adc Channel Indexes Symbolic Names通道另外起名字为:通道组名称_通道名称,可以通过这个新名字来访问到通道

Adc Bypass Consistency Loop提高性能的时候勾选,要确保硬件没到达正确状态之前不进行操作。

Adc Enable/Disable Channels API 使能Adc_EnableChannel和Adc_DisableChannel接口

Adc Get Injected Conversions Status API使能Adc_GetInjectedConversionStatus接口

Adc Disable Production Error Reporting关闭诊断错误报告给DEM模块

Adc Enable Threshold Configuration使能Adc_ConfigureThreshold接口

Adc Enable data Cache在DMA模式下使用的cache映射到ADC结果缓冲区

Adc Enable Safety feature使能安全功能,在转换结果之前,对ADC通道数据寄存器的Valid和OVERWRITE位进行验证

AdcConfigSet

Adc Max Queue Depth当硬件单元busy的时候,等待转换的数据队列最大深度

AdcHwUnit每行是一个硬件单元

General

81b228fe81744d9497953113467c0249.png 

Adc Source Clock时钟源,在MCU模块配置,这里只能查看

Adc Hardware Unit硬件单元,也就是硬件设备,每个芯片自己有规定的硬件设备

Adc Clock Prescaler Value分频值

Adc Power Down Delay从复位到转换开始之间的延迟

ADC Mux Delay外部信号和采样开始之间的延迟

Adc Transfer Type传输方式是中断还是DMA。Hw触发器转换总是使用中断进行传输。如果一个SW触发的组具有不连续的通道或不同的通道类型(内部-测试-外部),那么该组也将使用中断进行传输。

AdcChannal

Adc Channel ID自己设置的序号,每个硬件单元里面从0开始

Adc Physical HW Channel物理硬件通道,它有自己对应的引脚,可以在芯片手册查到

Adc Test to Internal HW Channel Shorting内部测试物理硬件通道,一般选择个NO_EXT_TEST_CH_MAPPING就行

Adc Channel Limit Check通道限制检查

Adc Channel Resolution通道精度

Adc Channel Enable Precharging增加预充阶段。操作顺序为:预充->采样->转换

Adc Channel CTR0-3 Selection选择转换时序寄存器,以选择不同的预充和采样相位持续时间

Adc Channel Reference Selection选择通道转换的参考电压

AdcGroup

General

d3884859274d439ebf9ab5b74e3e48d4.png 

Adc Group Access Mode通道组访问转换结果模式,流模式或者单次模式

(单次模式下buffer模式只能选择线性,Streaming Number Samples只能设置为1)

流模式下buffer模式可以选择线性或者回环。

Adc Group Conversion Mode通道组转换模式,连续模式或单次模式

Adc Group Conversion Type通道组转换类型,常规还是注入

Adc Group Id自己编写的序号,在每个硬件单元里面从0开始

Adc Group Priority通道组优先级

Adc Group Trigger Source通道组触发源,软件还是硬件,如果是硬件,就要在AdcHwTrig里面填写硬件触发源。

Adc Group Notification通道组通知函数,转换完成之后进行回调NULL_PTR就是不回调

Adc Group Streaming Buffer Mode当通道组访问转换结果为流模式时,buffer模式为线性还是回环。线性模式buffer存满后,停止转换。回环模式存满后从头开始覆盖。

Adc Group Streaming Number Samples当通道组访问转换结果为流模式时,通道要采样的数量

Adc Group Enable/Disable channels使能接口Adc_DisableChannel和Adc_EnableChannel

Adc Group Without Interrupts禁用中断,在没有软件干预的情况下进行转换,可以通过调用Adc_ReadGroup()来读取转换结果。否则,结果缓冲区不再用于读取结果,需要直接从硬件寄存器读取

Adc Group Precharging Duration for CTR0预充阶段时间寄存器,公式为Tprechg = PRECHG * 1 / ADC时钟

AdcGroupConversionConfiguration里面调整预充和采样时间参数,转换分辨率只要跟ADC通道组里面的通道统一起来就行。

AdcGroupDefinition

从硬件单元里面选择一部分通道组成通道组

AdcHwTrig

选择硬件触发源

接口

Adc_DeInit逆初始化

Adc_DisableGroupNotification失能ADC通道组通知机制

Adc_EnableGroupNotification使能ADC通道组通知机制

Adc_DisableHardwareTrigger失能ADC通道组的硬件触发器

Adc_EnableHardwareTrigger使能ADC通道组的硬件触发器

Adc_GetGroupStatus返回请求的ADC通道组的转换状态

Adc_GetStreamLastPointer返回ADC通道组存储在结果缓冲区中每个通道的有效样本数,入参PtrToSamplePtr是用来获取缓冲区的指针的,有了指针和有效样本数,就可以访问所有有效的ADC通道组转换结果。

440e5f96c8ce44be92f5aff090c70d8c.png 

Adc_GetVersionInfo获取版本信息

Adc_Init初始化的时候需要调用

Adc_ReadGroup读取ADC通道组里面所有通道的最后一次完成的转换结果。这个接口会重置采样个数,如果在中断回调函数里面调用这个函数,转换完成后中断回调读取ADC组结果,然后程序判断到采样个数没有满,重新采样,就会导致转换一直停不下来。软件通过这个接口读取

硬件可以直接读取寄存器

REG_READ32(ADC_ICDRX_REG(ADC硬件设备基地址, 通道寄存器偏移))

Adc_SetupResultBuffer初始化ADC通道组结果缓冲区指针,需要你先开辟一个缓存空间,把这个数组的指针给到接口里面,以后这个ADC通道组的转换结果就会放到这个缓存空间里面。这个接口需要在组转换开始之前调用。通道组缓存空间 = sizeof(uint16)* 采样通道数 * 采样次数

Adc_StartGroupConversion开始ADC通道组转换

Adc_StopGroupConversion暂停ADC通道组转换

Adc_EndGroupConversion终止ADC通道组转换

Adc_EndNormalConv终止ADC单元里面的常规通道的转换。在Adc_EndGroupConversion里面进行调用,当一个常规通道转换结束时,调用转换结束ISR,这个函数负责驱动程序和模块状态转换。

Adc_EndSwInjectedConv终止该ADC单元里面的注入通道的转换,在Adc_EndGroupConversion里面进行调用

Adc_EndWDGInterrupt终止ADC硬件看门狗中断,清除中断,如果有回调函数就调用。(这是个啥)

Adc_HandleLastIteration在Adc_EndNormalConv里面调用,当访问模式设置为流模式和线性缓冲模式的时候,转换将被软件隐式停止,这个函数处理最后一轮迭代

Adc_WDGThresholdHandlerADC单元的看门狗中断处理(这是个啥)

Adc_DisableChannel失能ADC通道组里面的通道

Adc_EnableChannel使能ADC通道组里面的通道

Adc_GetInjectedConversionStatus获取ADC单元里面的注入式通道转换状态

Adc_SetClockMode设置时钟模式

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux 进程开机自启
  • 从事大模型研发的技术栈和学习路线
  • SX_Git Graph图形化案例详解_20
  • C++学习笔记——打印ASCII码
  • 2024年8月27日(dockerfile应用,创建私有仓库,在企业中分享项目)
  • 详细了解如何设计和实现一个SSO系统?
  • C++ 设计模式——享元模式
  • 统一 transformer 与 diffusion !Meta 融合新方法剑指下一代多模态王者
  • 速盾:cdn能防ip追踪吗?
  • jieba分词和RecursiveCharacterTextSplitter分词
  • electron rce
  • Milvus在数派数据大模型业务中的实践
  • 坐牢第三十天(c++)
  • [C++] C++11详解 (一)
  • 【模型】Temporal Fusion Transformer (TFT) 模型
  • 【Leetcode】104. 二叉树的最大深度
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Brief introduction of how to 'Call, Apply and Bind'
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • sessionStorage和localStorage
  • spring学习第二天
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Vue小说阅读器(仿追书神器)
  • 大主子表关联的性能优化方法
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 区块链共识机制优缺点对比都是什么
  • 交换综合实验一
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #define,static,const,三种常量的区别
  • #stm32驱动外设模块总结w5500模块
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $forceUpdate()函数
  • (02)vite环境变量配置
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C语言)逆序输出字符串
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Java入门)学生管理系统
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (libusb) usb口自动刷新
  • (pycharm)安装python库函数Matplotlib步骤
  • (安卓)跳转应用市场APP详情页的方式
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)Windows2003安全设置/维护
  • (转)用.Net的File控件上传文件的解决方案
  • .env.development、.env.production、.env.staging
  • .net(C#)中String.Format如何使用
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!