在有2个或以上ADC模块的产品中,可以使用双ADC模式,双ADC框图如图6.81所示。
在双ADC模式里,根据ADC1_CR1寄存器中DUALMOD[2:0]位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同步触发。
在双ADC模式里,当转换配置成由外部事件触发时,用户必须将其设置成仅触发主ADC,从ADC设置成软件触发,这样可以防止意外地触发从转换。但是,主和从ADC的外部触发必须同时被激活。
双ADC共有6种可能的模式:同步注入模式、同步规则模式、快速交叉模式、慢速交叉模式、交替触发模式、独立模式。
还可以用下列方式组合使用上面的模式:
同步注入模式+同步规则模式
同步规则模式+交替触发模式
同步注入模式+交叉模式
在双ADC模式里,为了在主数据寄存器上读取从转换数据,即使不使用DMA传输规则通道数据,也必须使能DMA位。
1)同步注入模式
同步注入模式转换一个注入通道组。外部触发来自ADC1的注入组多路开关(由ADC1_CR2寄存器的JEXTSEL[2:0]选择),它同时给ADC2提供同步触发。不要在2个ADC上转换相同的通道(两个ADC在同一个通道上的采样时间不能重叠)。
在ADC1或ADC2的转换结束时:
①转换的数据存储在每个ADC接口的ADC_JDRx寄存器中。
②当所有ADC1/ADC2注入通道都被转换时,产生JEOC中断(若任一ADC接口开放了中断)。
③在同步模式中,必须转换具有相同时间长度的序列,或保证触发的间隔比2个序列中较长的序列长,否则当较长序列的转换还未完成时,具有较短序列的ADC转换可能会被重启。
在4个通道上的同步注入模式如图6.82所示。
2)同步规则模式
同步规则模式在规则通道组上执行。外部触发来自ADC1的规则组多路开关(由ADC1_CR2寄存器的EXTSEL[2:0]选择),它同时给ADC2提供同步触发。不要在2个ADC上转换相同的通道(两个ADC在同一个通道上的采样时间不能重叠)。
图6.81 双ADC框图
图6.82 在4个通道上的同步注入模式
在ADC1或ADC2的转换结束时:
①产生一个32位DMA传输请求(如果设置了DMA位),32位的ADC1_DR寄存器内容传输到SRAM中,它上半个字包含ADC2的转换数据,低半个字包含ADC1的转换数据。
②当所有ADC1/ADC2规则通道都被转换完时,产生EOC中断(若任一ADC接口开放了中断)。
③在同步规则模式中,必须转换具有相同时间长度的序列,或保证触发的间隔比2个序列中较长的序列长,否则当较长序列的转换还未完成时,具有较短序列的ADC转换可能会被重启。
在16个通道上的同步规则模式如图6.83所示。
图6.83 在16个通道上的同步规则模式
3)快速交叉模式
快速交叉模式只适用于规则通道组(通常为一个通道)。外部触发来自ADC1的规则通道多路开关。外部触发产生后:
ADC2立即启动;
ADC1在延迟7个ADC时钟周期后启动。
如果同时设置了ADC1和ADC2的CONT位,所选的两个ADC规则通道将被连续地转换。
ADC1产生一个EOC中断后(由EOCIE使能),产生一个32位的DMA传输请求(如果设置了DMA位),ADC1_DR寄存器的32位数据被传输到SRAM,ADC1_DR的上半个字包含ADC2的转换数据,低半个字包含ADC1的转换数据。
慢速交叉模式下,最大允许采样时间小于7个ADCCLK周期,避免ADC1和ADC2转换相同通道时发生两个采样周期的重叠。
在1个通道上连续转换模式下的快速交叉模式如图6.84所示。
图6.84 在1个通道上连续转换模式下的快速交叉模式
4)慢速交叉模式
慢速交叉模式只适用于规则通道组(只能为一个通道)。外部触发来自ADC1的规则通道多路开关。外部触发产生后:(www.xing528.com)
ADC2立即启动;
ADC1在延迟14个ADC时钟周期后启动;
ADC2在延迟第二次14个ADC周期后再次启动,如此循环。
ADC1产生一个EOC中断后(由EOCIE使能),产生一个32位的DMA传输请求(如果设置了DMA位),ADC1_DR寄存器的32位数据被传输到SRAM,ADC1_DR的上半个字包含ADC2的转换数据,低半个字包含ADC1的转换数据。在28个ADC时钟周期后自动启动新的ADC2转换。
慢速交叉模式下,最大允许采样时间小于14个ADCCLK周期,避免ADC1和ADC2转换相同通道时发生两个采样周期的重叠。应用程序必须确保当使用交叉模式时,不能有注入通道的外部触发产生。
在1个通道上的慢速交叉模式如图6.85所示。
图6.85 在1个通道上的慢速交叉模式
5)交替触发模式
交替触发模式只适用于注入通道组。外部触发源来自ADC1的注入通道多路开关。
当第一个触发产生时,ADC1上的所有注入组通道被转换;
当第二个触发到达时,ADC2上的所有注入组通道被转换;
按此循环。
如果允许产生JEOC中断,在所有ADC1注入组通道转换后产生一个JEOC中断,在所有ADC2注入组通道转换后也会产生一个JEOC中断。当所有注入组通道都转换完后,如果又有另一个外部触发,则重新开始交替触发过程,如图6.86所示。
图6.86 交替触发模式
如果ADC1和ADC2上同时使用了注入间断模式:
当第一个触发产生时,ADC1上的第一个注入通道被转换;
当第二个触发到达时,ADC2上的第一个注入通道被转换;
按此循环。
如果允许产生JEOC中断,在所有ADC1注入组通道转换后产生一个JEOC中断,在所有ADC2注入组通道转换后亦会产生一个JEOC中断。当所有注入组通道都转换完后,如果又有另一个外部触发,则重新开始交替触发过程,如图6.87所示。
图6.87 使用了注入间断模式的交替触发
6)独立模式
此模式里,双ADC同步不工作,每个ADC接口独立工作。
7)混合的规则/注入同步模式
规则组同步转换可以被中断,以启动注入组的同步转换。在混合的规则/注入同步模式中,必须转换具有相同时间长度的序列,或保证触发的间隔比2个序列中较长的序列长,否则当较长序列的转换还未完成时,具有较短序列的ADC转换可能会被重启。
8)混合的同步规则+交替触发模式
规则组同步转换可以被中断,以启动注入组交替触发转换。注入交替转换在注入事件到达后立即启动。如果规则转换已经在运行,为了在注入转换后确保同步,所有的ADC(主和从)规则转换被停止,并在注入转换结束时同步恢复,如图6.88所示。
图6.88 同步规则+交替触发模式
在混合的同步规则+交替触发模式中,必须转换具有相同时间长度的序列,或保证触发的间隔比2个序列中较长的序列长,否则当较长序列的转换还未完成时,具有较短序列的ADC转换可能会被重启。
如果触发事件发生在一个中断了规则转换的注入转换期间,这个触发事件将被忽略。图6.89展示了这种情况的操作(第2个触发被忽略)。
9)混合同步注入+交叉模式
一个注入事件可以中断一个交叉转换。这种情况下,交叉转换被中断,注入转换被启动,在注入序列转换结束时,交叉转换被恢复。图6.90是这种情况的一个例子。
应注意:当ADC时钟预分频系数设置为4时,交叉模式恢复后不会均匀地分配采样时间,采样间隔是8个ADC时钟周期与6个ADC时钟周期轮替,而不是均匀的7个ADC时钟周期。
图6.89 触发事件发生在注入转换期间
图6.90 交叉的单通道转换被注入序列CH11和CH12中断
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。