【S32K3 入门系列】- ADC 模块简介(上)

一、 前言

对于 S32K3 系列的初学者来说,S32K3 系列的参考手册阅读难度是让人望而却步的,本系列将对 S32K3 系列的外设进行逐一介绍,对参考手册一些要点进行解析。本文旨在介绍 S32K3 系列的 ADC 模块, ADC(Analog to Digital Conver)即 A/D 转换器,是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是把经过与标准量比较处理后的模拟量转换成以二进制数值表示的离散信号的转换器。


二、S32K3 ADC 资源简介
      
      1. 
ADC 通道数

S32K3 系列芯片最多具有三组 ADC 通道包含精密、标准、外部通道类型,每种通道类型具有不同的精度和性能,各系列芯片支持的 ADC 通道数如下图:

 



2. ADC 通道支持的配置如下图:

 

        此图有四种通道类型分别是 Precision channels,Standard channels,Special internal channels,External channels 现在对这四种通道类型进行解释:

                2.1 Precision channels

                      精确通道,转换结果分辨率能达到 12bit。

                2.2 Standard channels

                      标准通道,转换结果分辨率能达到 10bit。

                2.3 Special internal channels

                      这种通道连接到芯片内部,对芯片一些物理参数进行测量如:温度传感,VREF 等,

               2.4 External channels

                      ADC 提供三个外部解码信号,用于从八个外部模拟多路复用器中选择一个通道,最多可以有四个这样的多路复用器用于连接 32 个外部通道。

 三、ADC 功能框图
           
             原图

        



             解释图 
        

         ADC 工作流程:

        上图信号流为从左到右,输入信号在左,输出信号在右,下面将按框图的信号顺序进行一一解释,上图 ① - ⑨ 分别对应下方 1 - 9,数字就是对应讲述模块的位置,例如第 1 点讲的对应框图 ① 的位置:



         1. 当信号输入部分接受到信号输入,一般是三种不同类型的触发信号:BCTU、注入、正常中的一种,此时 Priority Multiplexer 启动转换。

         2. 根据触发器设置和自检通道设置,在 Channel Select 来决定需要转换的输入。

         3. 状态机(FSM)从空闲状态转移到转换状态。如果自上次转换以来要转换的通道发生了变化,并且这个新通道是外部通道,则转换将在由 DSDR[DSD] 配置的延迟之后开始。

         4. 在转换开始之后,转换控制模块(Conversion Control block)会使 CDAC(Capacitive digital to analog converter)保持在采样阶段,持续时间由 CTRi[INPSAMP] 定义。

         5. 在比较阶段,CALBISTREG[RESN] 定义了执行逐次逼近算法所需的步数。校准期间确定的误差校正值将被添加到原始结果中。如果启用了平均化(MCR[AVGEN] = 1),则最多可以对 32 个(由 MCR[AVGS] 指定)转换结果进行平均以获得最终结果。
               
         6. 当转换完成且所有平均步骤均已完成时:转换完成信号置位,转换数据 [14:0] 写入数据结果寄存器,FSM 状态机切换为完成状态。

         7. 在 Channel Select 模块中选择下一个输入,并通过状态机 (FSM) 转换到转换状态开始下一个转换。这将持续进行,直到所有选择的输入都已转换完成。
               
         
8. 如果启用了模拟看门狗,转换结果将与配置的阈值进行比较。如果超出了限制,可以触发中断。
                
         
9. 自检可以检查 ADC 的完整性,可以与正常转换交错进行,也可以作为独立检查。

四、时钟源

        ADC 最大时钟频率,如下图所示:

        

        ADC 由一个时钟信号,即模块时钟控制。在内部,转换电路由转换时钟控制,该时钟是由模块时钟派生而来的。转换时钟的频率必须在数据表中定义的限制范围内。如果模块时钟频率高于功能转换或校准期间允许的转换时钟的最大频率(请参阅上图),则必须配置 ADC 转换时钟分频器(MCR[ADCLKSEL]),以使转换时钟的频率在允许范围内,对应时钟频率的分频系数如下图所示:
        



五、结语

       本文着重于 S32K3 系列 ADC 功能框图的介绍,对 ADC 从接受触发信号到如何转换进行了分析,后续将对 ADC 框图中的自检,三个触发信号分析,看门狗等继续进行介绍,如想继续了解可以继续阅读我的下篇博文 《【S32K3 入门系列】- ADC 模块简介(下)》。

  登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/881.shtml

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

相关文章

FreeLearning PHP 译文集翻译完成

使用 PHP 和 jQuery 构建游戏化 Web 站点使用 PHP7 构建 REST Web 服务PHP 入门指南CouchDB 和 PHP Web 开发初学者指南Vue2 和 Laravel5 全栈开发函数式 PHPAngular6 和 Laravel5 Web 全栈开发实用指南FuelPHP 高效开发学习手册PHP 数据对象学习手册PHP7 高性能开发学习手册La…

Mysql:ON DUPLICATE KEY UPDATE

使用 INSERT 语句尝试插入一个已经存在的唯一键或主键时,MySQL 会抛出一个错误。但如果你使用了 ON DUPLICATE KEY UPDATE,MySQL 就会执行更新操作,而不是插入新的记录。 这种语法只在存在重复的唯一键或主键时触发更新操作。如果没有发现重复…

八皇后问题(:java实现

开始搞算法! 文章目录 一、问题描述二、最简单的思路三、Java实现四、总结反思 一、问题描述 八皇后问题是一个古老而著名的问题,由国际象棋棋手马克斯贝瑟尔于1848年提出,它是回溯算法的典型案例。问题要求在88的国际象棋上摆放8个皇后&…

Stable Diffusion 模型分享:ChilloutMix(真实、亚洲面孔)chilloutmix_NiPrunedFp32Fix

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 相信近来吸引大家想一试 Stable Diffusion 图像生…

嵌入式面试-回答I2C

说明: 此文章是在阅读了一些列面试相关资料之后对于一些常见问题的整理,主要针对的是嵌入式软件面试中涉及到的问答,努力精准的抓住重点进行描述。若有不足非常欢迎指出,感谢!在总结过程中有些答案没标记参考来源&…

轻薄手机,没有一款新机能超越小米11青春版,小米和苹果也没有

打算换手机,但是不喜欢半斤机,于是找了几款轻薄手机,却发现如今的轻薄手机都太重了,还不如3年前的小米11青春版,可见小米11青春版是一款相当能打的手机。 小米11青春版搭载骁龙778芯片,重量只有159克&#…

傅里叶变换的本质。傅里叶案例。数字信号和模拟信号应用数字信号和模拟信号区别和优势。

目录 傅里叶案例 案例:音频降噪处理 案例:图像 积分和求和的关系

《游戏系统设计十二》灵活且简单的条件检查系统

目录 1、序言 2、需求 3、实现 3.1 思路 3.2 代码实现 4、总结 1、序言 每个游戏都有一些检查性的任务,在做一些判断的时候,判断等级是不是满足需求。 比如如下场景:在进入副本的时候需要检查玩家等级是否满足,满足之后才…

【npm淘宝源最新解决方案】 https://registry.npm.taobao.org此地址已失效

【npm淘宝源最新解决方案】 https://registry.npm.taobao.org此地址已失效 最新淘宝源: npm config set registry https://registry.npmmirror.com

YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR -gui界面-交互式图形化界面

往期热门博客项目回顾:点击前往 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 AI健身教练-引体向上…

js-pytorch:开启前端+AI新世界

嗨, 大家好, 我是 徐小夕。最近在 github 上发现一款非常有意思的框架—— js-pytorch。它可以让前端轻松使用 javascript 来运行深度学习框架。作为一名资深前端技术玩家, 今天就和大家分享一下这款框架。 往期精彩 Nocode/Doc,可…

JWT和Redis比较选型

一、Session 二、JWT 三、比较 基于JWT(JSON Web Token)和Session身份验证之间的争论是现代 Web 开发中的一个要点。 JWT 身份验证:无状态。服务器生成一个令牌,客户端存储该令牌并随每个请求一起提供,服务端仅需按照…

LeetCode in Python 200. Number of islands (岛屿数量)

岛屿数量既可以用深度优先搜索也可以用广度优先搜索解决,本文给出两种方法的代码实现。 示例: 图1 岛屿数量输入输出示意图 方法一:广度优先搜索(bfs) 代码: class Solution:def numIslands(self, grid):if not grid:return 0…

IO综述·

阻塞模式 读写数据会发生阻塞现象。当用户线程发起IO请求之后,内核会查看数据检查就绪。如果没有就绪就会等待数据就绪。而用户线程会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户…

使用MyBatis插入数据并返回自动生成的ID

在使用MyBatis进行数据库操作时,经常会遇到需要插入数据并返回自动生成的主键ID的情况。为了解决这个问题,我们可以使用MyBatis提供的useGeneratedKeys和keyProperty属性。本文将介绍这两个属性的作用以及如何使用它们来实现插入数据并返回自动生成的ID。…

KMP算法(Python)

进阶的做法就是KMP算法,当然暴力也能ac。 KMP主要用一个nex列表,nex[i]存储(模式串needle中)从第0个到i个字符串s中的一个相等前后缀的最大长度。比如说对于aabaa来说,最大长度应该是(前缀aa)和…

Android12中JAVA项目中proto文件的编译方式

一. 起因 最近的工作有涉及到将原来Android9平台下的java工程防到Android12中编译,结果发现在Android9中可以编译的工程,没有修改Android.bp,在Android12中编译失败了,原因是java文件中以来项目中的proto文件生成的java类&#xf…

Linux下SPI设备驱动实验:验证读写SPI设备中数据的函数功能

一. 简介 前面文章实现了 SPI设备驱动框架,并在此基础上添加了字符设备驱动框架,实现了读 / 写SPI设备中数据的函数,文章如下: Linux下SPI设备驱动实验:向SPI驱动框架中加入字符设备驱动框架代码-CSDN博客 Linux下…

算法打卡day51|单调栈篇02| Leetcode 503.下一个更大元素II、42. 接雨水

算法题 Leetcode 503.下一个更大元素II 题目链接:503.下一个更大元素II 大佬视频讲解:503.下一个更大元素II视频讲解 个人思路 这道题和之前496.下一个更大元素 I 差不多,只是这道题需要循环数组,那就在遍历的过程中模拟走两遍nums就行&a…

mac修改/etc/profile导致终端所有命令不可使用

原因:配置docker环境的时候修改了/etc/profile,没想到导致悲惨事情,输入什么命令都是 Command not found 可恶!!!试了好久,最终这样搞定! 1-终端输入命令 因为sudo命令也不能直接…