ZHDA297 November 2022 ADC081C021 , ADC081C027 , ADC101C021 , ADC101C027 , ADC121C021 , ADC121C021-Q1 , ADC121C027 , ADC128D818 , ADS1000 , ADS1000-Q1 , ADS1013 , ADS1014 , ADS1015 , ADS1015-Q1 , ADS1100 , ADS1110 , ADS1112 , ADS1113 , ADS1114 , ADS1115 , ADS1115-Q1 , ADS7823 , ADS7827 , ADS7828 , ADS7828-Q1 , ADS7830 , ADS7924 , AFE539A4 , DAC081C081 , DAC081C085 , DAC101C081 , DAC101C081Q , DAC101C085 , DAC121C081 , DAC121C085 , DAC43204 , DAC43401 , DAC43401-Q1 , DAC43608 , DAC43701 , DAC43701-Q1 , DAC53002 , DAC53004 , DAC53202 , DAC53204 , DAC53204W , DAC53401 , DAC53401-Q1 , DAC53608 , DAC53701 , DAC53701-Q1 , DAC5571 , DAC5573 , DAC5574 , DAC5578 , DAC60501 , DAC60502 , DAC63002 , DAC63004 , DAC63202 , DAC63204 , DAC6571 , DAC6573 , DAC6574 , DAC6578 , DAC70501 , DAC70502 , DAC7571 , DAC7573 , DAC7574 , DAC7578 , DAC7678 , DAC80501 , DAC80502 , DAC8571 , DAC8574
在第二个示例中,使用 I2C 从精密 ADC 读取数据。ADS1115 是一款使用 I2C 接口的 16 位精密 ADC,可支持标准、快速和高速模式。该器件具有可通过配置寄存器进行设置的多种设置,包括可编程增益放大器(或 PGA)设置的输入范围、各种数据速率,以及可设置为进行差分测量或相对于接地的单端测量的输入多路复用器。图 4-3 展示了 ADS1115 的功能方框图。
与前一个示例类似,ADS1115 有一个标记为 ADDR 的地址引脚。此引脚用于选择四个 I2C 地址之一,这意味着只要器件编程为不同的地址,这些器件中的四个就可以在同一总线上使用。用于该器件的 I2C 地址取决于 ADDR 引脚连接。当 ADDR 引脚连接到 VDD、SDA 或 SCL 时,该器件可以设置为表中所示的其他地址。在本示例中,ADDR 设置为接地,因此地址设置为 48h。
ADS1115 具有四个内部寄存器,每个寄存器由一个内部指针寄存器进行寻址。第一个寄存器是转换数据寄存器。当 ADC 完成转换时,将 ADC 数据放入该寄存器中,控制器器件会读取该寄存器。
第二个寄存器是配置寄存器。控制器器件向该寄存器写入值以对器件进行编程并开始转换。配置寄存器设置器件的可编程增益放大器、输入通道、数据速率和其他工作模式。
最后两个寄存器是 Lo_threshold 寄存器和 Hi_threshold 寄存器。这两个寄存器用于设置器件中数字比较器的阈值。一旦转换数据超过这些阈值,器件就可以为 ALERT/RDY 引脚设置警报。在本示例中,未配置比较器和阈值。
在此示例中,首先显示配置寄存器的设置来说明 ADC 的设置和范围。之后,显示了 ADC 从转换寄存器读取的示例 I2C。