zoukankan      html  css  js  c++  java
  • [国嵌攻略][152][I2C总线介绍]

    IIC电气特性

    I2C(inter intergrated circuit)总线是由philps公司开发的两线式串行总线,用于连接微控制器及其外围设备。

    I2C总线只有两根双向信号线:

    SDA:serial date line   数据线

    SCL:serial clock line   时钟线

    总线寻址

    I2C总线规定:从设备采用7位的地址。D7-D1:从设备地址。D0:数据传输方向,为0时表示主设备向从设备写入数据,为1时表示主设备从从设备读取数据。主设备发送地址时,总线上的每个从设备都将这7位地址码与自己的地址进行比较,如果相同,则认为自己被主设备寻址,根据R/W位将自己确认为发送器或接受器。

    从设备的地址由固定部分和用户自定义部分组成:

    1.固定部分:D7-D4共4位决定。这是由从设备的生产厂商生产时就已经确定的值。

    2.用户自定义部分:D3-D1共3位决定。这三位通常对应设备的3个引脚(A0-A2)。把3个引脚接到不同的电平上,就可以形成一个3位的数值。

    空闲状态

    I2C总线的SDA和SCL两条信号线同时处于高电平时,规定总线为空闲状态。

    起始状态

    在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(及负跳变),定义为I2C总线的启动信号,它标志着一次数据传输的开始。

    结束状态

    在时钟线SCL保持高电平时,数据线SDA被释放,使得SDA返回高电平(即正跳变),称为I2C总线的停止信号。

    数据传输

    I2C总线上的所有数据(地址和数据)都是以8位一个字节为单位传送的。

    应答数据

    发送器每发送一个字节,就在时钟信号脉冲第9位释放数据线,由接收器反馈一个应答信号。应答信号为低电平时,认为有效应答ACK,表示接收器已经成功接收了该字节,应答信号为高电平时,认为无效应答NACK,表示接收器没有成功接收该字节。

  • 相关阅读:
    [Give a try | Multithreading]The Practical Guide to Multithreading
    [SOLID]The Principles of OOD
    Mixing Native and Managed Types in C++
    [转载]关于大型软件重构的一些想法
    Mixed mode programming is the absolute power of C++/CLI
    Sample: Mixing Unmanaged C++, C++/CLI, and C# code
    添加删除虚函数带来的问题及解决办法
    如何阅读code base的组内讨论的总结
    如何快速定位一个函数的返回点(c/c++ Only)
    DirextX Training笔记
  • 原文地址:https://www.cnblogs.com/d442130165/p/5284064.html
Copyright © 2011-2022 走看看