“线程: TLV5627, 测试”中讨论的其它部件
大家好,团队
我们的客户 注意到 ,当 ADS1258的 AIN5引脚的输入电压 为0V 时,测得的电压 不是零(0x00020A70 -计数为133,750)。 根据我们的客户,
我已经为该设备设置了所有配置寄存器(通过 SPI)-这些寄存器似乎工作正常。
但是,当我有一个 ADC 输入的0.000伏输入电压时,返回的24位值为0x00020A70,计数为133,750-ish
为什么该值的读数不是0x00000000
我当前正在测试的电路是 DAC (8位)= TLV5627,该电路具有对 ADC (ADS1258)输入的环回
ADS1258的电路已连接。 我们认为此电路正确遵循数据表。
通过 SPI 设置 ADS1258时,下载的配置为:
- 写入命令设置字节=0x70 (写入命令,从 Reg 0开始)
- ADC_ReG_Config0 = 0x02 (自动扫描模式,内部 mux,禁用 CLKIO 输出,不切碎,状态字节启用且读取)
- ADC_ReG_Config1 = 0x50 (DLY=101 = 128 usec 样本之间,偏置电流源关闭,最低数据量 => 1483样本/秒(在逻辑分析仪上确认))
- ADC_ReG_MUXSCH = 0x00 (未在自动扫描模式下使用)
- ADC_REG_MUXDIF = 0x00 (未为差分模式选择通道–因为所有输入都是单端输入)
- ADC_ReG_MUXSG0 = 0xFF (通道0,1,2,3,4,5,6,7已启用)
- ADC_ReG_MUXSG1 = 0xC7 (仅启用通道8,9,10,14和15)
- ADC_REG_SYSRED = 0x3D (启用 ADC 偏移,VCC,温度,增益和参考)
逻辑分析器上已确认此配置寄存器序列。
输入模拟信号通常来自高阻抗输出源。
我目前正在测试的关键信号是 AIN5。 这是 TLV5627 DAC 的输出–随后通过 R141 (10k)。
我有一根电线焊接在 R141的一个焊盘上,可以确认 DAC 的所需输出是正确的。 也就是说,TLV5627工作正常(+/-5mV)。
对于万用表确认电压为0.004伏的情况, ADC 给出的读数为0x00020B13 = 133,907 à 值* 4.096 / 7864320 = 0.0697伏 (高)
对于万用表确认电压为0.800伏的情况, ADC 给出的读数为0x0015B9DB = 1,423,835 à 值* 4.096/ 7864320 = 0.7416伏 (低)
对于万用表确认电压为2.556伏的电压, ADC 给出的读数为0x004103DE = 4,260,830 à 值* 4.096/7864320 = 2.2192伏 (低)
对于万用表确认电压为4.075伏的情况, ADC 给出的读数为0x00666AB6 = 6711,990 à 值* 4.096 / 7864320 = 3.4958伏 (低)
因此,这些值呈线性增长,但 ADC 的偏移和增益似乎已经不存在。 你有什么想法吗?
此致,
丹尼洛