使用DS1863/DS1865的內(nèi)部校準(zhǔn)和右移位增強(qiáng)ADC性能
概述
DS1863和DS1865控制器/監(jiān)控器使用內(nèi)部校準(zhǔn)和右移位(可擴(kuò)展動(dòng)態(tài)范圍)可極大地增強(qiáng)內(nèi)部13位ADC的性能,無(wú)需增加成本和尺寸即可達(dá)到更高的精確度和準(zhǔn)確度。此外,DS1863/DS1865的內(nèi)部校準(zhǔn)還具有可編程增益和可編程偏移,從而可以省去大部分的外部信號(hào)調(diào)理電路。在ADC之前的模擬域中提供可編程增益,對(duì)輸入信號(hào)進(jìn)行放大或衰減,這樣可以充分利用ADC的整個(gè)動(dòng)態(tài)范圍。然后在數(shù)字域,通過(guò)右移再將數(shù)字輸出同比縮小(除以某數(shù)),從而使所需的(或者SFF-8472所要求的) LSB保持不變,甚至對(duì)用戶透明。
模擬監(jiān)測(cè)輸入
DS1863/DS1865的MON輸入框圖如圖1所示。為簡(jiǎn)明起見(jiàn),只畫(huà)出了其中一路輸入,所有的四個(gè)MON輸入(MON1、MON2、MON3和MON4)原理相同。MON輸入用來(lái)監(jiān)測(cè)信號(hào),例如Tx功率和Rx功率。
圖1. DS1863/DS1865 MON輸入框圖
如圖1所示,一個(gè)單端電壓加于DS1863/DS1865的MON引腳。在模擬域中,該電壓被送入一個(gè)可編程增益單元中。該增益單元可對(duì)MON通道進(jìn)行校準(zhǔn),以獲得需要的LSB或滿量程電壓。這個(gè)滿量程電壓是需要的LSB 2n,其中n為位數(shù)。此外,增益單元還可將小輸入信號(hào)放大,以便最大限度利用ADC動(dòng)態(tài)范圍。稍后將對(duì)此進(jìn)行詳細(xì)說(shuō)明。
增益單元之后是13位ADC。13位轉(zhuǎn)換結(jié)果以左對(duì)齊的2字節(jié)(16位)數(shù)字量形式輸出。這個(gè)ADC能輸出從0000h至FFF8h的數(shù)字值。
通過(guò)用戶可編程數(shù)字偏移可以對(duì)ADC之后的數(shù)字信號(hào)進(jìn)行進(jìn)一步調(diào)整。數(shù)字偏移功能通過(guò)簡(jiǎn)單的數(shù)字相加,在內(nèi)部增加正向或負(fù)向偏移。必須指出的是,正向偏移將鉗位在FFF8h數(shù)值上;負(fù)向偏移將具有小于FFF8h的滿量程數(shù)值(因?yàn)樨?fù)向便移須從轉(zhuǎn)換結(jié)果中扣除)。這種情況下,最小值仍為0000h。有關(guān)數(shù)字偏移的更詳細(xì)信息請(qǐng)參見(jiàn)后面的偏移寄存器部分。
右移位是數(shù)字量輸出前的最后一部操作。每一路MON輸入都有3個(gè)控制位,用來(lái)控制需要的右移次數(shù)(右移位的好處將在后面討論)。如果將此3位設(shè)為0,則禁止右移功能。與偏移一樣,右移位也會(huì)影響滿量程數(shù)字輸出。例如,若將其設(shè)置成右移2位,則滿量程數(shù)字輸出變?yōu)?FFEh。移位完成后,數(shù)值將被寫(xiě)入相應(yīng)的寄存器中,從這里用戶可以讀取轉(zhuǎn)換結(jié)果(存儲(chǔ)器的低半?yún)^(qū),寄存器64h-6Bh)。這也是用來(lái)進(jìn)行報(bào)警及警告比較的參數(shù)。
關(guān)于密碼訪問(wèn)的說(shuō)明
四個(gè)MON輸入的增益和偏移值的設(shè)置都在DS1863/DS1865的表02h中。讀寫(xiě)這些數(shù)值,需要2級(jí)密碼訪問(wèn)(PW2)。如果2級(jí)訪問(wèn)密碼被輸入到密碼登錄字節(jié)(PWE位于存儲(chǔ)器的低半?yún)^(qū),寄存器7Bh-7Eh),訪問(wèn)將被批準(zhǔn)。
工廠校準(zhǔn)MON輸入
每個(gè)DS1863/DS1865 MON輸入都已經(jīng)在工廠調(diào)整為2.5V滿量程電壓。而且,每一個(gè)數(shù)字偏移也已經(jīng)在工廠設(shè)置為0,所以0V的輸入即意味著0000h數(shù)字輸出。右移位的工廠默認(rèn)設(shè)置值也為0。工廠校準(zhǔn)后的DS1863/DS1865的傳遞函數(shù)示于圖2中的B圖,稍后將詳細(xì)介紹。
對(duì)于0至2.5V輸入電壓,工廠校準(zhǔn)過(guò)的器件將輸出8192個(gè)量化值中的一個(gè),為13位轉(zhuǎn)換提供305μV的分辨率(2.5V/8192)。理想情況下,將被量化的輸入信號(hào)是一個(gè)0到2.5V的信號(hào),這樣就可利用整個(gè)轉(zhuǎn)換范圍。然而,現(xiàn)實(shí)情況并非總是如此。以接收功率(Rx 功率)為例, 0到0.5V的輸入電壓就很常見(jiàn),這意味著80%的數(shù)字輸出碼永遠(yuǎn)不會(huì)用到。這對(duì)于可產(chǎn)生8192個(gè)數(shù)字碼的13位ADC來(lái)說(shuō),只能輸出1638個(gè)碼之一。剩下的6554個(gè)數(shù)編碼將永遠(yuǎn)不被使用。而且,對(duì)于用到的1638個(gè)碼來(lái)說(shuō),分辨率仍為305μV。
為了更好的利用13位ADC,DS1863/DS1865 MON值必須被重新校準(zhǔn)為0.5V的滿量程電壓。但是,僅僅重新校準(zhǔn)MON并不能解決輸入信號(hào)的問(wèn)題,因?yàn)榇藭r(shí)LSB會(huì)改變,且不再與所要求的LSB匹配。從根本上講,為了得到ADC的最佳性能,必須使用右移位并進(jìn)行增益和偏移值的調(diào)整。
內(nèi)部校準(zhǔn)和右移位
內(nèi)部校準(zhǔn)和右移位在被監(jiān)視信號(hào)較小、沒(méi)有利用整個(gè)ADC動(dòng)態(tài)范圍時(shí)最有用。模數(shù)轉(zhuǎn)換之前,在模擬域中先將信號(hào)放大一定的倍數(shù),然后在數(shù)字域中再除以相同的系數(shù),這樣所需的LSB保持不變。而精密度和準(zhǔn)確度在每右移一位(最多3位)時(shí)提高了2倍。在3次右移位之后,精密度或準(zhǔn)確度將不會(huì)再有改善。
用內(nèi)部校準(zhǔn)和右移位的好處可用圖2所示的例子予以恰當(dāng)?shù)恼f(shuō)明。其中圖A為一被監(jiān)視信號(hào)的電壓—時(shí)間曲線。該信號(hào)在0到0.5V之間擺動(dòng)。圖B和圖C為MON輸入電壓—數(shù)字輸出曲線,分別代表經(jīng)工廠校準(zhǔn)的傳遞函數(shù),以及采用2次右移和滿量程電壓為2.5V / 4 = 0.625V時(shí)的傳遞函數(shù)。0.625V的滿量程電壓意味著被浪費(fèi)掉的碼更少,因?yàn)檗D(zhuǎn)換結(jié)果比2.5V滿量程時(shí)擴(kuò)大了4倍, 而接下來(lái)它又被除以4而同比縮小(2次右移位)。下面將討論確定右移位數(shù)以及與之相關(guān)聯(lián)的滿量程電壓的根據(jù)。這里只使用2次右移位來(lái)比較有右移位與無(wú)右移位的差別。所采用的器件設(shè)置以及與每一個(gè)傳遞函數(shù)相關(guān)的計(jì)算列于相應(yīng)的傳遞函數(shù)下面。
圖2. 無(wú)右移(B)與右移(C)的比較
圖2中,三條曲線以相同的y軸坐標(biāo)并排排列。這樣,對(duì)于輸入信號(hào)上的某個(gè)特定點(diǎn)(圖A),通過(guò)一條通過(guò)該點(diǎn)及各傳遞函數(shù)的水平直線,可粗略地估計(jì)出數(shù)字輸出。再回到本例的0到0.5V輸入信號(hào),0.5V輸入由一條穿過(guò)三條曲線的水平粗線標(biāo)出,比較圖B與C即可看出右移位的好處。當(dāng)ADC的輸入范圍遠(yuǎn)大于輸入信號(hào)范圍時(shí),大量的量化臺(tái)階將被浪費(fèi)掉(見(jiàn)圖 B)。8192個(gè)數(shù)值中只使用了1638個(gè);圖B中剩余的80%碼字被浪費(fèi)掉。與之相對(duì)比,圖C則顯示,通過(guò)在內(nèi)部校準(zhǔn)到一個(gè)較小的滿量程電壓,再使用右移位之后,精密度提高了?,F(xiàn)在可用8192個(gè)數(shù)字碼中的6554個(gè)碼來(lái)對(duì)輸入信號(hào)進(jìn)行量化。而且,在右移位之后,所需的LSB仍保持不變。右移位操作對(duì)用戶透明。通過(guò)觀察這兩條曲線上的輸出近似為同一數(shù)值即可驗(yàn)證這一點(diǎn)。
確定需要的右移位數(shù)
某一應(yīng)用可以使用的右移位數(shù)取決于滿量程電壓(內(nèi)部校準(zhǔn)),以及給定輸入信號(hào)所用到的數(shù)字編碼百分比。如果已知輸入信號(hào)的最大電壓(以及滿量程電壓),則可計(jì)算出理想的數(shù)字輸出碼。否則,將要求在進(jìn)行工程估值以確定數(shù)字輸出范圍時(shí)采用一種所謂的“傳遞”方法,并由此而得出理想的右移位數(shù)。以下對(duì)這種“傳遞”法加以詳細(xì)說(shuō)明。
將右移位數(shù)設(shè)為0。
執(zhí)行內(nèi)部校準(zhǔn)以獲得所需的LSB ,這將確定起始滿量程電壓。(這個(gè)過(guò)程將在這篇應(yīng)用筆記的后面討論。)
施加最小及最大輸入信號(hào)并讀取相應(yīng)的數(shù)字輸出以確定所使用的范圍。
確定所使用的ADC動(dòng)態(tài)范圍百分比。如果讀數(shù)超出7FFFh ,則不能使用右移位(0右移位)。如果讀數(shù)小于7FFFh ,則至少可使用1 次右移位。如果讀數(shù)小于3FFFh, 則可使用2次右移位,依此類推。表1中總結(jié)了這些數(shù)據(jù)。
為補(bǔ)償右移位所引入的除數(shù),必須在模擬域中增加增益以保持所需的LSB量值不變??赏ㄟ^(guò)使用下述公式計(jì)算新的滿量程電壓來(lái)增加增益:
新的滿量程電壓=原來(lái)的滿量程電壓 / 2右移位數(shù)
所以,如果步驟2的內(nèi)部校準(zhǔn)得到2.0V的滿量程電壓,并且數(shù)字讀數(shù)大于1FFFh但絕不超過(guò)3FFFh,此時(shí)2個(gè)右移位是比較理想的選擇。對(duì)于此例,新的滿量程電壓為2.0V/22 = 0.5V。
內(nèi)部校準(zhǔn)該通道為新的滿量程電壓。
將右移位數(shù)設(shè)置為新值。
一旦估算出理想右移位數(shù)及針對(duì)特定應(yīng)用的滿量程電壓,則只需用步驟1、6及7進(jìn)行校準(zhǔn)。
內(nèi)部校準(zhǔn)和右移位寄存器
DS1863/DS1865器件內(nèi)負(fù)責(zé)保存各模擬通道內(nèi)部校準(zhǔn)及右移位參數(shù)的寄存器列于表2。同時(shí)列出了每個(gè)MON通道以及VCC通道設(shè)置的寄存器地址。VCC通道不在本應(yīng)用筆記討論之列,但為完整性起見(jiàn)將其一并列于表中。量化結(jié)果的存放地址也列于表中,以表明其相對(duì)位置。請(qǐng)注意,增益、偏移及右移位寄存器位于存儲(chǔ)表02h中(請(qǐng)不要將其與本應(yīng)用筆記中的表2混淆)。存儲(chǔ)表02h的選擇是通過(guò)將02h寫(xiě)入位于存儲(chǔ)器低半?yún)^(qū),寄存器7Fh中的表選擇字節(jié)來(lái)完成。
增益寄存器
增益寄存器為一個(gè)2字節(jié)值,它通過(guò)調(diào)整輸入開(kāi)關(guān)電容網(wǎng)絡(luò)來(lái)確定某一特定被監(jiān)視通道的增益/衰減量。這個(gè)增益寄存器使得用戶能將滿量程電壓校準(zhǔn)為介于~250mV至6.5536V之間的任何期望值。由于工藝處理的差異和終端應(yīng)用中的不同需求,這個(gè)寄存器必須被校準(zhǔn)。此校準(zhǔn)步驟以及確定要寫(xiě)入增益寄存器的值的步驟列于如何實(shí)現(xiàn)內(nèi)部校準(zhǔn)部分。
注意:當(dāng)校準(zhǔn)DS1863/DS1865時(shí),了解偏移量和右移位寄存器的值是非常重要的。否則,如果這些值非0并且未補(bǔ)償?shù)脑挘骷⒉粫?huì)被校準(zhǔn)成需要的結(jié)果。
偏移寄存器
偏移寄存器是一個(gè)2字節(jié)值,它確定對(duì)每一被監(jiān)視輸入信號(hào)所施加的數(shù)字偏移量。DS1863/DS1865的偏移是轉(zhuǎn)換值的簡(jiǎn)單數(shù)字增加或減少。因此在增益被校準(zhǔn)成所需值后(且在右移位以前),可通過(guò)可編程偏移抵消任何失調(diào)誤差或轉(zhuǎn)移動(dòng)態(tài)范圍。
偏移校準(zhǔn)可通過(guò)先確定應(yīng)從轉(zhuǎn)換值中增加或減去多少個(gè)數(shù)來(lái)計(jì)算。典型的一種做法是先施加零輸入(如關(guān)掉激光源),然后再讀出轉(zhuǎn)換值,而這正是您應(yīng)從所有轉(zhuǎn)換值中減去的值。
可通過(guò)在式1中代入所需的偏移數(shù)來(lái)計(jì)算需要寫(xiě)入到偏移寄存器的值:
例1:如果輸入電壓的參考不是地而是某一基準(zhǔn),那么要將這個(gè)基準(zhǔn)從測(cè)量結(jié)果中減掉。假設(shè)將該基準(zhǔn)加到MON輸入上,得到的讀數(shù)是200 (C8h)。你可以使用偏移寄存器從模數(shù)轉(zhuǎn)換器中減去200 (C8h)來(lái)將其清零。利用下式來(lái)確定寫(xiě)入寄存器的值:
請(qǐng)記住,在此情況下將執(zhí)行減法運(yùn)算,這樣滿量程數(shù)FFF8h也將減少C8h ,新的滿量程數(shù)為FF30h。
例2:假設(shè)你想在讀數(shù)中增加200個(gè)計(jì)數(shù)。這個(gè)結(jié)果在下列的等式中:
為計(jì)算新的滿量程數(shù),您或許會(huì)嘗試將FFF8h加上C8h。 但FFF8h已是最大可能讀數(shù),因此滿量程數(shù)仍將保持為FFF8h。較低的數(shù)將不再是00h,而是C8h,因?yàn)橐褜⑦@個(gè)偏移加到所有的讀數(shù)上。
例3:計(jì)算0偏移時(shí)的偏移值:
這也是出廠默認(rèn)的偏移寄存器設(shè)置。
右移位寄存器
右移位寄存器位于表02h,寄存器8Eh-8Fh。由于MON1到MON4可執(zhí)行多達(dá)7次右移位,所以對(duì)于每一MON輸入均需使用3位。MON1和MON2的設(shè)置位于表02h,寄存器8Eh中,同時(shí)MON3和MON4的設(shè)置位于表02h,寄存器8Fh中。請(qǐng)參考數(shù)據(jù)資料(或上面的表1)中存儲(chǔ)器分布圖中的數(shù)位位置。EEPROM寄存器的出廠默認(rèn)值為00h,禁止右移位。
為了進(jìn)一步闡明右移位的結(jié)果,圖3給出了幾個(gè)右移后的MON量化值例子。
圖3. MON寄存器右移位的例子
這篇應(yīng)用筆記討論了二進(jìn)制搜索方法。算法的輸出是增益和偏移寄存器值,從而得到期望的傳遞函數(shù)即期望的LSB。
為使用這種算法,同時(shí)必須做兩件事情:將激光設(shè)置為兩種不同的強(qiáng)度,例如最小值和接近最大值(大約90%);而且還必須能進(jìn)行多次重復(fù)。對(duì)于非光學(xué)應(yīng)用,必須按要求將兩種不同的電壓加于MON輸入。這篇應(yīng)用筆記提供的算法使用90%最大值,所以 “〉”比較是可行的。然而,當(dāng)使用滿量程一定百分比時(shí),在做數(shù)值計(jì)算時(shí)也應(yīng)考慮相應(yīng)的數(shù)字量百分比。
偽碼示例
下面這段偽碼是用來(lái)確定增益的二進(jìn)制搜索法的一個(gè)實(shí)例。
現(xiàn)在,這個(gè)增益寄存器被設(shè)置并且轉(zhuǎn)換分辨率將與期望的LSB實(shí)現(xiàn)最佳匹配。下一步是校準(zhǔn)DS1863/DS1865的偏移。正確的增益值被寫(xiě)入增益寄存器,再次將零輸入加到這個(gè)引腳。讀取這部分(Meas1)的數(shù)字結(jié)果。在式1中將CNT1作為輸入可計(jì)算偏移。
偽碼的說(shuō)明
可通過(guò)將偏移及右移位寄存器設(shè)置成已知狀態(tài)例如0偏移及0右移位來(lái)開(kāi)始該偽碼算法。 盡管本例中將兩個(gè)寄存器均設(shè)置為0,但只要對(duì)它們進(jìn)行相應(yīng)的補(bǔ)償,則亦可采用其他值。例如,如果以所編程偏移開(kāi)始,則FFF8h可能不再是被鉗位的滿量程數(shù)字值。(參見(jiàn)偏移校準(zhǔn)寄存器部分)除初始化寄存器外,該算法也可從計(jì)算幾個(gè)為所需LSB函數(shù)的重要常數(shù)開(kāi)始。
二進(jìn)制搜索增益值時(shí)首先將增益校準(zhǔn)寄存器設(shè)置成滿量程的一半,即8000h。然后再將90%最大輸入加至被校準(zhǔn)MON通道然后,讀取量化值。將此測(cè)量值稱為Meas2。接著再檢查Meas2看它是否被鉗位在FFF8h上(此時(shí)偏移及右移位均為0)。如果讀數(shù)被鉗位,則無(wú)法斷定轉(zhuǎn)換值恰好是FFF8h還是比這大許多(此時(shí)也被鉗位成FFF8h)。無(wú)論怎樣,增益設(shè)置都太高。在后續(xù)的二進(jìn)制搜索法中,將增益值減半并重復(fù)此操作直至找到非鉗位增益值為止。
一旦找到非鉗位的Meas2,即可通過(guò)施加零輸入并讀取其數(shù)字轉(zhuǎn)換值來(lái)繼續(xù)。該算法此轉(zhuǎn)換值即為Meas1。最后。計(jì)算Meas2 與Meas1的差值并使用在算法開(kāi)始時(shí)所算出的常數(shù)來(lái)與所需差值(CNT2 - CNT1)進(jìn)行比較。如果Meas2 - Meas1大于CNT2 - CNT1則將增益再減半。如果Meas2 - Meas1小于CNT2 - CNT1則在減半后再將其恢復(fù)到當(dāng)前增益值。重復(fù)此過(guò)程直至總共進(jìn)行16 次,即獲得一個(gè)代表所需增益(所需LSB)的16位值。
以下介紹另一種能使該增益校準(zhǔn)過(guò)程更加形象的方法。先從16 位增益校準(zhǔn)寄存器的MSB (b15)開(kāi)始,將該位設(shè)置為0 (同時(shí)也將其他各位初始化為0); 再使MSB = 1,并加上模擬輸入,然后再讀取對(duì)應(yīng)的數(shù)字輸出,如果該讀數(shù)被鉗位,則表示增益太高,可將MSB寫(xiě)回至0,否則將其保留為1,因此現(xiàn)在即已知MSB。然后再轉(zhuǎn)向下一位(b14)也是先將b14設(shè)為1 (此時(shí)保留b15 為已確定值),此時(shí)b13至b0仍為0。 如果增益仍太高。則可重復(fù)前述操作,即將b14設(shè)為0,否則保留為1。此過(guò)程一位接一位進(jìn)行,直至確定出全部16位為止,其結(jié)果仍是一個(gè)代表所需增益的16 位值。
在確定所需增益以后,即可計(jì)算新的偏移或?qū)⑵浔A魹?0)。無(wú)偏移此校準(zhǔn)方法取決于所使用的偏移性質(zhì)。數(shù)據(jù)資料中對(duì)該算法的解釋是基于如下假設(shè),即;用戶想要執(zhí)行負(fù)偏來(lái)清零數(shù)字讀數(shù),以使零模擬輸入時(shí)產(chǎn)生全0輸出。這可簡(jiǎn)單地通過(guò)施加零模擬輸入并讀取相應(yīng)的轉(zhuǎn)換值來(lái)實(shí)現(xiàn)。如果零輸入(例如激光關(guān)斷)產(chǎn)生例如(20h)的數(shù)字輸出,則可對(duì)偏移進(jìn)行編程以將20h從每一轉(zhuǎn)換值中減去。在本例中,則是先將20h 代入偏移公式中,然后再將計(jì)算結(jié)果編程至所需MON 通道的偏移校準(zhǔn)寄存器中來(lái)完成。
內(nèi)部的校準(zhǔn)和右移位實(shí)例
為演示本應(yīng)用筆記所提及的概念,我們采用了以下示例。
在此例中利用MON3來(lái)監(jiān)視Rx功率,當(dāng)施加-40dBm最小輸入時(shí),在DS1859的MON3管腳上呈現(xiàn)出10mV的電壓,此時(shí)該輸入所需數(shù)字輸出為0000h。當(dāng)施加0dBm輸入時(shí),MON3管腳上的電壓為300mV,此時(shí)所需數(shù)字輸出為2710h,這樣的選擇是為了滿足SFF-8472規(guī)定的LSB (Rx功率的LSB對(duì)應(yīng)于0.1μW)。
確定此例中的理想右移位數(shù)相對(duì)比較簡(jiǎn)單因?yàn)橐呀?jīng)給定所需的數(shù)字輸出范圍(0000h至2710h)。利用上面的表1,可得到理想右移位數(shù)為2?,F(xiàn)在請(qǐng)記住右移位數(shù)為2,要使2710h在經(jīng)過(guò)2次右移位后仍為最終輸出數(shù)字值,我們可推斷,此時(shí)300mV的輸入在右移位以前必須產(chǎn)生9C40h的轉(zhuǎn)換值,因此需要用內(nèi)部校準(zhǔn)來(lái)將300mV輸入的轉(zhuǎn)換值“抬高”至9C40h。在完成偏移的內(nèi)部校準(zhǔn)及編程以后,即可執(zhí)行2次右移位。該舉例被歸納于表3中。
在確定了輸入與輸出之間的關(guān)系后(如表3所示),即可用數(shù)據(jù)資料中提供的內(nèi)部校準(zhǔn)。程序先從執(zhí)行幾步如下所示的預(yù)先計(jì)算開(kāi)始。請(qǐng)注意,這里并未采用數(shù)據(jù)資料校準(zhǔn)程序中所給出的90%, 因?yàn)榈诙?zhǔn)點(diǎn)(300mV = 9C40h)已經(jīng)小于滿量程值的90%。
根據(jù)表3進(jìn)行以下計(jì)算:
LSB = (0.300V – 0.010V) / (9C40h – 0000h) = 0.290V/40,000 = 7.25μV
最大讀數(shù) = LSB x 65535 = 7.25μV x 65535 = 0.475128V
CNT1 = 0.010/LSB = 1379.3 => 1379 (dec)
CNT2 = 0.300/LSB = 41379.31 => 41379 (dec)
當(dāng)采用兩個(gè)校準(zhǔn)點(diǎn)時(shí),CNT1及CNT2為所期望(所需)的數(shù)字輸出內(nèi)部校準(zhǔn)程序?qū)⒎磸?fù)搜索與這兩個(gè)值所確定的斜率最接近的斜率。
校準(zhǔn)程序反復(fù)進(jìn)行16次以下過(guò)程,即先用二進(jìn)制來(lái)對(duì)該斜率進(jìn)行編程然后再檢查其是否與所需的斜率相等。在此例中是采用內(nèi)部校準(zhǔn)程序以及表4中所列全部16次重復(fù)輸入與輸出來(lái)對(duì)DS1863/DS1865進(jìn)行校準(zhǔn)。
表4中的第一欄“重復(fù)”等于程序中的n。“增益結(jié)果”欄為每次重復(fù)時(shí)被編程進(jìn)“增益校準(zhǔn)”寄存器(即器件表02h中的字節(jié)98至99h)中的值。Meas1及Meas2欄則分別為施加300mV及10mV輸入時(shí)器件上的讀數(shù);最后,對(duì)于Meas2不被鉗位的重復(fù),將Meas2 - Meas1與CNT2 - CNT1進(jìn)行比較,如果Meas2 - Meas1大于CNT2 - CNT1,則表示“增益結(jié)果”太大,對(duì)應(yīng)于此次重復(fù)的增益校準(zhǔn)位為0。而這隨后又確定后續(xù)重復(fù)中的“增益結(jié)果”。當(dāng)完成全部16 次重復(fù)后,即得到增益校準(zhǔn)值,如表3所示,此例中所使用器件的增益校準(zhǔn)值為5038h。
從表3我們可看到最小的差值在第三重復(fù)出現(xiàn)(Meas2 - Meas1和CNT2 - CNT1同時(shí)為40000)。用戶可以在算法中加一個(gè)變量來(lái)檢查最小差值出現(xiàn)的位置,然后用這個(gè)重復(fù)產(chǎn)生的“增益結(jié)果”作為增益校準(zhǔn)寄存器的值,替代最終的值。
對(duì)于已被編程成新增益校準(zhǔn)值的器件,可通過(guò)施加10mV (即我們希望其輸出讀數(shù)為0000h的電壓)并讀取其數(shù)字輸出結(jié)果來(lái)確定其偏移校準(zhǔn)。此例中所使用的器件在輸入為10mV時(shí)輸出為0558h。利用偏移公式,可將偏移校準(zhǔn)計(jì)算如下:
MON3失調(diào) = -(-0558h/4) = 0156h
最后,再按下式來(lái)計(jì)算新鉗位值:
新鉗位值(預(yù)右移) = FFF8h - 0558h = FAA0h
完成內(nèi)部校準(zhǔn)后,即可通過(guò)將20h寫(xiě)入表01h中的8Fh來(lái)執(zhí)行2次右移位。
結(jié)論
DS1863/DS1865的內(nèi)部校準(zhǔn)及右移位特性,可為用戶提供最大的靈活性并使其適用于各種應(yīng)用。本應(yīng)用筆記提供了DS1863/DS1865數(shù)據(jù)資料中未給出的附加信息,例如為什么內(nèi)部校準(zhǔn)及右移位具有優(yōu)勢(shì)以及如何來(lái)實(shí)現(xiàn)等。同時(shí)還給出了一個(gè)與理論相聯(lián)系的運(yùn)用傳遞方法的實(shí)例,并提供了DS1863/DS1865內(nèi)部校準(zhǔn)過(guò)程中實(shí)際得到的讀數(shù)。
評(píng)論