差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
i2c [2019/05/05 15:30]
gongyu [I2C波形]
i2c [2023/05/30 11:13] (当前版本)
gongyu
行 1: 行 1:
-{{ :​eetreewechat.jpeg?​600 |}} <WRAP centeralign>​**扫描二维码,关注微信公众号“子森林”,可以在手机上查看本网站所有文章** </​WRAP>​+#### I2C - 集成路之间同步、半双工数据传输 
 + 
 +---
  
 I2C是一种简单地连接多个芯片的总线方式,尤其是在[[FPGA]]s/​[[CPLD]]s中. I2C是一种简单地连接多个芯片的总线方式,尤其是在[[FPGA]]s/​[[CPLD]]s中.
 {{ ::​i2cslave.gif |}} {{ ::​i2cslave.gif |}}
  
-===== I2C总线特性 ​=====+### I2C总线特性
  
   * 除了“电源”和“地”之外,只用了"​SDA"​和"​SCL"​两根信号线   * 除了“电源”和“地”之外,只用了"​SDA"​和"​SCL"​两根信号线
行 20: 行 22:
 I2C“主”即可以向“从”写也可以从“从”设备中读取 I2C“主”即可以向“从”写也可以从“从”设备中读取
  
-===== I2C波形 ​===== +#### I2C波形  
 +{{ :​i2c_timing.png |}}
 这个图示为向地址为0x51的EEPROM进行写2个字节的数据0x50和0x0F. 这个图示为向地址为0x51的EEPROM进行写2个字节的数据0x50和0x0F.
  
行 156: 行 158:
 如果你能够容忍这些缺点,这应该是I2C从模式非常简洁的设计,否则你只能用外部时钟对SDA和SCL进行过取样,通过数字滤波器将毛刺给滤除掉,“起始”和“终止”的检测也变得比较容易,当然代价就是设计变得更复杂。 如果你能够容忍这些缺点,这应该是I2C从模式非常简洁的设计,否则你只能用外部时钟对SDA和SCL进行过取样,通过数字滤波器将毛刺给滤除掉,“起始”和“终止”的检测也变得比较容易,当然代价就是设计变得更复杂。
  
- +
 ### 相关设计资源参考 ### 相关设计资源参考
  
行 164: 行 166:
   * [关于I2C和SMBus区别的文章](http://​www.totalphase.com/​support/​kb/​10040/​)(SMBus是由Intel公司开发的,基本跟I2C兼容)   * [关于I2C和SMBus区别的文章](http://​www.totalphase.com/​support/​kb/​10040/​)(SMBus是由Intel公司开发的,基本跟I2C兼容)
   * 苏老师公众号文章 - [几种最常用的串行数据传输总线(2)-I2C](https://​mp.weixin.qq.com/​s/​UVlecH-zBVG5Ug4Bx6TVeQ)   * 苏老师公众号文章 - [几种最常用的串行数据传输总线(2)-I2C](https://​mp.weixin.qq.com/​s/​UVlecH-zBVG5Ug4Bx6TVeQ)
 +  * Lattice Semi的[I2C Master](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CBusMaster)使用说明,及IP参考代码下载
 +  * Lattice Semi的[支持Wisbone总线的I2C Master](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CMasterWISHBONECompatible)使用说明,及IP参考代码下载
 +  * Lattice Semi的[I2C总线控制器](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CBusControllerforSerialEEPROM)使用说明,及IP参考代码下载
 +  * Lattice Semi的[I2C主控制器](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CMasterController)使用说明,及IP参考代码下载
 +  * Lattice Semi的[用于嵌入式功能块中的I2C从设备](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CSlavePeripheralusingEmbeddedFunctionBlock)使用说明,及IP参考代码下载
 +  * Lattice Semi的[I2C从到SPI主的桥接](http://​www.latticesemi.com/​en/​Products/​DesignSoftwareAndIP/​IntellectualProperty/​ReferenceDesigns/​ReferenceDesigns02/​I2CSlavetoSPIMasterBridge)使用说明,及IP参考代码下载
 +  * FPGA4FUN上的[关于I2C的介绍及相应的Verilog代码资源](https://​www.fpga4fun.com/​I2C.html)
 +  * FPGA4FUN上的I2C从设备的[[http://​www.fpga4fun.com/​files/​I2Cslave1.zip|完整的代码]]