理论教育 ADC转换优先级优化方法

ADC转换优先级优化方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:当多个SOC标志同时被设置时,两种优先级形式之一决定了它们转换的顺序。最高的优先级被给予指针指向值的下一个值,超过SOC15后回绕到SOC0。当RRPOINTER等于32时,最高的优先级属于SOC0。ADCSOCPRIORITYCTL寄存器的SOCPRIORITY位域可以设定一个到所有的SOC的优先级。当该SOC转换完毕后,轮询链将从它断开的地方继续。如果两个高优先级SOC同时触发,优先级值更低的SOC将会优先转换。图5-6为用高优先级SOC的例子。

ADC转换优先级优化方法

当多个SOC标志同时被设置时,两种优先级形式之一决定了它们转换的顺序。默认的优先级顺序是轮询。在这种方式中,优先级由轮询指针(RRPOINTER)决定。映射在ADC⁃SOCPRIORITYCTL寄存器中的RRPOINTER指向下一个要转换的SOC。最高的优先级被给予指针指向值的下一个值,超过SOC15后回绕到SOC0。因为0代表一个转换已经发生,所以复位时值设为32。当RRPOINTER等于32时,最高的优先级属于SOC0。当ADCCTL1.RESET位设为1时,或者当SOCPRICTL寄存器被写入时,RRPOINTER通过器件复位进行复位。

图5-5为轮询优先级的一个例子。

ADCSOCPRIORITYCTL寄存器的SOCPRIORITY位域可以设定一个到所有的SOC的优先级。当配置为高优先级时,轮询链将会在任何当前的转换结束后被打断,并且将该SOC嵌入轮询链作为下一次转换。当该SOC转换完毕后,轮询链将从它断开的地方继续。如果两个高优先级SOC同时触发,优先级值更低的SOC将会优先转换。

高优先级模式中最初设定为SOC0最高,然后递增数值。写入SOCPRIORITY位域的值定义了第一个不是高优先级的SOC。换句话说,如果4写入了SOCRRIORITY位域,那么SOC0、SOC1、SOC2和SOC3被定义为高优先级,其中SOC0最高。图5-6为用高优先级SOC的例子。

978-7-111-57271-8-Chapter05-6.jpg(www.daowen.com)

图5-5 轮询优先级的例子

978-7-111-57271-8-Chapter05-7.jpg

图5-6 用高优先级SOC的例子

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈