(1)I2c的简介和特性

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

要全面了解I2C,可以从《I2C-bus specification and user manual》看起.I2C最初是由Philips提出的,那么这文档就是由NXP维护的.
        I2C总线被全球超过50个公司的1000+个ICs所使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线),PMBus(电源管理总线),IPMI(智能平台管理总线),DDC(显示数据通道)以及ATCA(高级电信架构).如果没记错的话,linux中的I2C框架是完全支持SMBus的.
        我们接下来要了解I2C总线是如何工作的,在一个具体应用中如何设计.I2C的数据传输,握手以及总线仲裁机制都需要了解.I2C总线在每种操作模式下的时序和电气特性都需要了解,这里还是从嵌入式软件工程师的角度着重了解时序特性.
        I2C总线的特性:
        在消费电子,通信以及工业电子中,看起来不相关的设计中有很多类似的地方.例如,基本上每个系统都包括:
        1.一些智能控制,通常是单芯片的微控制器
        2.通用的电路:LCD和LED驱动器,远程IO口,RAM,EEPROM,RTC或者DAC\ADC.
        3.面向应用的电路:比如收音机和视频系统的数字调谐和信号处理电路,温度传感器和智能卡.
        为了让这些共同之处对于系统设计者和设备厂商都有用,也为了最大化硬件的有效性和电路的简单性,Philips半导体开发了一个简单的双向2线的总线,实现了IC之间的有效控制.这个总线就被称为I2C总线.所有兼容I2C总线的设备都包含一个片上的接口,允许它们直接通过I2C总线进行通信.这个设计解决了在设计数字控制电路时带来的很多接口问题.
        下面是I2C总线的一些特性:
        1.只需要两根线,一个串行数据线(SDA)额一个串行时钟线(SCL).
        2.可以通过软件方式和一个唯一的地址来寻找到每一个连接到总线的设备,简单的主从关系一直存在.主机可以作为主机发送器或者主机接收器.
        3.它是真正的多主机总线,如果有两个或多个主机初始化数据传输,可以通过冲突检测和仲裁来防止数据被破坏.
        4.串行的8位双向数据传输在标准模式下达到100kb/s,快速模式下是400kb/s,超速模式下是3.4Mb/s.
        5.串行的8位单向数据在快速模式下可以达到5Mb/s.
        6.片上的滤波器可以保护数据完整性.
        7.总线上连接的最大IC数量由总线最大的电容所限制.
        系统设计者的好处:
        由于I2C总线是个是一个标准的总线,不需要额外的接口.所以在系统升级或者修改时,可以简单的换IC.
        厂商的好处:
        符合I2C总线的IC不仅帮助了设计者,同样给设备厂商很多好处,因为:
        1.I2C只有两根线,所以IC的pin脚会少,PCB的面积会小,成本会降.
        2.完整的I2C总线协议不需要地址译码器或其他逻辑电路.
        这只是一些好处.另外,符合I2C总线的IC会增加系统设计的灵活性.IC很容易升级,比如需要一个更大的ROM,只需要选择一个有更大ROM的微控制器就可以了.
        IC设计者的好处:
        微控制器的设计者经常要考虑输出pin脚.I2C协议允许在没有单独寻址信号和芯片使能信号的条件下各种外设的连接.另外,带I2C接口的微控制器在市场上更受欢迎,因为有很多外设可以选.
       
        第一部分就翻译这么多了,英语水平就只能这样了,下次就开始了解I2C总线协议了~

(1)I2c的简介和特性

时间: 2024-08-04 03:53:07

(1)I2c的简介和特性的相关文章

Tcl 简介及特性

[简介|特性] l  简介 Tcl是一门产生于80年代末的语言,和Python一样,她是用c开发出来的,如果说C/Java/C++/C#为编译型语言的话,那么Python.Perl和Tcl就是一门解释性语言,也就是说程序不需要先编译为机器能识别的二进制码,再运行程序,而是直接可以运行.其技术实现主要借助于Tcl中的库作为解析器.如果你知道Python的话,其执行过程如下:python先把代码编译成字节码,再对字节码解释执行 同为解释型语言,Tcl同样靠其内置分析器负责解释.编译型语言的优点是:因

ECMAScript各个版本简介及特性

术语 ECMAScript Sun(现在的Oracle)公司持有着"Java"和"JavaScript"的商标.这就让微软不得不把自己的JavaScript方言称之为"JScript".然后,在这门语言被标准化的时候,就必须使用一个与二者都不同的名字."ECMAScript"就这样诞生了,这个名字的来由是因为执行标准化的组织是Ecma国际.通常来说,术语"ECMAScript"和"JavaScri

AngularJS_简介、特性及基本使用

AngularJS Google 开源的前端 JS 结构化框架,主体是 页面中的动态数据,与内存的读取 相较于 jQuery jQuery 是前端函数库,封装简化 DOM 操作 应用: 构建单页面 SPA Web 应用____Single Page Application 将所有的活动局限于一个 html 页面 (即使页面跳转了,也是在本页面跳转) 当页面中有部分数据发生了变化,不会刷新整个页面,而是局部刷新 利用的就是 ajax 技术,路由 Web App 应用 饿了么.微信网页版 后台管理应

I2C协议简介

主从芯片如何传输数据 AT24C02是一个存储芯片,需要把数据从ARM板发给AT24C02,也需要从AT24C02读取数据. I2C是一个主从结构,Master发起传输,slave接收或回应 一主多从:如何选在哪个从芯片呢?每个从芯片都有设备地址,设备地址各不相同,这些地址都是在芯片里写死的. 设备地址是7位,先传输地址的最高位MSB. SCL为低电平时,SDA可变化 SCL为高电平时,SDA不可变. 问:如何在SDA上实现双向传输? 主从设备里面必然有两个引脚,发送引脚和接收引脚. 1)主设备

大数据笔记(二十九)——RDD简介、特性及常用算子

1.什么是RDD? 最核心 (*)弹性分布式数据集,Resilent distributed DataSet (*)Spark中数据的基本抽象 (*)结合源码,查看RDD的概念 RDD属性 * Internally, each RDD is characterized by five main properties: * * - A list of partitions 一组分区,把数据分成了的不同的分区,每个分区可能运行在不同的worker * - A function for computi

【Android应用开发】Android Studio 简介 (Android Studio Overview)

一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- Intelij 文档参考 : https://www.jetbrains.com/idea/help/intellij-idea.html ; 1. Intelij 与 Eclipse 区别 (1) Intelij 与 Eclipse 对应关系 Android Studio 与 Eclipse 对应

Smart210学习记录-----Linux i2c驱动

一:Linux i2c子系统简介: 1.Linux 的 I2C 体系结构分为 3 个组成部分: (1) I2C 核心. I2C 核心提供了 I2C 总线驱动和设备驱动的注册.注销方法,I2C 通信方法(即“algorithm”)上层的.与具体适配器无关的代码以及探测设备.检测设备地址的上层代码等. (2) I2C 总线驱动. I2C 总线驱动是对 I2C 硬件体系结构中适配器端的实现,适配器可由 CPU 控制,甚至可以直接集成在 CPU 内部. I2C 总线驱动主要包含了 I2C 适配器数据结构

ESP32学习笔记(四)之I2C总线

上一篇帖子我们了解了一下ESP32运行多任务的操作以及现象,其实也就是一个实时操作系统.那么,这篇帖子我们就结合"LM75a"温度传感器来学习一下ESP32的IIC总线吧. 首先我们通过esp32_technical_referance发现,esp32的I2C总线具有以下特性 ? 支持主机模式以及从机模式? 支持多主机多从机通信? 支持标准模式(100 kbit/s)? 支持快速模式(400 kbit/s)? 支持7-bit 以及10-bit 寻址? 支持关闭SCL 时钟实现连续数据传

传感器系列之4.2气压传感器

4.2 气压传感实验 一.实验目的 掌握LPC2378芯片的编程方法 掌握气压传感器的使用方法 掌握气压传感器在实际中的应用 二.实验材料 具有USB 串口通讯的PC 机1 台 ADS1.2 集成开发软件1 套 J-Link-ARM 仿真器及软件1 套 NXP LPC2378 实验节点板1 个 LCD 显示实验板1 个 BMP085数字气压传感器模块1个 三.实验原理 振动传感器实验环境由PC机(安装有Windows XP操作系统.ADS1.2集成开发环境和J-Link-ARM-V410i仿真器