TMS320F28027中两种A/D采样方式的实现
摘要:以TMS320F28027为代表的TI C28x Piccolo系列微处理器采用了以SOC为基础的ADC,其配置方式不同于TI其他系列MCU基于Sequencer的ADC。在TMS320F28027的基础上,详细介绍了其ADC的工作原理,以及顺序采样和同步采样两种采砰方式的配置方法。
关键词:TI C28x Piccolo系列微处理器:基于SOC的ADC;顺序采样;同步采样
引言
TI C28x Piccolo系列微处理器,因其低功耗、高性能的特点,被广泛应用在太阳能逆变器、白色家电设备、混合动力汽车电池、电力线通信和LED照明等控制领域。A/D转换实现了模拟量到数字量的转换,是控制应用中必不可少的环节之一。A/D转换的精度和速度直接关系到控制系统的准确性和快速性。
相比于TI其他类型微处理器,TI C28x Piccolo系列内部集成了新一代的基于SOC的ADC。此ADC的内核包含一个12位转换器,此转换器由两个采样保持电路供源。这两个采样保持电路可同时或者顺序采样。对于用户来讲,可以很容易地从一个单触发来创建一系列的转换。但此ADC在寄存器没置和配置方式上与基于Sequencer的ADC有很大的不同,主要体现在控制寄存器ADCCTRL的数量和功能位设置、中断和丁作方式的配置方式等方面,更新后的寄存器设置可以参见TI的相关文献。
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的初始化程序如下:
以上设置在TI C2000系列v129版本的头文件DSP2802x_Adc.c中被编译成了函数InitAdc(),可在程序中直接调用。
ADC的每次转换完成后都可触发中断,若需要使用ADC中断,则可进行如下步骤的设置:设置中断触发时刻,可选择开始转换时触发或转换结果产生时触发;选择中断编号;设置中断产生与中断标志的关系,可选择在中断产生与中断标志状态无关或在存在中断标志时不产生中断;选择触发中断的EOC信号。
若需要在SOC2的转换结果产生后触发ADCINT1中断,且在存在中断标志时不再产生中断,配置程序如下:
在完成对ADC的初始化设置后,即可根据应用需要配置采样方式和单次转换。
2 顺序采样方式的实现
2.1 顺序采样方式
顺序采样是最常用的采样方式,即单次转换按照触发-采样-转换的顺序进行。顺序采样只要按需求配置SOC即可。
ADC中共有16个SOCCx,x表示编号为0~15。每个SOC可没置由不同或相同的触发源触发,对任意采样通道进行可调时间的采样和转换。用户在设置好3个配置项后,ADC按照SOC0~SOC15的默认优先级进行转换。SOC的优先级也可通过优先级控制寄存器SOCPRICTL进行设置。
顺序采样方式的时序可以参见TI的相关文献。
在实际应用中,通常可设置多个SOC对同一通道进行采样,并对采样结果取平均值,即可有效地消除模拟信号中高频噪声的影响,提高A/D转换的精度。
若要在收到定时器Timer0的触发信号后按照通道ADCINA4、ADCINA2、ADCINA6的顺序进行转换,SOC的配置程序如下:
ADCINA4通道的采样结果存储在ADCRESULT0中,ADCINA2通道采样结果存储在ADCRESULT1中,ADCINA6的采样结果存储在ADCRESULT2中。
此外,需要指出的是,此类ADC的采样通道在空闲时也可以作为普通I/O端口使用,这也是与其他系列不同的地方。
2.2 采样和转换时间的计算
通过
TI C28x Piccolo系列微处理器 基于SOC的ADC 顺序采样 同步采样 相关文章:
- Linux标准趋向统一(11-12)
- 巴西的新电视机顶盒采用意法半导体(ST)的最先进的解码器技术(03-24)
- 基于TMS320C62X DSP的混合编程研究(07-12)
- 视频跟踪算法在Davinci SOC上的实现与优化(10-06)
- 展望未来 多核DSP技术不仅仅是小把戏(04-03)
- 嵌入式软件工程师必须知道的:volatile的作用(05-01)