嵌入式常用接口协议

一、IIC

1.1 IIC概述

  • 同步串行通信总线: SCL——时钟线 SDA——数据线

同步通信:通信中双方使用频率一致的时钟
异步通信:通信中的接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟

  • 主从架构、半双工协议
  • 标准模式 100kbps, 快速模式 400kbps, 高速模式 3.4 Mbps
  • IC数量受到总线最大电容 400pF 限制
  • 模块连接图
    嵌入式常用接口协议_第1张图片
    IIC总线通过上拉电阻接正电源。总线空闲时,SDA 和 SCL 均为高电平。总线上任意器件输出低电平,总线信号变低。即各器件的 SDA 和 SCL 是线与关系

1.2 IIC 总线的主机与从机

  • 主机特征:起始,产生时钟信号,终止
  • 无论是主机和从机,都可以充当发送器或接收器
  • 多主机系统要通过总线仲裁决定谁控制总线

1.3 IIC具体协议

只要理解六幅图即可

  • 数据有效性规定:SCL 高电平器件 SDA 要求稳定,SCL 低电平器件数据可以变化
    嵌入式常用接口协议_第2张图片
  • 起始与停止:起始和停止信号都由主机发生
    嵌入式常用接口协议_第3张图片
  • 字节传送与应答:一帧共9位,数据位加应答位
    嵌入式常用接口协议_第4张图片
  • 数据帧格式:阴影部分表示主机向从机发送数据,无阴影部分表示数据由从机向主机传送。 A 表示应答 ,/A表示无应答。S表示起始信号,P表示终止信号

下图为主机发送数据,起始信号之后,发送从机地址共7位,第8位为R/W,表示数据传送方向
嵌入式常用接口协议_第5张图片
下图为主机读取数据,起始信号后,发送从机地址和R/W,之后接收数据,当接收到最后一个数据字节后,对从机非应答表示结束传送,之后从机释放总线,主机产生结束信号
嵌入式常用接口协议_第6张图片
当传送过程中改变方向时,起始信号和从机地址需要重复一次
在这里插入图片描述

1.4 IIC总线仲裁

  • 当多个主机同时访问从机时,需要总线仲裁。总线仲裁分两部分:SCL 线同步和 SDA 线仲裁
  • SCL 同步:主机同时访问从机,即多个节点同时发送时钟信号,由于总线具有线与特点,表现为SCL同步
    嵌入式常用接口协议_第7张图片
  • SDA 线仲裁:
    节点在发送一位数据后,比较总线上所呈现的数据是否与自己发送的一致,是继续发送,否则退出竞争
    嵌入式常用接口协议_第8张图片

你可能感兴趣的:(嵌入式)