《第十一章ADC的一般应用1ADC介绍.docx》由会员分享,可在线阅读,更多相关《第十一章ADC的一般应用1ADC介绍.docx(50页珍藏版)》请在第一文库网上搜索。
1、第十一章ADC的一般应用11.1 ADC介绍STM32F10x系列芯片上带有的模数转换器为12位,该ADC是一种逐次逼近型模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值值。11.1.1 ADC主要特征1 .12-位分辨率2 .转换结束,注入转换结束和发生模拟看门狗事件时产生中断3 .单次和连续转换模式4 .从通道0到通道n的自动扫描模式5 .自校准6 .带内嵌数据一致的数据对齐7 .通道之间采样间
2、隔可编程8 .规则转换和注入转换均有外部触发选项9 .间断模式10 .双重模式(带2个或以上.ADC的器件)11 .ADC转换时间:STM32F103xx增强型产品:ADC时钟为56MHZ时为1s(ADC时钟为72MHZ为1.17s)STM32FIC)IXX基本型产品:ADC时钟为28MHZ时为1s(ADC时钟为36MHZ为1.55s)STM32F102xxUSB型产品:ADC时钟为48MHZ时为1.2s12 .ADC供电要求:2.4V到3.6V13 .ADC输入范围:VREF-VINVREF+14 .规则通道转换期间有DMA请求产生。11.1.2ADC功能描述ADC模块的框图,参考数据手册。
3、表111-1为ADC管脚的说明。表11-1-1ADC管脚名称信号类型注解Vref+输入,模拟参考正极ADC使用的高端/正极参考电压,2.4VVref+VddaVdda输入,模拟电源等效于VDD的模拟电源且:2.4VVddaVdd(3.6V)Vref-输入,模拟参考负极ADC使用的低端/负极参考电压,VREF=VSSAVssa输入,模拟电源地等效于VSS的模拟电源地ADC_IN15:0模拟输入信号16个模拟输入通道1 .ADC开关控制通过设置ADC-CR1寄存器的ADON位可给ADC上电。当第一次设置ADON位时,它将ADC从断电状态下唤醒。通过调用库函数ADC_Cmd(ADC1,ENAB1E)
4、;可以实现将ADoN位置位。ADC上电延迟一段时间后(tSTAB),再次设置ADON位时开始进行转换。通过清除ADON位可以停止转换,并将ADC置于断电模式。在这个模式中,ADC几乎不耗电(仅几个A)o2 .ADC时钟由时钟控制器提供的ADCC1K时钟与PC1K2(APB2时钟洞步。RCC控制器为ADC时钟提供一个专用的可编程预分频器,详见复位和时钟控制(RCC)章节。3 .通道选择有16个多路通道。可以把转换分成两组:规则的和注入的。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15o规则组由多
5、达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数写入ADC_SQR1寄存器的13:0位中。注入组由多达4个转换组成。注入通道和它们的转换顺序在ADCSQR寄存器中选择。注入组里的转换总数目必须写入ADCSQR寄存器的11:0位中。如果ADC_SQRx或ADCSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。温度传感器/VREFINT内部通道。温度传感器和通道ADCxN16相连接,内部参照电压VREFINT和ADCxN17相连接。可以按注入或规则通道对这两个内部通道进行转换。注意:传感器和只能出现在主A0C
6、7中。4,单次转换模式单次转换模式下,ADC只执行一次转换。该模式既可通过设置ADC_CR2寄存器的ADON位(只适用于规则通道)启动也可通过外部触发启动(适用于规则通道或注入通道),这时CONT位为Oo一旦选择通道的转换完成:1如果一个规则通道被转换:转换数据被储存在16位ADC_DR寄存器中:EoC(转换结束)标志被设置;如果设置了EC)CIE,则产生中断。2如果一个注入通道被转换:转换数据被储存在16位的ADC_DRJ1寄存器中;JEoC(注入转换结束)标志被设置然后ADC停止。5,连续转换模式在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。此模式可通过外部触发启动或通过设
7、置ADJCR2寄存器上的ADON位启动,此时CONT位是1。每个转换后:1如果个规则通道被转换:转换数据被储存在16位的ADCDR寄存器中;EoC(转换结束)标志被设置;如果设置了EoCIE,则产生中断。2如果一个注入通道被转换:转换数据被储存在16位的ADC_DRJ1寄存器中;JEoC(注入转换结束)标志被设置;如果设置了JEe)CIE位,则产生中断。6.时序图如图I1-I-I所示,ADC在开始精确转换前需要一个稳定时间tSTAB。在开始ADC转换和14个时钟周期后,EoC标志被设置,16位ADC数据寄存器包含转换的结果。7.扫描模式此模式用来扫描一组模拟通道。扫描模式可通过设置ADC-CR
8、1寄存器的SCAN位来选择。一旦这个位被设置,ADC扫描所有被ADc1SQRX寄存器(对规则通道)或ADCJSQR(对注入通道)选中的所有通道。在每个组的每个通道上执行单次转换。在每个转换结束时,同一组的下一个通道被自动转换。如果设置了CONT位,转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。如果设置DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到SRAM中。而注入通道转换的数据总是存储在ADCJDRx寄存器中。8,注入通道管理1触发注入清除ADCJ2R1寄存器的JAUTo位,并且设置SCAN位,即可使用触发注入功能。利用外部触发或通过设置ADC
9、_CR2寄存器的ADON位,启动一组规则通道的转换。如果在规则通道转换期间产生一外部注入触发,当前转换被复位,注入通道序列被以单次扫描方式进行转换。然后,恢复上次被中断的规则组通道转换。如果在注入转换期间产生一规则事件,注入转换不会被中断,但是规则序列将在注入序列结束后被执行。注:当使用触发的注入转换时,必须保证触发事件的间隔长于注入序列。例如:序列长度为28个4。C时钟周期伊个具有7.5个时钟间隔采样时间的转换力触发之间最小的间隔必须是29个C时钟周期。2自动注入如果设置了JAUTO位,在规则组通道之后,注入组通道被自动转换。这可以用来转换在ADC_SQRx和ADCJSQR寄存器中设置的多至
10、20个转换序列。在此模式里,必须禁止注入通道的外部触发。如果除JAUTO位外还设置了CoNT位,规则通道至注入通道的转换序列被连续执行。对于ADC时钟预分频系数为4至8时,当从规则转换切换到注入序列或从注入转换切换到规则序列时,会自动插入1个ADC时钟间隔;当ADC时钟预分频系数为2时,则有2个ADC时钟间隔的延迟。延时时序见图11-1-2。注意:不可能同时使用自动注入和间断模式。ADCc1ock1nj.eventResetADCSOC图注入转换延时时序ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。在校准期间,每个电容器上都会计算出一个误差修正码(数字值),
11、这个码用于消除在随后的转换中每个电容器上产生的误差。通过设置ADC_CR2寄存器的CA1位启动校准。一旦校准结束,CA1位被硬件复位,可以开始正常转换。建议在上电时执行一次ADC校准。校准阶段结束后,校准码储存在ADC_DR中。图U-I-3为ADC校准时序图。注意:1建议在每次上电后执行校准。2启动校准前,ADC必须处于关电状态依DOiO)超过至少两个ADCH寸钟周期。ADC.CR2寄存器中的A1IGN位选择转换后数据储存的对齐方式。数据可以左对齐或右对齐,如图11-1-4和图11-1-5所示。注入组通道转换的数据值已经减去了在Adc1jofrx寄存器中定义的偏移量,因此结果可以是一个负值。S
12、EXT位是扩展的符号值。对于规则组通道,不需减去偏移值,因此只有12个位有效。1)数据右对齐注入组SEXTSEXTSEXTSEXTD11D1OD9D8D7D6D5D4D3D2D1DO规则组0000D11D1OD9D8D7D6D5D4D3D2D1DO图11-1-42数据左对齐注入组SEXTD11D1OD9D8D7D6D5D4D3D2D1DO000规则组D11D1O1)91)8D7D6D5D4D3D2D1DO000011.1.5 图11-1-511.1.6 可编程的通道采样时间ADC使用若干个ADC.C1K周期对输入电压采样,采样周期数目可以通过ADC_SMPR1和ADC.SMPR2寄存器中的SM
13、P29位而更改。每个通道可以以不同的时间采样。总转换时间如下计算:TCONV=采样时间+12.5个周期例如:当adcc1k=14mhz和1.5周期的采样时间TCoNV=I.5+12.5=14周期=1s11.1.7 外部触发转换转换可以由外部事件触发(例如定时器捕获,EXTI线)。表U-I-2、表11-1-3、表11-14表11-1-5描叙了不同通道外部触发的EXTSE1位设定值。如果设置了EXTTRIG控制位,则外部事件就能够触发转换。EXTSEU2:0和JEXTSE12:0控制位允许应用程序选择8个可能的事件中的某一个可以触发规则和注入组的采样。注意:当外部触发信号被选为ADC规则或注入转换
14、时,只有它的上升沿可以启动转换。表I1-I-2ADCI和ADC2用于规则通道的外部触发触发源类型EXTSE12:0定时器1的CC1输出片上定时器的内部信号000定时器1的CC2输出001定时器1的CC3输出010定时器2的CC2输出011定时器3的TRGo输出100定时器4的CC4输出101EXTI线11外部管脚110SWSTART软件控制位111注:TD18RG0事件只存在于大容量产品对于规则通道,选中EXTT线路11和TTM8_TRG0作为外部触发事件,可以通过设置ADC1和ADC2的ADC1_ETRGREG_REMAP位和ADC2_ETRGREG_REMAP位实现。表11-1-3ADC1和ADC2用于注入通道的外部触发触发源类型JEXTSE12:0定时器1的TRGO输出片上定时器的内部信号000定时器1的CC4输出001定时器2的TRGo输出010定时器2的CC1输出011定时器3的CC4输出100定时器4的TRGo输出101EXT1线15外部管脚110SWSTART软件控制位111注:T1M8_CC4事件只存在于大容量产品对于规则通道,选中EXT1线路15和TIM8JDC4作为外部触发事件,可以通过设置ADCI和ADC2的ADC1_ENTRGINJ_REMAP位和ADC2_ENTRGINJ_REMAP位实现。11-1-4ADC3用于规则通道