[资料分享与下载] Kinetis内部培训资料---- ADC模块和Programmable Delay Block (PDB)模块

[复制链接]
 楼主| FSL_TICS_Robin 发表于 2014-6-18 15:59 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_A 于 2014-10-21 15:40 编辑

ADCPDB模块
1.jpg
ADC模块采用逐次逼近算法,最高可支持16位的解析度,支持差分信号或单端信号输入,内置硬件平均器,可支持1、4、8、16、32次平均采样。支持自动比较,可实现小于等于或大于等逻辑判断。
相对于采用Sigma Delta算法的ADC,该ADC在保持精确度的同时更提高了采样率,适用于采样变化快的信号,而且内嵌PGA模块,可用于小信号的采样。


2.jpg
从上图可见,以PGAxDP/M命名的端口都是支持PGA的ADC采样通道。目前Kientis只在channel2的差分输入端口集成了PGA。


3.jpg
除了外部的差分、单端输入信号,ADC还能采样一些内部的信号:
运放输出:OP1/2。大家可以在K53系列中找到运放单元
12位DAC的输出通常都会连接到ADC的某个channel
内置的温度传感器输出
Bandgap
参考电压VREFH和VREFL


4.jpg
ADC在某些低功耗模式下是不供电的,以减少功耗,像VLLSx等模式。
LLS模式下虽然不掉电,但是模块保持静态,以减少功耗。
在STOP或VLPS模式下,ADC仍然正常工作,但是前提是使用它内部的参考时钟ADACK,如上图所示。
在其他模式下都可以正常工作。


5.jpg
在初始化ADC之前,首先要通过SIM模块使能模块时钟,这点和其他模式的初始化一致,不同的是ADC模块需要执行一次校验才能正常工作,飞思卡尔提供了校验的驱动,基本由硬件完成。
下图是两种初始化样例,分别注重采样速度和精度。


6.jpg


7.jpg
上图是ADC模块硬件设计时要遵循的一些原理:
首先是奈奎斯特定理,在进行模拟/数字信号的转换过程中,要保证采样频率大于信号中最高频率的2倍,这样采样之后的数字信号才能完整地保留了原始信号中的信息。因此当需要使用抗混叠滤波器来采样数据时,ADC模块的采样率决定了该系统的奈奎斯特频率。
其次在某些情况下,比方说有噪声的干扰,这时候需要在输入端并联一个电容,一般0.01uF的高频电容就可以了,可以提高ADC的采样性能。 并且可同时在输入端串联一个电阻,作为RC过滤电路的一部分。


8.jpg
在PCB layout时,尽量把模拟信号的电路靠近ADC输入管脚。


9.jpg
ADC可用于单相电表等应用,使用支持PGA的差分输入端口连接在电阻的两端,可采样流过极小电阻的电压(毫伏级),从而算出电流值,如果把其中一个端点连接在电阻的中点,还能扩大测量范围。


10.jpg
上面是一些有用的参考资料,可通过下列链接来访问:



Programmable Delay Block (PDB)模块
11.jpg
PDB可视为一个计数器模块,它的特殊之处在于它接收外部的触发信号,并且计数时会和多个数值进行比较,并在每次匹配的时间点输出相关的触发信号,从而触发ADC等模块或运行相关的中断服务程序。


12.jpg
上图可以看到一个PDB通道只有一个trigger信号,却有多个pre-trigger信号,其实两者之间的延迟只有一个peripheralclock,pre-trigger的作用可以理解为选中对应的ADC模块配置,从前文我们知道ADC模块有多个SC1n的寄存器,目前的版本支持SC1A和SC1B,pre-trigger 0 可以理解为选中SC1A对应的ADC,pre-trigger 1可以理解为选中SC1B对应的ADC,选中配置后再由trigger信号触发对应的ADC采样。


13.jpg
上图的Trigger A/B可以看做pre-trigger和trigger的组合逻辑。这里要注意的是pre-trigger的周期设置要大于ADC的转换时间,否则不但无法触发ADC采样,反而会产生一个PDBsequence error的中断。


14.jpg
利用PDB的特性,可以在极短的时间内触发两次ADC采样,即上图的ping-pong模式。这里PDB的计数器会和三个数进行比较,当计数器累加到triggerA的设定时间时,会触发ADCA的转换,当计数器累加到triggerB的设定时间时,会触发ADCB的转换,最后计数到PDB的MOD值时,产生中断,并在中断服务程序里清楚ADC的COCO标志。

15.jpg

附件是文档形式的ADC与PDB.pdf
ADC与PDB.pdf (1.1 MB, 下载次数: 1067)


ar_m_cu 发表于 2014-6-18 16:04 | 显示全部楼层
能有中文档最好
 楼主| FSL_TICS_Robin 发表于 2014-6-18 16:37 | 显示全部楼层
ar_m_cu 发表于 2014-6-18 16:04
能有中文档最好

英文的文档配合中文注释,这样不是应该更原汁原味吗?
ar_m_cu 发表于 2014-6-18 16:45 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-6-18 16:37
英文的文档配合中文注释,这样不是应该更原汁原味吗?

其实确实是英文文档更权威,在实际应用中发现有不理解的地方,我也往往会找英文资料看,但毕竟英文看起来很费时间,而工作太忙,需要学习的东西又太多,没那么多时间细细推敲。因此,接触到新芯片我首先找到的都是中文资料
liquan1010 发表于 2014-6-19 07:53 | 显示全部楼层
iwqt1983 发表于 2014-6-19 11:09 | 显示全部楼层
ADC功能很强大的
long0796 发表于 2014-6-24 14:05 | 显示全部楼层
学习一下.
 楼主| FSL_TICS_Robin 发表于 2014-6-24 14:11 | 显示全部楼层
iwqt1983 发表于 2014-6-19 11:09
ADC功能很强大的

PDB配上ADC的确功能非常强大,PDB的触发再结合FTM的信号就很适合PWM电机控制。
 楼主| FSL_TICS_Robin 发表于 2014-6-24 14:14 | 显示全部楼层
long0796 发表于 2014-6-24 14:05
学习一下.

建议大家先学习一下模块培训资料:飞思卡尔Kinetis微控制器内部培训资料链接
再结合:手把手系列之官方例程讲解大全-Kinetis系列 中配套例程学习。

witlym311 发表于 2014-6-27 12:09 | 显示全部楼层
谢谢
wangxuewei 发表于 2014-6-28 16:24 | 显示全部楼层
共同学习,共同进步
songffei 发表于 2014-6-30 12:04 | 显示全部楼层
songffei 发表于 2014-6-30 12:06 | 显示全部楼层
yangxuchen 发表于 2014-6-30 15:36 | 显示全部楼层
no1ed525 发表于 2014-7-1 21:05 | 显示全部楼层
很想了解Kinetis,來看看~
vanxchou 发表于 2014-7-2 13:30 | 显示全部楼层
学习中,需要此资料
yongtan_2004 发表于 2014-7-2 21:08 | 显示全部楼层
飞思卡尔的英文文档不符合人的思维习惯,看着一点都不爽
song_syf 发表于 2014-7-11 17:18 | 显示全部楼层
james1234 发表于 2014-7-12 21:00 | 显示全部楼层
okokokokokokookokkookokoooko
xinyinxing 发表于 2014-7-16 17:49 | 显示全部楼层
很好的资料,感谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

2439

帖子

13

粉丝
快速回复 在线客服 返回列表 返回顶部