当前位置:网站首页 > 技术博客 > 正文

iic 通信



IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司设计出来的一种简单、双向、二线制、同步串行总线。它是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。

那么也就是说,只要收发双方同时接入SDA(双向数据线)、SCL(同步时钟线)便可以进行通信。

I2C总线的工作速度分为 3 种模式(实际上,IIC的通信速率由SCL决定):

S(标准模式),测量与控制场合,100kbit/s;

F(快速模式),速率为 400kb/s;(默认,目前普遍支持的最大速率)

Hs(高速模式),速率为 3.4Mb/s(支持这种标准的器件很少)。

一般情况下,SCL与SDA默认由上拉电阻拉高。这也是为了方便通信协议。

多机连接时,为了区分不同的从机,我们会使用自定义的地址码进行区分。

IIC的通信要注意以下6个知识点:

1.空闲状态

2.开始信号

3.停止信号

4.应答信号

5.数据的有效性

6.数据传输

在IIC中规定,当SDA、SCL同时为高电平时,视为空闲状态。

注意,这个规定是通信设备通信前的判断条件。

在IIC中规定,当SCL为高电平,且SDA从高到低的跳变时,视为数据开始传输;

在IIC中规定,当SCL为高电平,且SDA从低到高的跳变时,视为数据停止传输;

数据有效性:

在传输数据时,应保证数据在SCL的上升沿到来之前准备好,并在下降沿到来之前必须稳定。

(由于在电路中,电平的跳变往往伴随着毛刺。)

数据传送:

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

在一般情况下,传输数据时,从数据的最高有效位开始发送。

应答信号:

在IIC中规定,发送方每发送1个字节(8位)后需要接收接收方发送的应答信号。

ACK为0时,视为有效应答;ACK为1时,视为无效响应。

总结:谁发了数据,谁就要接收一个应答信号

 
  

                            

版权声明


相关文章:

  • java线程池的工作流程2025-07-11 14:01:05
  • http上传文件大小限制2025-07-11 14:01:05
  • linux执行js脚本2025-07-11 14:01:05
  • 空白符号啥意思2025-07-11 14:01:05
  • 01背包问题动态规划算法代码2025-07-11 14:01:05
  • 无锁编程有哪些2025-07-11 14:01:05
  • java虚拟机使用教程2025-07-11 14:01:05
  • 86版王码五笔输入法字根表2025-07-11 14:01:05
  • 什么是数据结构2025-07-11 14:01:05
  • mimikatz获取密码2025-07-11 14:01:05