当前位置:文档之家› I2C信号和SMBus信号的快速隔离

I2C信号和SMBus信号的快速隔离

I2C信号和SMBus信号的快速隔离
I2C信号和SMBus信号的快速隔离

对I2C信号和SMBus信号进行无毛刺快速隔离的方法

I2C 是一种流行的串行协议,适用于电源控制器、ADC、DAC、EEPROM 以及其他器件。在某些数据采集和电源控制设备中,您必须把I2C主设备与一个或多个从设备隔离开来,以便解决噪声、接地和安全等问题。另外,虽然可以把128 个外设连接到总线,但在某一部位,地电位差和总线电容过大会使噪声余量和定时余量变小。本设计思路表明如何利用用一种符合400kHz 增强型I2C 总线规范要求的方法,对I2C 或SMBus 信号进行快速的、无毛刺光隔离。I2C 总线由双向时钟和数据线(SCL 和SDA)组成,SCL和SDA 均用电阻器或电流源来拉高电平。各器件均用集电极开路的I/O 引脚连接到总线。有一种隔离I2C信号的办法是用图1所示电路的变种来实现的,图1仅仅示出了SDA;SCL 工作原理与SDA相同。

图1,本电路是一种简单的I2C隔离器。

图 1 所示电路的工作原理是,把非隔离的SDA 线路电位拉低的一个器件会使一个光耦合器LED导通,从而使隔离的SDA 线路电位拉低,并使隔离侧的光耦合器LED不工作,反之亦然。然而,如果隔离势垒两侧的器件正在拉低各自的SDA 线路的电位,则这些光耦合器就处于一种不确定状态,两个LED 部分导通。当非隔离的器件释放其SDA 线路时,SDA线路上的电压上升,直到隔离侧的LED 能够完全导通为止。只有这样,非隔离的SDA 线路才会再次变为低电平。这种情况在I2C通信期间的各个时候都会发生,其中包括时钟同步(在SCL 线路上)、多主设备仲裁、SMBus 中断仲裁(在SDA 线路上)。图2 示出了图1 所示电路的工作细节。74HC125 三态非反相缓冲器仿真两个I2C 器件的漏极开路输出。线上的逻辑低电平迫使输出端变为低电平,而逻辑高电平则使输出端处于高阻抗状态。波形1 和波形 2 表示SDA缓

冲器和隔离的SDA 缓冲器的使能线的输入信号。波形3 和波形 4 则分别表示相应的输出信号。

图2,简单的I2C 隔离器在某些情况下会产生大量毛刺。

这类电路以多种形式发表在报刊上,而且通常配有需要 5 ~ 10 mA LED 驱动电流的慢速光耦合器。这些电路可在有限的设备中使用,但它们速度慢,而且仍然会产生毛刺。试图用高速元件来克服速度问题和驱动问题,只会使这些电路变得几乎无法使用。图1 所示电路使用需要500mA LED 驱动电流的高速HCPL2300 光耦合器。如果两条SDA 线都保持为低电平,然后同时释放,则两个光耦合器就会互相对抗,形成振荡器(图3)。这种振荡的特性取决于上拉电阻、供电电压和电容型数据线路(去掉9pF 示波器探头中的一个,就会使振荡停止,而用一个10pF 电容器代替这一探头,就会再次开始振荡)。

图3,在图1所示电路中使用高速元件会导致不可预测的行为。

图4,改进的I2C隔离器速度快,不会产生毛刺。

图 4 所示电路通过建立“高”(上拉至5V)、“拉低”和“被拉低”三种逻辑电平来解决这些问题。当两侧都处于空闲高电平时,两个光耦合器均关断。当某一侧把其SDA 线拉至低于0.4V(适合于集电极开路输出和漏极开路输出的安全假定值)时,比较器使其LED导通。另一侧的SDA线拉低至大约0.6V,这仍被解释为逻辑低电平,但不会导致那一侧的LED 导通。当两侧均在拉低各自SDA线电平时,两个LED 都导通。在这种状态下,如果一侧释放其SDA线,那么它会很明显地从I2C器件输出的低电平升至大约0.6V。

图5,这一示波器照片示出了改进的I2C隔离器的工作情况。

图 5 示出了图 4 所示电路的工作细节。LT1719 比较器和Agilent公司(https://www.doczj.com/doc/6d9850025.html,/)的HCPL2300 光隔离器的组合,能满足400kHz 增强

I2C 总线规范的定时要求。总传输延迟大约为100 纳秒,因此您可以调节逻辑阈值来适应其它要求。虽然您可以使用该电路来使SDA 和SCL 线支持时钟完全同步,但只要主设备的通信速度不快于最慢的从设备,就不必使用这种额外的电路。如果您不需要时钟同步,则您可在SCL中使用一个光耦合器。

I2CBus与SMBus间技术差异

I2C Bus与SMBus间技术差异 前言: 关于I2C与SMBus,许多人很少去谈论与了解两者的细节差异,包括很多国外的简报,文章也经常将两者混写、交杂描述、交替运用。 确实,在一般运用下,I2C Bus与SMBus没有太大的差别,从实际接线上看也几乎无差异,甚至两者直接相连多半也能相安无误地正确互通并运作。不过若真要仔细探究,其实还是有诸多不同,如果电子设计工程师不能明辨两者的真实差异,那么在日后的开发设计的验证纠错阶段必然会产生困扰,为此本文将从各层面来说明I2C Bus与SMBus的细微区别,期望能为各位带来些许帮助。 我写这篇文章,可以理解为郭長祐先生博客中相关文章的读书笔记,我可没有那么高的造诣,关于I2C Bus的基础,可参考先生之前的「I2C 界面之线路实务」,网址为: https://www.doczj.com/doc/6d9850025.html,/n/article.asp?id=304799064272FED148256FDC00481D68 当然也可以去参考Philips半导体网站的I2C官方规格: https://www.doczj.com/doc/6d9850025.html,/acrobat/literature/9398/39340011.pdf 运用背景、版本演进之别 首先从规格的制订背景开始,I2C是在设计电视应用时所研发的界面,首版于1992 年发表;而SMBus(System Management Bus)则是Intel与Duracell (金顶电池)共同制订笔记本电脑所用的智能型电池(Smart Battery)时所研发的接口,首版于1995 年发表,不过SMBus文件中也提及,SMBus确实是参考自I2C,并以I2C为基础所衍生成。 I2C起源于电视设计,但之后朝通用路线发展,各种电子设计都有机会用到I2C;而SMBus则在之后为PC所制订的先进组态与电源管理接口(Advanced Configuration & Power Interface;ACPI)规范中成为基础的管理讯息传递接口、控制传递接口。 虽然I2C与SMBus先后制订时间不同,但都在2000年左右进入成熟化改版,I2C的过程改版以加速为主要诉求,而SMBus以更切合Smart Battery及ACPI的需求为多。 I2C三次主要改版: 1992 年v1.0 1998 年v2.0 2000 年v2.1 SMBus三次主要改版: 1995 年v1.0 1998 年v1.1 2000 年v2.0

光电隔离电子电路图大全

光电隔离电子电路图全集 一.MSD1型湿敏原件空气翁度测量仪电路图 二.光电隔离器应用电路图 光电隔离器可以组成多种多样的应用电路。如组成光电隔离电路,长传输线隔离器,TTL电路驱动器,CMOS 电路驱动器,脉冲放大器等。目前,在A/D模拟转换开关,光斩波器,交流、直流固态继电器等方面也有广泛应用。光电隔离器的输入部分为红外发光二极管,可以采用TTL或CMOS数字电路驱动。 在图a,输出电压Vo受TTL电路反相器的控制,当反相器的控制输入信号为低电平时,信号反相使输出为高电平,红外发光二极管截止,光敏三极管不导通,Vo输出为高电平。反之Vo输出为低电平。从而实现TTL电路控制信号的隔离、传输和驱动作用。 图2为CMOS门电路通过光电隔离器为中间传输媒介,驱动电磁继电器的应用实例。当CMOS反相器的输出控制信号为高电平时.其输出信号为低电平,Q晶体管截止,红外发光二极管不导通,光电隔离器中的输出达林顿管截止,继电器控制绕组J处于释放状态。反之继电器的控制绕组J吸合,继电器的触点可完成规定的控制动作,从而实现CMOS门电路对电磁继电器控制电路的隔离和驱动。

选用输出部分为达林顿晶体管的光电隔离器,可以显著提高晶体管的电流放大系数,从而提高光电耦合部分的电流传输比CTR。这样,输入部分的红外发光二极管只需较小的正向导通电流If,就可以输出较大的负载电流,以驱动继电器、电机、灯泡等负载形式。 达林顿晶体管输出形式的光电隔离器,其电流传输比CTR可达5000%,即Ic=5000×If ,适用于负载较大的应用场合。在采用光电隔离器驱动电磁继电器的控制绕组时,应在控制绕组两侧反向并联二极管D,以抑制吸动时瞬恋反电动势的作用,从而保护继电器产品。 · [图文] 多敏固态控制器光电输入的电路应用原理 · [图文] 线性光藕隔离放大器电路 · [图文] 采用光隔离器的电码实验操作振荡器 · [图文] AD7414/AD7415 数字输出温度传感器 · [图文] 加外部缓冲器的远程测温电路 · [图文] 具有整形作用的光耦隔离电路 · [图文] 带PNP三极管电流放大的光耦隔离电路 · [图文] 普通光耦隔离电路 · [图文] PARCOR方式语音合成电路图 · [图文] ADM方式语音合成电路图 · [图文] 用CMOS逻辑门控制AD590电路图 · [图文] 灵敏度可调节的光电继电路图 · [图文] 光敏吸合式继电路图 · [图文] 光敏晶体管施密特电路图 · [图文] 光敏晶体管及光照吸合式继电器电路图 · [图文] 光敏晶体管光敏电桥电路图 · [图文] 光敏晶体管电感桥电路图 · [图文] 光敏吸合式继电路图 · [图文] 光控玩具汽车向前停车电路图 · [图文] 光控施密特触发电路图 · [图文] 光控升压电路图 · [图文] 光控升压电路图 · [图文] 光控换向电路图 · [图文] 光控发光二极管电路图 · [图文] 光控多功能触发器电路图 · [图文] 光控串联晶闸关开关电路图 · [图文] 光控触发脉冲形成电路图 · [图文] 光控常开式交流接触器电路图 · [图文] 光控常闭式交流接触器电路图 · [图文] 光控插座电路图 · [图文] 光控 闪光管电路图 · [图文] 光控555维电器电路图 · [图文] 光可控电路图 · [图文] 光继电路图

简要对比TWI总线与I2C总线

简要对比TWI总线与I2C总线 摘要在简要对比TWI总线与I2C总线的基础上,详细介绍TWI总线的内部模块、工作时序和工作模式,并给出一个编程实例加以说明.对TWI总线和传统的I2C总线的正确区分及使用具有现实的指导意义。 关键词两线串行总线TWI I2C AVR系列的单片机内部集成了TWI(Two-wire SerialInterface)总线。该总线具有I2C总线的特点,即接线简单,外部硬件只需两个上拉电阻,使用时钟线SCL和数据线SDA就可以将128个不同的设备互连到一起;而且支持主机和从机操作,器件可以工作于发送器模式或接收器模式,数据传输率高达400 kHz。正因为TWI总线具有这么多的优点,因此受到了使用者的青睐。 由于该总线与传统的I2C总线极其相似。因此不少人误以为TWI总线就是I2C总线,其实这只是一种简单化的理解。TWI总线是对I2C总线的继承和发展。它定义了自已的功能模块和寄存器,寄存器各位功能的定义与I2C总线并不相同;而且TWI总线引入了状奁寄存器,使得TWI总线在操作和使用上比I2C总线更为灵活。在实际应用上,由于大部分单片机内部没有集成I2C总线,因此单片机的控制是通过模拟I2C总线的时序来完成其操作的。 AVR系列的单片机内部集成了TWI总线,而且其用法也比I2C更为灵活。本文结合一个实例对TWI总线的内部模块、工作时序和工作模式进行了详细介绍,目的在于正确区分TWI 总线和传统的I2C总线,对如何正确使用TWI总线编程也具有现实的指导意义。 1 TWI内部模块 TWI内部由总线接口单元、比特率发生器、地址匹配单元和控制单元等几个子模块组成,如罔1所示。图中,SCL、SDA为MCU的TWI接口引脚。引脚的输出驱动器包含一个波

线性光耦原理与电路设计,4-20mA模拟量隔离模块,PLC采集应用

1. 线形光耦介绍 光隔离是一种很常用的信号隔离形式。常用光耦器件及其外围电路组成。由于光耦电路简单,在数字隔离电路或数据传输电路中常常用到,如UART协议的20mA电流环。对于模拟信号,光耦因为输入输出的线形较差,并且随温度变化较大,限制了其在模拟信号隔离的应用。 对于高频交流模拟信号,变压器隔离是最常见的选择,但对于支流信号却不适用。一些厂家提供隔离放大器作为模拟信号隔离的解决方案,如ADI的AD202,能够提供从直流到几K的频率内提供0.025%的线性度,但这种隔离器件内部先进行电压-频率转换,对产生的交流信号进行变压器隔离,然后进行频率-电压转换得到隔离效果。集成的隔离放大器内部电路复杂,体积大,成本高,不适合大规模应用。 模拟信号隔离的一个比较好的选择是使用线形光耦。线性光耦的隔离原理与普通光耦没有差别,只是将普通光耦的单发单收模式稍加改变,增加一个用于反馈的光接受电路用于反馈。这样,虽然两个光接受电路都是非线性的,但两个光接受电路的非线性特性都是一样的,这样,就可以通过反馈通路的非线性来抵消直通通路的非线性,从而达到实现线性隔离的目的。 市场上的线性光耦有几中可选择的芯片,如Agilent公司的HCNR200/201,TI子公司TOAS的TIL300,CLARE的LOC111等。这里以HCNR200/201为例介绍2. 芯片介绍与原理说明 HCNR200/201的内部框图如下所示 其中1、2引作为隔离信号的输入,3、4引脚用于反馈,5、6引脚用于输出。 1、2引脚之间的电流记作IF,3、4引脚之间和5、6引脚之间的电流分别记作IPD1和IPD2。输入信号经过电压-电流转化,电压的变化体现在电流IF上,IPD1和IPD2基本与IF成线性关系,线性系数分别记为K1和 K2,即 K1与K2一般很小(HCNR200是0.50%),并且随温度变化较大(HCNR200的变化范围在0.25%到0.75%之间),但芯片的设计使得 K1和K2相等。在后面可以看到,在合理的外围电路设计中,真正影响输出/输入比值的是二者的比值K3,线性光耦正利用这种特性才能达到满意的线性度的。

光耦隔离电路(参考提供)

光耦电路设计 目录 简介: (2) 输入电路(原边) (2) 输出电路(副边) (6) 电流传输比: (7) 延时: (9)

简介: 外部信号可能是电压、电流或开关触点,直接接入电路可能会引起瞬时高压、过压、接触点抖动等。因此在外部信号输入之前,须经过转换、保护、滤波、隔离等措施。对小功率信号处理时: 通常简单采用RC 积分滤波或再添加门电路;而在对大功率信号处理时:输入与内部电路电压或电源电压的压差较大,常常采用光电耦合器来隔离。 使用光耦设计隔离电路时,特别要注意电流传输比的降额,驱动电流关断和开通的大小,与延迟相关的负载大小及开关速率。在进行光耦输入电路设计时,是以光耦为中心的输入电路与输出电路(即原边与副边的电路),光耦的工作原理就是输入端输入信号V in ,光耦原边二极管发光使得光耦副边的光敏三极管导通,三极管导通形成回路产生相应信号(电压或者电流),这样就实现传递信号的目的。在进行光耦输出电路设计时,计算公式与输入部分相同,同时需关注电平匹配、阻抗匹配、驱动功率、负载类型和大小。以下针对光耦输入电路设计为例。 输入电路(原边): 针对于光耦原边的电路设计,如图1 , 就是设计发光二级管的驱动电路。因此须 首先要了解光耦的原边电流I F 和二极管的导通压降V F 等相关信息。根据必要的 信息来设计LED 驱动电路,和通常的数字输入电路一样,输入端需要添加限流电阻对二极管起保护作用。而这个电阻的阻值则是此处的关键,对于图1的限流电阻R 的阻值可以根据下面的公式计算: ……………………… ① 波。并且RC 电路的延迟特性也可以达到测试边沿,产生硬件死区、消除抖动等 图1 LED 驱动电路

SPI、I2C、UART三种串行总线的原理、区别及应用

简单描述: SPI 和I2C这两种通信方式都是短距离的,芯片和芯片之间或者其他元器件如传感器和芯片之间的通信。SPI和IIC是板上通信,IIC有时也会做板间通信,不过距离甚短,不过超过一米,例如一些触摸屏,手机液晶屏那些很薄膜排线很多用IIC,I2C能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C 是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存这两种线属于低速传输; 而UART是应用于两个设备之间的通信,如用单片机做好的设备和计算机的通信。这样的通信可以做长距离的。UART和,UART就是我们指的串口,速度比上面三者快,最高达100K左右,用与计算机与设备或者计算机和计算之间通信,但有效范围不会很长,约10米左右,UART优点是支持面广,程序设计结构很简单,随着USB的发展,UART也逐渐走向下坡; SmBus有点类似于USB设备跟计算机那样的短距离通信。 简单的狭义的说SPI和I2C是做在电路板上的。而UART和SMBUS是在机器外面连接两个机器的。 详细描述: 1、UART(TX,RX)就是两线,一根发送一根接收,可以全双工通信,线数也比较少。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。 2、SPI(CLK,I/O,O,CS)接口和上面UART相比,多了一条同步时钟线,上面UART 的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。 3、I2C(SCL,SDA)接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高,程序写起来也比较复杂。一般单片机系统里主要用来和24C02等小容易存储器连接。 SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢 SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的 3根线实现数据双向传输 串行外围接口 Serial peripheral interface UART:通用异步收发器 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了

光电隔离RS485典型电路

光电隔离RS485典型电路 一、RS485总线介绍 RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。在一些要求通信距离为几十米到上千米的时候,RS485总线是一种应用最为广泛的总线。而且在多节点的工作系统中也有着广泛的应用。 二、RS485总线典型电路介绍 RS485电路总体上可以分为隔离型与非隔离型。隔离型比非隔离型在抗干扰、系统稳定性等方面都有更出色的表现,但有一些场合也可以用非隔离型。 我们就先讲一下非隔离型的典型电路,非隔离型的电路非常简单,只需一个RS485芯片直接与MCU的串行通讯口和一个I/O控制口连接就可以。如图1所示: 图1、典型485通信电路图(非隔离型) 当然,上图并不是完整的485通信电路图,我们还需要在A线上加一个的上拉偏置电阻;在B线上加一个的下拉偏置电阻。中间的R16是匹配电阻,一般是120Ω,当然这个具体要看你传输用的线缆。(匹配电阻:485整个通讯系统中,为了系统的传输稳定性,我们一般会在第一个节点和最后一个节点加匹配电阻。所以我们一般在设计的时候,会在每个节点都设置一个可跳线的120Ω电阻,至于用还是不用,由现场人员来设定。当然,具体怎么区分

第一个节点还是最后一个节点,还得有待现场的专家们来解答呵。)TVS我们一般选用的,这个我们会在后面进一步的讲解。 RS-485标准定义信号阈值的上下限为±200mV。即当A-B>200mV时,总线状态应表示为“1”;当A-B<-200mV时,总线状态应表示为“0”。但当A-B在±200mV之间时,则总线状态为不确定,所以我们会在A、B线上面设上、下拉电阻,以尽量避免这种不确定状态。 三、隔离型RS485总线典型电路介绍 在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无**常工作了,严重时甚至会烧毁芯片和仪器设备。 解决此类问题的方法是通过DC-DC将系统电源和RS-485收发器的电源隔离;通过隔离器件将信号隔离,彻底消除共模电压的影响。实现此方案的途径可分为: (1)传统方式:用光耦、带隔离的DC-DC、RS-485芯片构筑电路; (2)使用二次集成芯片,如ADM2483、ADM2587E等。 传统光电隔离的典型电路:(如图2所示) 图2、光电隔离RS485典型电路

SPI_IIC_USART_区别

第一个区别当然是名字: SPI(Serial Peripheral Inter face:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。 I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备) UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。 显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行; 第四,看看牛人们的意见吧! wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI 则无所谓,因为它是有时钟的协议。 quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。 SPI总线 ----串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间

i2c区别spi

I2C的数据输入输出用的是一根线,SPI则分为dataIN和dataOUT。由于这个原因,采用I2C时CPU的端口占用少,SPI多一根。但是由于I2C的数据线是双向的,所以隔离比较复杂,SPI则比较容易。所以系统内部通信可用I2C,若要与外部通信则最好用SPI带隔离(可以提高抗干扰能力)。但是I2C和SPI都不适合长距离传输。长距离时就要用485了。 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如P89LPC900. SPI,是一种高速的,全双工,同步的通信总线,其工作模式有两种:主模式和从模式,无论那种模式,都支持 3Mbit/s的速率,并且还具有传输完成标志和写冲突保护标志。 I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。 I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。 I2C的数据输入输出用的是一根线,SPI则分为dataIN和dataOUT。由于这个原因,采用I2C时CPU的端口占用少,SPI多一根。但是由于I2C的数据线是双向的,所以隔离比较复杂,SPI则比较容易。所以系统内部通信可用I2C,若要与外部通信则最好用SPI带隔离(可以提高抗干扰能力)。但是I2C和 SPI都不适合长距离传输。长距离时就要用485 了。 第一: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)

iic和spi有什么区别

iic和spi有什么区别 什么是iicIIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS),IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。 IIC简介即I2C,一种总线结构。例如:内存中的SPD信息,通过IIC,与BX芯片组联系,IIC 存在于英特尔PIIX4结构体系中。 随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O 端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。目前,世界上许多公司生产单片机,品种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格仍然有限,所以只能选用某种单片机来进行扩展。扩展的方法有两种:一种是并行总线,另一种是串行总线。由于串行总线的连线少,结构简单,往往不用专门的母板和插座而直接用导线连接各个设备。因此,采用串行线可大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能。因此,这是一种高性能的串行总线。 飞利浦电子公司日前推出新型二选一I2C主选择器,可以使两个I2C主设备中的任何一个与共享资源连接,广泛适用于从MP3播放器到服务器等计算、通信和网络应用领域,从而使制造商和终端用户从中获益。PCA9541可以使两个I2C主设备在互不连接的情况下与同一个从设备相连接,从而简化了设计的复杂性。此外,新产品以单器件替代了I2C多个主设备应用中的多个芯片,有效节省了系统成本。 什么是spiSPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时

SPI,UART,I2C都有什么区别,及其各自的特点

SPI,UART,I2C都有什么区别,及其各自的特点 区别: SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢 I2C:一种串行传输方式,三线制,网上可找到其通信协议和用法的 3根线实现数据双向传输 串行外围接口Serial peripheral interface UART:通用异步收发器 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能: 将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的UART是8250。现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会有16550 UART。 I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。 更详细的区别: 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上:

SMBus与I2C总线的区别

SMBus与I2C总线的区别 The I 2C bus and the SMBus are popular 2-wire buses that areessentially compatible with each other. Below,significantdifferences between the two buses. I2C SMBus Timeout No Yes Minimum Clock Speed DC 10kHz Maximum Clock Speed 100kHz (400kHz and 2MHz also available) 100kHz V HIGH0.7 x V DD, 3.0V Fixed 2.1V V LOW0.3 x V DD, 1.5V Fixed 0.8V Max I 3mA 350(iA Clock Nomenclature SCL SMBCLK Data Nomenclature SDA SMBDAT General Call Yes Yes Alert# No Yes SMBus与I2C的差别 SMBus与I2C总线之间在时序特性上存在一些差别。首先, SMBus需要一定数据保持时间,而I2C 总线则是从内部延长数据保持时间。 SMBus具有超时功能,因此当SCL太低而超过35 ms时,从器件将复位正在进行的通信。相反,I2C采用硬件复位。SMBus具有一种警报响应地址(ARA),因此当从器件产生一个中断时,它不会马上清除中断,而是一直保持到其收到一个由主器件发送的含有其地址的ARA为 止。SMBus只工作在从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定的 (1)SMBus是一种二线制串行总线,1996年第一版规范开始商用。它大部分基于I2C总线规范。和I2C 一样,SMBus不需增加额外引脚,创建该总线主要是为了增加新的功能特性,但只工作在100KHZ且专 门面向智能电池管理应用。它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位, 在其终止一次传输时提供一个停止位;从器件拥有一个唯一的7或10位从器件地址。 SMBus与I2C总线之间在时序特性上存在一些差别。首先, SMBus需要一定数据保持时间,而I2C 总线则是从内部延长数据保持时间。SMBus具有超时功能,因此当 SCL太低而超过35 ms时,从器件将 复位正在进行的通信。相反,I2C采用硬件复位。SMBus具有一种警报响应地址(ARA),因此当从器件产生一个中断时,它不会马上清除中断,而是一直保持到其收到一个由主器件发送的含有其地址的ARA为止。 SMBus只工作在从10kHz到最高100KHZ。最低工作频率10kHz是由SMBus超时功能决定的。

I2C与UART的区别与比较

I2C IIC本身是为板级通讯设计,没有考虑远距离通讯.UART通讯编程简单,通讯速度远比IIC 快,可以直接使用RS485延伸通讯距离达到1km,通讯速度很容易做高。 UART是一个并行输入成为串行输出的芯片...有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信. I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用 于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优 点。 发送器:发送数据到总线的器件; 接收器:从总线接收数据的器件; 主机:初始化发送产生时钟信号和终止发送的器件; 从机:被主机寻址的器件; 多主机:同时有多于一个主机尝试控制总线但不破坏传输; 仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏 的过程; 同步:两个或多个器件同步时钟信号的过程。 两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;SDA 线上的数据必须在 时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变。

SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件; SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个 字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。 数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器 释放SDA 线(高)。在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。 写操作 写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不 同有所不同。 读操作

IIC与IIB的区别

防爆电器产品的分类 1.按使用场所不同分为: Ⅰ类:煤矿用防爆电器; Ⅱ类:工厂用防爆电器; 2.按用途不同分为: 灯具:有内装灯泡、灯管及LED三种; 电器:操作柱、开关、按钮、配电箱、起动器、控制柜; 管件:接线盒(箱)、穿线盒、活接头、挠性连接管; 仪表:安全栅、电表、电话机; 其它类:电铃、风机、风扇、变压器、插销、镇流器、加热器、空调; 3.按最大试验安全间隙和最小点燃电流比例不同,Ⅱ类防爆电器又可分为:ⅡA类防爆电器; ⅡB类防爆电器; ⅡC类防爆电器; 防爆级别:ⅡC>ⅡB>ⅡA 本质安全型及隔爆型防爆电气设备有ⅡA、ⅡB、ⅡC 分级外,其它类型无级别规定。 4.按防爆类型分为: 隔爆型(d);增安型(e);正压型(P);充砂型(q);充油型(O);本质安全型(i);无火花型(n);气密型(h);浇封型(m);特殊型(s);粉尘防爆型(DIP);复合型(ed); 5. 按危险环境的区域选用防爆电气设备类型 0区:ia、S; 1区:ia、ib、d、e(部分)、m、p、O、q; 2区:ia、ib、d、e、m、p、O、q、n. 以上符号代表:ia、ib-本质安全型;d-隔爆型;e-增安型;m-浇封型;p-正压型;O-充油型;q-充沙型;n-无火花型;S-特殊型。 S型防爆电气设备是指不符合上述防爆型式标准的电气设备,但经检验单位认可。一般由检验单位确认使用的危险区域。 1区环境使用的e型防爆电气设备仅限于接线盒(箱)、三相鼠笼式异步电动机、单插脚荧光灯产品。 爆炸性气体(蒸气)混合物的分类、分组

1. 爆炸性气体(蒸气)混合物分类: 中国: Ⅰ类(甲烷)、Ⅱ类(爆炸性气体混合物)、Ⅲ类(爆炸性粉尘和纤维) 北美: ClassⅠ(爆炸性气体);ClassⅡ(爆炸性粉尘);ClassⅢ(纤维) 2. 爆炸性气体(蒸气)混合物分级: 3.爆炸性气体分组总汇 4. 爆炸性气体(蒸气)环境的分区 世界各国对危险场所区域划分不同,但大致分为两大派系:我国和大多数欧洲国家采用国际电工委员会(IEC)的划分方法,而以美国和加拿大为主要代表的其他国家则采用北美划分方法。 1)我国对爆炸性危险场所划分的依据: GB3836.14-2000《爆炸性气体环境用电气设备第14部分危险场所分类》

I2C总线入门(很详细-很经典)

12 C总线入门 I)最近学习5 1单片机,学到A/D, D/A转换的时候发现我板子上的转换芯片?不是书上所讲的ADCO 8 0 4和DACO 8 3 2而是P CF 8 591 T ,看了一下它的数据手册,发现它并不是书上所说的并行传输数据,是使用I2C总线传输的。搞了两天才搞懂,写出来给大家分享一下,不足之处请务必不吝指岀。 1. i?c gtt 介绍 I J C Ata(IMer IC Bu≤) Ih PHlUPS公司捡Hl?绘近"束锻电FMIm控Sw皱城广泛采冊的M 标ML它肚附通信的Jlff按口仪少■控Mm*>妙件MKB :仁违估JaE较扁第优点.Λ hΛ?f∣M?.砒以“7个总IUl件的时按到Fc总线上? Af?的暮件AJl川知0的按【】? Ii过淮址来谏別迪仃对叙便它们町以性曲l j CJ^ it irdMur. I J Cfitt由数飙嫂SDA和时伸饮$ci?IWi剣农购成通仙找烁Kt町发iX&?.也廨?Λ CPυ 1J?F? ICZrn]? IC I HCZrWJΛ5

8-lead PDlP 以上是I 2 C 总线通信的格式。 2 1 8 2 3 4 AOE Al 匚 A2□ GND 匚 □ VCC WP ZJS □ SDA A N N3 AI N V 辽 叵 rlF 匡 叵Jθ] v DD 回 AoUT 回 迢 AGND PCFδ591P — 卫IExT 2 )接下来看如何使用I 2C 总线进行通信 3. FC 总线通信格式 图8.1.2为I 2 C 总线上进厅一次数据传输的通信格式? N A

光耦隔离电路

光耦电路设计目录 简介: 输入电路(原边) 输出电路(副边) 电流传输比: 延时: 简介:

外部信号可能是电压、电流或开关触点,直接接入电路可能会引起瞬时高压、过压、接触点抖动等。因此在外部信号输入之前,须经过转换、保护、滤波、隔离等措施。对小功率信号处理时: 通常简单采用RC 积分滤波或再添加门电路;而在对大功率信号处理时:输入与内部电路电压或电源电压的压差较大,常常采用光电耦合器来隔离。 使用光耦设计隔离电路时,特别要注意电流传输比的降额,驱动电流关断和开通的大小,与延迟相关的负载大小及开关速率。在进行光耦输入电路设计时,是以光耦为中心的输入电路与输出电路(即原边与副边的电路),光耦的工作原理就是输入端输入信号V in,光耦原边二极管发光使得光耦副边的光敏三极管导通,三极管导通形成回路产生相应信号(电压或者电流),这样就实现传递信号的目的。在进行光耦输出电路设计时,计算公式与输入部分相同,同时需关注电平匹配、阻抗匹配、驱动功率、负载类型和大小。以下针对光耦输入电路设计为例。 图1 LED驱动电路 输入电路(原边):

针对于光耦原边的电路设计,如图1 , 就是设计发光二级管的驱动电路。因此须 首先要了解光耦的原边电流I F和二极管的导通压降V F等相关信息。根据必要的信息来设计LED驱动电路,和通常的数字输入电路一样,输入端需要添加限流电阻对二极管起保护作用。而这个电阻的阻值则是此处的关键,对于图1的限流电阻R的阻值可以根据下面的公式计算: ……………………… ① 基于对抗干扰能力的考虑,通常在靠近光耦的原边并联接入一个电容进行滤波。并且RC电路的延迟特性也可以达到测试边沿,产生硬件死区、消除抖动等益处。同时在数字电路中其延迟特性可能会影响到信号的同步问题(尤其是通讯、异步电路、使能控制等),因此要充分注意电路的时间约束。 根据设计要求,为了确保输入端和公共端的电压差Vin在4V以下时,输入无效,光耦断开。为此我们在输入端与公共端之间并接一个电阻避免输入无效时造成光耦原边的误导通。 此并联电阻的采用使得光耦原边二极管两端的电压受限,当输入电压V in值较小时,并联电阻上的电流小于“二极管导通电压V F与并联电阻R的比值”,则光耦的原边电压被电阻钳位,由该并联电阻两端的电压决定;而当输入端与公共端的电压V in足够大时,并联电阻上的电流大 于“二极管导通电压V F与并联电阻R的比值”,该并联电阻两端的电压 被光耦原边电压钳位,就保持为二极管的导通电压。 故光耦输入电路通常如图2包含限流电阻R in、并联电阻R1、滤波电

I2C总线入门(很详细,很经典)

I2C总线入门 1)最近学习51单片机,学到A/D,D/A转换的时候发现我板子上的转换芯片不是书上所讲的ADC0804和DAC0832而是PCF8591T,看了一下它的数据手册,发现它并不是书上所说的并行传输数据,是使用I2C 总线传输的。搞了两天才搞懂,写出来给大家分享一下,不足之处请务必不吝指出。 以上是I2C总线的简单介绍。 就比如说AT24C02存储芯片,和PCF8591数模模数转换芯片都支持I2C端口。(如下图)

2)接下来看如何使用I2C总线进行通信 以上是I2C总线通信的格式。 由上图可以看出进行通信需要以下几个步骤a.初始化I2C总线 就是把SDA和SCL都变成高电平。

void init() //初始化 { SDA=1; delay(); SCL=1; delay(); } delay()为延时函数 void delay() //延时4-5个微秒 {;;} b.发送起始信号 就是保持SCL为高电平,而SDA从高电平降为低电平(这是I2C总线的规定,别问我为什么) void start()//起始信号 { SDA=1; delay(); SCL=1; delay(); SDA=0; delay(); } c.发送地址字(芯片的硬件地址)

(8591的数据手册) 前四位对同一种芯片来说是固定的,不同的芯片之间不同。就像pcf8591是1001而at24c02是1010 接下来三位A0,A1,A2是可编程的三个地址位,这里说说的编程并不是通过软件编程,而是把A0,A1,A2三个引脚接不同的电压来确定数值。接VCC 表示1,接GND表示0。为什么要有这三个呢?因为有可能你在I2C总线上“并联”了不止一个相同的元件(比如说接了三个8591),那你如何来分辨你要操作的是哪一个芯片呢,就是通过设置A0,A1,A2的数值,来区别。可编程的地址一个有三位,也就是说最多可以接8个相同的芯片在同一个I2C总线上。 最后一位是读/写位,1为读,0为写。 @如何写数据 写数据只需要按照时序图 1.先将SCL置0(只有它为0的时候SDA才允许变化) 2.改变SDA是数值(就是你当前要穿的一位是0还是1) 3.把SCL置1(此时芯片就会读取总线上的数据)

光耦隔离的几种典型接法对比

在一般的隔离电源中,光耦隔离反馈是一种简单、低成本的方式。但对于光耦反馈的各种连接方式及其区别,目前尚未见到比较深入的研究。而且在很多场合下,由于对光耦的工作原理理解不够深入,光耦接法混乱,往往导致电路不能正常工作。本研究将详细分析光耦工作原理,并针对光耦反馈的几种典型接法加以对比研究。 1 常见的几种连接方式及其工作原理 常用于反馈的光耦型号有TLP521、PC817等。这里以TLP521为例,介绍这类光耦的特性。 TLP521的原边相当于一个发光二极管,原边电流If越大,光强越强,副边三极管的电流Ic越大。副边三极管电流Ic与原边二极管电流If的比值称为光耦的电流放大系数,该系数随温度变化而变化,且受温度影响较大。作反馈用的光耦正是利用“原边电流变化将导致副边电流变化”来实现反馈,因此在环境温度变化剧烈的场合,由于放大系数的温漂比较大,应尽量不通过光耦实现反馈。此外,使用这类光耦必须注意设计外围参数,使其工作在比较宽的线性带内,否则电路对运行参数的敏感度太强,不利于电路的稳定工作。 通常选择TL431结合TLP521进行反馈。这时,TL431的工作原理相当于一个内部基准为2.5 V的电压误差放大器,所以在其1脚与3脚之间,要接补偿网络。 常见的光耦反馈第1种接法,如图1所示。图中,Vo为输出电压,Vd为芯片的供电电压。com信号接芯片的误差放大器输出脚,或者把PWM 芯片(如UC3525)的内部电压误差放大器接成同相放大器形式,com信号则接到其对应的同相端引脚。注意左边的地为输出电压地,右边的地为芯片供电电压地,两者之间用光耦隔离。 图1所示接法的工作原理如下:当输出电压升高时,TL431的1脚(相当于电压误差放大器的反向输入端)电压上升,3脚(相当于电压误差放大器的输出脚) 电压下降,光耦TLP521的原边电流If增大,光耦的另一端输出电流Ic增大,电阻R4上的电压降增大,com 引脚电压下降,占空比减小,输出电压减小;反之,当输出电压降低时,调节过程类似。 常见的第2种接法,如图2所示。与第1种接法不同的是,该接法中光耦的第4脚直接接到芯片的误差放大器输出端,而芯片内部的电压误差放大器必须接成同相端电位高于反相端电位的形式,利用运放的一种特性——当运放输出电流过大(超过运放电流输出能力)时,运放的输出电压值将下降,输出电流越大,输出电压下降越多。因此,采用这种接法的电路,一定要把PWM 芯片的误差放大器的两个输入引脚接到固定电位上,且必须是同向端电位高于反向端电位,使误差放大器初始输出电压为高。

相关主题
文本预览
相关文档 最新文档