一、简介
ADS1220 内部集成了一个精密温度传感器,通过将寄存器的TS位置1可使能温度传感器模式。
在温度传感器模式下, 配置寄存器 0 的设置不产生任何影响,该器件使用内部基准进行测量,与所选基准电压源无关。
温度读数过程与模拟输入启动并读取转换结果的过程相同。
温度数据以 14 位结果呈现,与 24 位转换结果左对齐,数据从最高有效字节 (MSB) 开始输出。
当读取这三个数据字节, 前 14 位用于指定温度测量结果。 一个 14 位 LSB 等于0.03125°C。 负数以二进制补码形式表示。
二、温度与数字代码的相互转化
1、温度转化为数字代码
1)正温度
只需将数字转换为采用左对齐格式的 14 位二进制编码, MSB = 0 表示正号。
示例: 50°C / (0.03125°C/计数) = 1600 = 0640h = 00 0110 0100 0000
2)负温度
通过对二进制数取绝对值再加 1 的方式生成负数的二进制补码,然后以 MSB = 1 表示负号。
示例: |–25°C| / (0.03125°C/计数) = 800 = 0320h = 00 0011 0010 0000
二进制补码格式: 11 1100 1101 1111 + 1 = 11 1100 1110 0000
2、数字代码转化为温度
首先需要检查 MSB 是 0 还是 1。 如果 MSB 为 0, 将十进制代码乘以 0.03125°C 即可
获得结果。 如果 MSB = 1, 则将结果减 1 后对所有位取补码。 之后将结果乘以 –0.03125°C
示例: 器件回读 0960h: 0960h 的 MSB = 0。
0960h · 0.03125°C = 2400 · 0.03125°C = 75°C
示例: 器件回读 3CE0h: 3CE0h 的 MSB = 1。
减 1 后对结果取补码: 3CE0h → 0320h
0320h · (–0.03125°C) = 800 · (–0.03125°C) = –25°C