一、 前言
对于 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 模块简介(下)》。
六、参考文档
[1] NXP - 《 S32K3xx Reference Manual》
評論