ADS1115的IIC通信
帮人给移远bc芯片和ads1115通信。这里根据datasheet总结下ADS1115的IIC通信
datasheet里面其实有个quick guide,比较详细的介绍了和ADS1113/4/5 IIC通信的流程.
这个流程是让ADS1113/4/5能够连续的进行A/D转换并且读取结果的过程。将详解下这个流程中的步骤
1.写congif register,这是为了写配置寄存器,确定ADS1115的工作模式。
1)首先要确定从机地址(slave address),slave address 可选,addr pin有4个选择。不过一般是地址位接GND,1001000,最后一位是确定IIC的写/读状态,写的时候是1,读的时候是0.所以slave address读写地址是0x90/0x91(10010000/10010001)
2)写0x01(00000001),指向config register(必选)
标题
pointer register的后两位确定了ADS1115的4个功能寄存器地址的地址
所以conversion reg的地址是0x00,config register 的地址是0x01.
3)配置config register.
quickguide里面给的配置参数的高低八位是10000100,100000011。这个参数不是随便配置的,必须搞清楚
config reg的高8位
config reg的低8位
高8位的主要作用如下:
[15] 工作状态或者启动单次转换.写状态时0没有影响,1则表示启动单次转换,guide选择了1。同guide就可以了
【14:12】只对ADS1115有用,根据输入端口配置,guide里面选的000,表示差分输入的两个端口正极AIN0,负极AIN1。这只有根据自己的输入来配置,不一定按照guide来
【11:9】ADS1115 only。根据可编程增益放大器的增益配置。这配置可以改变输入信号的有效范围,但是输入信号不能超过VSS+0.3V。guide选择了010,这个也根据自己要求来
【8】ads1115工作模式,0为单次,1为连续continuous。
低8位
【7:5】采样频率,guide是100,默认值128,一般足够了
【4:0】只对ADS1114/1115有用,主要是比较器和输出的配置。一般默认值即可
2 配置完成之后,转向conversion reg,就是输出寄存器,即
依次
1)写入0x90(从机地址),
2)0x00(输出寄存器的地址,必选)
3读取数据
1)写入0x91(从机地址,读)
2)接收输出寄存器的高8位
3)接收输出寄存器的低8位