S32K系列之PDB框图详解及PDB触发ADC

本文详细介绍了S32K系列的PDB功能,包括其作为延时模块的角色,如何触发ADC,以及PDB的配置和操作。通过PDB的通道选择、计数模式、预触发设置、脉冲输出和中断配置,阐述了PDB如何在S32K平台上触发ADC转换。并给出了具体的编程顺序和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可编程延迟模块PDB,PDB可提供从内部或外部触发或可编程间隔信号到ADC硬件触发输入的可控制延迟。 PDB可以选择提供脉冲输出,用作CMP块中的采样窗口。

S32K系列的PDB资源如下表:
1

PDB功能框图

在下图中,以下字母表示的意义:

  • N:PDB通道的总数
  • n:PDB通道号,范围从0到N-1
  • M:每个PDB通道的总可用预触发
  • m:预触发编号,范围从0到M-1
  • Y:脉冲输出的总数
  • y:脉冲数,有效值为0到Y-1
    2

由以上功能框图所知,PDB的本质是一个延时模块,除了PDB_SC控制状态寄存器设置主要的模式外,其他就是对计数值的填写和比较。

首先从左到右看第一部分,通过通道控制寄存器PDB_CHnC1选择通道和相关模式之后,可以选择三种方式触发本身PDB的计数:

  • PDB_CHnDLYm和PDB counter比较触发计数
  • TRIGSEL触发源(比如TRGMUX)触发计数
  • 开启Back to Back模式,当上一个PDB计数完毕后,由上一个PDB通道的Ackm触发计数

第二部分用来设置PDB的计时时间,PDB本质是一个延时模块,故这是PDB的主要部分。通过PDB_SC[MULT]PDB_SC[PRESCALER]来对输入时钟进一步预分频;PDB_MOD寄存器指定计数器的计数值上限;开始计数,PDB_CNT根据时间不断计数,当与设定的计数值PDB_MOD相同时,一个周期的计数完成,PDB_CNT重新开始计数。
通过PDB_SC[TRGSEL]设置触发源,PDB_SC[CONT]设置是否连续计数之后,可以控制计数器在计数一个周期后的重新计数或者暂停计数。

第三部分用来选择PDB的触发源,包括TR

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值