NXP MCU 技术论坛
直播中

jjll652

9年用户 1462经验值
私信 关注
[问答]

求助,关于K64 ADC采样和转换时间的疑问求解

我正在尝试了解 K64 ADC 的采样时间和转换时间、如35.4.4.5 采样时间和总转换时间。
考虑一个简单的示例案例:
CFG1[ADLPC] = 0 (normal power configuration)
CFG1[ADIV] = 00 (divide ratio is 1, ADCK rate is the Bus Clock rate)
CFG1[ADLSMP] = 0 (short 采样时间)
CFG1[MODE] = 10 (16bit)
CFG1[ADICLK] = 00 (Bus Clock)
CFG2[ADHSC] = 0 (normal conversion sequence)
SC1n[DIFF] = 0 (single-ended)
SC3[AVGE] = 0 (AverageNum = 1)
在这种情况下,我希望采样时间在第一次或单次转换时为 6 个 ADCK 周期,在后续转换时为 4 个 ADCK 周期。
总计转换时间由下式给出:SFCAdder AverageNum*(BCT LSDAdder HSCAdder)。
转换时间=(5 个 ADCK 周期,5 个总线时钟周期) 1*(25 个 ADCK 周期,0 0)
转换时间 =35/f_bus
我的问题是,表达式转换时间样品之间的总时间?如果是这样,其中 是采样时间反映在总计转换时间?SFCAdder 来自表 35-3(5 个 ADCK 周期,5 个总线时钟周期)与采样时间在示例时间表中列出(6 或 4 个 ADCK 周期):

采样时间


或者,样本之间的总时间是否可以表示为 t_sample 和 t_conversion 之和?是否有任何地方有显示采样和转换阶段的时序图?





                                                                                                                                                                                                                                                                                                                                                                                                        


回帖(1)

郭中

2025-3-26 17:57:36

根据K64参考手册的35.4.4.5节,ADC的总转换时间由采样时间和转换时间组成。以下是针对您配置的分析:


配置总结



  • ADLSMP=0:短采样时间

  • MODE=10:16位分辨率

  • ADIV=00:ADCK = Bus Clock

  • ADHSC=0:普通转换模式

  • AVGE=0:无硬件平均


采样时间


在短采样时间模式下(ADLSMP=0):



  • 单端输入(DIFF=0):采样时间为 4个ADCK周期

  • 但手册指出,第一次转换或单次转换时,采样时间会增加额外的 2个ADCK周期(用于初始化),因此首次采样时间为 6个ADCK周期,后续连续转换的采样时间恢复为 4个ADCK周期


转换时间


16位分辨率(MODE=10)的转换时间为 24个ADCK周期(每bit 1.5周期 × 16 bits = 24 cycles)。


总转换时间



  • 首次/单次转换:6(采样) + 24(转换) = 30 ADCK周期

  • 后续连续转换:4(采样) + 24(转换) = 28 ADCK周期


验证要点



  1. ADSTS寄存器:若未手动配置,默认值为0,不影响短采样时间的周期数。

  2. 连续模式优化:后续转换减少的2个周期源于ADC内部状态保持,无需重新初始化。


结论


您的计算完全正确,符合手册中的时序要求。总转换时间在首次/单次转换时为30 ADCK周期,后续连续转换为28 ADCK周期。确保ADCK时钟配置正确(与Bus Clock一致),即可实现预期的采样率。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分