寄存器ADMUX中的MUXn和REFS1、REFS0位实际上是一个缓冲器,该缓冲器与一个MCU可以随机读取的临时寄存器相连通。采用这种结构,保证了ADC输入通道和参考电源只能在ADC转换过程中的安全点被改变。在ADC转换开始前,通道和参考电源可以不断被更新,一旦转换开始,通道和参考电源将被锁定,并保持足够时间,以确保ADC转换的正常进行。在转换完成前的最后一个ADC时钟周期(ADCSRA的ADIF位置“1”时),通道和参考电源又开始重新更新。注意,由于A/D转换开始于置位ADSC后的第一个ADC时钟的上升沿,因此,在置位ADSC后的一个ADC时钟周期内不要将一个新的通道或参考电源写入到ADMUX寄存器中。
改变差分输入通道时需特别当心。一旦确定了差分输入通道,增益放大器需要125μs的稳定时间。所以在选择了新的差分输入通道后的125μs内不要启动A/D转换,或将这段时间内转换结果丢弃。通过改变ADMUX中的REFS1、REFS0来更改参考电源后,第一次差分转换同样要遵循以上的时间处理过程。
(1)当要改变ADC输入通道时,应该遵守以下方式,以保证能够选择到正确的通道
在单次转换模式下,总是在开始转换前改变通道设置。尽管输入通道改变发生在ADSC位被写入“1”后的1个ADC时钟周期内,然而,最简单的方法是等到转换完成后,再改变通道选择。
在连续转换模式下,总是在启动ADC开始第一次转换前改变通道设置。尽管输入通道改变发生在ADSC位被写入“1”后的1个ADC时钟周期内,然而,最简单的方法是等到第一次转换完成后再改变通道的设置。然而由于此时新一次的转换已经自动开始,所以,当前这次的转换结果仍反映前一通道的转换值,而下一次的转换结果将为新设置通道的值。(www.xing528.com)
(2)ADC电压参考源
ADC的参考电压(VREF)决定了A/D转换的范围。如果单端通道的输入电压超过VREF,将导致转换结果接近于0x3FF。ADC的参考电压VREF可以选择为AVCC或芯片内部的2.56V参考源,或者为外接在AREF引脚上的参考电压源。
AVCC通过一个无源开关连接到ADC上。内部2.56V参考源是由内部能隙参考源(VBC)通过内部的放大器产生的。注意,无论选用什么内部参考电源,外部AREF引脚都是直接与ADC相连的,因此,可以通过外部在AREF引脚和地之间并接一个电容,使内部参考电源更加稳定和抗噪。可以通过使用高阻电压表测量AREF引脚,来获得参考电源VREF的电压值。由于VREF是一个高阻源,因此,只有容性负载可以连接到该引脚。
如果将一个外部固定的电压源连接到AREF引脚,那就不能使用任何的内部参考电源,否则就会使外部电压源短路。外部参考电源的范围应在2.0V到AVCC-0.2V之间。参考电源改变后的第一次ADC转换结果可能不太准确,建议抛弃该次转换结果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。