打印
[资料分享与下载]

Kinetis内部培训资料---- ADC模块和Programmable Delay Block (PDB)模块

[复制链接]
9423|59
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 FSL_TICS_A 于 2014-10-21 15:40 编辑

ADCPDB模块

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



从上图可见,以PGAxDP/M命名的端口都是支持PGA的ADC采样通道。目前Kientis只在channel2的差分输入端口集成了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的差分输入端口连接在电阻的两端,可采样流过极小电阻的电压(毫伏级),从而算出电流值,如果把其中一个端点连接在电阻的中点,还能扩大测量范围。



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



Programmable Delay Block (PDB)模块

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



上图可以看到一个PDB通道只有一个trigger信号,却有多个pre-trigger信号,其实两者之间的延迟只有一个peripheralclock,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采样,反而会产生一个PDBsequence error的中断。



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



附件是文档形式的ADC与PDB.pdf
ADC与PDB.pdf (1.1 MB)


相关帖子

沙发
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
英文的文档配合中文注释,这样不是应该更原汁原味吗?

其实确实是英文文档更权威,在实际应用中发现有不理解的地方,我也往往会找英文资料看,但毕竟英文看起来很费时间,而工作太忙,需要学习的东西又太多,没那么多时间细细推敲。因此,接触到新芯片我首先找到的都是中文资料

使用特权

评论回复
5
liquan1010| | 2014-6-19 07:53 | 只看该作者
mark

使用特权

评论回复
6
iwqt1983| | 2014-6-19 11:09 | 只看该作者
ADC功能很强大的

使用特权

评论回复
7
long0796| | 2014-6-24 14:05 | 只看该作者
学习一下.

使用特权

评论回复
8
FSL_TICS_Robin|  楼主 | 2014-6-24 14:11 | 只看该作者
iwqt1983 发表于 2014-6-19 11:09
ADC功能很强大的

PDB配上ADC的确功能非常强大,PDB的触发再结合FTM的信号就很适合PWM电机控制。

使用特权

评论回复
9
FSL_TICS_Robin|  楼主 | 2014-6-24 14:14 | 只看该作者
long0796 发表于 2014-6-24 14:05
学习一下.

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

使用特权

评论回复
10
witlym311| | 2014-6-27 12:09 | 只看该作者
谢谢

使用特权

评论回复
11
wangxuewei| | 2014-6-28 16:24 | 只看该作者
共同学习,共同进步

使用特权

评论回复
12
songffei| | 2014-6-30 12:04 | 只看该作者
:)

使用特权

评论回复
13
songffei| | 2014-6-30 12:06 | 只看该作者
:)

使用特权

评论回复
14
yangxuchen| | 2014-6-30 15:36 | 只看该作者
:)

使用特权

评论回复
15
no1ed525| | 2014-7-1 21:05 | 只看该作者
很想了解Kinetis,來看看~

使用特权

评论回复
16
vanxchou| | 2014-7-2 13:30 | 只看该作者
学习中,需要此资料

使用特权

评论回复
17
yongtan_2004| | 2014-7-2 21:08 | 只看该作者
飞思卡尔的英文文档不符合人的思维习惯,看着一点都不爽

使用特权

评论回复
18
song_syf| | 2014-7-11 17:18 | 只看该作者
xiee

使用特权

评论回复
19
james1234| | 2014-7-12 21:00 | 只看该作者
okokokokokokookokkookokoooko

使用特权

评论回复
20
xinyinxing| | 2014-7-16 17:49 | 只看该作者
很好的资料,感谢分享!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

2439

帖子

13

粉丝