[国嵌攻略][152][I2C总线介绍]
IIC电气特性
I2C(inter intergrated circuit)总线是由philps公司开发的两线式串行总线,用于连接微控制器及其外围设备。
I2C总线只有两根双向信号线:
SDA:serial date line 数据线
SCL:serial clock line 时钟线
总线寻址
I2C总线规定:从设备采用7位的地址。D7-D1:从设备地址。D0:数据传输方向,为0时表示主设备向从设备写入数据,为1时表示主设备从从设备读取数据。主设备发送地址时,总线上的每个从设备都将这7位地址码与自己的地址进行比较,如果相同,则认为自己被主设备寻址,根据R/W位将自己确认为发送器或接受器。
从设备的地址由固定部分和用户自定义部分组成:
1.固定部分:D7-D4共4位决定。这是由从设备的生产厂商生产时就已经确定的值。
2.用户自定义部分:D3-D1共3位决定。这三位通常对应设备的3个引脚(A0-A2)。把3个引脚接到不同的电平上,就可以形成一个3位的数值。
空闲状态
I2C总线的SDA和SCL两条信号线同时处于高电平时,规定总线为空闲状态。
起始状态
在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(及负跳变),定义为I2C总线的启动信号,它标志着一次数据传输的开始。
结束状态
在时钟线SCL保持高电平时,数据线SDA被释放,使得SDA返回高电平(即正跳变),称为I2C总线的停止信号。
数据传输
I2C总线上的所有数据(地址和数据)都是以8位一个字节为单位传送的。
应答数据
发送器每发送一个字节,就在时钟信号脉冲第9位释放数据线,由接收器反馈一个应答信号。应答信号为低电平时,认为有效应答ACK,表示接收器已经成功接收了该字节,应答信号为高电平时,认为无效应答NACK,表示接收器没有成功接收该字节。
[国嵌攻略][152][I2C总线介绍]的更多相关文章
- [国嵌攻略][161][USB总线介绍]
		USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ... 
- [国嵌攻略][157][SPI总线介绍]
		SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线.采用主从模式(master slave)架构,支持多个slave,一般 ... 
- [国嵌攻略][153][I2C裸机驱动设计]
		eeprom简介 eeprom电可擦除可编程只读存储器,是一种类似于flash的固态存储器,但是与flash相比又存在一些区别: 1.eeprom可以按位擦写,而flash只能大片擦除. 2.eepr ... 
- [国嵌攻略][156][I2C自编设备驱动设计]
		AT24C08的驱动在Linux内核中已经提供,在/drivers/misc/eeprom/at24.c文件中.在对应的probe函数中有一个创建/sys/.../eeprom文件的函数,应用程序通过 ... 
- [国嵌攻略][155][I2C用户态驱动设计]
		用户态驱动模型 用户态驱动模型首先是一个应用程序,其次是在这个用户程序中通过内核调用来驱动设备. IIC通用驱动代码 IIC通用驱动程序的代码在/drivers/i2c/i2c-dev.c中.一次读操 ... 
- [国嵌攻略][154][Linux-I2C子系统]
		IIC子系统架构 device driver层: 1.device driver,由用户开发. 2.i2c-dev由内核实现,但是需要配合应用模式驱动才能使用. i2c core层: 1.总线驱动,也 ... 
- [国嵌攻略][065][DM9000驱动程序设计]
		移植代码:通过已有的可用的代码修改到新环境下运行. 代码编写: 初始化网卡 1.选中网卡 nLAN_CS BWSCON(0x48000000) DW4:01 16bit BANKCON4(0x4800 ... 
- [国嵌攻略][059][2440-DMA程序设计]
		初始化DMA控制器 1.设置源地址 DISRC(0x4B000000)设置为发送数据的源地址,DISRCC0(0x4B0000004)设置为内存AHB总线,目的地址增长 2.设置目的地址 DIDST0 ... 
- [国嵌攻略][045-046][一跃进入C大门]
		[一跃进入C大门] 跳转方式 1.相对跳转:b或bl指令,通过计算两个地址之间的差值来给pc赋值相对跳转 2.绝对跳转:ldr指令,通过给pc直接赋值,完成绝对跳转 代码编写 1.在汇编代码中直接使用 ... 
随机推荐
- css清除浮动主要方法
			1.浮动元素尾部添加空div标签,设置css为clear:both: 缺点:如果页面浮动布局多,则需要添加较多div: 2.父级元素定义伪类:after和zoom:1: .father:after{d ... 
- 闲来无事做了一个批处理的win10账号管理
			@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ... 
- Python学习_07_错误、异常
			地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ... 
- Center OS 7 安装 $$
			资料来自网络,收集整理做个备忘 1. 安装Python # yum install python-setuptools && easy_install pip 2. 安装$$ # pi ... 
- mysql启动日志文件log_bin
			今天正在无所事事的时候,突然收到需要我打开mysql的log_bin,当时我就懵逼了...不多说别的,我连这个log_bin在哪里,怎么知道是否启动了都不知道,怎么去做? 在万分纠结下,查询了很多资料 ... 
- BIOS 品牌快捷键
			主板品牌 启动按键 笔记本品牌 启动按键 台式机品牌 启动按键 华硕主板 F8 联想笔记本 F12 联想台式机 F12 技嘉主板 F12 宏基笔记本 F12 惠普台式机 F12 微星主板 F11 华硕 ... 
- kali系统教程:创建热点
			1:把网卡改成混杂模式 sduo airmon-ng start wlan0 2:aircrack套件创建一个fake-ap airbase-ng -e fake-ap -c wlan0mon 此时, ... 
- [转载]CentOS 7安装Gnome GUI 图形界面
			原文链接:http://www.centoscn.com/image-text/config/2015/0528/5552.html 当你安装centos服务器版本的时候,系统默认是不会安装 Cent ... 
- iOS 横竖屏适配 笔记
			研究消息转发机制 已经一周多了,但是 还是没整理出博客, 还是先写一个 项目中遇到的 横竖屏适配问题. // 开启自动转屏 - (BOOL)shouldAutorotate { return YES; ... 
- 错误:'dict' object is not callable
			在晚上学习别人的代码,偶然爆出错误:'dict' object is not callable 找了半天没发现错误.后来还想上文已经有变量名为dict. 因此dict在下面程序中被认为是一个变量不是内 ... 
