几大通信协议区别

上传人:suij****uang 文档编号:170142413 上传时间:2022-11-19 格式:DOCX 页数:6 大小:20.62KB
收藏 版权申诉 举报 下载
几大通信协议区别_第1页
第1页 / 共6页
几大通信协议区别_第2页
第2页 / 共6页
几大通信协议区别_第3页
第3页 / 共6页
资源描述:

《几大通信协议区别》由会员分享,可在线阅读,更多相关《几大通信协议区别(6页珍藏版)》请在装配图网上搜索。

1、I2C 和 SPI,UART 的区别2009-12-07 21:55SPISerial Peripheral Interface , (Serial Peripheral Interface:串行 外设接口)串行外围设备接口,是 Motorola 公司推出的一种同步串行通讯方式 是一种三线同步总线,因其硬件功能很强,与 SPI 有关的软件就相当简单,使 CPU 有更多的时间处理其他事务。I2CINTER-IC(INTER IC BUS意为IC之间总线)串行总线的缩写,是PHILIPS 公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟 线(SCL)实现了双工的同步数据传输

2、。具有接口线少,控制方式简化,器件封 装形式小,通信速率较高等优点。在主从通信中,可以有多个 I2C 总线器件同时 接到I2C总线上,通过地址来识别通信对象。能用于替代标准的并行总线,能连接的各种集成电路和功能模块。 I2C 是多主控 总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设 备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或 接收器工作。多路微控制器能在同一个I2C总线上共存。最主要的优点是其简单性和有效性。它支持多主控(multimastering),其中任 何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输 和时钟频率

3、。当然,在任何时间点上只能有一个主控。UART (Universal Asynchronous Receiver Transmitter:通用异步收发器):单端, 远距离传输。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表 设备通用的通信协议;很多GPIB兼容的设备也带有RS-232 口。同时,串口通信 协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位 (bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以 在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距 离通信。比如IEEE488定义并行通行状态时,规定设备线

4、总常不得超过20米, 并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。区别在电气信号线上:SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行 数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟 的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备 (Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一 条从设备选择线。如果用通用IO 口模拟SPI总线,必须要有一个输出口 (SDO),一个输入口 (SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需

5、输入输 出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口 标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通 信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实 现设备组网。如果用通用IO 口模拟I2C总线,并实现双向传输,则需一个输入输出口 (SDA),另外还需一个输出口(SCL)(注:I2C资料了解得比较少,这里的描述 可能很不完备)UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一 般由波特率产生器(产生的波特率等于传输波

6、特率的16倍)、UART接收器、UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO 口模拟UART总线,则需一个输入口,一个输出口。从以上很明显可以看出,SPI和UART可以实现全双工,但I2C不行;第四,看看牛人们的意见吧!A: I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些, 因为I2C需要有双向10的支持,而且使用上拉电阻,我觉得抗干扰能力较弱, 一般用于同一板卡上芯片之间的通信,较少用于远距离通信。 SPI 实现要简单一 些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓, 因为它是有时钟的协议。B:

7、I2C 的速度比 SPI 慢一点,协议比 SPI 复杂一点,但是连线也比标准的 SPI 要少。SPI 是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也就是 SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了。 同时传输速度也很高。一般来说要求主设备要有SPI控制器(但可用模拟方式),就可以与基于 SPI的芯片通讯了。SPI的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于SPI的设备 共有的,它们是SDI (数据输入),SDO (数据输出),SCK (时钟),CS (片选)。其中CS 是控制芯片是否被选中的,也就是

8、说只有片选信号为预先规定的使能信号时(高电位或低电位), 对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯 协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟 脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上沿或下沿 时改变,在紧接着的下沿或上沿被读取。 完成一位数据传输,输入也使用同样原理。这样,在 至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。要注意的是,SCK信号线只由主设备控制,从设备不能控制信

9、号线。同样,在一个基于SPI 的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一 次连续传送至少 8 位数据,而 SPI 允许数据一位一位的传送,甚至允许暂停,因为 SCK 时钟线 由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对 SCK 时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的 输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿 或下沿采集有不同定义,具体请参考相关器件的文档。I2

10、C 只要求两条总线线路:一条串行数据线 SDA 一条串行时钟线 SCL 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地 址主机可以作为主机发送器或主机接收器 它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲 裁,防止数据被破坏 串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达 400kbit/s 高速 模式下可达 3.4Mbit/s 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整 连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制UARTUART 总线是异步串口,因此一般

11、比前两种同步串口的结构要复杂很多,一般由波特率产生器(产 生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一 根用于发送,一根用于接收。显然,如果用通用 IO 口模拟 UART 总线,则需一个输入口,一个输出口。UART常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了 RS-232C数据终端 设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。明显可以看出,SPI和UART可以实现全双工,但I2C不行。什么是CAN总线?CAN全称为Controller Area Network,即控制器局域网,由德国Bosch

12、公司最 先提出,是国际上应用最广泛的现场总线之一。CAN是一种多主方式的串行通讯 总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总 线的任何错误。当信号传输距离达10Km时CAN仍可提供高达50Kbit/s的数据 传输速率。 CAN 具有十分优越的特点:A、较低的成本与极高的总线利用率;B、数据传输距离可长达10Km,传输速率可高达IMbit/s;C、可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;D、节点在错误严重的情况下具有自动退出总线的功能;E、报文不包含源地址或目标地址仅用标志符来指示功能信息和优先级信息; 由于人为、自然、其它外界环境的影响和人们对公交

13、系统的安全可靠性、真实、 实时性的追求,使得我们对通信方式,通信设备有了更高的要求,基于CAN总线 的网络则成为我们最佳的选择CAN 总线现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局 域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了 强有力的技术支持。CAN(Controller Area Network)属于现场总线的范畴,它是 一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多 RS-485 基 于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方 面具有明显的优越性:首先,CAN控制器工作于多主方式,网络中的各节

14、点都可根据总线访问优先 权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且 CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点 同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通 信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利 用 RS-485 只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行, 系统的实时性、可靠性较差;其次,CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL 与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低 电平或悬浮状态

15、。这就保证不会出现象在 RS-485 网络中,当系统有错误,出现 多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。 而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点 的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总 线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现, 从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速 率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这 些也

16、是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。CAN (Con troller Area Net work)即控制器局域网络,属于工业现场总线的 范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性 和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。 它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如 BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和 JAGUAR(美洲豹)等都采用了 CAN总线来实现汽车内部控制系统与各检测和执行 机构间的数据通信。同时,由于CAN总线本身

17、的特点,其应用范围目前已不再局 限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机 械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形 成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有: SAE J1939/ISO11783、 CANOpen、 CANaerospace、 DeviceNet、 NMEA 2000 等。什么是 CAN 总线?CAN意为Con troller Area Net work的缩写,意为控制区域网络。是国际上流行 的现场总线中的一种。是一种特别适合于组建互连的设备网络系统或子系统。 2 CAN 总线特点?l

18、 CAN 是到目前为止为数不多的有国际标准的现场总线l CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为lMbps(设 通信距离为 40 米) 。CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。CAN 采用非破坏性的总线仲裁技术,当多个节点同时发送数据时,优先级 低的节点会主动退出发送,高优先级的节点可继续发送,节省总线仲裁时间。CAN 是多主方式工作,网上的任一节点均可在任意时刻主动地向网络上其 他节点发送信息。CAN采用报文识别符识别网络上的节点,从而把节点分成不同的优先级,高优先 级的节点享有传送报文的优先权。报文是短帧结构,短的传送时间使

19、其受干扰概率低,CAN有很好的效验机制,这 些都保证了 CAN 通信的可靠性。SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。I2C通常有SDA数 据和SCL时钟两个信号。SPI:Motorola 推出的同步串行通讯方式,三线同步总线,硬件强大,软件相对 简单,cpu有更多时间处理其他事务。SCK时钟,STB片选,DATA数据信号三信号。多了一个片选信号I2C:PHilips推出的串行总线,一根SDA串行数据线,一根串行时钟线SCL。按 照地址来计算的UARTUniversival Asychronous Receiver/Transmitter (通用异步串行口),UART是一

20、种较为通用的数据传输 的方法(即 Start Bit+Data +Check+StopBit),而 COM 口中 Rx、Tx 的数据格式即为 UART。UART 和 RS232 是两种异步数据传输标准计算机中的C0M1和COM2都是RS232串行通信标准接口。当Uart接口连到 PC 机上时,需要接 RS232 电平转换电路。UART使用发送数据线TXD和接收数据线RXD来传送数据,接收和发送可以单独进行也可以同时进行。 它传送数据的格式有严格的规定,每个数据以相同的位串形式传送,每个串行数据由起始位,数据位,奇 偶校验位和停止位组成。从起始位到停止位结束的时间称为一帧(frame),即一个字

21、符的完整通信格式。 SPISerial Perheral Interface,是一种全双工同步串行接口标准,串行通信的双方用四根线进行通信,这四 根连线分别是:片选信号, I/O 时钟,串行输入,串行输出,这种接口的特点是快速,高效,并且操作起来 比I2C要简单一些,接线也比较简单,TLC2543提供SPI接口。I2CInterIntegrated Circuit (集成电路之间),I2C总线是一种由PHILIPS公司开发的两线式双向串行总线, 用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服 务器管理中使用,其中包括单个组件状态的通信。例如管理

22、员可对各个组件进行查询,以管理系统的配置 或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加 了系统的安全性,方便了管理。2C属于两线式串行总线,它由数据线SDA和时钟SCL构成的串行总线,可 发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控 制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有 唯一的地址,在信息的传输过程中, IC2 总线上并接的每一模块电路既是主控器(或被控器),又是发送 器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分

23、为地址码和控制量两部分,地址码 用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及 需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。CANController Area Network (区域网络控制器),CAN 全称为 Controller Area Network,即控制器局域 网,由德国Bosch公司最先提出,是国际上应用最广泛的现场总线之一。CAN是一种多主方式的串行通讯 总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传 输距离达10Km时CAN仍可提供高达50Kbit/s的数据传输速率。现场总线是当今自动化领域技术发展的 热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的 数据通信提供了强有力的技术支持。CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制 的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控 制系统具有明显的优越性。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!