第四讲_模数转换器ADC_第1页
第四讲_模数转换器ADC_第2页
第四讲_模数转换器ADC_第3页
第四讲_模数转换器ADC_第4页
第四讲_模数转换器ADC_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模/数转换 ADC 在现实世界中,许多量都是模拟量,例如电压、电流、温度、湿度、压力等信号,而在DSP等微控制器的世界中,所有的量却都是数字量,那如何实现将现实世界的模拟量提供给DSP等微控制器呢? ADC1、F281x内部的ADC模块 2、ADC模块的工作方式3、ADC模块的中断4、ADC模块的寄存器5.1 2812内部的ADC模块 ADC模块是一个模块是一个12位位分辨率的、具有流水线结分辨率的、具有流水线结构的模数转换器构的模数转换器 。 X281X的的ADC模块一共具有模块一共具有16个个采样通道,分采样通道,分成了两组,成了两组, 一组为一组为ADCINA0ADCINA7,另一组为,

2、另一组为ADCINB0ADCINB7,转换时间在,转换时间在80ns以内。以内。 转换结果存储在转换结果存储在ADCRESULT0 ADCRESULT15,16个结果寄存器中。个结果寄存器中。ADC模块的结构框图(P143) 虽然虽然ADC模块具有多个输入通道,但是它内部模块具有多个输入通道,但是它内部只有只有1个转换器,也就是说同一时刻只能对个转换器,也就是说同一时刻只能对1路路输入信号进行转换。当有多路信号需要转换时,输入信号进行转换。当有多路信号需要转换时,ADC模块该怎么办呢?模块该怎么办呢?多路转换示意图多路转换示意图ADC模块的特点 一共有一共有16个模拟量输入引脚,将这个模拟量输

3、入引脚,将这16个输入引个输入引脚分成了两组,脚分成了两组,A组的引脚为组的引脚为ADCINA0ADCINA7,B组的引脚为组的引脚为ADCINB0ADCINB7。 ADC内核内置有内核内置有2个个采样保持器采样保持器S/H-A和和S/H-B,从前面的学习可以知道,引脚从前面的学习可以知道,引脚ADCINA0ADCINA7对应于采样保持器对应于采样保持器S/H-A,引脚,引脚ADCINB0ADCINB7对应于采样保对应于采样保持器持器S/H-B。 ADC模拟输入的范围为模拟输入的范围为03V。 AD端口的嵌位电路 ADC模块的时钟频率最高可配置为模块的时钟频率最高可配置为25MHz,采样频率最

4、高为采样频率最高为12.5MIPS,也就是说每秒最,也就是说每秒最高能完成高能完成12.5个个百万次的采样。百万次的采样。 ADC模块的自动序列发生器可以按模块的自动序列发生器可以按两个独立两个独立的的8状态序列发生器状态序列发生器(SEQ1和和SEQ2)来运行,来运行,也可以按也可以按一个一个16状态的序列发生器状态的序列发生器(SEQ)来运来运行。行。 ADC模块对一个序列的通道开始转换必须需模块对一个序列的通道开始转换必须需要有一个要有一个启动信号启动信号,或者说是一个,或者说是一个触发信号。触发信号。 序列发生器序列发生器SEQ1SEQ2SEQ启动方式启动方式软件立即启动(S/W)EV

5、A的多种事件外部引脚(GPIO/XINT2_ADCSOC)软件立即启动(S/W)EVB的多种事件软件立即启动(S/W)EVA的多种事件EVB的多种事件外部引脚(GPIO/XINT2_ADCSOC) ADC模块共有模块共有16个结果寄存器个结果寄存器ADCRESULT0ADCRESULT15,用来保存,用来保存转换的数值。每个结果寄存器都是转换的数值。每个结果寄存器都是16位位的,而的,而X281X的的ADC是是12位的,也就是说转换后的数位的,也就是说转换后的数字值最高只有字值最高只有12位,那这个位,那这个12位的值是如何放位的值是如何放在在16位的结果寄存器中的呢?位的结果寄存器中的呢?

6、VoltInputADCLOADResult*655203.0VoltInputADCLO(ADResult4)*40953.0 模拟量与数字量关系:模拟量与数字量关系:5.2 ADC的时钟频率和采样频率-1假设外部晶振的频率为假设外部晶振的频率为OSCCLK Hz,通常选用的是,通常选用的是30M的晶振。的晶振。外部晶振经过外部晶振经过PLL模块产生模块产生CPU时钟时钟SYSCLKOUT,如果,如果PLL模块模块的值为的值为m,则有:,则有: OSCCLK*mSYSCLKOUT(m!0)2SYSCLKOUTOSCCLK(m0)然后,然后,CPU时钟信号经过高速时钟预定标器时钟信号经过高速时

7、钟预定标器HISPCP之后,生成高速外设时钟之后,生成高速外设时钟HSPCLK,假设假设HISPCP寄存器的值为寄存器的值为n,则有:,则有:SYSCLKOUTHSPCLK(n!0)2*nHSPCLKSYSCLKOUT(n0)5.2 ADC的时钟频率和采样频率-2 AD控制寄存器控制寄存器ADCTRL3的第的第0到第到第3位,也就是功能位位,也就是功能位ADCLKPS,可以对可以对HSPCLK进行分频,进行分频,此外,此外,AD控制寄存器控制寄存器ADCTRL1的的CPS位位另外还可以提供一个另外还可以提供一个2分频分频,因此,可以得到因此,可以得到ADC模块的时钟模块的时钟ADCLK为:为:

8、HSPCLKADCLK(ADCLKPS0)CPS1HSPCLKADCLK(ADCLKPS!0)2*ADCLKPS*(CPS1)5.2 ADC的时钟频率和采样频率-3ADC时钟频率时钟频率 ADC的时钟频率就是每秒有多少个时钟脉冲的意思,它是ADC模块运行的基础 正如上面所介绍的,它是由系统时钟经过很多环节分频后得到的,它取决于外部的时钟输入和各个环节的倍频或者分频的系数。 ADC采样频率采样频率 采样频率是指ADC模块每秒能够完成多少次的采样,采样频率取决于启动ADC的频率。启动ADC的方式有很多,比如利用软件直接启动,利用事件管理器的某些事件,或者是利用外部引脚来启动。启动ADC的频率才是A

9、DC的采样频率,例如:如果每隔1ms启动一次ADC,那么ADC的采样频率就为1KHz。 ADC转换时间转换时间 转换时间是指ADC模块完成一个通道或者一个序列的转换所需要的时间,很显然,转换时间是由ADC的时钟频率来决定的。 ADC模块的结构框图(P143)5.3 ADC模块的工作方式模块的工作方式 ADC模块既支持2个8状态序列发生器SEQ1和SEQ2分开独立工作,此时称为双序列发生器方式,也支持序列发生器SEQ1和SEQ2级联成一个16状态序列发生器SEQ来工作,此时称为单序列发生器方式,或者称为级联方式。采样方式采样方式 并发采样:并发采样:S/H-A和和S/H-B并发采样,即采完并发采

10、样,即采完A0,就采,就采B0,采完,采完A1,就采,就采B1。总是成。总是成对出现的。对出现的。 序列采样模式:序列采样模式:是按顺序单个来的,即先采是按顺序单个来的,即先采A0-A7,再采,再采B0-B7。 序列发生器序列发生器SEQ1和和SEQ2、SEQ,序列的从,序列的从CONV00-CONV15。一种是双个的,。一种是双个的,SEQ1的的CONV00-07,SEQ2的的CONV08-15。1)双序列发生器模式下顺序采样)双序列发生器模式下顺序采样2)双序列发生器模式下并发采样)双序列发生器模式下并发采样3)级联模式下顺序采样)级联模式下顺序采样4)级联模式下并发采样)级联模式下并发采

11、样ADC输入通道选择序列控制寄存器输入通道选择序列控制寄存器 F281X的的16个通道可以通过个通道可以通过编程编程来为序列发生器中需来为序列发生器中需要转换的通道要转换的通道安排顺序安排顺序,这个功能就需要通过,这个功能就需要通过ADC输输入通道选择序列控制寄存器入通道选择序列控制寄存器ADCCHSELSEQx(x=1,2,3,4)来实现。每一个输入通断选择序列控制寄存器都来实现。每一个输入通断选择序列控制寄存器都是是16位的,被分成了位的,被分成了4个功能位个功能位CONVxx,每一个功能,每一个功能位占据寄存器的位占据寄存器的4个位个位 。ADC输入通道选择序列控制寄存器序列发生器序列发

12、生器对应的通道选择对应的通道选择控制寄存器控制寄存器CONVxx对应的引脚对应的引脚SEQ1ADCCHSELSEQ1ADCCHSELSEQ2CONV00CONV07ADCINA0ADCINA7SEQ2ADCCHSELSEQ3ADCCHSELSEQ4CONV08CONV15ADCINB0ADCINB7SEQADCCHSELSEQ1ADCCHSELSEQ2ADCCHSELSEQ3ADCCHSELSEQ4CONV00CONV15ADCINA0ADCINA7ADCINB0ADCINB7各个序列发生器所对应的寄存器和可选用的通道情况各个序列发生器所对应的寄存器和可选用的通道情况 1)双序列发生器模式下顺

13、序采样)双序列发生器模式下顺序采样 假设需要对ADCINA0ADCINA7,ADCINB0ADCINB7这16路通道进行采样,ADC模块工作于双序列发生器模式,并采用顺序采样。ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV081000(ADCINB0)CONV010001(ADCINA1)CONV091001(ADCINB1)CONV020010(ADCINA2)CONV101010(ADCINB2)CONV030011(ADCINA3)CONV111011(ADCINB3)ADCCHSELSEQ2CONV040100(ADCINA4)ADCCH

14、SELSEQ4CONV121100(ADCINB4)CONV050101(ADCINA5)CONV131101(ADCINB5)CONV060110(ADCINA6)CONV141110(ADCINB6)CONV070111(ADCINA7)CONV151111(ADCINB7) 双序列发生器顺序采样模式下双序列发生器顺序采样模式下16路通道时路通道时ADCCHSELSEQn位情况位情况 双序列发生器顺序采样模式下序列发生器双序列发生器顺序采样模式下序列发生器16路通道选路通道选择情况择情况 : AdcRegs.ADCTRL1.bit.SEQ_CASC=0; AdcRegs.ADCTRL1.b

15、it.SEQ_CASC=0; /选择双序列发生器模式选择双序列发生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0;AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /选择顺序采样模式选择顺序采样模式 AdcRegs.MAX_CONV.all=0 x0077;AdcRegs.MAX_CONV.all=0 x0077; /每个序列发生器最大采样通道数为每个序列发生器最大采样通道数为8 8,总共可采样,总共可采样1616通道通道 /SEQ1/SEQ1将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ2,

16、SEQ2SEQ2将用到将用到ADCCHSELSEQ3ADCCHSELSEQ3、ADCCHSELSEQ4ADCCHSELSEQ4 AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采样采样ADCINA0ADCINA0通道通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采样采样ADCINA1ADCINA1通道通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采样采样ADCINA2ADCINA2通道通道 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采样采样ADCINA3ADCINA3通道通道

17、AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采样采样ADCINA4ADCINA4通道通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采样采样ADCINA5ADCINA5通道通道 AdcRegs.CHSELSEQ2.bit.CONV06=0 x6; /采样采样ADCINA6ADCINA6通道通道 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采样采样ADCINA7ADCINA7通道通道 AdcRegs.CHSELSEQ3.bit.CONV08=0 x8; /采样采样ADCINB0ADCINB0通道通道 AdcRe

18、gs.CHSELSEQ3.bit.CONV09=0 x9; /采样采样ADCINB1ADCINB1通道通道 AdcRegs.CHSELSEQ3.bit.CONV10=0 xA; /采样采样ADCINB2ADCINB2通道通道 AdcRegs.CHSELSEQ3.bit.CONV11=0 xB; /采样采样ADCINB3ADCINB3通道通道 AdcRegs.CHSELSEQ4.bit.CONV12=0 xC; /采样采样ADCINB4ADCINB4通道通道 AdcRegs.CHSELSEQ4.bit.CONV13=0 xD; /采样采样ADCINB5ADCINB5通道通道 AdcRegs.CH

19、SELSEQ4.bit.CONV14=0 xE; /采样采样ADCINB6ADCINB6通道通道 AdcRegs.CHSELSEQ4.bit.CONV15=0 xF; /采样采样ADCINB7ADCINB7通道通道初始化代码:初始化代码:最大转换通道寄存器的结构最大转换通道寄存器的结构MAX_CONVADC控制寄存器控制寄存器1ADC控制寄存器控制寄存器3双序列发生器顺序采样模式下双序列发生器顺序采样模式下16路通道转换结果:路通道转换结果: 2)双序列发生器模式下并发采样)双序列发生器模式下并发采样 假设需要对ADCINA0ADCINA7,ADCINB0ADCINB7这16路通道进行采样,A

20、DC模块工作于双序列发生器模式,并采用并发采样。 ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV081000(ADCINB4)CONV010001(ADCINA1)CONV091001(ADCINB5)CONV020010(ADCINA2)CONV101010(ADCINB6)CONV030011(ADCINA3)CONV111011(ADCINB7)ADCCHSELSEQ2CONV04ADCCHSELSEQ4CONV12CONV05CONV13CONV06CONV14CONV07CONV15 双序列发生器并发采样模式下双序列发生器并发采样模式下

21、16路通道时路通道时ADCCHSELSEQn位情况位情况 :双序列发生器并发采样模式下序列发生器双序列发生器并发采样模式下序列发生器16路通道选择情况路通道选择情况 :AdcRegs.ADCTRL1.bit.SEQ_CASC=0;AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /选择双序列发生器模式选择双序列发生器模式AdcRegs.ADCTRL3.bit.SMODE_SEL=1;AdcRegs.ADCTRL3.bit.SMODE_SEL=1; /选择并发采样模式选择并发采样模式AdcRegs.MAX_CONV.all=0 x0033;AdcRegs.MAX_CONV.all=

22、0 x0033;/由于并发采样是一对通道、一对通道采样,采由于并发采样是一对通道、一对通道采样,采1616个通道,总共只需设置个通道,总共只需设置8 8个通道。个通道。SEQ1SEQ1和和SEQ2SEQ2各设置各设置4 4个通道,个通道,SEQ1SEQ1将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1,SEQ2SEQ2将用到将用到SDCCHSELSEQ3SDCCHSELSEQ3。AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采样采样ADCINA0ADCINA0和和ADCINBADCIN

23、BAdcRegs.CHSELSEQ1.bit.CONV01=0 x1; AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采样采样ADCINA1ADCINA1和和ADCINB1ADCINB1 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采样采样ADCINA2ADCINA2和和ADCINB2ADCINB2 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /; /采样采样ADCINA3ADCI

24、NA3和和ADCINB3ADCINB3 AdcRegs.CHSELSEQ3.bit.CONV08=0 xC; AdcRegs.CHSELSEQ3.bit.CONV08=0 xC; /采样采样ADCINA4ADCINA4和和ADCINB4ADCINB4 AdcRegs.CHSELSEQ3.bit.CONV09=0 xD; AdcRegs.CHSELSEQ3.bit.CONV09=0 xD; /采样采样ADCINA5ADCINA5和和ADCINB5ADCINB5 AdcRegs.CHSELSEQ3.bit.CONV10=0 xE; AdcRegs.CHSELSEQ3.bit.CONV10=0 xE

25、; /采样采样ADCINA6ADCINA6和和ADCINB6ADCINB6 AdcRegs.CHSELSEQ3.bit.CONV11=0 xF; AdcRegs.CHSELSEQ3.bit.CONV11=0 xF; /采样采样ADCINA7ADCINA7和和ADCINB7ADCINB7双序列发生器并发采样模式下双序列发生器并发采样模式下16路通道转换结果路通道转换结果 3)级联模式下顺序采样)级联模式下顺序采样 假设需要对ADCINA0ADCINA7,ADCINB0ADCINB7这16路通道进行采样,ADC模块工作于级联模式,并采用顺序采样。ADCCHSELSEQ1CONV000000(ADC

26、INA0)ADCCHSELSEQ3CONV081000(ADCINB0)CONV010001(ADCINA1)CONV091001(ADCINB1)CONV020010(ADCINA2)CONV101010(ADCINB2)CONV030011(ADCINA3)CONV111011(ADCINB3)ADCCHSELSEQ2CONV040100(ADCINA4)ADCCHSELSEQ4CONV121100(ADCINB4)CONV050101(ADCINA5)CONV131101(ADCINB5)CONV060110(ADCINA6)CONV141110(ADCINB6)CONV070111(A

27、DCINA7)CONV151111(ADCINB7) 级联顺序采样模式下级联顺序采样模式下16路通道时路通道时ADCCHSELSEQn位情况位情况 级联顺序采样模式下序列发生器级联顺序采样模式下序列发生器16路通道选择情况路通道选择情况 双序列顺序采样模式下序列发生器双序列顺序采样模式下序列发生器16路通道选择情况路通道选择情况 AdcRegs.ADCTRL1.bit.SEQ_CASC=1; AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /选择级联模式选择级联模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0;AdcRegs.ADCTRL3.bit.SMOD

28、E_SEL=0; /选择顺序采样模式选择顺序采样模式 AdcRegs.MAX_CONV.all=0 x000F;AdcRegs.MAX_CONV.all=0 x000F;/序列发生器最大采样通道数为序列发生器最大采样通道数为1616,一次采,一次采1 1个通道,总共可采个通道,总共可采1616通道通道 /SEQ/SEQ将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ2、ADCCHSELSEQ3ADCCHSELSEQ3、ADCCHSELSEQ4ADCCHSELSEQ4 AdcRegs.CHSELSEQ1.bit.CONV00=0 x0;

29、 /采样ADCINA0通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采样ADCINA1通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采样ADCINA2通道 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采样ADCINA3通道 AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采样ADCINA4通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采样ADCINA5通道 AdcRegs.CHSELSEQ2.bit.CONV06=0 x6; /采样ADCINA6通

30、道 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采样ADCINA7通道 AdcRegs.CHSELSEQ3.bit.CONV08=0 x8; /采样ADCINB0通道 AdcRegs.CHSELSEQ3.bit.CONV09=0 x9; /采样ADCINB1通道 AdcRegs.CHSELSEQ3.bit.CONV10=0 xA; /采样ADCINB2通道 AdcRegs.CHSELSEQ3.bit.CONV11=0 xB; /采样ADCINB3通道 AdcRegs.CHSELSEQ4.bit.CONV12=0 xC; /采样ADCINB4通道 AdcRegs.CH

31、SELSEQ4.bit.CONV13=0 xD; /采样ADCINB5通道 AdcRegs.CHSELSEQ4.bit.CONV14=0 xE; /采样ADCINB6通道 AdcRegs.CHSELSEQ4.bit.CONV15=0 xF; /采样ADCINB7通道 AdcRegs.ADCTRL1.bit.SEQ_CASC=0; AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /选择双序列发生器模式选择双序列发生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0;AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /选择顺序采样模式选择顺序采样

32、模式 AdcRegs.MAX_CONV.all=0 x0077;AdcRegs.MAX_CONV.all=0 x0077; /每个序列发生器最大采样通道数为每个序列发生器最大采样通道数为8 8,总共可采样,总共可采样1616通道通道 /SEQ1/SEQ1将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ2,SEQ2SEQ2将用到将用到ADCCHSELSEQ3ADCCHSELSEQ3、ADCCHSELSEQ4ADCCHSELSEQ4 级联顺序采样模式下级联顺序采样模式下16路通道转换结果路通道转换结果 :双序列顺序采样模式下双序列顺序采样

33、模式下16路通道转换结果:路通道转换结果: 假设需要对假设需要对ADCINA0、ADCINA1、ADCINA2、ADCINB3、ADCINB4、ADCINB5、ADCINB7这这7路通道进行采样,路通道进行采样,ADC模块工作于模块工作于级联模式,并采用顺序采样级联模式,并采用顺序采样。 例子:例子:ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3 CONV08CONV010001(ADCINA1)CONV09CONV020010(ADCINA2)CONV10CONV031011(ADCINB3)CONV11ADCCHSELSEQ2CONV041100(A

34、DCINB4)ADCCHSELSEQ4CONV12CONV051101(ADCINB5)CONV13CONV061111(ADCINB7)CONV14CONV07CONV15 级联顺序采样模式下级联顺序采样模式下7路通道时路通道时ADCCHSELSEQn位情况位情况: 级联顺序采样模式下序列发生器级联顺序采样模式下序列发生器7路通道选择情况路通道选择情况: AdcRegs.ADCTRL1.bit.SEQ_CASC=1;AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /选择级联模式选择级联模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0;AdcRegs.ADC

35、TRL3.bit.SMODE_SEL=0; /选择顺序采样模式选择顺序采样模式 AdcRegs.MAX_CONV.all=0 x0006;AdcRegs.MAX_CONV.all=0 x0006;/序列发生器最大采样通道数为序列发生器最大采样通道数为7 7,一次采,一次采1 1个通道,总共可采个通道,总共可采7 7通道通道/SEQ/SEQ将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ2AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采样采

36、样ADCINA0ADCINA0通道通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采样采样ADCINA1ADCINA1通道通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采样采样ADCINA2ADCINA2通道通道 AdcRegs.CHSELSEQ1.bit.CONV03=0 xB; /AdcRegs.CHSELSEQ1.bit.CONV03=0 xB; /采样采样ADCINB3ADCINB3

37、通道通道 AdcRegs.CHSELSEQ2.bit.CONV04=0 xC; /AdcRegs.CHSELSEQ2.bit.CONV04=0 xC; /采样采样ADCINB4ADCINB4通道通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 xD; /AdcRegs.CHSELSEQ2.bit.CONV05=0 xD; /采样采样ADCINB5ADCINB5通道通道 AdcRegs.CHSELSEQ2.bit.CONV06=0 xF; /AdcRegs.CHSELSEQ2.bit.CONV06=0 xF; /采样采样ADCINB7ADCINB7通道通道级联顺序采样模式下级联

38、顺序采样模式下7路通道转换结果路通道转换结果: 4)级联模式下的并发采样)级联模式下的并发采样 假设需要对ADCINA0ADCINA7,ADCINB0ADCINB7这16路通道进行采样,ADC模块工作于级联模式,并采用并发采样。ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV08CONV010001(ADCINA1)CONV09CONV020010(ADCINA2)CONV10CONV030011(ADCINA3)CONV11ADCCHSELSEQ2CONV040100(ADCINA4)ADCCHSELSEQ4CONV12CONV050101(AD

39、CINA5)CONV13CONV060110(ADCINA6)CONV14CONV070111(ADCINA7)CONV15 级联并发采样模式下级联并发采样模式下16路通道时路通道时ADCCHSELSEQn位情况位情况 级联并发采样模式下序列发生器级联并发采样模式下序列发生器16路通道选择情况路通道选择情况 AdcRegs.ADCTRL1.bit.SEQ_CASC=1;AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /选择级联模式选择级联模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=1;AdcRegs.ADCTRL3.bit.SMODE_SEL=1; /选择

40、并发采样模式选择并发采样模式 AdcRegs.MAX_CONV.all=0 x0007;AdcRegs.MAX_CONV.all=0 x0007;/序列发生器最大采样通道数为序列发生器最大采样通道数为8 8,一次采,一次采2 2个通道,总共可采个通道,总共可采1616通道通道 /SEQ/SEQ将用到将用到ADCCHSELSEQ1ADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ2AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采样采样ADCINA0ADCINA0和和ADCINB

41、0ADCINB0 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采样采样ADCINA1ADCINA1和和ADCINB1ADCINB1 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采样采样ADCINA2ADCINA2和和ADCINB2ADCINB2 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采样采样A

42、DCINA3ADCINA3和和ADCINB3ADCINB3 AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采样采样ADCINA4ADCINA4和和ADCINB4ADCINB4 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采样采样ADCINA5ADCINA5和和ADCINB5ADCINB5 AdcRegs.CHSELSEQ2.bit.CONV06=0 x6; /AdcRegs.CHSELSEQ2.bi

43、t.CONV06=0 x6; /采样采样ADCINA6ADCINA6和和ADCINB6ADCINB6 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采样采样ADCINA7ADCINA7和和ADCINB7ADCINB7级联并发采样模式下级联并发采样模式下16路通道转换结果路通道转换结果 5.4 ADC模块的中断模块的中断 当序列发生器完成一个序列的转换时,就会对该序列发生器的中断标志位进行置位,如果该序列发生器的中断已经使能,则ADC模块便向PIE控制器提出中断请求。 当ADC模块工作于双序列发生器

44、模式时,序列发生器SEQ1和SEQ2可以分开单独设置中断标志位和使能位,当ADC模块工作于级联模式时,设置序列发生器SEQ1的中断标志位和使能位便可以产生ADC转换的中断。 一种叫“interrupt request occurs at the end of every sequence”,意思是中断请求出现在每一个序列转换结束时,换句话说,每转换完一个序列,便产生一次中断请求; 另一种叫“interrupt request occurs at the end of every other sequence”,意思是中断请求出现在每隔一个序列转换结束时,换句话说,不是每次转换完都会产生一个中断

45、请求,而是一个隔一个的产生,比如第一次转换完成时并不产生中断请求,第二次转换完成时才产生中断请求,接着,第三次转换完成也不产生中断请求,第四次转换完成时产生中断请求,一直这样下去。 ADC模块的序列发生器支持两种中断方式模块的序列发生器支持两种中断方式1) 中断请求出现在每一个序列转换结束时2)中断请求出现在每隔一个序列转换结束时1)双序列发生器模式下顺序采样)双序列发生器模式下顺序采样2)双序列发生器模式下并发采样)双序列发生器模式下并发采样3)级联模式下顺序采样)级联模式下顺序采样4)级联模式下并发采样)级联模式下并发采样 AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /

46、选择双序列发生器模式选择双序列发生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /选择顺序采样模式选择顺序采样模式 AdcRegs.MAX_CONV.all=0 x0077; /每个序列发生器最大采样通道数为每个序列发生器最大采样通道数为8,总共可采样,总共可采样16通道通道 /SEQ1将用到将用到ADCCHSELSEQ1、ADCCHSELSEQ2,SEQ2将将用到用到ADCCHSELSEQ3、ADCCHSELSEQ4 一种叫一种叫“interrupt request occurs at the end of every sequence”,意思是中断请求出现在每意

47、思是中断请求出现在每一个序列转换结束时,换句话说,每转换完一个一个序列转换结束时,换句话说,每转换完一个序列,便产生一次中断请求;序列,便产生一次中断请求; 一种叫一种叫“interrupt request occurs at the end of every other sequence”,意思是中断请求出意思是中断请求出现在每隔一个序列转换结束时,换句话说,不是现在每隔一个序列转换结束时,换句话说,不是每次转换完都会产生一个中断请求,而是一个隔每次转换完都会产生一个中断请求,而是一个隔一个的产生。一个的产生。ADC模块的序列发生器支持两种中断方式模块的序列发生器支持两种中断方式 ADC控制

48、寄存器1,2,3(ADCTRL1, ADCTRL2 ,ADCTRL3) 最大通道转换寄存器(ADCMAXCONV) 自动排序状态寄存器(ADCASEQSR) ADC状态和标志寄存器(ADCASEQSR) ADC通道排序寄存器(ADCCHSELSEQ14) ADC转换结果缓冲寄存器(ADCRESULT0 ADCRESULT15 ) 5.5 ADC寄存器介绍寄存器介绍 5.6 双通道双通道AD采集实验采集实验 TMS320F2812A芯片自带模数转换模块特性 - 12位模数转换模块ADC,快速转换时间运行在25mhz,ADC时钟或12.5MSPS。 -16个模拟输入通道(AIN0AIN15)。 -

49、内置双采样-保持器 -采样幅度:0-3v,切记输入ad的信号不要超过这个范围,否则会烧坏2812芯片的。 ADC模块有16个通道,可配置为两个独立的8通道模块以方便为事件管理器A和B服务。两个独立的8通道模块可以级连组成16通道模块。虽然有多个输入通道和两个序列器,但在ADC内部只有一个转换器,同一时刻只有1路ad进行转换数据。 正弦波1K-10KHz正弦波1K-10KHz幅值调整波形频率选择波形输出A幅值调整波形输出B波形频率选择1) 1) 用用1 1根信号线连接实验箱左侧信号源的波形输出根信号线连接实验箱左侧信号源的波形输出A A端口和端口和“A/DA/D输入输入”模块的模块的“ADCIN

50、0”ADCIN0”插座注意插头要插牢、到底。这样,信号源波形输出插座注意插头要插牢、到底。这样,信号源波形输出A A的输出波形即可送到的输出波形即可送到ICETEKF2812-AICETEKF2812-A板的板的ADAD输入通道输入通道0 0。2) 2) 用用1 1根信号线连接实验箱左侧信号源的波形输出根信号线连接实验箱左侧信号源的波形输出B B端口和端口和“A/DA/D输入输入”模块的模块的“ADCIN1”ADCIN1”插座注意插头要插牢、到底。这样,信号源波形输出插座注意插头要插牢、到底。这样,信号源波形输出B B的输出波形即可送到的输出波形即可送到ICETEKF2812-AICETEKF

51、2812-A板的板的ADAD输入通道输入通道1 1。3) 设置波形输出设置波形输出A: - 向内侧按波形频率选择旋钮,向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮。直到标有正弦波的指示灯点亮。 - 上下调节波形频率选择旋钮,上下调节波形频率选择旋钮,直到标有直到标有1KHz-10KHz的指示灯的指示灯点亮。点亮。 - 调节幅值调整旋钮,将波形调节幅值调整旋钮,将波形输出输出A的幅值调到最大。的幅值调到最大。main() InitSysCtrl();/初始化初始化cpu DINT;/关中断关中断 InitPieCtrl();/初始化初始化pie寄存器寄存器 IER = 0 x0000;/

52、禁止所有的中断禁止所有的中断 IFR = 0 x0000; InitPieVectTable();/初始化初始化pie中断向量表中断向量表 / Interrupts that are used in this example are re-mapped to/ ISR functions found within this file. EALLOW; / This is needed to write to EALLOW protected register PieVectTable.ADCINT = &adc_isr; EDIS; / This is needed to disable write to EALLOW protected registersAdcRegs.ADCTRL1.bit.RESET = 1; /Reset the ADC moduleasm( RPT #10 | NOP);/ Must wait 12-cycles (worst-case) for ADC reset to take effectAdcRegs.ADCTRL3.all = 0 x00C8;/ first power-up ref and bandgap cir

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论