教材:《32位数字信号控制器原理及应用》《DSP原理及应用》Lecture5ADC黄灿水2015.3一、ADC(模数转换)原理Lecture5ADCCPU控制对象传感器放大器滤波器A/DD/A放大器数据处理芯片执行部件模拟信号数字信号2015/4/21Tuesday3一、ADC(模数转换)原理1)、模拟信号2)、数字信号)(txt1)(ny1n379)(ny)(tx123•幅值上连续•时间上连续•幅值上量化•时间上离散Lecture5ADC一、ADC(模数转换)原理分辨率:指ADC所能分辨的最小模拟输入量,通常用ADC的位数表示。如:12位ADC的分辨率为12位,10位ADC的分辨率为10位。转换精度:指实际输入的模拟值与理论输入的模拟值(根据ADC输出推算)之间的偏差。常用数字量最低有效位LSB的几分之几表示。转换时间和转换速度:转换时间指完成一次ADC所需的时间。转换速度是转换时间的倒数。Lecture5ADCVINDOUT06201240186124813102372240950.5v1v1.5v2v2.5v3v3.3v量化一、ADC(模数转换)原理)(*)(4095VREFLOVINVREFLOVREFHIDOUT量化(12位)Lecture5ADC一、ADC(模数转换)原理以28027为例:(1)若VREFHI=3.3V、VREFLO=0V,则有:VIN:0V1V2V3V3.3VDOUT:01240248137224095(2)若VREFHI=2V、VREFLO=1V,则有:VIN:≤1V1.5≥2VDOUT:020474095)(*)(4095VREFLOVINVREFLOVREFHIDOUT量化(12位)Lecture5ADCLecture5ADC二、F2802xADC模块概述内置两个采样/保持(S/H)电路的12位ADC内核同步采样模式或顺序采样模式模拟输入量:0V~3.3V(固定的),或者VREFHI~VREFLO(比例模式)以全系统时钟运行,无需预分频多路复用输入16个通道16个SOC(Star-of-Conversion)配置16个结果寄存器(可单独寻址),用于存储转换值Lecture5ADC多个触发源-S/W—软件立即启动-ePWM1~ePWM7-GPIOXINT2-CPU定时器0/1/2-ADCINT1/29个灵活的PIE中断,在任意转换之后可以配置中断请求二、F2802xADC模块概述Lecture5ADC二、F2802xADC模块概述二、F2802xADC模块概述Lecture5ADCLecture5ADC三、SOC配置SOC:是一种配置设置,它定义的是单通道单转换。包含3个配置:启动转换的触发源、转换通道、采样保持窗口。每个SOC都是单独配置,即触发源、通道、采样保持窗口可任意组合,可实现从“使用不同触发器、不同通道的单独采样”到“使用单个触发器、相同通道的过采样”。触发源:ADCSOCxCTL、ADCINTSOCSELy、通道和采样保持窗口:ADCSOCxCTL寄存器Lecture5ADC采样保持窗口:ADCSOCxCTL寄存器6位域:ACQPS允许最少的采样周期是7(ACQPS=6)。三、SOC配置ADC时钟ACQPS采样窗口转换时间(13个周期)总时间60MHz6116.67ns216.67ns333.34ns60MHz8150.00ns216.67ns366.67ns60MHz10183.33ns216.67ns400.00ns60MHz14250.00ns216.67ns466.67ns60MHz25433.33ns216.67ns650.00ns40MHz6175325ns500.00ns40MHz25625325ns950.00nsLecture5ADC三、SOC配置Lecture5ADC四、ADC的优先级当几个SOC标志同时置位时,转换优先级判断方式:轮询优先级(默认)和高优先级。由轮转指针决定:ADCSOCPRIORITYCTL寄存器RRPOINTERLecture5ADC四、ADC的优先级-轮询优先级(默认)Lecture5ADC四、ADC的优先级-高优先级Lecture5ADC五、同步采样模式同步采样:ADC包含两个采样/保持电路,允许同时对两个不同的通道进行采样,保证两个信号之间的采样延迟最短。使用ADCSAMPLEMODE寄存器对一对SOCx进行配置。偶数编号的SOCx和它之后的奇数编号的SOCx(如SOC0和SOC1)配成一对,连接同一个使能位(此时SIMULEN0)。Lecture5ADC五、同步采样模式同步采样配置:任意一个SOCx触发源都可以启动一对转换。那对转换通道将由A通道和B通道组成。同时采样两个通道。转换A通道转换后产生偶数编号的EOCx脉冲,B通道转换后产生奇数编号的EOCx脉冲。A通道的转换结果存放在偶数编号的ADCRESULTx寄存器中,B通道的转换结果则存放在奇数编号的ADCRESULTx寄存器中Lecture5ADC例如:如果ADCSAMPLEMODE.SIMULEN0位置1且SOC0配置如下:CHSEL=2(ADCINA2/ADCINB2通道)TRIGSEL=5(ADCTRIG5=ePWM1.ADCSOCA)当ePWM1.ADCSOCA触发时,ADCINA2和ADCINB2将会同时被采样。ADCINA2立即转换,结果存ADCRESULT0中,产生EOC0脉冲;ADCINB2被转换,结果存ADCRESULT1中,产生EOC1脉冲。五、同步采样模式Lecture5ADC六、ADC中断16个SOCx产生16个EOCx(End-of-Conversion)标志。EOCx可设置为转换开始或结束时。ADC的9个中断配置选择EOC0~EOC15信号作为中断源。ADCINT1和ADCINT2信号可作为SOCx的触发源。这对连续转换来说非常有用。Lecture5ADC七、ADC上电顺序ADC在复位后是关闭状态。在必须在PCLKCR0.ADCENCLK先使能时钟。启动ADC的操作如下:1.如果使用外部参考源,在ADCCTL1.ADCREFSEL使能。2.在ADCCTL1寄存器(5-7位ADCPWDN,ADCBGPWD,ADCREFPWD)中启动参考源、带隙和模拟电路。3.通过设置ADCCTL1.ADCENABLE使能ADC。4.在首次转换之前延时1毫秒。Lecture5ADC八、ADC寄存器寄存器名称大小描述ADCCTL11控制1寄存器ADCINTFLG1中断标志寄存器ADCINTFLGCLR1中断标志清除寄存器ADCINTOVF1中断溢出寄存器ADCINTOVFCLR1中断溢出清除寄存器ADCINTSEL1AND21中断1和2选择寄存器ADCINTSEL3AND41中断3和4选择寄存器ADCINTSEL5AND61中断5和6选择寄存器ADCINTSEL7AND81中断7和8选择寄存器ADCINTSEL9AND101中断9选择寄存器(保留中断10选择寄存器)ADCINTSOCSEL11中断SOC选择1寄存器(适用于8通道)ADCINTSOCSEL21中断SOC选择2寄存器(适用于8通道)Lecture5ADC八、ADC寄存器寄存器名称大小描述SOCPRICTL1SOC优先级控制寄存器[1]ADCSAMPLEMODE1采样模式寄存器[1]ADCSOCFLG11SOC标志1寄存器(适用于16通道)ADCSOCFRC11SOC强制1寄存器(适用于16通道)ADCSOCOVF11SOC溢出1寄存器(适用于16通道)ADCSOCOVFCLR11SOC溢出清除1寄存器(适用于16通道)ADCSOC0CTL–ADCSOC15CTL1SOC0控制寄存器~SOC15控制寄存器ADCREFTRIM1基准调节寄存器ADCOFFTRIM1偏置量调节寄存器ADCREV–reserved1修订寄存器ADCRESULT0–ADCRESULT151ADC结果0寄存器~ADC结果15寄存器(续)Lecture5ADC八、ADC寄存器-ADCCTLBIT15:ADC模块的软件复位位。读取总为0。写1复位ADC,但是有2个时钟周期的延迟。BIT14:ADC使能位。写0禁用,写1使能。BIT13:ADC忙状态位。读为0表示忙,读为1表示不忙。Lecture5ADC八、ADC寄存器-ADCCTLBIT12-8:ADCBSY=0,ADCBSYCHN保持上一次通道号。ADCBSY=1,ADCBSYCHN当前处理通道号。00-07:ADCINA0-ADCINA708-0F:ADCINB0-ADCINB71x:无效Lecture5ADC八、ADC寄存器-ADCCTLBIT7:写0-除帶隙和基准电路外所有模拟电路都掉电写1-内核内的模拟电路上电BIT6:写0-帶隙电路掉电写1-帶隙电路上电Lecture5ADC八、ADC寄存器-ADCCTLBIT5:写0-参考缓冲器电路掉电写1-参考缓冲器电路上电BIT3:参考电压选择位,写0-使用内部帶隙产生参考电压写1-使用外部VREFHI/VREFLO参考电压Lecture5ADC八、ADC寄存器-ADCCTLBIT2:写0-开始转换时产生INT脉冲(EOS)写1-锁存转换结果前1个周期时产生INT脉冲BIT1:写0-VREFLO不与ADC连接(ADCINB5可用)写1-VREFLO在内部与ADC连接,用于采样Lecture5ADC八、ADC寄存器-ADCCTLBIT0:写0-温度传感器有效写1-温度传感器无效Lecture5ADC八、ADC寄存器-ADCINTFLGBIT8-0:ADCINTx(x=9-1)中断标志位Lecture5ADC八、ADC寄存器-ADCINTFLGCLRBIT8-0:ADCINTx(x=9-1)中断标志清除位;读为0;写0无效;写1清0。Lecture5ADC八、ADC寄存器-ADCINTFLGOVFBIT8-0:ADCINTx(x=9-1)中断溢出状态位;0-无溢出;1-有溢出。注:如果相关的ADCINTFLG位被设置且额外又产生了EOC触发事件,那么就表示出现了溢出条件。Lecture5ADC八、ADC寄存器-ADCINTOVFCLRBIT8-0:ADCINTx(x=9-1)中断溢出清除位;写0-无动作;写1-清除ADCINTOVF相应位。Lecture5ADC八、ADC寄存器-INTSEL1N2INTxCONT:ADCINTx连续模式使能位0-需手动清除ADCINTx标志(在ADCINTFLG中)1-每当产生EOC脉冲时便产生ADCINTx脉冲INTxE:ADCINTx中断使能位0–禁止中断;1-使能中断。Lecture5ADC八、ADC寄存器-INTSEL1N2INTxSEL:ADCINTx的EOC触发源选择位00-0F–EOC0-EOC15Lecture5ADC八、ADC寄存器以下寄存器参考:INTSEL1N2INTSEL3N4INTSEL5N6INTSEL7N8INTSEL9N10Lecture5ADC八、ADC寄存器-SOCPRICTLBIT10-5:轮询指针,保存轮询环中上个被转换的SOCx的值,该指针被轮询机制用来确定转换顺序。00-0F→SOC0-SOC15BIT4-0:SOC的优先级,决定优先级模式的切断点。SOC0-SOC(SOCPRIORITY-1)为高优先级Lecture5ADC八、ADC寄存器-ADCSAMPLEMODESIMULENx:同步采样使能位。写0-SOCx和SOC(x+1)设置成单采样模式写1-SOCx和SOC(x+1)设置成同步采样模式注:相应通道在转换时,该位不能置1。Lecture5ADC八、ADC寄存器-ADCINTSOCSEL1SOCx:中断触发器选择位。选择由哪个ADCINT触发SOCx。这个字段优先于ADCSOCxCTL寄存器中的TRIGSEL字段。00–没有ADCINT