DS1852是一款數(shù)字電位器,具有5路模擬輸入,可與電位器配合使用,收集模擬系統(tǒng)的反饋信息,并提供模擬控制功能。其預(yù)期應(yīng)用是在激光收發(fā)器中提供高水平的控制和儀表,但它可用于需要這種儀器和控制的任何類型的控制系統(tǒng)。本應(yīng)用簡介討論DS1852中模擬輸入寄存器的解釋。它旨在作為數(shù)據(jù)資料的補充,供軟件/固件開發(fā)人員編寫代碼來控制DS1852。
介紹
DS1852的模數(shù)轉(zhuǎn)換器(ADC)讀取5個模擬輸入。本應(yīng)用筆記解釋了如何解釋溫度的數(shù)字值,VCC,并模擬輸入數(shù)據(jù)并將其轉(zhuǎn)換為溫度和電壓。
縮放校準(zhǔn)
每個模擬輸入 (VCC, Bin, Pin, Rin) 具有表 03h EEPROM 中用于校準(zhǔn)的 16 位縮放值。本應(yīng)用筆記假設(shè)使用出廠默認(rèn)縮放值。
將溫度從十六進制轉(zhuǎn)換為十進制
轉(zhuǎn)換DS1852溫度值的過程從讀取以字節(jié)60h(溫度的MSB)和61h(溫度的LSB)為單位的十六進制值開始。這兩個字節(jié)包含最新的溫度讀數(shù),但是較低的4位被忽略,并且在讀取時應(yīng)用0屏蔽。讀取兩個字節(jié)后,將十六進制值轉(zhuǎn)換為二進制。4個較低位的位權(quán)重和掩碼如表1所示。
60小時 (溫度兆字節(jié)) | 61小時 (溫度LSB) | ||||||||||||||
S | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 2-6 | 2-7 | 2-8 |
S | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 | 0 | 0 | 0 | 0 |
溫度存儲在二進制數(shù)據(jù)的 12 MSB 中。MSB 是符號位,指示 2 的補碼二進制數(shù)是正數(shù)還是負(fù)數(shù)。如果 MSB 為 0,則溫度為正。如果 MSB 為 1,則溫度為負(fù)。接下來的 11 位包含溫度值,并以不同的方式轉(zhuǎn)換為正值和負(fù)值的小數(shù)。
正溫度轉(zhuǎn)換
下面是如何將正溫度值從十六進制轉(zhuǎn)換為十進制的示例。在此示例中,地址 60h 和 61h 中的值分別讀取為 3Ch 和 50h。將這兩個字節(jié)組合在一起,得到十六進制值 3C50h。接下來,將十六進制數(shù)據(jù)轉(zhuǎn)換為二進制。3C50h 的二進制等效值是 0011 1100 0101 0000。由于MSB為0,因此溫度為正。二進制數(shù)據(jù)的較低 4 位將被忽略,因此它們被 0 屏蔽。表 2 顯示了從十六進制到二進制的轉(zhuǎn)換以及低 4 位的屏蔽。
十六進制數(shù)據(jù) | 二進制數(shù)據(jù) | 屏蔽的二進制數(shù)據(jù) |
3C50h | 0011 1100 0101 0000 | 0011 1100 0101 0000 |
由于MSB符號位為0,因此溫度為正,不需要2的補碼變換。因此,可以使用計算器將該值直接轉(zhuǎn)換為十進制數(shù)。二進制數(shù) 0011 1100 0101 0000 等于十進制值 15440。十進制值必須除以 256(或乘以 2-8) 以計算正確的十進制溫度值。將十進制值 15440 除以 256 得到十進制溫度值為 60.3125°C。
負(fù)溫度轉(zhuǎn)換
轉(zhuǎn)換負(fù)溫度值 (MSB = 1) 有點復(fù)雜。例如,地址 60h 和 61h 包含數(shù)據(jù) D3h 和 60h。第一步是將十六進制值轉(zhuǎn)換為二進制。同樣,較低的 4 位被忽略,因此它們將被 0 屏蔽。表 3 顯示了從十六進制到二進制的轉(zhuǎn)換以及 4 個低位的屏蔽。
十六進制數(shù)據(jù) | 二進制數(shù)據(jù) | 屏蔽的二進制數(shù)據(jù) |
D350K | 1101 0011 0110 0000 | 1101 0011 0110 0000 |
下一步是獲取掩碼二進制值的 2 補碼。這是通過首先反轉(zhuǎn)屏蔽的二進制數(shù)據(jù),然后將 1 添加到 LSB 來完成的。二進制數(shù) 1101 0011 0110 0000 轉(zhuǎn)換為 0010 1100 1001 1111。將 1 添加到 LSB 會得到二進制數(shù) 0010 1100 1010 0000。此二進制數(shù)等于十進制數(shù) 11424。與正溫度示例一樣,轉(zhuǎn)換后的十進制值除以 256,但也變?yōu)樨?fù)值,因為溫度為負(fù),如 MSB 所示。因此,十進制值 11424 除以 -256,得出十進制溫度值為 -44.625°C。
VCC譯本
五世抄送值存儲在地址位置 62h 和 63h 中。電壓數(shù)據(jù)作為無符號的16位值讀取,但較低的4位被忽略。讀取 62h 和 63h 時,較低的 4 位應(yīng)用0 屏蔽。表 4 顯示了 V 的位權(quán)重抄送數(shù)據(jù)和 4 個較低位的屏蔽。在屏蔽較低的4位時,最大范圍為65520,當(dāng)乘以100μV的LSB(比例因子)(出廠默認(rèn)值)時,轉(zhuǎn)換為0V至6.552V的電壓范圍。
62小時(VCC MSB) | 63小時( VCC LSB) | ||||||||||||||
215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 0 | 0 | 0 | 0 |
例如,從 62h 和 63h 讀取的值為 D7A0h。將此數(shù)字直接轉(zhuǎn)換為十進制值得到的值為55200,乘以100μV比例因子時轉(zhuǎn)換為5.52V。
模擬輸入 (Bin, Pin, Rin)
模擬輸入引腳B在, P在和 R在是無符號的 16 位數(shù)字,并以相同的方式翻譯。表5顯示了模擬輸入字節(jié)的位權(quán)重和4個較低位的屏蔽。在屏蔽較低的4位時,最大范圍為65520,當(dāng)乘以38.147μV(出廠默認(rèn)值)的LSB(比例因子)時,相當(dāng)于0V至2.499V的電壓范圍。
64小時 (Pin MSB) | 65小時(Pin LSB) | ||||||||||||||
66小時(Pin MSB) | 67小時(Pin LSB) | ||||||||||||||
68小時(Rin MSB) | 69h (Rin LSB) | ||||||||||||||
215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 0 | 0 | 0 | 0 |
例如,從兩個地址位置讀取十六進制值 9E70h。用 0 屏蔽 4 個低位后,二進制值確定為 1001 1110 0111 0000。十進制等效項為 40560。將該值乘以比例因子 38.147μV 得到 1.547V 的縮放電壓值。
結(jié)論
本應(yīng)用筆記演示如何將DS1852中存儲的十六進制數(shù)據(jù)轉(zhuǎn)換為十進制值。
審核編輯:郭婷
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3370瀏覽量
105791 -
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119816 -
電位器
+關(guān)注
關(guān)注
14文章
1003瀏覽量
66672
發(fā)布評論請先 登錄
相關(guān)推薦
評論