打印
[Kinetis]

详解Kinetis内部ADC转换速率(转)

[复制链接]
1367|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerful1|  楼主 | 2015-3-25 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  前段时间有博友问到我Kinetis内部16位AD的转换速率的问题,虽然针对Kinetis内部的ADC模块我曾经写过从零入手系列,不过在那篇博客里的确对AD的转换速率没有过多的介绍,会让一些选型的攻城狮觉得不明朗。发现很多人选择Kinetis作为产品的控制器是看上了它自带的16位高精度高速ADC,的确MCU自带16为SAR型的AD真是很难得了(意法的STM32F4是12位的),因为∑-Δ型的做到16位的高精度很容易(但速度做不高),而用SAR型的做到内嵌的16位高精度AD真的很赞,说到这里不得不对飞思卡尔NB的半导体技术膜拜一下,难怪人家的片子贵啊,哎,不过还好Kinetis L系列开始走低端路线了,不到1刀啊,还是挺让人充满期待的,哈哈~

    言归正传,在给出AD的转换速率之前先普及下知识,好多初手容易混淆AD模块的转换时钟和转换速率这两个概念,前者是AD模块的工作时钟(数字系统,少不了时钟)而后者则是由若干个转换时钟构成的,也就是说AD模块转换一次数据需要若干个阶段而每个阶段则花费一个或多个转换时钟的时间来完成。拿本篇的主角Kinetis来说,它的时钟是ADICLK(最高允许18MHz,不过在16位转换精度下建议这个时钟小于10MHz以保证转换的精度),而它的转换时间则通过以下公式来计算:

Conversion time = SFCAdder + AverageNum*(BCT + LSTAdder + HSCAdder)


相关帖子

沙发
powerful1|  楼主 | 2015-3-25 19:45 | 只看该作者

而上面的每个参数都是通过ADC模块相应的寄存器来设置的,由若干个时钟组成,其中SFCAdder(即single or first continuous time adder,这个我虽然理解但是翻译不好,有英语好的博友欢迎下面留言解释一下),AverageNum(即硬件平均数,Kinetis自带的功能,搞过KinetisAD的都懂的),BCT(即Base Conversion time),LSTAdder(即Long sample time adder,长时间采样,通过设置寄存器可选),HSCAdder(即High Speed Conversion time,同样通过设置相应寄存器可选)。嘿嘿,这几个参数都解释了一遍,那下面就让我们看看这几个参数都包括了多少个时钟吧,上图了:


使用特权

评论回复
板凳
powerful1|  楼主 | 2015-3-25 19:46 | 只看该作者



使用特权

评论回复
地板
powerful1|  楼主 | 2015-3-25 19:47 | 只看该作者

   本篇既然主要内容是AD的转换速率,当然最好的效果是量化了,用事实说话,下面我截个图上来给大家瞧瞧Kinetis的AD到底转换速度能有多快,上图:


使用特权

评论回复
5
598330983| | 2015-3-27 21:58 | 只看该作者
谢谢分享这么好的帖子

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-4-10 15:39 | 只看该作者
非常感谢你关于Kinetis的经验分享 !

使用特权

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

本版积分规则

88

主题

430

帖子

4

粉丝