【原创】TI C2833x介绍---系统自带的ADC(9)
0赞继续上次的例子:
在把ADC模块设置为级联序列发生器模式,并且设置为序列采样模式之后,把MAX_CONV1设定为2,则通道选择序列控制器ADCCHSELSEQ中的位对应的转换量的映射关系为:
图1 通道与转换量的映射
详细分析整个转换过程的具体流程如下:
1. 按照图1将通道与被采用转换的模拟量进行映射。
2. 在上电复位及初始化之后,序列转换器SEQ1进入等待触发信号的状态。在上面的例子中,SEQ1有两个触发信号,一个是ePWM模块的计数器计数值下溢时(CTR=0)触发,另外一个是计数值=周期值时(上溢事件)触发(CTR = PRD)。
3. 第一个触发信号到来之后,ADC完成三次采样与转换工作,此时V1、V2、V3的值分别存入三个转换通道CONV00、CONV01、CONV02中。
4. 此时MAX-CONV1的值被自动复位为2(除非在程序中人为去改动它)。
5. SEQ1继续进入等待触发信号的状态,直到第二个触发信号到来。
6. ePWM计数器的上溢事件发生时,ADC完成另外三次采样与转换工作,此时I1、I2、I3的值分别存入三个转换通道CONV03、CONV04、CONV05中。
7. 在两次完整的采样事件结束之后,ADC结果寄存器中的值与被采样的模拟量的映射关系为:
Adc.RESULT0 V1
Adc.RESULT1 V2
Adc.RESULT2 V3
Adc.RESULT3 I1
Adc.RESULT4 I2
Adc.RESULT5 I3
8. 接下来SEQ1继续等待触发信号的到来,并进行新的转换。
在上面的过程中,我们可以通过赋值语句对SEQ1进行人为的手动复位,只要不改变控制寄存器的配置,则SEQ1在复位之后会重新进入等待触发的状态,并重复上面的过程。