S32K144(13)PDB

1、简介

开发板S32K144+S32DS+JLINK,裸机版的程序编写

首先,PDB肯定是一个定时器,但是它这个定时器傍上了大腿,所以就显得它尤其的重要,因为PDB->ADC是官方默认和建议的搭配,PDB触发器与ADC和TRGMUX互连:

PDB是可编程延迟模块,PDB可提供从内部或外部触发或可编程间隔信号到ADC硬件触发输入的可控制延迟。

PDB可以选择提供脉冲输出,用作CMP块中的采样窗口

PDB是由计数器+比较器+控制寄存器组成,对输入的triggger进行选择、延时等操作后输出trigger和中断。

因为PDB本质是一个延时模块,不可避免的对计数值进行比较,其中触发PDB计数的方式有三种:

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

PDB的触发源:内部触发、软件触发、外部触发

其中Back to Back模式是:使ADC转换完成后触发下一个PDB通道预触发和触发输出。

  • PDB0 CH0 back-to-back chain
  • PDB1 CH1 back-to-back chain
  • PDB back-to-back chain forming PDB0-PDB1 ring

pre-trigger:主要用来触发ADC的不同通道进行采样,以PDBCHn pre-trigger0为例:当计数器计数到达定义的值后,经过(BB TOS EN),触发器产生上升沿:Pre-trigger 0。任何一个pre-trigger的触发都会伴随产生一个channel trigger的触发。

  • TOS:PDB Channel Pre-Trigger Output Select (CHnC1[TOS[m]]),把它置0则延时直接被忽视掉,trigger信号经过2个外设周期后直接触发pre-trigger.
  • BB:back-to-back模式:用ADC转换完成信号(Ack)触发pre-trigger,此时延时也是直接被忽视掉的。也就是可以通过这个寄存器的设置使得ADC的不同通道进行轮询采样

当pre-trigger被触发后,会激活相应的锁,只有与它相关联的 ADCnSC1[COCO]的上升沿可以解除pre-trigger的触发锁。ADC转换完成后ADCnSC1[COCO]会自动置1,读取相应的ADC转换结果后它会自动置0 。当然也可以通过disable PDB pre-trigger或者disable PDB 来解除pre-trigger的触发锁。每个pre-trigger都有各自的锁,每个通道的的任何一个pre-trigger锁都会激活channel trigger上锁。如果在锁未解除的情况下产生新的trigger,会触发PDB序列错误中断( PDB Channel Sequence Error Flag :CHnS[ERR[m]])。因此在设置trigger delay时要注意ADC的转换周期,不可delay<ADC转换周期。

2、原理图

3、寄存器

3.1、PDB_SC:Status and Control register 

0

LDOK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值