您好,
我在让AFE4300启动ADC测量时遇到问题。 我开始使用一款使用TI的参考设计设计设计的新主板。 正在尝试通过Arduino UNO与主板通信。
这就是发生的情况
- 我能够在SPI上与AFE4300建立通信。 我已监控了CRO上的SPI时钟和数据,并且它正常。
- 我可以写入设备控制寄存器,也可以读回数据(读取后我又写回了数据),所有数据似乎都正常。
- 设备前端已通电。 我通过检查测量值~1.7V的VLDO来完成此操作。
- 我已使用分压器将50mV输入连接到Wight测量输入的INP1和INM1。 分压器由1.7V VLDO激发。
- 之后,我希望看到RDY (bar)提供脉冲以指示ADC测量就绪。 但我在RDY引脚上看不到任何内容(始终保持高位)
- 以下是AM如何写入AFE寄存器的代码片段。 (注意:使用SPI调用实现写入和读取寄存器)
serial.println ("初始化称重器");
writeRegister (device_control_1,0x6005);//启动称重信号链
serial.println (readRegister (device_control_1));//读取以检查
writeRegister (device_control_1,0x6005);//写回
writeRegister (ADC_CONTINT_REGISTER,0x4140);//差分测量模式,128 SPS
serial.println (readRegister (ADC_control_register));//读取以检查
writeRegister (ADC_CONTINT_REGISTER,0x4140);//写回
writeRegister (ADC_CONTINT_REGISTER_2,0x0000);//ADC选择磅秤的输出
serial.println (readRegister (ADC_CONTING_REGISTER_2); //读取以检查
writeRegister (ADC_CONTINT_REGISTER_2,0x0000); //写回
writeRegister (weight_scale_control,0x0000);//增益= 1 DAC偏移= 0
serial.println (readRegister (weight_scale)); //读取以检查
writeRegister (weight_scale_control,0x0000); //写回
writeRegister (BCM_DAC_FREQ,0x0040);//频率=默认值
writeRegister (device_control_2,0x0000);
writeRegister (IQ_MODE_ENABLE,0x0000);//禁用IQ模式
writeRegister (ISW_Matrix,0x0000);//通道IOUTP1和IOUTN0
writeRegister (VSW_Matrix,0x0000);//通道VSENSEP1和VSENSEN0
任何潜在客户都将有很大帮助
此致,
Shankar