?? tms320f2812 dsp編程之a(chǎn)d采樣精度的校準(zhǔn)算法.txt
字號:
TMS320F2812 DSP編程之AD采樣精度的校準(zhǔn)算法 沒有公告
加入收藏
設(shè)為首頁
聯(lián)系站長
. 網(wǎng)站首頁 . 新聞 . 新品 . 方案 . 專訪 . 活動 . DSP . EDA . 評測 . 技術(shù)文庫 . 會員區(qū) . 商城 . 服務(wù)導(dǎo)航
. 郵購 . 資源 .
| DSP首頁 | DaVinci文章 | C6000文章 | C5000文章 | C3000文章 | C2000文章 | ADI DSP |
MOTO DSP | FAQ | 代碼示例 | 電路應(yīng)用 |
您現(xiàn)在的位置: 61IC中國電子在線 >> DSP >> C2000文章 >> C28X系列 >> 文章正文
TMS320F2812 DSP編程之AD采樣精度的校準(zhǔn)算法 ★★★【字體:小 大】
TMS320F2812 DSP編程之AD采樣精度的校準(zhǔn)算法
作者:Free 文章來源:本站原創(chuàng) 點(diǎn)擊數(shù):329 更新時間:2008-2-21
F2812內(nèi)部集成了ADC轉(zhuǎn)換模塊。該模塊是一個12位、具有流水線結(jié)構(gòu)的模數(shù)轉(zhuǎn)換器,內(nèi)置雙采樣保持器(S/H),可多路選擇16通道輸入,快速轉(zhuǎn)換時間運(yùn)行在25
MHz、ADC時鐘或12.5
Msps,16個轉(zhuǎn)換結(jié)果寄存器可工作于連續(xù)自動排序模式或啟動/停止模式。在實際使用中,ADC的轉(zhuǎn)換結(jié)果誤差較大,如果直接將此轉(zhuǎn)換結(jié)果用于控制回路,必然會降低控制精度。(最大轉(zhuǎn)換誤差可以達(dá)到9%左右)
F2812的ADC轉(zhuǎn)換精度較差的主要原因是存在增益誤差和失調(diào)誤差,要提高轉(zhuǎn)換精度就必須對兩種誤差進(jìn)行補(bǔ)償。
對于ADC模塊采取了如下方法對其進(jìn)行校正:
選用ADC的任意兩個通道(如A3,A4)作為參考輸入通道,并分別提供給它們已知的直流參考電壓作為輸入(RefHigh和RefLow),通過讀取相應(yīng)的結(jié)果寄存器獲取轉(zhuǎn)換值,利用兩組輸入輸出值求得ADC模塊的校正增益和校正失調(diào),然后利用這兩個值對其他通道的轉(zhuǎn)換數(shù)據(jù)進(jìn)行補(bǔ)償,從而提高了ADC模塊轉(zhuǎn)換的準(zhǔn)確度。
實現(xiàn)校準(zhǔn)的硬件電路在本文中不作描述,在有關(guān)資料中可以查到。下面是該算法的C語言實現(xiàn):
//首先計算兩個通道的參考電壓轉(zhuǎn)換后的理想結(jié)果
// A4 = RefHigh = 2.5V ( 2.5*4095/3.0 = 3413 ideal count)
// A3 = RefLow = 0.5V ( 0.5*4095/3.0 = 683 ideal count)
#define REF_HIGH_IDEAL_COUNT 3413
#define REF_LOW_IDEAL_COUNT 683
#define SAMPLES 63
//定義所需的各個變量
Uint16 Avg_RefHighActualCount;
Uint16 Avg_RefLowActualCount; /
Uint16 CalGain; //
Calibration Gain
Uint16 CalOffset; //
Calibration Offset
Uint16 SampleCount;
Uint16 RefHighActualCount;
Uint16 RefLowActualCount;
//對各個變量進(jìn)行初始化
void InitCalib()
{
Avg_RefLowActualCount = 0;
Avg_RefLowActualCount = 0;
Avg_RefHighActualCount = 0;
RefHighActualCount = 0;
RefLowActualCount = 0;
CalGain = 0;
CalOffset = 0;
SampleCount = 0;
}
//獲得校準(zhǔn)增益和校準(zhǔn)失調(diào)
// Algorithm: Calibration formula used is:
//
// ch(n) = ADCRESULTn*CalGain - CalOffset
// n = 0 to 15 channels
// CalGain = (RefHighIdealCount - RefLowIdealCount)
// -----------------------------------------
// (Avg_RefHighActualCount - Avg_RefLowActualCount)
//
// CalOffset = Avg_RefLowActualCount*CalGain - RefLowIdealCount
//
// A running weighted average is calculated for the reference inputs:
//
// Avg_RefHighActualCount = (Avg_RefHighActualCount*SAMPLES
// + RefHighActualCount) / (SAMPLES+1)
//
// Avg_RefLowActualCount = (Avg_RefLowActualCount*SAMPLES
// + RefLowActualCount) /
(SAMPLES+1)
//
void GetCalibParam()
{
RefHighActualCount = AdcRegs.ADCRESULT4 >>4;
RefLowActualCount = AdcRegs.ADCRESULT3 >>4;
if(SampleCount > SAMPLES)
SampleCount = SAMPLES;
Avg_RefHighActualCount = (Avg_RefHighActualCount * SampleCount
+ RefHighActualCount) / (SampleCount+1);
Avg_RefLowActualCount = (Avg_RefLowActualCount * SampleCount
+ RefLowActualCount) / (SampleCount+1);
CalGain = (REF_HIGH_IDEAL_COUNT - REF_LOW_IDEAL_COUNT)
/ (Avg_RefHighActualCount -
Avg_RefLowActualCount);
CalOffset = Avg_RefLowActualCount*CalGain - RefLowIdealCount;
SampleCount++;
}
//在ADC_ISR中,對其他各個通道的結(jié)果進(jìn)行修正:
interrupt void adc_isr(void)
{
GetCalibParam();
......
newResult n= AdcRegs.ADCRESULTn*CalGain - CalOffset;
......
}
通過上面的代碼,配合硬件電路改動,可以大幅實現(xiàn)提高ADC采樣的精度,實現(xiàn)更靈敏、更精確的控制。
歡迎點(diǎn)擊進(jìn)入:TI德州中文網(wǎng) (國內(nèi)唯一針對TI應(yīng)用的中文技術(shù)網(wǎng)站) 文章錄入:admin
責(zé)任編輯:admin
上一篇文章: 基于DSP的無速度傳感器直接轉(zhuǎn)矩控制系統(tǒng)設(shè)計
下一篇文章: 沒有了
【發(fā)表評論】【加入收藏】【告訴好友】【打印此文】【關(guān)閉窗口】
最新熱點(diǎn)最新推薦相關(guān)文章
TMS320C3x源碼/范例
[組圖]基于TLV320AIC23和T…
RGB,YUV的來歷及其相互轉(zhuǎn)…
[組圖]基于DM642的網(wǎng)絡(luò)視覺…
DSP中內(nèi)部Flash的應(yīng)用研究
[圖文]智能視頻監(jiān)控系統(tǒng)及…
[組圖]F28335:DSK28335-I…
[圖文]F28335:DSK28335-I…
[組圖]AVS編碼和DSP實現(xiàn)的…
[組圖]定點(diǎn)DSP C55X實現(xiàn)浮…
TMS320C3x源碼/范例
[組圖]XDS510 DSP系列仿真…
[圖文]JTAG口與仿真器連接…
[圖文]TMS320VC5410硬件連…
[圖文]采用ADuC834的口0與…
[圖文]AD73360與TMS320VC5…
[圖文]DSP5402和MAX3110硬…
[圖文]主從模式的TLC320AC…
[組圖]DSP2407全系列開發(fā)板…
[組圖]DSP器件的現(xiàn)場可編程…
TMS320F2812的SPWM原程序
基于LabVIEW和TMS320F2812的…
TMS320F2812的CAN調(diào)試成功經(jīng)…
基于TMS320F2812和μC/OS II…
TMS320F2812 全局匯編函數(shù)
TMS320F2812 CMD 文件各段含…
基于TMS320F2812集中供電系統(tǒng)…
TMS320F2812的CMD文件配置詳…
基于TMS320F2812的多軸伺服控…
利用TMS320F2812 DSP&DRV592…
網(wǎng)友評論:(只顯示最新10條。評論內(nèi)容只代表網(wǎng)友觀點(diǎn),與本站立場無關(guān)!)
沒有任何評論
| 設(shè)為首頁 | 加入收藏 | 聯(lián)系站長 | 友情鏈接 | 版權(quán)申明 | 網(wǎng)站公告 | 管理登錄 |
站長:61IC 湘ICP備05002478號
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -