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