大家好,又到了每日学习的时候了。今天我们来聊一聊总线接口。
一、I2C总线
I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线,使用两根双向I/O线:SCL(串行时钟线)和SDA(串行数据线)。 该总线主要是用来连接整体电路(ICS) ,I2C是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。这种方式简化了信号传输总线。主从之分,可以挂在多个slave设备。每一个I2C总线器件内部的SDA、SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。其中输出为漏极开路的场效应管、输入缓冲为一只高输入阻抗的同相器。
这种电路具有两个特点:
(1)由于 SDA、SCL 为漏极开路结构,借助于外部的上拉电阻实现了信号的“线与”逻辑;
(2)引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出一致。为 “时钟同步”和“总线仲裁”提供硬件基础。
如果从机希望主机降低传送速度可以通过将SCL主动拉低延长其低电平时间的方法来通知主机,当主机在准备下一次传送发现SCL的电平被拉低时就进行等待,直至从机完成操作并释放SCL线的控制控制权。这样以来,主机实际上受到从机的时钟同步控制。可见SCL线上的低电平是由时钟低电平最长的器件决定;高电平的时间由高电平时间最短的器件决定。这就是时钟同步,它解决了I2C总线的速度同步问题。
二、SPI总线
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。该接口一般使用4条线。SPI的三个寄存器为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。
SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。
SPI总线定义:
(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK –时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2
(4)NSS – 从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。数据在SCLK的上升沿上改变,同时一位数据被存入移位寄存器。
SPI有四种工作模式, CPOL和CPHA分别都可以是0或时1:
CPOL: (Clock Polarity),时钟极性。当CPOL为0时,时钟空闲时电平为低;当CPOL为1时,时钟空闲时电平为高;
CPHA Clock Phase),时钟相位。当CPHA为0时,时钟的上升沿采集数据,时钟周期的下降沿输出数据;当CPHA为1时,时钟的下降沿采集数据,时钟周期的上升沿输出数据;
三、RS232、RS422、RS485总线
RS232:由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。它定义了数据终端设备(DTE)和数据通信设备(DCE)之间的串行连结。是串行通信接口标准。
RS-422:是平衡电压数字接口电路。在相同传输线上连接多个接收节点,最多可接256个节点。即一个主设备(Master),其余为从设备(Slave)。RS-422支持点对多的双向通信。是并行通信接口标准。
RS485:是两线制(多采用屏蔽双绞线)传输。是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。
RS232、RS422、RS485的区别:
a.通信距离的不同:
1.RS232最多传输15米。
2.RS-422是差模传输,抗干扰能力强,能传1200米。
3.RS485最大的通信距离约为1219m。
b.逻辑表示的不同:
1.RS232使用-12V表示逻辑1,12V表示0,全双工,最少3条通信线(RX,TX,GND),因为使用绝对电压表示逻辑,由于干扰,导线电阻等原因,通讯距离不远。
2.RS422,使用TTL差动电平表示逻辑,就是两根的电压差表示逻 辑,RS422定义为全双工的,所以最少要4根通信线(一般额外地多一根地线),一个驱动器可以驱动最多10个接收器(即接收器为1/10单位负载),通讯距离与通讯速率有关系,一般距离短时可以使用高速率进行通信,速率低时可以进行较远距离通信。
3.RS485,绝大部分继承了422,主要的差别是RS485可以是半双工的,而且一个驱动器的驱动能力至少可以驱动32个接收器(即接收器为1/32单位负载),当使用阻抗更高的接收器时可以驱动更多的接收器。所以现在大多数全双工485驱动/接收器对都是标:RS422/485的,因为全双工RS485的驱动/接收器对一定可以用在RS422网络。
四、USB
USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是一种统一的传输规范,但是接口有许多种,最常见的就是咱们电脑上用的那种扁平的,这叫做A型口,里面有4根连线,根据谁插接谁分为公母接口,一般线上带的是公口,机器上带的是母口。USB信号使用分别标记为D+和D-的双绞线传输,它们各自使用半双工的差分信号并协同工作,以抵消长导线的电磁干扰。
USB1.1是较为普遍的USB规范,其高速方式的传输速率为12Mbps,低速方式的传输速率为1.5Mbps(b是bit的意思),1MB/s(兆字节/秒)=8MBPS(兆位/秒),12Mbps=1.5MB/s。当前,大部分MP3为此类接口类型。
USB2.0规范是由USB1.1规范演变而来的。它的传输速率达到了480Mbps,折算为MB为60MB/s,足以满足大多数外设的速率要求。USB 2.0中的“增强主机控制器接口”(EHCI)定义了一个与USB 1.1相兼容的架构。它可以用USB 2.0的驱动程序驱动USB 1.1设备。也就是说,所有支持USB 1.1的设备都可以直接在USB 2.0的接口上使用而不必担心兼容性问题,而且像USB线、插头等等附件也都可以直接使用。
五、PCI
PCI即Peripheral Component Interconnect,是一种局部并行总线标准。是由ISA总线发展而来的。从结构上看,PCI是在CPU的供应商和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。
PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI 从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。PCI总线结构如下图所示。
PCI总线是一种同步的独立于处理器的32位或64位局部总线,最高工作频率为33MHz,峰值速度在32位时为132MB/s,64位时为264MB/s,总线规范由PCISIG发布。ISA总线相比,PCI总线和有如下显著的特点:
(1)高速性
PCI局部总线以33MHz的时钟频率操作,采用32位数据总线,数据传输速率可高达132MB/s,远超过以往各种总线。另外,PCI总线的主设备(Master)可与微机内存直接交换数据。
(2)即插即用性
PCI板卡的硬件资源则是由微机根据其各自的要求统一分配,决不会有任何的冲突问题。
(3)可靠性
与原先微机常用的ISA总线相比,PCI总线增加了奇偶校验错(PERR)、系统错(SERR)、从设备结束(STOP)等控制信号及超时处理等可靠性措施,使数据传输的可靠性大为增加。
(4)复杂性
PCI总线强大的功能大大增加了硬件设计和软件开发的实现难度。硬件上要采用大容量、高速度的CPLD或FPGA芯片来实现PCI总线复杂的功能。软件上则要根据所用的操作系统,用软件工具编制支持即插即用功能酶设备驱动程序。
(5)自动配置
当PCI插卡插入系统,BIOS将根据读到的有关该卡的信息,结合系统的实际情况为插卡分配存储地址、中断和某些定时信息。
(6)共享中断
PCI总线是采用低电平有效方式,多个中断可以共享一条中断线,而ISA总线是边沿触发方式。
(7)扩展性好
由于PCI的设计是要辅助现有的扩展总线标准,因此与ISA,EISA及MCA总线完全兼容。
(8)多路复用
在PCI总线中为了优化设计采用了地址线和数据线共用一组物理线路,即多路复用。PCI接插件尺寸小,又采用了多路复用技术,减少了元件和管脚个数,提高了效率。
(9)严格规范
PCI总线对协议、时序、电气性能、机械性能等指标都有严格的规定,保证了PCI的可靠性和兼容性。
六、PCIE
PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。
在概念上,PCI Express总线是较旧的PCI/ PCI-X总线的高速串行替换。PCI Express总线与旧PCI之间的主要区别之一是总线拓扑。 PCI使用共享并行总线架构,其中PCI主机和所有设备共享一组通用的地址,数据和控制线。 相比之下,PCI Express基于点到点拓扑,单独的串行链路将每个设备连接到根系统(主机)。 由于其共享总线拓扑,可以对单个方向上的PCI总线进行仲裁(在多个主机的情况下),并且一次限制为一个主机。 此外,旧的PCI时钟方案将总线时钟限制在总线上最慢的外设(不管总线事务中涉及的设备如何)。 相比之下,PCI Express总线链路支持任何两个端点之间的全双工通信,同时跨多个端点的并发访问没有固有的限制。
在总线协议方面,PCI Express通信封装在数据包中。打包和解包数据和状态消息流量的工作由PCI Express端口的事务层处理,电信号和总线协议的根本差异需要使用不同的机械外形尺寸和扩展连接器(因此,需要新的主板和新的适配器板); PCI插槽和PCI Express插槽不可互换。
在软件级别,PCI Express保留与PCI的向后兼容性; 传统的PCI系统软件可以检测和配置较新的PCI Express设备,而无需显式支持PCI Express标准,但是新的PCI Express功能无法访问。两个设备之间的PCI Express链路可以由1个到32个通道组成。 在多通道链路中,分组数据在通道上条带化,并且峰值数据吞吐量与整个链路宽度成比例。通道计数在设备初始化期间自动协商,并且可以被任一端点限制。
PCI Express在消费者,服务器和工业应用中运行,作为主板级互连(连接主板外围设备),无源背板互连以及作为附加板的扩展卡接口。主要应用:外部GPU,存储设备,群集互连。
七、网口
网口是网络的高速发展已经进入了G时代。主要分为千兆网口和百兆网口,千兆网口是向下兼容的,和百兆的网口也可以连接。
RJ45接口是常用的以太网接口,支持10兆和100兆自适应的网络连接速度,RJ45型网线插头又称水晶头,共有八芯做成,广泛应用于局域网和ADSL宽带上网用户的网络设备间网线(称作五类线或双绞线)的连接。在具体应用时,RJ45型插头和网线有两种连接方法(线序),分别称作T568A线序和T568B线序。
常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等的DTE(数据终端设备)类型和用于交换机等的DCE(数字通信设备)类型。当两个类型一样的设备使用RJ45接口连接通信时,必须使用交叉线连接。如果DTE类型接口和DTE类型接口相连时不交叉相连引脚,对触的引脚都是数据接收(发送)引脚,不能进行通信。另外:一些DCE类型设备会和对方自动协商,此时连接用直通线或平行线均可。