我正在尝试评估集成在各种 PIC 微控制器上的 A/D 的最大物理速率(奈奎斯特性能限制)。
但是,要进行计算需要我在数据表中没有明确说明的参数,特别是 Tacq、Fosc、TAD 和除数参数。
我已经进行了一些假设,但进行健全性检查会有所帮助——我是否正确地进行了最大物理速率计算?
仅出于说明目的,我采用了具有 ADC 的最简单的 PIC10F220。这是为了特别关注 Tacq、Fosc、TAD 和除数参数的解释,而不是建议在这个非常基本的芯片上可以实现任何实际功能。(这是克利福德在下面评论中的观点。)
计算:
Nyquist Performance Analysis of PIC10F220
- Runs at clock speed of 8MHz.
- Has an instruction cycle of 0.5us [4 clock steps per instruction]
所以:
- Get Tacq = 6.06 us [acquisition time for ADC, assuming chip temp. = 50*C]
[from datasheet p34]
- Set Fosc := 8MHz [? should this be internal clock speed ?]
- Set divisor := 4 [? assuming this is 4 from 4 clock steps per CPU instruction ?]
- This gives TAD = 0.5us [TAD = 1/(Fosc/divisor) ]
- Get conversion time is 13*TAD [from datasheet p31]
- This gives conversion time 6.5 us
- So ADC duration is 12.56 us [? Tacq + 13*TAD]
假设在下一个样本之前实时完成了 10 条简单的加载/存储/阈值指令(这只是一个存根——重点是计算的其余部分):
- This adds another 5 us [0.5 us per instruction]
- To give total ADC and handling time of 17.56 us [ 12.56us + 1us + 4us ]
- before the sampling loop repeats [? Again Tacq ? + 13*TAD + handling ]
- If this is correct, then the max sampling rate is 56.9 ksps [ 1/ total time ]
- So the Nyquist frequency for this sampling rate is 28 kHz. [1/2 sampling rate]
这意味着该系统的(理论)性能——带有假设实时处理代码的芯片 A/D——适用于带宽限制为 28 kHz 的信号。
在获取 Tacq、Fosc、TAD 和除数参数并使用它们来获得该芯片的最大物理速率或 Nyquist 性能限制时,这是对数据表的正确分配/解释吗?
谢谢,