关闭

linux_I2C学习一

标签: linuxI2C时序
295人阅读 评论(0) 收藏 举报
分类:

一、I2C总线结构:

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


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

SDA:Serial Data Line-数据线

SCL:Serial Clock-时钟线

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


从设备的地址由固定部分和用户自定义部分组成。
1、固定部分: D7-D4 共4位决定的。这是由从设备的生产厂商生产时就已确定的值。
2、用户自定义部分: D3-D1共3位。这3位通常对应设备的3个引脚(A0~A2)。把3个引脚接到不同的电平上, 就可以形成一个3位的数值。
二、总线时序
I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。

2.1、起始信号
在时钟线SCL保持高电平期间, 数据线SDA上的电平被拉低( 即负 跳变) , 定义为 I2C总线总线的启动信号, 它标志着一次数据传输的开始
2.2、结束信号
在时钟线SCL保持高电平时,数据线SDA被释放,使得SDA返回高电平( 即正跳变), 称为I2C总线的停止信号
2.3、数据为传送
I2C总线上的所有数据( 地址和数据) 都是以8位一个字节为单位传送的。
2.4、应答位
发送器每发送一个字节, 就在时钟脉冲第 9位释放数据线,由接收器反馈一个应答信号。 应答信号为低电平时,定为有效应答位ACK,表示接收器已经成功地接收了该字节;应答信号为高电平时,定为非应答位( NACK),表示接收器没有成功接收该字节

0
0
查看评论

linux_I2C学习二(裸机)

一、EEPROM简介: EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只 读存储器,是一种类似于flash的固态存储器, 但是与 flash相比又存在一些区别: 1.EEPROM 可以按位擦写, 而FLASH只能...
  • u010827484
  • u010827484
  • 2015-07-09 14:19
  • 347

linux_I2C学习三(I2C子系统)

一、Linux--I2C子系统 1. I2C核心 I2C 总线和 I2C 设备驱动的中间枢纽,它提供了 I2C 总线驱动和设备驱动的注册、注销方法等。 2. I2C控制器驱动 I2C CPU对 I2C控制器的驱动实现, 控制器可在 CPU 外部, 也可以集成在 CPU 内部。 3. I2C设备驱...
  • u010827484
  • u010827484
  • 2015-07-09 16:08
  • 424

5-6 一帮一 (15分)

“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(\le≤50),...
  • yamminy
  • yamminy
  • 2017-03-23 21:17
  • 502

pta  一帮一

12 一帮一   (15分) “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与...
  • Horizonhui
  • Horizonhui
  • 2017-03-11 19:44
  • 937

5-3 一帮一 (15分)

5-3 一帮一   (15分) “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的...
  • z6_6z
  • z6_6z
  • 2017-08-07 16:48
  • 338

L1-030. 一帮一

L1-030. 一帮一 “一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。 输入格式...
  • ccDLlyy
  • ccDLlyy
  • 2016-07-29 17:47
  • 2213

CEF学习小记(一)-搭建运行环境

首先要感谢HEY! Code上的这篇文章,通过这篇及随后的三篇文章可以很迅速的搭建最基本的CEF示例。在此我就不赘述了。 当然,这种搭建方法很是粗糙,当然CEF新手很容易上手。以后的项目会才这篇文章的框架下进行增补与修改。
  • yitucom123
  • yitucom123
  • 2016-10-27 18:32
  • 466

InSAR学习(一) 基本原理 Basics of Interferometric SAR (InSAR)

The technique that makes use of interference of electromagnetic waves that are transmitted and received by a SAR is called interferometric synthetic a...
  • qiupingzhao
  • qiupingzhao
  • 2016-03-28 17:25
  • 1923

汇编学习(一)

1.需求1.工作这几年中虽然都是使用c/c++,但有时跟踪bug最后都是到汇编中,而那部分代码大部分都无法看懂2.还有最近在搞反汇编,也需要一些汇编的知识3.程序有时候运行较慢,汇编可能更直接些2.方法1.先找一本基础教程 “Intel汇编语言程序设计”2.开始最简单的c++中嵌入汇编3.写c++函...
  • zhang_ruiqiang
  • zhang_ruiqiang
  • 2015-07-25 11:48
  • 614

从零开始的Hadoop学习之旅

问题1:hadoop 安装时要注意哪些? 答案:对所有的电脑进行(1)安装大环境,linux系统,java安装(2)linux语法上;建立专门的用户;修改/etc/hosts的IP地址与名字对应;然后在集群进行ssh的免密码登录,生成公钥,然后把所有的公钥,分发到集群的authorized_keys...
  • Richard_More
  • Richard_More
  • 2016-06-24 23:32
  • 397
    个人资料
    • 访问:47512次
    • 积分:1043
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:33篇
    • 译文:0篇
    • 评论:1条
    最新评论