GD32F303的ADC0通道17连接到一个内部的带隙基准,手册里面只是稍微提了一下,没有具体参数,与使用方法。
我试着配置成规则扫描,DMA触发,用了其他3通道+通道17内部参考。ADC时钟30M,采样周期 28.5(+12.5)。
然后发现一个神奇的现象,就是其他通道输入值会把这个内部参考采样到的值改变。
平时这个值测出来是1.2V,温飘是真的小,肯定小于80ppm,实测效果比我外接的一个80ppm的电压基准好。用来反推外部参考电压3.3V还是挺好用的。
就是其他ADC通道输入电压值,就会改变这个值,会减小到1V以下。
后来不是官方有个例程,里面是把它和内部温度一起配置的,配置成注入组的,采样周期是239.5(+12.5)。
我试着将它的采样周期单独改成239.5(+12.5),好像就好了,也不会受到影响。
71.5(+12.5),55.5(+12.5)也行。
41.5(+12.5)开始就不行了,就会受到其他通道的影响。
55.5(+12.5)/30 = 2.2667us。
(41.5 + 12.5) / 30 = 1.8us。
随后,我把主频从120M降到100M。ADC频率即变成25M。
(41.5 + 12.5) / 25 = 2.16us。
这时候也不会受到影响。
手册里面倒是有提到内部温度采样时间不要低于17.1us。
所以我想问问,内部基准是不是也有这种说法。
|