我们正在开发一个新的DA14531应用程序,我们还没有决定最佳的引导设备。设计采用24针QFN24封装。在这个示意图中,我用共享的MISO和SDA(p0u3)引脚以及设备之间共享的SCK和SCL(p0u4)引脚填充了SPI和I2C闪存。这是有效的PIN共享吗?引导加载程序序列看起来好像这些是引导的默认pin分配。如果我们决定从SPI闪存启动,并使用p0u3和p0u4作为MISO和SCK,那么在启动后我是否还可以使用这些引脚与板上的I2C传感器进行通信?
设备:
你好,
感谢您的问题和您对我们的DA14531解决方案的兴趣。
请看AN-B-072:DA14531从OTP和串行接口引导. 根据第4节引导顺序和引导引脚,p0u3和p0u4用于设备从extspi从机引导。
引导后,您可以在软件中将这些引脚配置为I2C,并将其用于传感器。您还应该将SPI CS设置为HIGH。
然而,我的疑问是当芯片从flash启动时。在这种情况下,I2C将同时采用SDA和SCL,因此您必须确保传感器不会在SDA线路中输出数据。请记住P0\u3是MISO,所以整个固件下载时都会想到这个pin。在引导过程中,如果传感器数据到达该行,将损坏引导序列。为此,请仔细检查,从闪存启动时,不会影响I2C传感器。
我能问一下你为什么要继续实施这个计划吗?是否有其他免费GPIO连接I2C传感器?如果是,我建议更改示意图并将传感器放置到不同的GPIO。
谢谢,下午好
目前在设计中没有其他免费的GPIO管脚,但是我想我可以稍微改变一下架构来移动SDA线,这样我们就可以避免与MISO共享这个管脚。谢谢你的帮助。