主题中讨论的其他器件: TLA2528
工具与软件:
尊敬的 TI 团队:
在上一篇关于 TLA2518无响应的帖子发布后、我已成功更正了该问题。
现在我收到了数据、但尽管正确设置了自动序列和通道附加寄存器、但我没有收到正确的通道更新。
TLA2528通道附加功能非常好、但我无法使其在 TLA2518上正常工作。
这是设置器件的输出。 您可以看到这些寄存器设置有什么问题吗?
**监视器输出**
TLA2518 ADC2已启动
所有引脚均设置为输入
通道附加已添加至结果
OSR 寄存器=:11
采样速度设置为160SPS、振荡器设置为低功耗
已将所有引脚添加至自动序列
自动序列已启动
系统状态 ADC2=:11000001
ADC2配置完成
ADC2配置=:
--- TLA2518 ----
系统状态= 11000001
常规配置= 0
数据配置= 10000
OSR 配置= 11
OP Mode = 11111
引脚配置= 0
GPIO 配置= 0
GPO 驱动器配置= 0
GPO 值= 0
GPI 值= 0
Sequence Config = 10001
手动通道选择= 0
自动序列通道选择= 11111111
--- TLA2518 ----
电池电压=:10011000110
通道=:101 **应为 AIN0**
电池电压=:11111000110
通道=:101 **应为 AIN1**
电池电压=:1111110001000
通道=:101 **应为 AIN2**
蓄电池电压=:11011100000
通道=:101 **应为 AIN3**
除了通道 ID 错误外、上面的读数也是错误的、因为我预计 AIN0的电压为1.1VDC (DVDD & AVDD = 5VDC)时、应提供14,418或0011100001010010的读数(16位、因为 OSR 正在打开)。 我还期望4位通道 ID 占用位16-19。 我正在将值读取到一个长度为3 x 8位元素的数组中、因此数组元素0和1将具有数据、元素2将具有通道 ID。 通道 ID 需要向右移动4位才能正确。 代码非常简单。 我是否有可能首先将数据作为 LSB 输出到 MSB? 我对芯片手册和 ESP32 SPI 实施的理解是应该首先提供 MSB?
我是否应该在尝试读取数据之前等待设置 SYSTEM_STATUS OSR_DONE 位? 我不需要对 TLA 2528执行此操作、因此尚未实施。
产生该问题的主要原因是、由于我能够设置和读取寄存器好、我对 SPI 通信的理解似乎合理。