|
本帖最后由 FSL_TICS_Robin 于 2014-7-17 14:43 编辑
ADC与PDB模块介绍
ADC模块采用逐次逼近算法,最高可支持16位的解析度,支持差分信号或单端信号输入,内置硬件平均器,可支持1、4、8、16、32次平均采样。支持自动比较,可实现小于等于或大于等逻辑判断。
相对于采用Sigma Delta算法的ADC,该ADC在保持精确度的同时更提高了采样率,适用于采样变化快的信号,而且内嵌PGA模块,可用于小信号的采样。
从上图可见,以PGAxDP/M命名的端口都是支持PGA的ADC采样通道。目前Kientis只在channel 2的差分输入端口集成了PGA。
除了外部的差分、单端输入信号,ADC还能采样一些内部的信号:
运放输出:OP1/2。大家可以在K53系列中找到运放单元
12位DAC的输出通常都会连接到ADC的某个channel
内置的温度传感器输出
Bandgap
参考电压VREFH和VREFL
ADC在某些低功耗模式下是不供电的,以减少功耗,像VLLSx等模式。
LLS模式下虽然不掉电,但是模块保持静态,以减少功耗。
在STOP或VLPS模式下,ADC仍然正常工作,但是前提是使用它内部的参考时钟ADACK, 如上图所示。
在其他模式下都可以正常工作。
在初始化ADC之前,首先要通过SIM模块使能模块时钟,这点和其他模式的初始化一致,不同的是ADC模块需要执行一次校验才能正常工作,飞思卡尔提供了校验的驱动,基本由硬件完成。
下图是两种初始化样例,分别注重采样速度和精度。
上图是ADC模块硬件设计时要遵循的一些原理:
首先是奈奎斯特定理,在进行模拟/数字信号的转换过程中,要保证采样频率大于信号中最高频率的2倍,这样采样之后的数字信号才能完整地保留了原始信号中的信息。因此当需要使用抗混叠滤波器来采样数据时,ADC模块的采样率决定了该系统的奈奎斯特频率。
其次在某些情况下,比方说有噪声的干扰,这时候需要在输入端并联一个电容,一般0.01uF的高频电容就可以了,可以提高ADC的采样性能。 并且可同时在输入端串联一个电阻,作为RC过滤电路的一部分。
在PCB layout时,尽量把模拟信号的电路靠近ADC输入管脚。
ADC可用于单相电表等应用,使用支持PGA的差分输入端口连接在电阻的两端,可采样流过极小电阻的电压(毫伏级),从而算出电流值,如果把其中一个端点连接在电阻的中点,还能扩大测量范围。
上面是一些有用的参考资料,可通过下列链接来访问:
http://cache.freescale.com/files ... df?fsrch=1&sr=1
http://www.freescale.com/webapp/ ... mp;fsrch=1&sr=2
http://www.freescale.com/webapp/ ... mp;fsrch=1&sr=5
http://www.freescale.com/webapp/ ... mp;fsrch=1&sr=4
http://cache.freescale.com/files ... df?fsrch=1&sr=5
http://www.freescale.com/webapp/ ... p;fsrch=1&sr=17
PDB可视为一个计数器模块,它的特殊之处在于它接收外部的触发信号,并且计数时会和多个数值进行比较,并在每次匹配的时间点输出相关的触发信号,从而触发ADC等模块或运行相关的中断服务程序。
上图可以看到一个PDB通道只有一个trigger信号,却有多个pre-trigger信号,其实两者之间的延迟只有一个peripheral clock,pre-trigger的作用可以理解为选中对应的ADC模块配置,从前文我们知道ADC模块有多个SC1n的寄存器,目前的版本支持SC1A和SC1B, pre-trigger 0 可以理解为选中SC1A对应的ADC,pre-trigger 1 可以理解为选中SC1B对应的ADC,选中配置后再由trigger信号触发对应的ADC采样。
上图的Trigger A/B可以看做pre-trigger和trigger的组合逻辑。这里要注意的是pre-trigger的周期设置要大于ADC的转换时间,否则不但无法触发ADC采样,反而会产生一个PDB sequence error的中断。
利用PDB的特性,可以在极短的时间内触发两次ADC采样,即上图的ping-pong模式。这里PDB的计数器会和三个数进行比较,当计数器累加到triggerA的设定时间时,会触发ADC A的转换,当计数器累加到triggerB的设定时间时,会触发ADC B的转换,最后计数到PDB的MOD值时,产生中断,并在中断服务程序里清楚ADC的COCO标志。
PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营的Kinetis内部培训资料汇总帖链接进入。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|