logo资料库

TMS320F28027中两种A/D采样方式的实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
TMS320F28027中两种中两种A/D采样方式的实现 采样方式的实现 以TMS320F28027为代表的TI C28x Piccolo系列微处理器采用了以SOC为基础的ADC,其配置方式不同于TI其 他系列MCU基于Sequencer的ADC。在TMS320F28027的基础上,详细介绍了其ADC的工作原理,以及顺序采 样和同步采样两种采样方式的配置方法。 引言 TI C28x Piccolo系列微处理器,因其低功耗、高性能的特点,被广泛应用在太阳能逆变器、白色家电设备、混合动力汽车电 池、电力线通信和 LED照明等控制领域。A/D转换实现了模拟量到数字量的转换,是控制应用中必不可少的环节之一。A/D转 换的精度和速度直接关系到控制系统的准确性和快速性。 相比于TI其他类型微处理器,TI C28x Piccolo系列内部集成了新一代的基于SOC的ADC。此ADC的内核包含一个12位转换 器,此转换器由两个采样保持电路供源。这两个采样保持电路可同时或者顺序采样。对于用户来讲,可以很容易地从一个单触 发来创建一系列的转换。但此ADC在寄存器设置和配置方式上与基于Sequencer的ADC有很大的不同,主要体现在控制寄存 器ADCCTRL的数量和功能位设置、中断和工作方式的配置方式等方面,更新后的寄存器设置可以参见TI的相关文献[5]。 1 ADC的工作原理和初始化 1.1 工作原理 对基于SOC的ADC,其核心在于对16个SOC(Start Of Conversion)的配置,单个SOC对应单个A/D转换过程,SOC的配置数 量取决于应用中需要A/D转换的数目。每个SOC中都有三种配置项:启动转换的触发源、采样通道以及采样窗口时间。 其中,触发源可选择软件、PWM、GPIO,以及CPU定时器等多种触发方式,采样通道可根据采样方式的不同选择 ADCINA1~8、ADCINB1~8共16个或8对采样通道,采样窗口时间也可根据需要设置。 对于单个转换,ADC的工作过程为:在收到相应的触发信号后,即开始按设置的采样窗口时间对指定通道进行采样,随后, 采样值与参考电压进行比较,得到转换值。同时,在转换开始时或转换完成时触发与SOC编号对应的EOC(End Of Conversion)脉冲,标志转换结束。转换的结果存储在与SOC编号对应的ADCRESULT寄存器中。 1.2 转换结果的计算 若在初始化中选择内部参考,ADC将会选择其内部的带隙电路产生参考电压。此时ADC的转换范围为0~3.3 V,转换结果的计 算公式如下: 若选择外部电压参考,则需要从VREFHI/VREFLO引脚引入参考电压,此时ADC的转换范围为0~VREFHI,转换上限为参考电 压值,转换结果的计算公式如下: 1.3 初始化和中断设置 使用ADC时,应进行4步初始化操作:设置ADC校准;内部各电路上电;选择内部或外部采样参考;打开ADC。一般情况下 ADC校准可使用厂家设定值,调用函数Device_cal()即可。 若选择默认校准值和内部参考电压,ADC的初始化程序如下: EALLOW; SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1; (*Device_cal)();//调用厂家设定的校准值 AdcRegs.ADCCTL1.bit.ADCBGPWD=1;//带隙电路上电 AdcRegs.ADCCTL1.bit.ADCREFPWD=1;//参考电路上电 AdcRegs.ADCCTL1.bit.ADCPWDN=1;//采样电路上电 AdcRegs.ADCCTL1.bit.ADCREFSEL=0;//选择内部参考 AdcRegs.ADCCTL1.bit.ADCENABLE=1; //打开ADC EDIS; 以上设置在TI C2000系列v129版本的头文件DSP2802x_Adc.c中被编译成了函数InitAdc(),可在程序中直接调用。 ADC的每次转换完成后都可触发中断,若需要使用ADC中断,则可进行如下步骤的设置:设置中断触发时刻,可选择开始转 换时触发或转换结果产生时触发;选择中断编号;设置中断产生与中断标志的关系,可选择在中断产生与中断标志状态无关或 在存在中断标志时不产生中断;选择触发中断的EOC信号。
若需要在SOC2的转换结果产生后触发ADCINT1中断,且在存在中断标志时不再产生中断,配置程序如下: EALLOW; AdcRegs.ADCCTL1.bit.INTPULSEPOS=1;//产生转换结果后触发中断 AdcRegs.INTSEL1N2.bit.INT1E=1;//选择ADCINT1中断 AdcRegs.INTSEL1N2.bit.INT1CONT=0;//设置中断产生与标志的关系 AdcRegs.INTSEL1N2.bit.INT1SEL=2;//中断由EOC2触发 EDIS; 在完成对ADC的初始化设置后,即可根据应用需要配置采样方式和单次转换。 2 顺序采样方式的实现 2.1 顺序采样方式 顺序采样是最常用的采样方式,即单次转换按照触发采样转换的顺序进行。顺序采样只要按需求配置SOC即可。 ADC中共有16个SOCx,x表示编号为0~15。每个SOC可设置由不同或相同的触发源触发,对任意采样通道进行可调时间的采 样和转换。用户在设置好3个配置项后,ADC按照SOC0~SOC15的默认优先级进行转换。SOC的优先级也可通过优先级控制 寄存器SOCPRICTL进行设置。 顺序采样方式的时序可以参见TI的相关文献[5]。 在实际应用中,通常可设置多个SOC对同一通道进行采样,并对采样结果取平均值,即可有效地消除模拟信号中高频噪声的 影响,提高A/D转换的精度。 若要在收到定时器Timer0的触发信号后按照通道ADCINA4、ADCINA2、ADCINA6的顺序进行转换,SOC的配置程序如下: EALLOW; AdcRegs.ADCSOC0CTL.bit.CHSEL=4;//SOC0选择ADCINA4通道 AdcRegs.ADCSOC1CTL.bit.CHSEL=2;//SOC1选择ADCINA2通道 AdcRegs.ADCSOC2CTL.bit.CHSEL=6;//SOC2选择ADCINA6通道 AdcRegs.ADCSOC0CTL.bit.TRIGSEL=1;//SOC0由Timer0触发 AdcRegs.ADCSOC1CTL.bit.TRIGSEL=1;//SOC1由Timer0触发 AdcRegs.ADCSOC2CTL.bit.TRIGSEL=1;//SOC2由Timer0触发 AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC0采样保持窗为6 AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC1采样保持窗为6 AdcRegs.ADCSOC2CTL.bit.ACQPS=6;//SOC2采样保持窗为6 EDIS; ADCINA4通道的采样结果存储在ADCRESULT0中,ADCINA2通道采样结果存储在ADCRESULT1中,ADCINA6的采样结果 存储在ADCRESULT2中。 此外,需要指出的是,此类ADC的采样通道在空闲时也可以作为普通I/O端口使用,这也是与其他系列不同的地方。 2.2 采样和转换时间的计算 通过ADCSOCxCTL寄存器的ACQPS位,可设置采样窗口大小,即采样时间。采样时间设置的基本单位为一个时钟周 期,ACQPS可设置为6~63的任意数值,采样时间可通过如下公式计算: 采样时间=(ACQPS+1)×时钟周期 转换时间=13×时钟周期 A/D转换过程的总时间=(ACQPS+14)×时钟周期 3 同步采样方式的实现 在某些应用中,为保证两个信号的采样间隔最小,常采用同步采样的方式。Piccolo系列MCU的ADC内部具有双采样保持电
路,这使对双通道的同步采样成为可能。 在同步采样模式中,偶数编号的SOCx与其下一位奇数编号的SOCx组成一个采样对,例如SOC0和SOC1、SOC2和SOC3。8 位寄存器ADCSAMPLEMODE的一位SIMULENx控制一个采样对的使能,其编号与采样对的偶数编号相对应,例如 SIMULEN0对应SOC0和SOC1采样对。 同步采样模式有以下规则: ① 采样对中任意一个SOCx的触发都有效; ② 只有编号相同的A/B通道才能实现一对同步采样; ③ A/B通道的信号会被同时采样,但A通道会优先转换; ④ A通道转换结束后可触发偶数编号的EOCx,B通道转换结束后可触发奇数编号的EOCx; ⑤ A通道转换的转换结果会被储存在偶数编号的ADCRESULTx中,B通道转换的转换结果会被存储在奇数编号的 ADCRESULTx中; ⑥ 在进行多对同步采样时,同样遵守SOCx的优先级设置。 对于PWM1.ADCSOCA触发的同步采样,具体的配置方式如下: AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0=1;//同步采样模式打开 AdcRegs.ADCSOC0CTL.bit.CHSEL=2;//通道选择ADCINA2/ADCINB2 AdcRegs.ADCSOC0CTL.bit.TRIGSEL=5;//触发源选择ePWM1.ADCSOCA AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//采样保持窗大小设置为6 其工作过程为:在PWM1送出ADCSOCA触发信号后,ADCINA2通道和ADCINB2通道会同时开始采样,采样完成后,A通道 会优先转换,结果存储在ADCRESULT0寄存器中。同时,按寄存器ADCCTL1中INTPULSEPOS位的配置,EOC0脉冲会在转 换开始或转换完成时触发。随后B通道开始转换,结果存储在ADCRESULT1寄存器中,并按相同规律触发EOC1脉冲。工作 时序图略——编者注。 结语 Piccolo系列微处理器内置ADC具有采样时间可调、转换快速、准确度高和配置简单的特点。本文详细介绍了其初始化、中 断、触发源和通道选择的配置过程,以及采样值、采样时间等参数的计算方法,并给出了实现顺序采样方式和同步采样方式的 例程。通过实验验证,例程均可实现其功能,为该系列处理器的实际应用奠定了良好基础。
分享到:
收藏