TI工程师你好:
我最近在使用ads1219这款模数转换器,遇到一些问题,我是想通过FPGA来读取ADS1219的两路单端的模拟信号,在疑惑是读写流程和使用single-shot模式和continuous的区别,如果我是使用continuous模式,是不是我一开始只要把配置好的数据和START/SYNC写进去,就可以开始continuous转换了? 针对我这个读取单端两路模拟信号,我设计的I2C写读的流程内容如下。
I2C写过程
1.slave地址
2.WREG(40h)
3.configration(通道,增益设置)
4.RREG(用于DRDY状态查询)
5.START/START/SYNC
I2C读取
1.读取DRDY信号
2.根据DRDY有效,写入RREG,来读取每一端的数据
上面是我对ADS1219的读写过程,是先写入(上面的1~5)之后,再执行下面的读取操作(读取是根据DRDY有效进而写入RREG,来读取转换后的DATA的。
请问我这种读写流程是否存在问题呢?continuous模式是否可以读取单端两路模拟信号?还有就是写入的RREG是否可以理解为要读取的data处寄存器的地址?
Amy Luo:
您好,
ADS1219的I2C接口是符合标准I2C协议的。每一次读写都需要slave地址的。
建议Master先通过I2C RESET 命令对ADS1219进行复位,已确保ADS1219上电后寄存器状态是默认状态。
然后通过写寄存器命令WREG配置寄存器,需要配置的参数有输入接口MUX[2:0]、增益、基准电压、采样率、工作模式,为确保相应的参数已正确写入,最好再读出来判断一下。
然后START/SYNC命令启动转换,循环检测DRDY信号是否低电平,为低则RDATA命令读取转换结果。
检测DRDY信号有两种方法,一是中断的方式检测DRDY管脚低电平触发,一是读取寄存器状态判断。
最后POWERDOWN命令停止转换。因为只有一路ADC,不能两路模拟信号同时转换,如果要采集两路模拟信号,可以来回切换输入接口MUX[2:0]。