如何解释DS1852温度和电压信号

元器件信息   2023-08-04 14:39   402   0  

DS1852  点击型号即可查看芯片规格书 


芯片规格书搜索工具-icspec


介绍

DS1852的数字转换器(ADC)读取五个输入。本应用说明说明如何解释温度、V(CC)和输入数据的数字值,并将其转换为温度和电压。

定标校准

每个输入(V(CC), B(in), P(in), R(in))在表03h EEPROM中具有16位刻度值用于校准。本应用说明假设使用工厂默认的缩放值。

将温度从十六进制转换为十进制

转换DS1852温度值的过程从重新生成以字节60h(温度的MSB)和61h(温度的LSB)存储的十六进制值开始。这两个字节包含最近的温度值,但是较低的4位被忽略,并且在读取时应该用0掩盖。读取两个字节后,将十六进制值转换为二进制。下4位的位权和掩码如表1所示。

60h(温度MSB)6h(温度LSB)
年代2 (6)2 (5)2 (4)2 (3)2(2)2 (1)2 (0)2 (1)2 (2)2 (3)2 (4)2 (5)2 (6)2 (7)2 (8)
年代2 (6)2 (5)2 (4)2 (3)2(2)2 (1)2 (0)2 (1)2 (2)2 (3)2 (4)0000

温度存储在二进制数据的12个msb中。MSB是符号位,指示2的补码二进制数是正还是负。如果MSB为0,则温度为正。如果MSB为1,则温度为负。接下来的11位包含温度的值,并且对于正值和负值转换成不同的十进制。

正温度平移

下面是如何将正温度值从十六进制转换为十进制的示例。在本例中,地址60h和61h中的值分别读取为3Ch和50h。将这两个字节组合起来得到3C50h的十六进制值。接下来,将十六进制数据转换为二进制。3C50h的二进制等价物是0011 1100 0101 0000。由于MSB为0,温度为正。二进制数据的低4位被忽略,因此它们被0掩码。表2显示了从十六进制到二进制的转换和低4位的屏蔽。

HEXIDECIMAL数据二进制数据掩码二进制数据
3 c50h0011 1100 0101 00000011 11001010000

由于MSB符号位为0,因此温度为正,需要进行no 2的补位变换。因此,可以使用计算器将该值直接转换为十进制数。二进制数0011 1100 0101 0000等于十进制数15440。十进制数值必须除以256(或乘以2(-8))才能计算出正确的十进制温度值。将十进制值15440除以256得到的十进制温度值为60.3125°C。

负温度平移

转换负温度值(MSB = 1)有点复杂。例如,如果地址60h和6h包含数据D3h和60h。第一步是将十六进制值转换为二进制。同样,低4位被忽略,因此它们将被0掩盖。表3显示了从十六进制到二进制的转换以及4个较低位的屏蔽。

HEXIDECIMAL数据二进制数据掩码二进制数据
D360h1101 0011 0110 0001101 0011 01100000

下一步是取掩码二进制值的2的补码。这是通过首先反转掩码二进制数据,然后在LSB中添加1来实现的。二进制数1101 0011 0110 000转换成0010 1100 1001 1111。LSB加1得到二进制数0010 1100 1010 0000。这个二进制数等于十进制数11424。与正温度示例一样,转换后的十进制值除以256,但由于MSB指示的温度为负,因此也为负。因此,十进制值11424除以-256,得到的十进制温度值为-44.625°C。

V (CC)翻译

V(CC)值存储在地址位置62h和63h。电压数据作为无符号16位值读取,但忽略低4位。当读取62h和63h时,下4位应该用0掩码。表4显示了V(CC)数据的位权重和4个较低位的掩码。在低4位掩码的情况下,最大范围为65520,当它乘以100 μ V(出厂默认值)的LSB(缩放因子)时,转换为0V至6.552V的电压范围。

62h (V(CC) MSB)63h (V(CC) LSB)
2 (15)2 (14)2 (13)2 (12)2 (11)2 (10)2 (9)2 (8)2 (7)2 (6)2 (5)2 (4)2 (3)2(2)2 (1)2 (0)
2 (15)2 (14)2 (13)2 (12)2 (11)2 (10)2 (9)2 (8)2 (7)2 (6)2 (5)2 (4)0000

例如,从62h和63h读取的值发现为D7A0h。将此数字直接转换为十进制值的结果为55200,当乘以100 μ V缩放因子时,其转换为5.52V。

输入(B(in), P(in), R(in))翻译

输入引脚B(in)、P(in)和R(in)是无符号16位数字,并以相同的方式进行转换。表5显示了输入字节的位权重和4个较低位的掩码。在低4位掩码的情况下,最大范围为65520,当它乘以38.147µV(出厂默认值)的LSB(缩放因子)时,转换为0V至2.499V的电压范围。

64h (B(in) MSB)65小时(B(in) LSB)
66h (P(in) MSB)67h (P(in) LSB)
68h (R(in) MSB)69h (R(in) LSB)
2 (15)2 (14)2 (13)2 (12)2 (11)2 (10)2 (9)2 (8)2 (7)2 (6)2 (5)2 (4)2 (3)2(2)2 (1)2 (0)
2 (15)2 (14)2 (13)2 (12)2 (11)2 (10)2 (9)2 (8)2 (7)2 (6)2 (5)2 (4)0000

例如,从两个地址位置读取十六进制值9E70h。用0掩码4位后,确定二进制值为1001 11100 0111 0000。十进制的对应值是40560。将该值乘以缩放因子38.147µV,得到缩放后的电压值为1.547V。

结论

这个应用程序笔记演示了如何将存储在DS1852中的十六进制数据转换为十进制值。


登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。