四翼——I2C总线

I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。

特点:

1.  两条总线线路:一条串行数据线SDA,一条串行时钟线SCL

2.  每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;

3.  它是一个多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破环;

4.  串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s

信号类型:开始信号、结束信号和应答信号

         开始信号:SCL为高电平,SDA由高电平向低电平跳变,开始传送数据。

         结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据。

         应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单位发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传输信号的判断。若未收到应到信号,由判断为受控单元出现故障。

 

I2C总线通信过程中出现的几种信号状态和时序:

1.  总线空闲状态

I2C总线的SDASCL同时处于高电平。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。

2.  启动信号

SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变)

3.  停止信号

SCL保持高电平期间,数据线SDA被释放,使得SDA返回高电平(即正跳变)

4.  数据位传送

I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。

进行数据传送时,在SCL呈现高电平期间,SDA上的电平必须保持稳定,低电平为数据0,高电平为数据1

 

5.  应答信号

I2C总线上的所有数据都是以8位字节传送的,发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。

应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。

6.  重启信号

在主控器控制总线期间完成了一次数据通信(发送或接收)之后,如果想继续占用总线再进行一次数据通信(发送或接收),而又不释放总线,就需要利用重启动Sr信号时序

时钟同步、总线冲突和总线总裁、总线封锁状态这些主要在多主机的情况下应用的。而我这次的应用是一个主机和一个从机简单的通信,故没有使用这些状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
I2C总线可以在FPGA上进行模拟,使用Verilog HDL语言编写。 I2C总线是一种常见的多主机数据总线,通过两条线SDASCL)实现设备之间的通信。 它具有接线少、控制方式简单、通信速率高等优点,适用于各种控制系统。 在FPGA中,可以通过编写Verilog HDL代码来实现I2C总线的功能,从而模拟I2C总线通信过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于 FPGA 的 I2C 总线模拟,采用 Verilog HDL 语言编写](https://download.csdn.net/download/weixin_43870101/12399821)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [I2C原理与FPGA实现(一)](https://blog.csdn.net/weixin_39520719/article/details/111211864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [FPGA ——I2C总线 原理详解](https://blog.csdn.net/weixin_46188211/article/details/124745370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值