I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》

文章目录

    • 概况
    • 线与
    • I2C优点
    • 规范(通信协议)
    • 数据帧
    • 高阶内容:重复起始和子地址

概况

I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第1张图片
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第2张图片
freescale——SPI
nxp——i2c

特性:串行,同步,单端,双向(但非双工,需要协议),主从,总线

I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第3张图片

线与

引脚是开漏、开集电极的:连到同一根线上的设备,其中只要有一个设备输出为0,则被下拉到地,线上电压都变成逻辑0
内部就是一个对地导通开关
也就是:大家都是1才是1,任何一个为0则都是0

I2C优点

I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第4张图片
方便多个设备读写

规范(通信协议)

i2c是电平有效的,注意spi是触发沿有效
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第5张图片
默认仅在时钟信号为低时才能跳变,若在高电平发生跳变:如下含义
时钟高电平时下降沿表示起始信号
时钟高电平时上升沿表示停止信号
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第6张图片
注意i2c一定是MSB在前,LSB在后
也就是高位先发送,低位后发送

数据帧

I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第7张图片
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第8张图片
灰色:主机下拉产生数据
白色:从机下拉产生数据
数据流程:

  • 主机宣布开始,发送起始位S
  • 主机选择从机(地址)占7个bit
  • 如果主机要读,发1,主机要写,发0
  • 从机应答:反馈0说明从机说:ok,若不反馈**(反馈1,也就是不下拉)**:不ok 注意默认是1,高阻——Not Ask
  • 8位数据的传送(比如主机写到从机,则主机发)
  • 周而复始的读/写操作
  • 终止:主机接收到NOT ASK, 发送停止位P,终止通讯

注意i2c一定是MSB在前,LSB在后
也就是高位先发送,低位后发送

这是一种有交互的,互相有管控的通讯协议
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第9张图片

高阶内容:重复起始和子地址

I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第10张图片
I2C概念部分课堂随笔——《ARM微控制器与嵌入式系统》_第11张图片

你可能感兴趣的:(硬件常识)