《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于TMS320F2812的ADC校正算法設(shè)計(jì)與實(shí)現(xiàn)
基于TMS320F2812的ADC校正算法設(shè)計(jì)與實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第17期
班允強(qiáng),,梁 英,劉朝強(qiáng)
(沈陽(yáng)理工大學(xué) 信息科學(xué)與工程學(xué)院,,遼寧 沈陽(yáng) 110159)
摘要: 針對(duì)TMS320F2812在信息采集中存在的精度不夠,,采樣值與真實(shí)值偏離過(guò)大的問(wèn)題,本文采用了一種ADC校正算法,,可以實(shí)現(xiàn)對(duì)ADC存在的增益誤差和偏移誤差進(jìn)行補(bǔ)償,,結(jié)合簡(jiǎn)易的硬件電路,成功實(shí)現(xiàn)了對(duì)ADC采樣精度的補(bǔ)償,。
Abstract:
Key words :

  摘  要: 針對(duì)TMS320F2812在信息采集中存在的精度不夠,,采樣值與真實(shí)值偏離過(guò)大的問(wèn)題,本文采用了一種ADC校正算法,,可以實(shí)現(xiàn)對(duì)ADC存在的增益誤差偏移誤差進(jìn)行補(bǔ)償,,結(jié)合簡(jiǎn)易的硬件電路,成功實(shí)現(xiàn)了對(duì)ADC采樣精度的補(bǔ)償,。

  關(guān)鍵詞: TMS320F2812;ADC校正算法,;增益誤差,;偏移誤差

0 引言

  DSP芯片在信號(hào)處理方面具有獨(dú)特的優(yōu)勢(shì),其采用了先進(jìn)的哈佛總線結(jié)構(gòu),,從而使數(shù)據(jù)的吞吐率提高一倍[1-3],。本文選擇TI公司的TMS320F2812為系統(tǒng)的核心,它是一款32位的DSP芯片,,TMS320F2812具有12位ADC模塊,,理論上采樣精度可以達(dá)到9位,約為    0.2%左右,,但在實(shí)際應(yīng)用過(guò)程中并不讓人滿意,,采樣值和真實(shí)值之間的相對(duì)誤差很大,,有時(shí)甚至超過(guò)15%,這會(huì)給實(shí)際應(yīng)用帶來(lái)很大的麻煩[4],。為了提高TMS320F2812的采樣精度,,本文采用ADC校正算法進(jìn)行補(bǔ)償,經(jīng)過(guò)實(shí)際驗(yàn)證,,取得了很好的效果,。

1 ADC的工作方式選擇

  TMS320F2812的ADC模塊共有16個(gè)采樣通道,可分為兩組:一組是ADCINA0~ADCINA7,,另一組ADCINB0~ADCINB7[5-6],。ADC模塊的時(shí)鐘頻率最高可配置為25 MHz,采樣頻率最高為12.5 MS/s,,也就是說(shuō)每秒最高能完成12.5個(gè)百萬(wàn)次采樣,,內(nèi)置2個(gè)采樣保持器S/H-A、S/H-B和2個(gè)序列發(fā)生器SEQ1,、SEQ2,;基于上述結(jié)構(gòu),選擇不同的采樣方式和不同的序列發(fā)生器模式,,就有不同的工作方式,,所以ADC共有4種工作方式,每種工作方式都有各自的特點(diǎn),,需要根據(jù)實(shí)際需要進(jìn)行選擇,。

  根據(jù)本文校正需要,DSP需要同時(shí)采集兩路精準(zhǔn)電源信號(hào),,為了保證兩路信號(hào)的實(shí)時(shí)性要求,,本文選擇級(jí)聯(lián)模式下的并發(fā)采樣的工作方式,一次采集2個(gè)通道,,可以保證兩路信號(hào)的實(shí)時(shí)性要求,,ADC初始化程序如下:

  void InitAdc(void)

  {

  unsigned int i;

  AdcRegs.ADCTRL1.bit.RESET=1,;

  NOP,;

  AdcRegs.ADCTRL1.bit.RESET=0;

  AdcRegs.ADCTRL1.bit.SUSMOD=3,;

  AdcRegs.ADCTRL1.bit.ACQ_PS=0,;

  AdcRegs.ADCTRL1.bit.CPS=0;

  AdcRegs.ADCTRL1.bit.CONT_RUN=0,;

  AdcRegs.ADCTRL1.bit.SEQ_CASC=1,;

  AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;

  for(i=0;i<10000,;i++)NOP,;

  AdcRegs.ADCTRL3.bit.ADCPWDN=1;

  for(i=0,;i<5000,;i++)NOP;

  AdcRegs.ADCTRL3.bit.ADCCLKPS=15,;

  AdcRegs.ADCTRL3.bit.SMODE_SEL=1,;

  AdcRegs.MAX_CONV.bit.MAX_CONV=5;

  AdcRegs.CHSELSEQ1.bit.CONV00=0x0,;

  AdcRegs.CHSELSEQ1.bit.CONV01=0x1,;

  AdcRegs.CHSELSEQ1.bit.CONV01=0x2;

  …

  }

2 ADC校正原理

  ADC模塊的誤差不僅包括器件本身特性引起的零點(diǎn),、增益,、非線性誤差,這些因素很難通過(guò)措施補(bǔ)償,,但ADC模塊的轉(zhuǎn)換特性是線性的,,可以通過(guò)適當(dāng)?shù)拇胧┻M(jìn)行補(bǔ)償。ADC的轉(zhuǎn)換特性曲線如圖1所示,。

001.jpg

  從圖中可以看出,,理想的ADC轉(zhuǎn)換特性曲線并不存在增益誤差和偏移誤差,所以可以求得模擬輸入量X和數(shù)字量輸出量Y的對(duì)應(yīng)函數(shù)關(guān)系,,一條過(guò)零點(diǎn)的正比例函數(shù),,該直線恒過(guò)(34 095)點(diǎn),4 095是結(jié)果緩沖寄存器的值右移4位后0x0FFF,,但實(shí)際中由于增益誤差和偏移誤差的存在,,模擬量和數(shù)字的對(duì)應(yīng)關(guān)系為:

  Y=KX+b(1)

  式(1)中的K和b是未知量,只要求得K和b的值,,那么通過(guò)ADC轉(zhuǎn)換結(jié)果緩沖寄存器得到的數(shù)據(jù)Y,,就可以計(jì)算出實(shí)際的輸入電壓值X。對(duì)于這個(gè)二元一次方程,,只要找到如式(2)所示的兩個(gè)方程組就可以求得K和b,。

  2.png

  為了能求得K和b的值,可以在硬件電路中增加兩路精準(zhǔn)電源作為參考電壓,,本文提供給ADCINA0和ADCINB0采樣通道,也就是X1和X2,,通過(guò)讀取ADCINA0和ADCINB0結(jié)果緩沖寄存器可以獲得Y1和Y2,,通過(guò)式(2)可獲得K和b的值,如式(3)所示:

 3.png

  所以實(shí)際的輸入值為式(4):

  4.png

3 ADC校正算法

  由ADC校正原理可以知道,只要在硬件電路上提供兩路精準(zhǔn)電壓就可以求得式(3)的K和b值,,由這兩個(gè)參數(shù)通過(guò)式(4)去校正其他通道的采樣值,。本文ADC共采集6路信號(hào),兩路校正信號(hào)(ADCINA0,、ADCINB0)和4路待被校正信號(hào)(ADCINA1,、ADCINB1、ADCINA2,、ADCINB2),,對(duì)每個(gè)通道同時(shí)采樣N次,對(duì)結(jié)果進(jìn)行排序,,去掉最大值和最小值,,取中間N/2平均值,每個(gè)平均值作為采樣結(jié)果等待處理,,對(duì)參考通道ADCINA0和ADCINB0的結(jié)果進(jìn)行計(jì)算,,求得增益K和偏移b,為了更好地測(cè)試其可行性,,本文取N等于8,,在實(shí)際應(yīng)用中可以將N取大些以便于提高精準(zhǔn)度。算法流程如圖2所示,。

002.jpg

4 結(jié)果驗(yàn)證

  為了驗(yàn)證ADC校正算法的有效性,,本文在硬件電路設(shè)計(jì)中加入了兩路精準(zhǔn)電源作為參考電壓ADCINA0= 0.502 V、ADCINB0=1.801 V,,軟件的調(diào)試選用CCS3.3,,調(diào)試完成后同時(shí)給ADCINA1、ADCINB1,、ADCINA2,、ADCINB2加上不同的電壓,然后打開(kāi)CCS3.3軟件下的watch windows觀察變量的值,,可以得到表1的數(shù)據(jù),。

003.jpg

  在觀察watch windows下的變量值時(shí),數(shù)據(jù)位會(huì)不停地變化和刷新,,記錄一次采樣的值可能不準(zhǔn)確,,所以可以多測(cè)幾次。從表中數(shù)據(jù)可以看出,,ADC校正算法良好,,校正后的結(jié)果與真實(shí)值很接近。

5 結(jié)論

  本文采用了ADC校正算法對(duì)TMS320F2812數(shù)據(jù)采集進(jìn)行校正,,在硬件電路中設(shè)計(jì)了兩路精準(zhǔn)的參考電壓,,為軟件校正提供硬件支持。通過(guò)實(shí)驗(yàn)證明,ADC校正算法提高了TMS320F2812數(shù)據(jù)采集的精準(zhǔn)度,,解決了在實(shí)際應(yīng)用中理論值和實(shí)際值的偏差問(wèn)題,。

  參考文獻(xiàn)

  [1] 張雄偉,陳量,,徐光輝.DSP芯片的原理與開(kāi)發(fā)應(yīng)用[M].北京:電子工業(yè)出版社,,1997.

  [2] 徐科軍,張涵,,陳智淵,,TMS320X281x DSP原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

  [3] 周霖.控制工程技術(shù)應(yīng)用[M].北京:國(guó)防工業(yè)出版社,,2005.

  [4] 顧衛(wèi)鋼.手把手教你學(xué)DSP基于TMS320X281x[M].北京:北京航空航天大學(xué)出版社,,2011.

  [5] Texas Instruments. TMS320F28x analog to digital converter(ADC) reference guide[Z]. 2003.

  [6] Texas Instruments. TMS320x281x, 280x serial communications interface(SCI)reference guide (Rev.B)[Z].2004.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。