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

  摘  要: 針對TMS320F2812在信息采集中存在的精度不夠,采樣值與真實值偏離過大的問題,本文采用了一種ADC校正算法,可以實現對ADC存在的增益誤差偏移誤差進行補償,結合簡易的硬件電路,成功實現了對ADC采樣精度的補償。

  關鍵詞: TMS320F2812;ADC校正算法;增益誤差;偏移誤差

0 引言

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

1 ADC的工作方式選擇

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

  根據本文校正需要,DSP需要同時采集兩路精準電源信號,為了保證兩路信號的實時性要求,本文選擇級聯模式下的并發采樣的工作方式,一次采集2個通道,可以保證兩路信號的實時性要求,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模塊的誤差不僅包括器件本身特性引起的零點、增益、非線性誤差,這些因素很難通過措施補償,但ADC模塊的轉換特性是線性的,可以通過適當的措施進行補償。ADC的轉換特性曲線如圖1所示。

001.jpg

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

  Y=KX+b(1)

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

  2.png

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

 3.png

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

  4.png

3 ADC校正算法

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

002.jpg

4 結果驗證

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

003.jpg

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

5 結論

  本文采用了ADC校正算法對TMS320F2812數據采集進行校正,在硬件電路中設計了兩路精準的參考電壓,為軟件校正提供硬件支持。通過實驗證明,ADC校正算法提高了TMS320F2812數據采集的精準度,解決了在實際應用中理論值和實際值的偏差問題。

  參考文獻

  [1] 張雄偉,陳量,徐光輝.DSP芯片的原理與開發應用[M].北京:電子工業出版社,1997.

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

  [3] 周霖.控制工程技術應用[M].北京:國防工業出版社,2005.

  [4] 顧衛鋼.手把手教你學DSP基于TMS320X281x[M].北京:北京航空航天大學出版社,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.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久久精品人妻无码专区不卡| 别揉我胸啊嗯~| 99re在线视频精品| 日本久久中文字幕精品| 亚洲日本一区二区三区在线 | 在线中文字幕一区| 中文字幕欧美日韩一| 欧美xxxxx在线观看| 免费**毛片在线播放视| 色聚网久久综合| 国产私拍福利精品视频推出| aⅴ免费在线观看| 成人精品一区二区户外勾搭野战| 亚洲AV无码成人精品区在线观看| 波多野结衣一级片| 加勒比黑人在线| 青青草国产三级精品三级| 国产精品无码不卡一区二区三区| www五月婷婷| 把美女日出白浆| 久久精品国产亚洲夜色AV网站 | 国产精品免费_区二区三区观看 | 暴力调教一区二区三区| 亚洲爆乳精品无码一区二区三区| 精品国产日韩一区三区| 国产偷窥熟女精品视频大全| 老司机亚洲精品影视www| 在线综合亚洲欧美网站天堂| 一男一女的一级毛片| 日本xxxx高清在线观看免费 | 国产精品亲子乱子伦xxxx裸| eeuss影院在线观看| 成人自慰女黄网站免费大全| 久久国产精品鲁丝片| 校花小雪和门卫老头阅读合集 | 18分钟处破好疼哭视频在线| 女人18毛片水最多| 中文字幕aⅴ人妻一区二区| 日本护士激情波多野结衣| 五月天婷婷丁香| 欧美在线一级精品|