zoukankan      html  css  js  c++  java
  • I2C原理

    串 并 行  顾名思义

    并行   接口 是指数据的   各位同时进行传送

    串行通信是指数据一位地顺序传送。   其特点是通信  线路简单,只要一对传输线即可。可以利用电话线,特别适合远距离通信。

    I2C 总线

    是PHILIPS 开发的两线式  行总线,用于连接微控制器及其外围设备。

    I2C 总线通过SDA和SCL线的配合来产生传输信号。 低电平时 改变,高电平期间 稳定

    时钟线(SCL)时钟脉冲 高电平期间(需要稳定),不允许数据线(SDA)有改变,否则会被认为是START或STOP

    数据线的高或低电平状态只有在SCL线的时钟信号是电平时才能改变。

     

    接收器应答信号:

    对于有效ACK的要求是:接收器在第9个时钟脉冲 之前的低电平期间将SDA拉低,并且确保在该时钟的高电平期间为稳定的低电平。(说白了就是这时候要求接收器发送一个低电平信号)

    寻址方式: ——器件去判断是否是自己,然后发送ACK,如上

    地址信号占7位,与读写控制信号组成一个字节。R/W为0时写  为1时读

    7 6 5 4 3 2 1 1

    7位地址信号又由两部分组成:器件地址(fixed)和引脚地址(引脚地址 programmable)。

    引脚设定 地址,可以由外部引脚来设定(并非所有器件都可以设定) 

    当发送了一个地址后,系统中的每个器件都在起始条件后将头7 位与它自己的地址比较,如果一样,器件会判定它被主机寻址 

    ====================================================

    芯片:PCA9555  –带中断的16位I2C和SMbus I/O口  是一个挂在I2C总线上的芯片

    PCA9555有3个管脚(A0,A1,A2)来实现不同I2C地址。最多允许8个器件共用总线。

    是因为他只能够产生8个地址。

    其器件地址为0100

    芯片有两个配置寄存器,两个输入寄存器,两个输出寄存器和两个极性反转寄存器。如下面的command对应的。

    工作原理

    command byte 命令字节

    the command byte is the first byte to follow the address byte during a write transmission.

    --------------------

    command  register

    0         input port 0

    1         input port 1

    2         output port 0

    3         output port 1

    4         极性反转寄存器 0

    5         极性反转寄存器 1

    6          配置寄存器 0

    7          配置寄存器 1

    在系统主控制器发送地址和读/写操作的字节后,将会发送该命令字节,来决定芯片中哪个寄存器将会被读/写。

    地址   还要 发送对应 command 对寄存器 读写。

  • 相关阅读:
    解决 react-native 嵌套路由 warning
    在 function component 中设置 navigationOptions
    《客户端存储技术》阅读笔记
    表单实现原理(Vue ElementUI)
    MVVM 响应式原理(Vue)
    react 实现 loading 动效圈,支持配置转一圈的 duration
    CSS 数字设置等宽
    JSONP(Json with padding)
    javascript this对象
    css盒子模型
  • 原文地址:https://www.cnblogs.com/ai616818/p/2400694.html
Copyright © 2011-2022 走看看