S32K144之ADC

S32K144之ADC

S32K144有两个12位ADC模块,分别是ADC0和ADC1。不同封装的ADC模块具有不同的通道数,下面通过表格列出:
在这里插入图片描述
1、ADC硬件触发源
PDB触发:默认设置PDB触发模式,两个PDB 为 两个ADC 产生触发和预触发(ADC 和 PDB 成对工作,如 PDB0触发 ADC0和 PDB1触发ADC1)。

TRGMUX触发:支持许多触发器源。参考手册中以LPIT为例子。LPIT最多支持4个通道,每个通道都有一个触发器和一个预触发器。

2、DMA支持ADC
手册中有说到可能ADC需要(4K采样/秒)进行连续采样,CPU会有很有负载,所以ADC支持DMA请求功能以获得更高的性能,ADC可以在转换完成时触发DMA。

3、ADC硬件通道交错
有几个特殊的ADC通道支持两个ADC之间的通道交错。例如ADC0_SE4和ADC1_SE14,这两个通道可以独立工作,但也可以进行如下图所示的硬件交错。在硬件交错模式下,可以同时用ADC0和ADC1对引脚PTB0上的信号进行采样。交错模式由SIM_CHIPCTL [ADC_INTERLEAVE_EN]位启用。
ADC0_SE4 和 ADC1_SE14 通道在 PTB0 引脚上交错
ADC0_SE5 和 ADC1_SE15 通道在 PTB1 引脚上交错;
ADC1_SE8 和 ADC0_SE8 通道在 PTB13 引脚上交错;
ADC1_SE9 和 ADC0_SE9 通道在 PTB14 引脚上交错。
在这里插入图片描述
4、ADC工程之采集电压值
下面来演示一下如何通过Processor Expert来配置ADC模块,示例为使用ADC1的通道14,复用到PTB0引脚,去采集3.3V电压。
首先我们从官方示例代码中导入一个ADC示例代码,然后打开PE组件的ADC模块,进行ADC模块选择,我这里配置成ADC1。
在这里插入图片描述
分别配置ADC1的时钟,频率,精度,触发条件以及是否使用DMA功能,如需多个通道,在配置list中添加相应的数量,这里我全部选择默认配置。
在这里插入图片描述
然后进行通道配置,是否需要中断使能以及使能相应的通道,我这里选择channel 14。
在这里插入图片描述
最后,我们把相应的通道复用到外部引脚,我选择了PTB0,然后单击如图3这个图标,生成相应的配置代码,可在Geberated Code文件夹中进行查看。

在这里插入图片描述
main.c的代码如下:


/*!
** @file main.c
** @version 01.00
** @brief
**         Main module.
**         This module contains user's application code.
*/
/*!
**  @addtogroup main_module main module documentation
**  @{
*/
/* MODULE main */


/* Including necessary module. Cpu.h contains other modules needed for compiling.*/
#include "Cpu.h"

  volatile int exit_code 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值