王 超, 湯吉昀, 宋莉莉
(昌吉學院物理系, 新疆 昌吉 831100)
A/D轉換器在數(shù)據(jù)采集和實時控制領域具有非常重要的作用,而衡量A/D轉換器的技術指標有很多,比如:分辨率、失調(diào)誤差、增益誤差、微分非線性(Differential Nonlinearity, DNL)和積分非線性(Intergral Nonlinearity, INL)等,這些指標對實際應用電路的測量數(shù)據(jù)準確性分析具有重要的意義,本設計利用Proteus仿真平臺設計了A/D轉換電路并進行了詳細技術指標的分析。
圖1 A/D轉換電路圖
(a) 主程序(b) 轉換子程序
圖2 軟件流程圖
圖3中,調(diào)節(jié)RV1,改變輸入電壓,此時輸入電壓為1.15V,所得的數(shù)字量為(1.15/5)×255≈59(合3 BH),在第4個SCLK采樣,其輸入電壓仍為1.15V,在第5個SCLK時,將輸入電壓變?yōu)?.97V,在第8個SCLK啟動A/D轉換,下一個轉換后的數(shù)據(jù)仍為3BH,可見,在第4個SCLK脈沖的下降沿采樣并且保持,測量Twh的值為389 164 μs~389 126 μs=38 μs,啟動轉換的時間Tconv為17 μs,與芯片使用手冊一致[2,7-9]。
打開Proteus VSM界面調(diào)試菜單,單擊Terminal選項,可打開SPI調(diào)試器窗口,如圖4所示,借助SPI調(diào)試器,可方便地觀察到流經(jīng)SDO、SDI數(shù)據(jù)線的數(shù)據(jù)變化,圖4中在347 426 μs~347 748 μs之間流過的數(shù)據(jù)為3BH,即TLC549轉換器輸出的數(shù)據(jù)為3BH,直觀地在SPI監(jiān)控區(qū)域顯示出來,通過輸出指示電路可以觀察到二進制為00111011B=3BH。
圖3 TLC549工作時序圖
圖4 SPI調(diào)試圖
調(diào)節(jié)電位器RV1,利用電壓探針實時測量TLC549輸入的電壓值,SPI調(diào)試器實時觀察TLC549轉換的結果,使用Ui=Uref·X/(28-1)(Ui為TLC549的輸入電壓,Uref為轉換的參考電壓,X為轉換后的數(shù)字量)計算出模擬輸入電壓的計算值,三者的關系如表1所示。
失調(diào)誤差定義為所有輸出代碼間轉換時都存在的代碼轉換點的偏差[10-13],對A/D轉換器來說,它將使A/D轉換器轉換曲線向左或者向右移動,因在第1個代碼轉換點測量失調(diào)誤差最小,采用尋找第1個代碼轉換點的實際位置與理想位置的差距來求失調(diào)誤差,依據(jù)測量表2的數(shù)據(jù),當輸入電壓為15 mV時,TLC549的的輸出代碼出現(xiàn)了轉折點,而理想的TLC549第1個代碼轉折點出現(xiàn)在(LSB)/2處,即9.75 mV的位置,第一個測量轉折點與理想的轉折點差為5.25 mV,即5.25/19.5=0.269LSB,因該值在理想曲線右側,即轉換器的失調(diào)誤差為-0.269LSB,如圖5所示。
增益誤差為A/D轉換器轉換曲線實際斜率與理想斜率間的偏差[10-11],計算前,需要減去失調(diào)誤差,找出最后1個代碼轉換點位置與理想轉換位置之差即可,A/D轉換器TLC549最后數(shù)字量測量表如表3所示,依據(jù)表3繪制的增益誤差轉換曲線如圖6所示,由圖6可知,增益誤差為0.282LSB。
在實際的數(shù)字測量系統(tǒng)中,增益誤差很容易通過將轉換結果乘以所需的比例因數(shù)而得到補償。設計者總是可以使用螺絲刀或微調(diào)電位器給模擬信號通道施加增益量或衰減量,從而校正A/D 增益誤差。
微分非線性描述了轉換曲線中任一輸出代碼寬度與1LSB理想代碼寬度之間的偏差[12-13],在補償了失調(diào)誤差和增益誤差后,可通過相鄰代碼轉換點位置只差求得。TLC549測量的第1個值為16.7 mV,計算值為19.6 mV,可以求得理想曲線的第1個轉換點為9.8mV,則第1個理想轉換點與第1個測量點之間差為6.9 mV,測量值的代碼寬度為13.8,與1LSB理想代碼寬度之間的偏差為13.8/19.5-1=-0.292LSB,如圖7所示。正的DNL表示代碼比理想代碼寬長,而負的DNL 表示代碼比理想代碼寬短。
表1 TLC549測量數(shù)值表
表2 失調(diào)誤差數(shù)據(jù)表
圖5 失調(diào)誤差
表3 增益誤差數(shù)據(jù)表
圖6 增益誤差
圖7 DNL曲線圖
根據(jù)TLC549的芯片使用說明,其DNL=±0.5LSB,1LSB=5/256=19.5 mV,若測量A點對應電壓的讀數(shù)為200(電壓為3.9V),B點對應電壓的讀數(shù)為220(4.29 V),則可以判斷出B點比A點高出390±9.75 mV,而不是390 mV。
積分非線性描述了DNL累積的結果,在對所測的轉換曲線增益和失調(diào)誤差補償后,A/D轉換器所測量的轉換曲線與理想轉換曲線相比偏離了多少,實際上表示了A/D轉換器件在所有的數(shù)值點上對應的模擬值和真實值之間誤差最大的那一點的誤差值,也就是輸出數(shù)值偏離線性最大的距離[14-16]。根據(jù)TLC549測量數(shù)據(jù),在進行補償后,測量的曲線圖如圖8所示。
根據(jù)TLC549的芯片使用說明,其INL=±0.5LSB,1LSB=5/256=19.5 mV,若測量A點對應電壓的讀數(shù)為200(電壓為3.9 V),那么真實的電壓值可能分布在(3.9±0.009 75) V之間。
圖8 INL曲線圖
使用Proteus仿真軟件可將A/D轉換過程形象化展現(xiàn)出來,借助Proteus的虛擬設備、仿真圖表等工具可準確測量A/D轉換數(shù)據(jù),據(jù)此來分析轉換器的性能指標,可幫助學生更好地理解A/D轉換過程,提高實際綜合應用能力。