我试图让DA14580连接到HP203B压力传感器。我在覆盆子pi上测试了这个传感器,它可以正常工作。在DA14580上,时间似乎太快了。我可以看到信号被发送,但压力传感器没有响应。这以正常速度运行。当我在逻辑分析仪中查看波形时,PI连接SCL低10美元,然后按预期为10倍。使用对话框芯片,6倍,4.5秒秒为4.5秒。(我猜测这是直到的5和5,来自我的采样速度的一些错误)
为什么SCL速率从DA14580芯片中快速速度。我该怎么办才能解决这个问题?
谢谢
约翰
设备:
嗨JohnCrais,
您能否向我提供I2C外设块的初始化COD片段?此外,如果您能够与逻辑分析仪分享我的波形,那将是非常有帮助的。
谢谢,PM_DIALOG.
这是代码。我有完整的i2c c文件,我正在附加的zip中使用。我有一个逻辑分析仪的屏幕截图,在Raspberry Pi上具有工作实现以及来自DA14580的非工作波形的另一个屏幕截图。
谢谢,
约翰
嗨,约翰,
让我检查你的意见,我会尽快回复你。
谢谢,PM_DIALOG.
谢谢,
约翰
嗨,约翰,
I2C块可以以两种模式操作:在正常或快速模式下。控制器操作的I2C_CON_REG寄存器控件的I2C_SPEED位域。
根据您的初始化代码,使用的标准模式,因此速度将在100 kbit / s,如您所见于逻辑分析仪波形。我在我的身边测试它,在标准模式下,SCL处于1(高),为4.908 USEC,0(低)为5.092USEC,这意味着10USEC周期时间。在您的情况下,您需要20USEC(10USEC高,低于低电平),转换为50 kbit / s。由于I2C块的最小速度为100 kbit / s,这是不可能实现的。
由于没有通用I2C驱动程序来创建您自己的传感器驱动程序实现,因此我建议您具有参考位于5.0.4 \ projects \ target_apps \ peripheral_example \ i2c \ i2c_eeprom路径下的sdk的I2C示例。例如,检查I2C_EEPROM_INIT()函数。
谢谢,PM_DIALOG.