林 楠,丁 寧
(中國電子科技集團公司第四十七研究所,沈陽110032)
LC2294處理器片內A/D轉換器測試
林 楠,丁 寧
(中國電子科技集團公司第四十七研究所,沈陽110032)
介紹了通過對LC2294處理器片內A/D轉換器測試,構建簡單可靠,通用性好的自動測試系統,提出了一種軟硬件結合的A/D測試方法,給出了測試系統原理圖,并詳細描述了軟件實現過程。
LC2294處理器;A/D轉換器測試;A/D測試方法
作為連接模擬世界和數字世界的橋梁,A/D轉換器是數據采集和實時控制領域中不可缺少的重要組成部分,LC2294處理器內嵌了10位A/D轉換器。對于A/D轉換器而言,其主要的靜態性能指標是積分非線性誤差(INL)和微分非線性誤差(DNL)。利用D/A、A/D轉換的可逆性及LC2294處理器自身強大的運算和控制能力,可以很方便的構造出簡單實用的自動測試系統。
LC2294處理器片內集成了8路10位逐次逼近式A/D轉換器,由逐次寄存器、比較器、同精度的D/A、基準電壓組成[1]。從MSB開始,順序地對每一位輸入電壓與內置D/A轉換器輸出進行比較,經n次比較而輸出數字值,測量范圍0~3.3V。A/D轉換器的基址是0xE0034000,A/D轉換器包含2個寄存器,分別是:A/D控制寄存器ADCR(地址:0xE0034000);A/D數據寄存器ADDR(地址:0xE0034004)[2]。
LC2294處理器片內A/D轉換器的靜態性能參數指標測試,主要考慮的是相對應于引起相鄰兩個輸出數碼改變的輸出轉換點的模擬輸入值測試。對于A/D轉換器而言,一個LSB(Last Scale Bit)范圍內的無數個模擬輸入值將產生同一個輸出數碼,也就是說一個輸出數碼對應一個模擬輸入范圍。只有通過這些值的測試才能確定LC2294處理器片內A/D轉換器的靜態性能。
INL(Integral Non Linearity)積分非線性誤差,定義為A/D器件在所有的數值點上,對應的模擬值和真實值之間誤差最大的那一點的誤差值[3]。即輸出數值偏離線性最大的距離。單位是LSB。
DNL(Differential Non Linearity)微分非線性誤差,定義為相鄰兩個輸出轉換點間的模擬輸入值之差與A/D一個理想平均LSB之間的實際偏差[3]。理論上說,A/D器件相鄰兩個數字量之間,模擬量的差值都是一樣的,但實際并不如此,那么A/D相鄰刻度之間最大的差異就叫微分非線性誤差。當DNL小于一個LSB時就保證了A/D在轉換過程中無丟碼現象。
測試過程中,由PC機首先啟動待測的LC2294處理器片內A/D轉換器,通過串行總線和串行接口電路,把數據依次發送給參考D/A轉換器,為了提高整個測試結果的精度,測試中選用了16位高精度的D/A轉換器作為參考D/A轉換器。參考D/A轉換器將接收到的數字量轉換成相應的模擬量,并送給待測的片內10位A/D轉換器中。待測的片內10位A/D轉換器再經過逆向變換,把相應的模擬量轉換為數字量。轉換完成后,再由LC2294處理器通知PC機讀取數字量數據,PC機將其與原始數字量數據比較,得出誤差值。上述A/D測試系統總體設計如圖1所示。

圖1 系統總體設計
參考D/A轉換器選用AD5541型16位D/A轉換器,基準源選用AD680型帶隙基準電壓源,運放選用OP200型雙通道、低失調、低功耗運算放大器,接口芯片選用MAX232型RS-232標準串口。
測試系統工作時,由AD680為AD5541提供2.5V基準電壓,LC2294對AD5541發送原始數字量,參考D/A轉換器AD5541將接收到的數字量轉換成相應的模擬量,通過OP200運算放大器放大后,發送給待測的LC2294片內10位A/D轉換器。待測的LC2294片內10位A/D轉換器再經過逆向變換,把相應的模擬量轉換為數字量后,經由MAX232將測試結果送給PC機。整個系統的硬件電路設計如圖2所示。

圖2 硬件電路設計
微分非線性誤差(DNL)由公式:DNL[n]=(V[n]in2-V[n]in1)-LSBaverage計算得出,其中V[n]in2是某輸出數碼n的后一轉換點對應的模擬輸入值,V[n]in1是該輸出數碼n的前一轉換點對應的模擬輸入值。LSBaverage是實際測試的ADC一個理想平均LSB。DNL[n]為正時稱為寬碼,其模擬輸入范圍大于理想平均LSB;DNL[n]為負時稱為窄碼,其模擬輸入范圍小于理想平均LSB。
積分非線性誤差(INL)由公式:INL[n]=INL[n-1]+(DNL[n-1]+DNL[n])/2計算得出。DNL和INL通常用所有輸出數碼中最差的DNL[n]和INL[n]表示。
微分非線性誤差(DNL)和積分非線性誤差(INL)的測試具有以下特點:需要在零點和滿量程點之間進行多點測量。一個10位的A/D,進行全碼測試有1024個點需要測試,本設計中參考D/A選用16位AD5541,因此,測試時可以對LC2294片內A/D提供多達65536個點的精確覆蓋,大大提高了測試精準度。
使用LC2294處理器的AIN0和AIN1測量兩路參考D/A轉換器輸出的模擬電壓值[4],以此作為LC2294處理器片內待測A/D轉換器的輸入,并將測量結果通過UART0向PC機發送。軟件設計采用C語言進行編程。
參考D/A轉換器AD5541程序設計。



由于國內工業企業對LC2294處理器片內A/D轉換器的廣泛應用,為器件測試提出了更高要求,同時也促進了測試技術的發展。LC2294處理器片內A/D轉換器的INL、DNL測試要準確理解參數的定義,在理解的基礎上,再積極探索新的高效測試方法。該測試技術均已實際運用,有很好的測試效果。
[1]劉洪濤,鄒南.ARM處理器開發詳解:基于ARM Cortex-A8處理器的開發設計[M].北京:電子工業出版社,2012.
[2]周立功.ARM嵌入式系統基礎教程(第2版)[M].北京:北京航空航天大學出版社,2008.
[3]閻石.數字電子技術基礎[M].北京:高等教育出版社,1998.
[4]周立功.ARM嵌入式系統實驗教程(二)[M].北京:北京航空航天大學出版社,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-),男,遼寧莊河市人,學士,工程師,主研方向:微電子。
2014-02-20