1. 混合总线设计的背景与挑战
最近在RK3576的项目中遇到了一个很有意思的问题:我们需要同时连接高速的I3C传感器和传统的I2C外设。刚开始觉得这应该很简单,毕竟I3C号称向下兼容I2C,但实际设计时才发现这里面有不少门道。
我记得第一次测试时,I2C设备经常出现数据丢失的情况,而I3C设备的速度也达不到预期。经过反复排查才发现,问题出在总线的负载匹配和时序配置上。混合总线设计并不是简单地把两种设备挂到同一组引脚上就完事了,还需要考虑信号完整性、功耗管理和时序协调等多个因素。
RK3576芯片提供了2个独立的I3C控制器,每个控制器都可以配置为纯I3C模式或I2C兼容模式。在实际项目中,我们通常会将高速设备(如图像传感器)连接到纯I3C总线,而将低速设备(如温度传感器、EEPROM)连接到兼容模式下的I2C总线。这样的设计既能发挥I3C的高速特性,又能充分利用现有的I2C设备生态。
2. 硬件设计要点
2.1 引脚配置与电路设计
在RK3576上使用I3C功能时,硬件设计需要特别注意引脚的配置。当工作于I3C兼容I2C模式时,需要用到3个引脚:I3C_SCL、I3C_SDA和I3C_SDA_PU。其中I3C_SDA需要通过上拉电阻连接到I3C_SDA_PU,而I3C_SCL也需要通过上拉电阻连接到上拉电源。
这里有个容易踩坑的地方:上拉电源必须和GPIO电源域的电源保持一致。我曾经遇到过因为电源域不匹配导致信号电平不稳定的问题,最后发现是上拉电阻的供电电压和GPIO电源不一致导致的。
如果只需要工作于纯I2C模式,那么只需要使用I3C_SCL和I3C_SDA两个引脚,硬件接线方法和传统I2C完全一样。这种设计灵活性很好,可以根据实际需求选择不同的工作模式。
2.2 信号完整性考虑
混合总线设计中,信号完整性是个需要重点关注的问题。I3C的工作频率最高可达12.5MHz,远高于I2C的400kHz,因此对PCB布局布线提出了更高要求。
在实际设计中,我建议采用以下措施来保证信号质量:
- 保持信号线尽可能短,避免过长的走线


242

被折叠的 条评论
为什么被折叠?



