主从芯片如何传输数据

AT24C02是一个存储芯片,需要把数据从ARM板发给AT24C02,也需要从AT24C02读取数据。

I2C是一个主从结构,Master发起传输,slave接收或回应

一主多从:如何选在哪个从芯片呢?每个从芯片都有设备地址,设备地址各不相同,这些地址都是在芯片里写死的。

设备地址是7位,先传输地址的最高位MSB。

SCL为低电平时,SDA可变化

SCL为高电平时,SDA不可变。

问:如何在SDA上实现双向传输?

主从设备里面必然有两个引脚,发送引脚和接收引脚。

1)主设备发送时,从设备不应该发送。

可以通过SCL区分控制。

2)主设备发送时,从设备的发送引脚不影响SDA上传输的数据。同样从设备发送时,主设备的发送引脚不要影响SDA上传输的数据。怎样做到呢?

如上图所示,使用开极电路。

使用一真值表来表示A、B以及SDA引脚电平状态。

1)当A为低电平时,主设备里的三极管不导通。B为低电平时,从设备里的三极管也是不导通的。那么此时SDA引脚的电平状态是什么?

如果没有接那个上拉电阻,那么SDA引脚是出于悬空状态的,悬空引脚的电平状态是无法确定的,这也是为什么加上上拉电阻的原因。加上上拉电阻后,此时SDA引脚电平的状态是由上拉电阻决定的,为1。

2)当A为低电平时,主设备三极管不导通。B为高电平时,从设备的三极管导通,因此SDA引脚的电平为低电平。

后面两种情况的分析,和上面两种情况的原理是一样的,在此不再赘述。

从上面分析可以看出,

1)芯片不影响数据线上即SDA上的数据,只要使这个芯片不驱动三极管即可。

2)要使SDA引脚上电平为高电平,不要驱动主从设备任意的三极管

3)要使SDA引脚上电平为低电平,驱动主从设备上的任意一个三极管即可。

举个例子:

主设备发送8bit数据给从设备

问题:SCL是不是一直由主控芯片来决定?

答案:不是的。第9个时钟以后,如果某一方(比如说,我现在还忙不过来,再等一会儿),它可以一直把SCL拉低。当SCL为低电平时,主从芯片都不应该使用I2C总线。

SCL为低电平时,表示大家都在忙,当变为高电平时,再来操作。

注意:对于I2C协议,它只能规定如何传输数据,这个数据是什么含义,它完全不能控制。数据的含义由设备决定。

I2C协议简介的更多相关文章

  1. i2c协议简要分析(转载)

    声明 本文大部分内容为转载,因此标定为转载 源地址: http://www.cnblogs.com/zym0805/archive/2011/07/31/2122890.html http://blo ...

  2. Fiddler--一、HTTP协议简介

    在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  3. i2c协议

    i2c协议 http://blog.csdn.net/g_salamander/article/details/8016698 总线设备驱动模型 http://blog.csdn.net/u01395 ...

  4. MODBUS-RTU通讯协议简介

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  5. (原创) 巩固理解I2C协议(MCU,经验)

        题外话:这几天天气突然转冷了.今天已是11月23日了,查查黄历,昨天(11月22日)刚好是小雪,一夜温度骤降,果然老祖先的经验有灵验!冬天来了,还是多加加衣服,注意保暖! 1.Abstract ...

  6. JavaWeb:Web与HTTP协议简介

    JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...

  7. CC2540开发板学习笔记(九)—— BLE协议简介

    一.BLE协议简介 1.协议是什么? 协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收.协议栈是的具体实现形式,通俗点来理解就 ...

  8. I2C协议(转)

    1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL.   SDA传输数据是大端传输,每次传输8bit,即一字节.   支持多主控(multimastering),任何时间点只能有一 ...

  9. (1)I2c的简介和特性

    I2C我是想全面深入的从嵌入式软件工程师的角度做个理解,刚刚还申请了一个专栏,这个好好写.         学习技术从外文文档看起-- 要全面了解I2C,可以从<I2C-bus specific ...

随机推荐

  1. [LeetCode] 880. Decoded String at Index 在位置坐标处解码字符串

    An encoded string S is given.  To find and write the decoded string to a tape, the encoded string is ...

  2. 团队作业第五次—项目冲刺-Day7

    Day7 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...

  3. Windows / Office - KMS激活

    Windows / Office - KMS激活 支持Windows操作系统,支持Office软件:包括Windows 10,Office 2016:包括VL版本和MSDN版. (UPDATE: Of ...

  4. Python【每日一问】38

    问: 基础题: 设计一个经营杠杆系数函数DOL,它包含三个参数,S为营业收入,C为变动成本总额,F为固定成本的总额. 已知2018年的S为20,C为11,F为3,求2019年的经营杠杆系数. 提高题: ...

  5. 网络基础-------------给电脑设置IP

    ip 是每一台电脑进入互联网的一个必备钥匙,没有它就不能体会冲浪的乐趣,当我们使用电脑连接无线时我们就会被自动分配一个ip地址(DHCP),这样我们就可以凭借这个IPV4地址来进行冲浪了,但是自动分配 ...

  6. freemarker模板文件的4个组成部分

    FreeMarker模板文件主要由以下4个部分组成:1.文本,直接输出的部分.2.注释,即<#–…–>格式不会输出.3.插值(Interpolation):即${..}或者#{..}格式的 ...

  7. JS中Map的用法

    声明 var map = new Map(); 设值 map.set("key","value"); 取值 map.get("key"); ...

  8. R与金钱游戏:均线黄金交叉1

    双11临近的我发现自己真的很穷很穷很穷(重要的问题说三遍)-- 贫穷催人上进.于是我就寻思着在空闲时间自己捣鼓一下钱生钱的游戏是怎么玩的,毕竟就算注定做韭菜也要做一根有知识有理想的韭菜. 第一个要玩的 ...

  9. 算法设计与分析(李春保)练习题答案v2

    ----------------------------------------------------- Page 1 --------------------------------------- ...

  10. Prometheus 编写告警规则案例

    Prometheus 编写告警规则案例 注:确保alertmanager配置完毕! 1.创建编辑文件:vim /usr/local/prometheus/rules/node.yml # groups ...