前段时间有博友问到我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)
|