需要有关读回 TLA2528组件上的 A/D 输入的帮助。
背景:将通道0-3的器件配置为 A/D、通道4-7是 GPIO 输出。 我们正在成功地与 GPIO 输出通信(可以将输出从逻辑"0"切换到逻辑"1"并返回、但似乎无法读取 A/D 输入)。
我们将使用的初始化例程如下所示:
写入 GENERAL_CFG 寄存器0x00
写入到 DATA_CFG 寄存器0x0F
向 OSR_CFG 寄存器0x00写入
写入 SERIAL_CFG 寄存器0x00 (手动序列)
写入 PIN_CFG 寄存器0xF0 (Chs0-3 A/D 和 Chs 4-7 GPIO)
写入 GPIO_CFG 寄存器0xF0) (CHS 4-7数字输出)
写入 GPO_DRIVE_CFG 0xF0 (Chs 4-7作为开漏输出)
写入 GPO_VALUE 寄存器0xF0 (以将 GPIO 输出设置为逻辑"1")
此操作完成了初始化例程。
尝试读取 A/D 输入的过程:
写入 CHANNEL_SEL 寄存器0x02 (以选择特定通道上的 A/D 输入)
器件输出的读取数据
问题: 问题是数据不一致、不是实际 A/D 输入电压的预期值。
怀疑 我们未正确配置器件或未正确执行读取命令。 您能提供建议吗?
问题2:
在我们配置为开漏的 GPIO 输出上、通过10K 电阻器将输出上拉至+5伏、但输出只上升3.7伏。 除了10k 上拉电阻器外、我们已经移除了这些输出上的所有负载。 TLA 2528 AVDD 和 DVDD 电源线都连接到3.3V 电源、并通过靠近输入引脚的1uF 电容器旁路每个电源输入。
对此有何建议?
原理图快照: