I2C学习记录
2014-11-06 10:25
155 查看
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。
通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。通过串行数据(SDA)线和串行时钟
(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号
的器件。此时,任何被寻址的器件都被认为是从机。
2条双向串行线,一条数据线SDA,一条时钟线SCL。
SDA传输数据是大端传输,每次传输8bit,即一字节。
支持多主控(multimastering),任何时间点只能有一个主控。
总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.
系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。
通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。通过串行数据(SDA)线和串行时钟
(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号
的器件。此时,任何被寻址的器件都被认为是从机。
2条双向串行线,一条数据线SDA,一条时钟线SCL。
SDA传输数据是大端传输,每次传输8bit,即一字节。
支持多主控(multimastering),任何时间点只能有一个主控。
总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.
系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。
发送/接收一个数据:数据的发送和接收都是在SCL为低电平的时候发生,因为SCL为高电平时已给了开始和结束信号。发送数据时,当数据准备读入时,将SCL线暂时拉高(SCL为高时,SDA无法改变状态),保持一段时间然后拉低(同你图中的TDH,数据输出保持时间),这时数据则发送完毕到SDA上。接收则与之大同小异。当SDA线上有数据过来时,先将SCL拉高,建立好时间,然后拉低,数据则被读入。(关于如何被发出以及如何被读入则是芯片做的事,我们不用管,只需记住SCL拉低,数据发出/读入)
相关文章推荐
- I2C总线学习记录
- Smart210学习记录-----Linux i2c驱动
- 我想博客园同我一起成长,在这里记录着我的工作、学习、生活!
- ADO.net学习记录 (一)
- .NET WEB SERVICES 学习记录(三)
- 记录今天学习SQL遇到的一个小问题
- 动态网页学习:JSP学习笔记全记录
- .net学习点滴记录
- sql 学习记录
- ADO.net学习记录 (一)
- JavaScript 的学习记录。
- 2004.7.15 [C#学习记录]使用C#编写一个自定义控件
- Lua学习记录
- Gtk2 - perl 学习记录
- .NET WEB SERVICE 学习记录(二)
- c#学习记录
- java 容器学习记录1
- 记录hibernate 3学习过程中的报错(未完成)
- ADO.net学习记录
- 记录hibernate 3学习过程中的报错(未完成)