Other Parts Discussed in Thread: TPS659037, AM5716, SYSBIOS
Thread 中讨论的其他部件:TPS659037、 SYSBIOS
你(们)好
我将 AM5716 Sitara 处理器与 TPS659037 PMIC 搭配使用。
PMIC 连接到 I2C1、我使用 PMIC 中的 ADC 读取连接到 PMIC 的 GPADC_IN0和 GPADC_IN1的两个模拟值。
ADC 配置为通道0和1的自动转换(默认周期为1/32秒)。
通过 I2C (从器件地址0x59)寄存器读取自动转换结果寄存器时
GPADC_AUTO_CONV0_LSB (寄存器0xC9)
GPADC_AUTO_CONV0_MSB (寄存器0xCA)
GPADC_AUTO_CONV1_LSB (寄存器0xCB)
GPADC_AUTO_CONV1_LSB (寄存器0xCC)
有时结果是错误的。
例如、Conv0通常为0x0d49 +一些位抖动
当该值错误时、它将转至0x1000或0x1049、0x104A
模拟输入值是稳定的。
当 ADC 值达到指定的阈值时、我不会中断、我只想定期读取
自动转换结果寄存器。
文档(TPS659037寄存器映射技术参考手册(slu015b))显示 MBS 的高4位被保留且为0。
为什么我在保留位 sometines 中得到"1"?
为什么我有时会得到错误的结果?
在文档中、我找不到任何对何时读取转换结果寄存器有一定限制的语句。
您可以找到正确和错误 ADC 值的 I2C 传输。
已用通道:
A (蓝色):I2C1_SCL
B (红色):I2Ca_SDA
C (绿色):调试输出、高电平、同时 SYSBIOS I2C 传输函数处于活动状态
D (黄色):忽略
我检查了 GPADC_IN0绝不会低于800mV。
此致、
Markus
e2e.ti.com/.../PMIC_5F00_ADC_5F00_I2C_5F00_Transfers.zip