大家周末好!
以前,我发现产生高达5M的时钟信号,器件也能通讯,联想两个主机抢线,时钟频率不一样,仲裁也能进行,我猜想所有符合IIC规范的器件采取的实际上是“逆向思维”,即并不去管时钟,而只针对电平、上跳沿、下跳沿“负责”,这样以来管你时钟线上多么混乱,我只要检测到相应的时序,我就能做出正确的反应。而现在的器件内部的场效应管轻轻松松到纳秒级别,这也是为什么5M这样远超最新IIC规定的1M时钟频率也能通讯的原因。不知道这样理解是否有问题?
欢迎大家指教!
IIC是靠的上拉电阻拉高的,当你时间不够,器件有可能就错误进STOP了。表现现象就是工作不稳定。
速率只是跟上拉电阻有关,但是不排除你主机端SCL用推挽,就是模拟I2C那种,所以速率可以跑很高很高,I2C、SPI等等都是移位寄存器的延伸,只管上升沿下降沿的!
I2C属于同步通讯接口。
速率的选定有关从设备的处理能力,还有关线路传输能力。
所以I2C的标准定义为了100Kbps
寄生电容是关键,你只连接一个设备和连接多个设备也是不一样的,规范要考虑最坏的可能。