本應用筆記解釋了DS1856的內(nèi)部校準程序,以及使用該功能如何有益于應用。應用筆記還提供了確定和實現(xiàn)DS1856內(nèi)部校準和右移特性的步驟。
介紹
DS1856采用內(nèi)部校準和右移(可擴展動態(tài)量程)來增強內(nèi)置的12位ADC。這使得DS1856具有16位ADC的精度和準確度,而不會增加尺寸和成本。此外,該器件的可編程增益和失調(diào)功能可以減少甚至消除對外部信號調(diào)理電路的需求。校準后,這些功能將模擬輸入信號轉(zhuǎn)換為數(shù)字值,而無需用戶執(zhí)行任何操作。
DS1856的功能與DS1859類似,但存儲器映射與DS1852存儲器結(jié)構(gòu)兼容。DS1856的內(nèi)部校準程序也與DS1859非常相似。(有關DS1859內(nèi)部校準的示例,請參考應用筆記2858。但是,DS1856具有不同的表分配,以及用于計算失調(diào)寄存器值的公式略有不同。
本應用筆記解釋了DS1856的內(nèi)部校準程序,以及使用該功能如何使應用受益。本文還提供了確定和實現(xiàn)DS1856內(nèi)部校準和右移特性的步驟。
關于密碼訪問的說明
三個MON輸入的電平和失調(diào)值設置位于DS03的表1856中。若要讀取或?qū)懭脒@些值,需要 2 級密碼訪問 (PW2)。如果使用一個 2 字節(jié) WRITE 命令將 PW7 級別條目的密碼輸入到密碼條目字節(jié)(PWE 位于地址 7Bh-4Eh)中,則授予此訪問權限。
DS1856模擬監(jiān)測器輸入
與DS1859一樣,DS1856具有三個模擬輸入。這些輸入 MON1、MON2 和 MON3 可用于監(jiān)控發(fā)射功率、接收功率和發(fā)射偏置等信號。圖1中的框圖顯示了MON輸入的結(jié)構(gòu)。
圖1.DS1856 MON輸入框圖
MON引腳的輸入模塊由模擬和數(shù)字部分組成。在模擬部分,單端電壓連接到MON引腳。然后將該電壓發(fā)送到刻度模塊,該模塊能夠衰減或?qū)斎腚妷菏┘釉鲆妗TO置刻度值可以設置所需的LSB或滿量程電壓。滿量程電壓是在相應的MON寄存器中產(chǎn)生FFF8h值的電壓。通過為每個MON輸入的刻度值設置刻度值,可以控制這些信號的增益,以充分利用ADC。
12 位 ADC 遵循刻度模塊。來自ADC的轉(zhuǎn)換是左對齊的數(shù)字輸出。每個輸出是一個 16 位值,三個 LSB 在內(nèi)部屏蔽為 0.這允許 ADC 輸出從 0000h 到 FFF8h 的值。
然后,ADC的數(shù)字輸出通過可編程失調(diào)值進一步調(diào)整。正或負失調(diào)可以通過數(shù)字加法或減法施加到ADC輸出。這些調(diào)整仍然被鉗制在0000h和FFF8h的值。
對該信號的最后一次調(diào)整是使用右移。右移寄存器存儲一個 3 位值,用于將每個 MON 值從 0 向右移動到 7 個空格。這樣可以更好地利用ADC范圍并提高讀數(shù)的準確性。右移是數(shù)字值發(fā)送到MON寄存器之前對MON信號執(zhí)行的最后一個功能。
一旦確定了MON信號的數(shù)字值,內(nèi)部警告和報警限值就會將其值與數(shù)字MON值進行比較。相應地設置/重置警告和警報標志。
出廠校準DS1856
每款DS1856出廠時均經(jīng)過校準,當8.2V電壓施加于相應的MON輸入引腳時,在MON寄存器中產(chǎn)生FFF5h。每個MON輸入的失調(diào)寄存器設置為零,以便當0V施加到MON引腳時,將讀取該MON輸入的數(shù)字輸出0000h。右移寄存器的默認值為 0,因此不會發(fā)生右移。
在出廠調(diào)整的情況下,DS1856將為4096至0.2V的MON輸入電壓產(chǎn)生5個數(shù)字值之一。對于610位轉(zhuǎn)換,分辨率為2μV (5.4096V/12)。但是,并非所有應用都會使用此范圍,并且可能僅施加0.5V的最大電壓。在這些情況下,只會產(chǎn)生 820 個可能的數(shù)字值,剩下 3276 個永遠不會使用的值。雖然分辨率仍為610μV,但12位轉(zhuǎn)換器的使用效率不高。
為了更好地利用12位轉(zhuǎn)換器,必須將DS1856 MON值重新校準至0.5V滿量程電壓。為此,除了調(diào)整比例和偏移值外,還必須使用右移,如下一節(jié)所述。
如何使用DS1856內(nèi)部校準和右移
內(nèi)部校準和右移的最佳用途是當MON輸入信號很小(小于2.5V)并且不使用太多的默認ADC范圍時。通過在模擬信號中增加增益,然后在數(shù)字域中將該信號分頻,可以保持所需的LSB,并使用更多的ADC范圍。使用這種方法,每個右班次的精度和準確度都會提高兩倍(最多 4 個班次)。四次右移后,數(shù)字輸出開始失去精度,但精度不斷提高。
圖2是一個很好的例子,說明如何充分利用內(nèi)部校準和右移。 第一個圖A顯示了要監(jiān)控的示例信號。施加于MON輸入的最大電壓為0.5V。圖B顯示了工廠校準的傳遞函數(shù),圖C顯示了使用兩個右移位和設置為0.625V (2.5V/4)的滿量程電壓的傳遞函數(shù)。當滿量程電壓為0.625V時,與使用2.5V滿量程電壓相比,將使用更多的數(shù)字代碼。由此產(chǎn)生的轉(zhuǎn)換將是2.5V滿量程電壓的四倍。但是,通過使用右移函數(shù),這些轉(zhuǎn)換將除以四倍(兩次右移)。
圖2.右移比較。
如圖2中的所有三個圖所示,相同的y軸可以用作比較點。通過所有三個圖繪制的水平線表示施加到該引腳的最大輸入電壓電平。通過比較圖B和C,可以看到右移的好處。圖B顯示了不使用內(nèi)部校準和右移浪費了多少數(shù)字輸出范圍。圖C顯示了如何使用內(nèi)部校準和右移來恢復損失的范圍并提高信號精度。
確定可能的右移次數(shù)
兩個因素決定了可以使用的右移位數(shù)。一個因素是滿量程電壓的函數(shù)。另一個因素是使用的數(shù)字代碼的百分比。如果已知MON信號的最大電壓和滿量程電壓,則可以計算數(shù)字輸出值。否則,需要一種試錯法來確定理想的正確班次數(shù)。以下步驟詳細介紹了試錯法。
將右移位設置為 0。
在內(nèi)部校準器件以產(chǎn)生所需的LSB,這將決定初始滿量程電壓。
應用最小和最大輸入信號,然后讀取相應的數(shù)字輸出以確定使用的數(shù)字代碼范圍。
確定使用的ADC范圍的百分比。如果數(shù)字讀數(shù)在FFF8h和7FF8h之間,則不應使用右移位,右移次數(shù)應設置為0。如果數(shù)字讀數(shù)在 7FF8h 和 3FF8h 之間,則可以使用一個右移位。如果數(shù)字讀數(shù)在 3FF8h 和 1FF8h 之間,則可以使用兩個右移位,依此類推。其余范圍請參考DS9數(shù)據(jù)資料中的表1856。
如果使用右移來更有效地利用ADC范圍,則必須校準增益,以保持所需的LSB(滿量程電壓)。調(diào)整后的增益(標度值)使用以下公式計算:新的滿量程電壓=初始滿量程電壓/2#右移。例如,如果上述步驟2的內(nèi)部校準產(chǎn)生2.0V的滿量程電壓(以獲得所需的LSB),并且數(shù)字讀數(shù)大于1FF8h但從未超過3FF8h,則將使用兩個右移位。本例的新滿量程電壓為2.0V/22 = 0.5V。
將右移位值設置為 0 時,將 MON 通道校準到新的滿量程電壓。
將正確的移位設置為其新值。
一旦評估確定了特定應用的理想右移位數(shù)和滿量程電壓,只需步驟1、6和7即可進行生產(chǎn)校準。
DS1856內(nèi)部校準和右移寄存器
DS1856寄存器保存校準設置(刻度、偏移和右移)以及每個模擬輸入的數(shù)字讀數(shù),總結(jié)于表1。顯示每個 MON 通道以及 VCC 的地址。(為完整起見,VCC包含在表中,但本應用筆記中不討論。包括數(shù)字轉(zhuǎn)換的位置以顯示其相對位置。請注意,刻度、偏移和右移寄存器位于DS03的存儲器表1856h中。通過將 03h 寫入表選擇字節(jié) 03Fh 來選擇表 7h。由于數(shù)字轉(zhuǎn)換位于內(nèi)存的下部(0 到 7Fh),因此它們與表選擇字節(jié)值無關。
可變資本公司 | 月1 | 月2 | 月3 | |
刻度校準 | 92小時至93小時 | 94小時至95小時 | 96小時至97小時 | 98小時至99小時 |
偏移校準 | A2h 至 A3h | A4h 至 A5h | A6h 至 A7h | A8h 至 A9h |
右移 | 不適用 | 8Eh (B6-B4) | 8Eh (B2-B0) | 8Fh (B6-B4) |
讀數(shù) | 62小時至63小時 | 64小時至65小時 | 66小時至67小時 | 68小時至69小時 |
表 03h |
刻度校準寄存器
刻度校準寄存器是一個雙字節(jié)值,用于確定相應 MON 輸入的增益或衰減。這使用戶能夠?qū)M量程電壓校準到~500mV至6.5535V之間的任何所需值。必須校準刻度校準寄存器,以便對 MON 引腳上的信號施加所需的增益或衰減。該校準程序在DS1856數(shù)據(jù)資料的“內(nèi)部校準”部分提供。本應用筆記后面的“如何內(nèi)部校準”部分將提供更多信息。
校準DS1856時需要注意的是,必須知道失調(diào)和右移寄存器的值。否則,如果這些值是某個非零值,并且存儲在刻度校準寄存器中的值不考慮這些偏移和右移值,則器件將無法正確校準。
偏移校準寄存器
DS1856的失調(diào)是對ADC產(chǎn)生的轉(zhuǎn)換值的數(shù)字加法或減法。雙字節(jié)失調(diào)校準值在校準DS1856的刻度(增益)后進行編程。此過程使用偏移校準值來“清零”任何偏移,或為每個監(jiān)控輸入提供數(shù)字輸出范圍偏移。
DS1856數(shù)據(jù)資料“內(nèi)部校準”部分的內(nèi)部失調(diào)校準偽代碼顯示了如何確定失調(diào)校準以消除失調(diào)。以下部分提供了其他信息,以及正偏移和負偏移的示例。
首先,失調(diào)校準的計算方法是確定ADC產(chǎn)生的數(shù)字轉(zhuǎn)換應增加或減去多少計數(shù)。這通常是通過應用零輸入(例如激光關閉)來完成的,然后在偏移校準寄存器設置為0000h的情況下讀取轉(zhuǎn)換。從MON寄存器讀取的數(shù)字值是從所有轉(zhuǎn)換中減去的值,此處稱為“計數(shù)”。
然后,將所需計數(shù)插入DS1856數(shù)據(jù)資料中給出的公式中,確定需要寫入失調(diào)校準寄存器的值,并在下面重復:
偏移校準寄存器 = [計數(shù)/4]
以下示例顯示了失調(diào)校準應用于ADC數(shù)字結(jié)果的不同方式。
示例1:如果對MON輸入施加0V并看到計數(shù)為200(C8h),則可以使用失調(diào)寄存器從A/D轉(zhuǎn)換中減去200(C8h)以將其歸零。然后,使用上面給出的公式確定要寫入偏移校準寄存器的值:
偏移校準寄存器 = [00C8h/4] = 0032h
因此,值 0032h 是要寫入偏移校準寄存器的值。在這種情況下,正在執(zhí)行減法,因此滿量程計數(shù) (FFF8h) 也將減少 C8h,從而得到新的滿量程計數(shù) FF30h。
示例 2:在此示例中,我們將整個范圍向上移動 200 個計數(shù)。結(jié)果是以下等式:
偏移校準寄存器 = [-00C8h/4] = FFCEh
值 FFCEh 將寫入偏移校準寄存器。要計算新的滿量程計數(shù),您需要嘗試將 C8h 添加到 FFF8h。然而,F(xiàn)FF8h是最大可能的讀數(shù),因此滿量程計數(shù)將保持FFF8h。
示例 3:計算零偏移的偏移校準值。
偏移校準寄存器 = [0000h/4] = 0000h
這也是偏移校準寄存器的出廠默認設置。
右移寄存器
右移寄存器(表 03h,字節(jié) 8Eh-8Fh)比刻度和偏移寄存器更容易理解。由于 MON1 至 MON3 能夠執(zhí)行多達 1 個右移位,因此每個 MON 輸入需要 2 位。MON03 和 MON8 的設置位于表 3h,字節(jié) 03Eh 中。MON8 的設置位于表 1856h, 00Fh 中。有關右移位的位置,請參考DS1856數(shù)據(jù)資料中的存儲器圖。這些EEPROM寄存器的出廠默認值為<>h,這意味著DS<>器件出廠時沒有使能右移。
為了進一步說明右移的結(jié)果,圖3顯示了右移如何影響MON值的幾個示例。
圖3.周一注冊右移示例。
如何進行內(nèi)部校準
雖然有幾種方法可以進行內(nèi)部校準,但本應用筆記重點介紹DS1856數(shù)據(jù)資料中描述的二進制搜索方法。偽代碼算法的輸出是標度(增益)和失調(diào)寄存器值,產(chǎn)生所需的傳遞函數(shù)(所需的LSB)。
要使用偽碼算法,必須將激光設置為兩種不同的強度。一個設置是最小強度設置,另一個是最大強度的 90%。必須在兩個設置之間來回切換的功能可用。對于非光學應用,必須對MON輸入施加兩種不同的電壓。數(shù)據(jù)手冊中提供的算法使用最大可能輸入電壓的90%,因此上限箝位的可能性較小。但是,當使用所需滿量程的百分比作為最大值時,計算數(shù)字值的相應百分比也很重要。
該算法首先將偏移和右移寄存器設置為 0000h。接下來,通過將刻度校準寄存器設置為半刻度 8000h 來啟動對刻度(增益)值的二叉搜索。然后,通過將90%最大輸入施加到要校準的MON通道,然后讀取相應的數(shù)字轉(zhuǎn)換來測試增益。此值稱為 Meas2。檢查 Meas2 是否在 FFF8h 處被鉗位。如果讀數(shù)被箝位,則無法斷定轉(zhuǎn)換是否實際上是FFF8h,或者是否大于FFF8h,而只是箝位到FFF90h。由于結(jié)果太高,二叉搜索的下一步是將增益值減半;再次施加<>%最大輸入以檢查箝位。該過程重復,直到找到非鉗位增益值。
一旦找到非鉗位Meas2,算法就會通過強制零輸入并讀取其數(shù)字轉(zhuǎn)換值來繼續(xù)。此值變?yōu)?Meas1。值CNT1(零點/LSB)和CNT2(滿量程值/LSB的90%)是計算出的期望轉(zhuǎn)換輸出值。使用算法開始時計算的常數(shù)計算 Meas2 和 Meas1 之間的增量并將其與所需的增量 (CNT2 - CNT1) 進行比較。如果 Meas2 - Meas1 小于 CNT2 - CNT1,則增益再次減半。但是,如果Meas2 - Meas1大于CNT2 - CNT1,則通過將增益減少一半并將其添加到當前增益值中來增加增益。該過程將重復,直到總共執(zhí)行 16 次迭代。得到的結(jié)果是一個16位值,產(chǎn)生所需的增益(和所需的LSB)。
還有另一種可視化增益校準過程的方法。從 15 位刻度校準寄存器的 MSB (b16) 開始,將該位設置為 1(所有其他位最初設置為 0)。當MSB = 1時,執(zhí)行施加模擬輸入和讀取數(shù)字輸出的過程。如果數(shù)字輸出被箝位,則增益過高,MSB寫回0。否則,MSB 仍然是 1.MSB 現(xiàn)在已知。接下來,將 b15 設置為已確定的內(nèi)容,將 b14 設置為 1,并將 b13 到 b0 設置為 0。再次執(zhí)行該過程以確定增益是否仍然過高。如果是這樣,則 b14 變?yōu)?0。否則,它將變?yōu)?1。該過程一直持續(xù)到確定所有 16 位。結(jié)果再次是一個16位值,產(chǎn)生所需的增益。
一旦確定了所需的增益,就可以校準新的偏移,或者將其保持在0000h(無偏移)。校準方法取決于如何使用偏移特征。數(shù)據(jù)手冊中算法附帶的說明假設用戶希望應用負偏移來使數(shù)字讀數(shù)為零,因此MON引腳上的零輸入將在數(shù)字輸出上產(chǎn)生所有零。這是通過在校準的MON輸入上應用零輸入并讀取轉(zhuǎn)換來實現(xiàn)的。例如,如果零輸入產(chǎn)生20h的數(shù)字輸出,則可以對失調(diào)進行編程,以便從每次轉(zhuǎn)換中以數(shù)字方式減去20h。在本例中,將20h代入失調(diào)公式,然后將結(jié)果編程到所需MON通道的失調(diào)校準寄存器中。
內(nèi)部校準和右移示例
這里提供的另一個示例演示了本應用筆記中介紹的概念。在此示例中,MON3用于監(jiān)視RxPower。當施加-40dBm的最小輸入時,DS10的MON3引腳得到1856mV的電壓。該輸入所需的數(shù)字輸出為0000h。當施加0dBm信號時,MON300上存在3mV。在這種情況下,所需的數(shù)字輸出為2710h,選擇以滿足SFF-8472規(guī)定的LSB。(RxPower 的 LSB 為 0.1μW。
下一步是確定理想的右班次數(shù)。由于所需數(shù)字輸出的范圍為0000h至2710h,DS9數(shù)據(jù)資料的表1856可用于選擇理想的右移位數(shù),在本例中為2。
為了在兩次右移后實現(xiàn)2710h的最終數(shù)字輸出,我們必須設置Scale Cal值,使300mV輸入在發(fā)生右移之前產(chǎn)生9C40h(2710h乘以22)的轉(zhuǎn)換。因此,內(nèi)部校準將用于計算增益,以便ADC在9mV輸入時產(chǎn)生至40C300h的轉(zhuǎn)換。一旦失調(diào)的內(nèi)部校準和編程完成,將啟用兩個右移。表 2 總結(jié)了我們的示例。
客戶信號接收功率 (dBm) | 施加于 MON3 引腳的電壓 (mV) | 校準期間的數(shù)字輸出(0 右移) | 最終數(shù)字輸出(兩個右移) |
-40 | 10 | 0000小時 | 0000小時 |
50 | 0563小時 | ||
100 | 0C1Fh | ||
150 | 12分貝 | ||
200 | 1997小時 | ||
250 | 2051小時 | ||
0 | 300 | 9C40h | 2710小時 |
一旦確定了輸入和輸出之間的關系(如表2所示),DS1856數(shù)據(jù)資料中提供的內(nèi)部校準程序用于內(nèi)部校準器件。例程首先執(zhí)行一些初步計算,如下所示。請注意,此處不使用數(shù)據(jù)手冊例程中顯示的90%,因為第二個校準點(300mV = 9C40h)已經(jīng)小于滿量程值的90%。因此,本例中使用的內(nèi)部校準例程刪除了對90%的所有引用。
給定表 2,進行以下計算:
LSB = (0.300V - 0.010V)/(9C40h - 0000h) = 0.290V/40,000 = 7.25μV 滿量程電壓 = FS = LSB x 65535 = 7.25μV x 65535 = 0.475128V
CNT1 = 0.010/LSB = 1379.3 => 1379 (十進制程) CNT2 = 0.300/LSB = 41379.31 => 41379 (十進制程)
CNT1 和 CNT2 是應用兩個校準點時的預期(所需)數(shù)字輸出。內(nèi)部校準程序?qū)е滦甭时M可能接近由這兩者確定的斜率 值。
例程的迭代部分以二叉搜索方式對斜率進行編程的 16 個周期,然后進行比較以查看它是否等效于所需的斜率。本例采用內(nèi)部校準程序?qū)S1856進行校準,所有16次迭代的輸入和輸出如表3所示。
表 3 的第一列“迭代”等效于例程中的 n。列gain_result是每次迭代編程到刻度校準寄存器(設備表 03h,字節(jié) 98-99h)中的值。Meas2和Meas1列是從器件讀取的數(shù)字值,分別施加300mV和10mV輸入。最后,對于Meas2沒有鉗位的迭代,將Meas2 - Meas1與CNT2 -CNT1進行比較。如果 Meas2 - Meas1 大于 CNT2 - CNT1,則gain_result太大。對應于該迭代的 Scale Cal 位變?yōu)榱悖@反過來決定了連續(xù)迭代的gain_result。完成所有 16 次迭代后,即可知道 Scale Cal 值。此示例中使用的設備導致刻度校準值為 5038h。
迭 代 | gain_result | 測量2 | 測量1 | 測量2 | 測量1 | 測量2-測量1 | 碳化鈉2-碳化碳化合物1 | 位結(jié)果 | 刻度校準 |
---|---|---|---|---|---|---|---|---|---|
(12月) | (十六進制) |
(十六進制) |
(12月) | (12月) | (12月) | (垃圾桶) | (十六進制) | ||
15 | 8000 | FD58 | 0870 | 64856 | 2160 | 62696 | 40000 | 0 | 5 |
14 | 4000 | S2A0 | 0450 | 33440 | 1104 | 32336 | 40000 | 1 | |
13 | 6000 | 貨號 C010 | 0658 | 49168 | 1624 | 47544 | 40000 | 0 | |
12 | 5000 | A138 | 0558 | 41272 | 1368 | 39904 | 40000 | 1 | |
11 | 5800 | B0BS | 0500 | 45240 | 1280 | 43960 | 40000 | 0 | 0 |
10 | 5400 | A938 | 05A0 | 43320 | 1440 | 41880 | 40000 | 0 | |
9 | 5200 | 空客A530 | 0578 | 42288 | 1400 | 40888 | 40000 | 0 | |
8 | 5100 | 空客A328 | 0568 | 41768 | 1384 | 40384 | 40000 | 0 | |
7 | 5080 | 空客A238 | 0568 | 41528 | 1384 | 40144 | 40000 | 0 | 3 |
6 | 5040 | A1A8 | 0560 | 41384 | 1376 | 40008 | 40000 | 0 | |
5 | 5020 | 空客A170 | 0558 | 41328 | 1368 | 39960 | 40000 | 1 | |
4 | 5030 | 空客A190 | 0558 | 41360 | 1368 | 39992 | 40000 | 1 | |
3 | 5038 | A198 | 0558 | 41368 | 1368 | 40000 | 40000 | 1 | 8 |
2 | 503C | A1A0 | 0558 | 41376 | 1368 | 40008 | 40000 | 0 | |
1 | 503A | A1A0 | 0558 | 41376 | 1368 | 40008 | 40000 | 0 | |
0 | 5039 | A1A0 | 0558 | 41376 | 1368 | 40008 | 40000 | 0 |
將器件編程為其新的刻度校準值時,偏移校準通過強制 10mV(我們想要讀取 0000h 的電壓)并讀取數(shù)字結(jié)果來確定。本例中使用的器件在施加0558mV時產(chǎn)生的值為10h。使用偏移公式,偏移校準計算公式為:
MON3 偏移校準 = [0558h/4] = 0156h
值 0156h 將寫入 MON3 偏移校準寄存器字節(jié)。
新的鉗位值可以計算如下:
新鉗位值(右移前)= FFF8h - 0558h = FAA0h
內(nèi)部校準完成后,通過將20h寫入表03h,位置8Fh來啟用兩個右移。
結(jié)論
DS1856的內(nèi)部校準和右移功能提供了最大的靈活性,使DS1856適合各種應用。本應用筆記提供了DS1856數(shù)據(jù)資料中沒有的其他信息,特別是為什么內(nèi)部校準和右移是有益的,以及如何實現(xiàn)它們。還提供了一個例子來將這些概念聯(lián)系在一起。
審核編輯:郭婷
-
寄存器
+關注
關注
31文章
5343瀏覽量
120377 -
存儲器
+關注
關注
38文章
7492瀏覽量
163842 -
adc
+關注
關注
98文章
6498瀏覽量
544659
發(fā)布評論請先 登錄
相關推薦
評論