CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 10236|回复: 1

I2C基础

[复制链接]
发表于 2014-9-25 11:22:27 | 显示全部楼层 |阅读模式
一 I2C设计概念,I2C协议。
对于cubieboard来说:
SCL:时钟线,时钟由CPU(主端)提供
SDA:数据线,可以是输入或输出。

问: I2C总线可以连接很多设备,cpu如何进行区分?
设备地址:唯一性。一般都芯片厂家定义。由芯片手册和硬件原理图共同决定。
http://www.alldatasheet.com/

EEPROM:AT24C04
1010000 = 0x50
一般最后一位为读写位
读操作:0x50 << 1 | 1    10100001
写操作:0x50 << 1 | 1    10100000

LM77:10010A1A0


START信号
STOP信号
ACK信号,反馈信号。应答信号为低电平时,
规定为有效应答位


二 芯片手册看时序。
读写操作要根据芯片手册来进行。

数据操作流程一定要看芯片手册细节:
以AT24C04为例子:
随机写一个数据到某一个地址:
1CPU发射起始信号
2. CPU发送设备地址 + 写位(0)
3 CPU接收到ACK
4 CPU发送要写的芯片上的地址。
5 CPU接收到 ACK
6 CPU 发送数据
7 CPU接受ACK
8 CPU发送STOP信号

随机读:
1CPU发射起始信号
2. CPU发送设备地址 + 写位(0)
3 CPU接收到ACK
4 CPU发送要写的芯片上的地址。
5 CPU接收到 ACK
6 CPU发射起始信号
7  CPU发送设备地址 + 读写位(1)
7 NO   ACK
8 CPU发送STOP信号



                                                                    
        
回复

使用道具 举报

发表于 2014-9-25 12:12:45 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-4-18 15:45 , Processed in 0.021714 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部