林 楠,丁 寧
(中國電子科技集團公司第四十七研究所,沈陽110032)
LC2294處理器片內(nèi)A/D轉(zhuǎn)換器測試
林 楠,丁 寧
(中國電子科技集團公司第四十七研究所,沈陽110032)
介紹了通過對LC2294處理器片內(nèi)A/D轉(zhuǎn)換器測試,構(gòu)建簡單可靠,通用性好的自動測試系統(tǒng),提出了一種軟硬件結(jié)合的A/D測試方法,給出了測試系統(tǒng)原理圖,并詳細描述了軟件實現(xiàn)過程。
LC2294處理器;A/D轉(zhuǎn)換器測試;A/D測試方法
作為連接模擬世界和數(shù)字世界的橋梁,A/D轉(zhuǎn)換器是數(shù)據(jù)采集和實時控制領(lǐng)域中不可缺少的重要組成部分,LC2294處理器內(nèi)嵌了10位A/D轉(zhuǎn)換器。對于A/D轉(zhuǎn)換器而言,其主要的靜態(tài)性能指標是積分非線性誤差(INL)和微分非線性誤差(DNL)。利用D/A、A/D轉(zhuǎn)換的可逆性及LC2294處理器自身強大的運算和控制能力,可以很方便的構(gòu)造出簡單實用的自動測試系統(tǒng)。
LC2294處理器片內(nèi)集成了8路10位逐次逼近式A/D轉(zhuǎn)換器,由逐次寄存器、比較器、同精度的D/A、基準電壓組成[1]。從MSB開始,順序地對每一位輸入電壓與內(nèi)置D/A轉(zhuǎn)換器輸出進行比較,經(jīng)n次比較而輸出數(shù)字值,測量范圍0~3.3V。A/D轉(zhuǎn)換器的基址是0xE0034000,A/D轉(zhuǎn)換器包含2個寄存器,分別是:A/D控制寄存器ADCR(地址:0xE0034000);A/D數(shù)據(jù)寄存器ADDR(地址:0xE0034004)[2]。
LC2294處理器片內(nèi)A/D轉(zhuǎn)換器的靜態(tài)性能參數(shù)指標測試,主要考慮的是相對應(yīng)于引起相鄰兩個輸出數(shù)碼改變的輸出轉(zhuǎn)換點的模擬輸入值測試。對于A/D轉(zhuǎn)換器而言,一個LSB(Last Scale Bit)范圍內(nèi)的無數(shù)個模擬輸入值將產(chǎn)生同一個輸出數(shù)碼,也就是說一個輸出數(shù)碼對應(yīng)一個模擬輸入范圍。只有通過這些值的測試才能確定LC2294處理器片內(nèi)A/D轉(zhuǎn)換器的靜態(tài)性能。
INL(Integral Non Linearity)積分非線性誤差,定義為A/D器件在所有的數(shù)值點上,對應(yīng)的模擬值和真實值之間誤差最大的那一點的誤差值[3]。即輸出數(shù)值偏離線性最大的距離。單位是LSB。
DNL(Differential Non Linearity)微分非線性誤差,定義為相鄰兩個輸出轉(zhuǎn)換點間的模擬輸入值之差與A/D一個理想平均LSB之間的實際偏差[3]。理論上說,A/D器件相鄰兩個數(shù)字量之間,模擬量的差值都是一樣的,但實際并不如此,那么A/D相鄰刻度之間最大的差異就叫微分非線性誤差。當(dāng)DNL小于一個LSB時就保證了A/D在轉(zhuǎn)換過程中無丟碼現(xiàn)象。
測試過程中,由PC機首先啟動待測的LC2294處理器片內(nèi)A/D轉(zhuǎn)換器,通過串行總線和串行接口電路,把數(shù)據(jù)依次發(fā)送給參考D/A轉(zhuǎn)換器,為了提高整個測試結(jié)果的精度,測試中選用了16位高精度的D/A轉(zhuǎn)換器作為參考D/A轉(zhuǎn)換器。參考D/A轉(zhuǎn)換器將接收到的數(shù)字量轉(zhuǎn)換成相應(yīng)的模擬量,并送給待測的片內(nèi)10位A/D轉(zhuǎn)換器中。待測的片內(nèi)10位A/D轉(zhuǎn)換器再經(jīng)過逆向變換,把相應(yīng)的模擬量轉(zhuǎn)換為數(shù)字量。轉(zhuǎn)換完成后,再由LC2294處理器通知PC機讀取數(shù)字量數(shù)據(jù),PC機將其與原始數(shù)字量數(shù)據(jù)比較,得出誤差值。上述A/D測試系統(tǒng)總體設(shè)計如圖1所示。
圖1 系統(tǒng)總體設(shè)計
參考D/A轉(zhuǎn)換器選用AD5541型16位D/A轉(zhuǎn)換器,基準源選用AD680型帶隙基準電壓源,運放選用OP200型雙通道、低失調(diào)、低功耗運算放大器,接口芯片選用MAX232型RS-232標準串口。
測試系統(tǒng)工作時,由AD680為AD5541提供2.5V基準電壓,LC2294對AD5541發(fā)送原始數(shù)字量,參考D/A轉(zhuǎn)換器AD5541將接收到的數(shù)字量轉(zhuǎn)換成相應(yīng)的模擬量,通過OP200運算放大器放大后,發(fā)送給待測的LC2294片內(nèi)10位A/D轉(zhuǎn)換器。待測的LC2294片內(nèi)10位A/D轉(zhuǎn)換器再經(jīng)過逆向變換,把相應(yīng)的模擬量轉(zhuǎn)換為數(shù)字量后,經(jīng)由MAX232將測試結(jié)果送給PC機。整個系統(tǒng)的硬件電路設(shè)計如圖2所示。
圖2 硬件電路設(shè)計
微分非線性誤差(DNL)由公式:DNL[n]=(V[n]in2-V[n]in1)-LSBaverage計算得出,其中V[n]in2是某輸出數(shù)碼n的后一轉(zhuǎn)換點對應(yīng)的模擬輸入值,V[n]in1是該輸出數(shù)碼n的前一轉(zhuǎn)換點對應(yīng)的模擬輸入值。LSBaverage是實際測試的ADC一個理想平均LSB。DNL[n]為正時稱為寬碼,其模擬輸入范圍大于理想平均LSB;DNL[n]為負時稱為窄碼,其模擬輸入范圍小于理想平均LSB。
積分非線性誤差(INL)由公式:INL[n]=INL[n-1]+(DNL[n-1]+DNL[n])/2計算得出。DNL和INL通常用所有輸出數(shù)碼中最差的DNL[n]和INL[n]表示。
微分非線性誤差(DNL)和積分非線性誤差(INL)的測試具有以下特點:需要在零點和滿量程點之間進行多點測量。一個10位的A/D,進行全碼測試有1024個點需要測試,本設(shè)計中參考D/A選用16位AD5541,因此,測試時可以對LC2294片內(nèi)A/D提供多達65536個點的精確覆蓋,大大提高了測試精準度。
使用LC2294處理器的AIN0和AIN1測量兩路參考D/A轉(zhuǎn)換器輸出的模擬電壓值[4],以此作為LC2294處理器片內(nèi)待測A/D轉(zhuǎn)換器的輸入,并將測量結(jié)果通過UART0向PC機發(fā)送。軟件設(shè)計采用C語言進行編程。
參考D/A轉(zhuǎn)換器AD5541程序設(shè)計。
由于國內(nèi)工業(yè)企業(yè)對LC2294處理器片內(nèi)A/D轉(zhuǎn)換器的廣泛應(yīng)用,為器件測試提出了更高要求,同時也促進了測試技術(shù)的發(fā)展。LC2294處理器片內(nèi)A/D轉(zhuǎn)換器的INL、DNL測試要準確理解參數(shù)的定義,在理解的基礎(chǔ)上,再積極探索新的高效測試方法。該測試技術(shù)均已實際運用,有很好的測試效果。
[1]劉洪濤,鄒南.ARM處理器開發(fā)詳解:基于ARM Cortex-A8處理器的開發(fā)設(shè)計[M].北京:電子工業(yè)出版社,2012.
[2]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.
[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1998.
[4]周立功.ARM嵌入式系統(tǒng)實驗教程(二)[M].北京:北京航空航天大學(xué)出版社,2005.
Parameters Test Technology of A/D Converter of LC2294 Microcontroller
LIN Nan,DING Ning
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
This paper introduces the auto-test system of the A/D converter test of LC2294 microcontroller with simple reliable implementation,puts forward a testing method combining with software and hardware,and gives an implementation principle diagram.The procedure of implementation of the software is described in detail.
LC2294 Microcontroller;A/D Converter Test;Testing Method of A/D Converter
10.3969/j.issn.1002-2279.2014.04.002
TN4
:B
:1002-2279(2014)04-0005-03
林楠(1982-),男,遼寧莊河市人,學(xué)士,工程師,主研方向:微電子。
2014-02-20