UART、IIC、SPI、CAN通信的区别与应用

这篇具有很好参考价值的文章主要介绍了UART、IIC、SPI、CAN通信的区别与应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、通信的基本知识

1.1、数据通信的种类

数据通信基本方式可以分为串行通信与并行通信两种

1.1.1、串行通信

(1)定义:串行通信是指利用一条传输线将数据一位位地顺序传送。

(2)传输方式:传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输。

(3)特点:通信线路简单,成本较低,适用于远距离通信,但传输速度慢

(4)实例:uart、iic、spi、usb总线等

1.1.2、并行通信

(1)定义:并行通信是指利用多条传输线将一个数据的各位同时传送。

(2)传输方式:传输一个字节(8个位)的数据时,并口是将8个位一字排开,分别在8条连接线上同时传输。

(3)特点:传输速度快,适用于短距离通信

1.1.3、总结

can通信与uart通信的区别,other,网络,物联网,单片机

随着技术的发展,时钟频率越来越高,平行导线之间的相互干扰也越来越严重。因为串口的线很少,所以线之间的干扰很容易控制。相反,可以通过不断提高时钟频率来提高传输速率,所以现在很多高速器件都采用串行通信

1.2、数据通信的传输方向

数据的传输模式一共有三种:单工、半双工、全双工

1.2.1、单工

(1)特点:任何时刻两个设备都只能进行一个方向的通讯,即一个固定为发送设备,另一个固定为接收设备。只有一条数据通道,例如广播电台和收音机

(2)优缺点

​ 优点:可以利用通信信道的整个带宽,所以一次性可以传输更多的数据

​ 缺点:通信是单向的,设备之间没有相互通信,效率低

1.2.2、半双工

(1)特点:允许二台设备双向通信,但不能同时进行。必须等待一端的数据传输完成后才能开始另一端的数据传输。只有一条数据通道, 就像对讲机通话一样,需要等对面讲完以后才能开始这端的讲话

(2)优缺点

​ 优点:半双工在同一时刻也是占用整条带宽,所以每次也能传输很多数据

​ 缺点:通信一方在传输数据,另一方只能等待接收数据,存在一点时延

1.2.3、全双工

(1)特点:两个设备之间可以同时收发数据。通道分为两部分,一部分用于发送数据,另一部分用于接收数据。一般的电话、手机就是全双工的系统,因为在讲话时同时也可以听到对方的声音。

(2)优缺点

​ 优点:通信双方可以同时发送和接收数据,效率很高

​ 缺点:假如设备之间不存在专用路径,那么信道容量就会减少一半

1.2.4、总结

can通信与uart通信的区别,other,网络,物联网,单片机

1.3、数据通信的方式

通讯的数据同步方式,又分为同步和异步两种。可以根据通讯过程中是否有使用到时钟信号进行简单的区分。简单来说就是发送和接收按照同一个时钟周期工作就叫同步,发送和接收没有按照统一的时钟工作就叫异步。

1.3.1、同步通信

(1)描述:

在同步通讯中,收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调,同步数据。通讯中通常双方会统一规定在时钟信号的上升沿或下降沿对数据线进行采样

(2)优缺点

同步通讯的效率更高,但是同步通讯双方的时钟允许误差较小

(3)应用范围

通信网中,有大批量数据需要传输
can通信与uart通信的区别,other,网络,物联网,单片机

1.3.2、异步通信

(1)描述:

在异步通讯中,不使用时钟信号进行数据同步,异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备,发送端可以在任意时刻开始发送字符。但是因此必须在每一个字符中加入起始位、奇偶校验位、停止位等。某些通讯中还需要双方约定数据的传输速率,以便更好地同步 。波特率(bps)是衡量数据传送速率的指标。

(2)优缺点

异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)

(3)应用范围

应用于在工业、实际应用中。适用于短距离、速率不高的情况下

can通信与uart通信的区别,other,网络,物联网,单片机

1.3.3、同步与异步的区别

(1)时钟频率:同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求,发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。

(2)同步通信效率高;异步通信效率较低

(3)同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。

(4)同步通信可用于点对多点;异步通信只适用于点对点。

(5)同步是阻塞模式,等接收方发回响应以后才发下一个数据包;异步是非阻塞模式,不等接收方发回响应,接着发送下个数据包的通讯方式

(6)其中SPI和IIC为同步通信;UART为异步通信

1.4、通信基本知识的总结

can通信与uart通信的区别,other,网络,物联网,单片机can通信与uart通信的区别,other,网络,物联网,单片机

说完通信的基本知识,让我们再来看一下,Uart、IIC、SPI、CAN通信等

2、UART通信详解

2.1、描述

UART:(Universal Asynchronous Receiver Transmitter)通用异步收发器,一般由波特率产生器、UART接收器、UART发送器组组成,三根线

uart是一种通用可全双工、异步、串行通信方式,不需要严格的时间限制

2.2、应用范围

常用于控制计算机与串行设备的芯片、Debug打印调试

2.3、优缺点

与SPI、IIC相比速度较慢,比较复杂,只能与一个设备进行连接通信

2.4、硬件连接

至少需要三根线相连:发送线TX、接收线RX、底线GND

2.5、通信格式

包含起始位、数据位、奇偶检验位、停止位

(1)起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。

(2)数据位:数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。

(3)奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。

(4)停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

can通信与uart通信的区别,other,网络,物联网,单片机

2.6、波特率

数据传输的速率。在数据传输和接收双方,需要预先统一波特率,以便正确的传输数据。有以下几个档位:300、600、1200、2400、4800、9600、19200、38400、56000、57600、115200、128000,也可以自定义

2.7、拓展

UART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。

UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间),所以RS232/485就是代表一种电平标准,只是与TTL不同的一种电平。

3、IIC通信详解

3.1、描述

IIC也可以写做I2C,全称是Inter IC bus,IIC只有一根数据线和有一根SDA,即属于半双工、同步、串口通信方式;即能发送接收数据,但不能同时进行。

具有多主控接口标准,速率不快,具有总线仲裁机制,非常适合器件间近距离经常性数据通信,可实现设备组网。

3.2、应用范围

这些功能比较多而且速率要求不高的场合,MEMS的姿态传感器(陀螺仪,加速度计,磁强计)、一些加密芯片、E2PROM、时钟芯片、触摸芯片等

3.3、优缺点

I2C的速度比SPI速度慢,协议比SPI复杂,但是连线比标准的SPI要少,用地址选择从机

3.4、硬件连接

IIC总线有两线

时钟线SCL,由master提供

数据线SDA

3.5、通信格式

(1)空闲状态:I2C总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态

(2)IIC中的信号有2种:起始信号、停止信号

​ 起始信号:SCL保持高电平期间,SDA的电平被拉低,称为I2C总线总线的起始信号

​ 停止信号:SCL保持高电平期间,SDA被释放,返回高电平,称为I2C总线的停止信号

(3)写操作,首先发送起始位,然后依次发送控制字节、地址字节、数据字节,每发送完一个字节后,需要一个应答信号ACK,最后发送停止位。
can通信与uart通信的区别,other,网络,物联网,单片机
can通信与uart通信的区别,other,网络,物联网,单片机

(4)读操作:在读之前,主机需先发送地址字节给从机完成地址字节的设置(此过程是写操作,读写标志为0),地址字节发送完成后接收应答信号ACK,随后主机产生起始信号,随后发送控制字节(此过程是读操作,读写标志为1),然后从机响应应答信号,并发送8位数据字节,最后主机发送非应答信号NACK,发送停止位。读操作将从设置的地址开始读取,读取数据完成后,内部地址计数器自增1,指向下一个地址单元。
can通信与uart通信的区别,other,网络,物联网,单片机

(4) SCL 的高电平期间,SDA上的电平必须保持稳定,只有在SCL为低电平期间,才允许 SDA上的电平改变状态。

为什么SDA在SCL低电平期间才允许改变状态?
因为当SCL处于高电平状态时,SDA拉低表示的是起始位,拉高表示的是停止位,所以当数据位中0和1出现时,如果在SCL高电平状态下SDA状态变化的话,就无法区分数据和起始、停止位。

3.6、IIC三种速率

(1)低速模式 100 kb/s

(2)快速模式 400 kb/s

(3)高速模式 3.4M/s

3.7、寻址

IIC总线是主从设备,从机地址位数为7位。一个主机在总线上最多可以挂127个从机(7位地址最多128,去除0x0广播地址,还剩127),设备间通过不同的设备地址来区分

can通信与uart通信的区别,other,网络,物联网,单片机

4、SPI通信

4.1、描述

SPI是一种可全双工,同步、串口通信总线,可实现多个SPI设备互联,硬件4条线,无应答,无校验

4.2、应用范围

EEPROM,FLASH,实时时钟,AD转换器,数字信号处理

4.3、优缺点

(1)SPI没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。

(2)比I2C总线要快,速度可达到几Mbps,用GPIO拉低CS(片选)选择从机

4.4、硬件连接

SPI硬件上有四根线

(1)MISO:主设备数据输入,从设备数据输出

(2)MOSI:主设备数据输出,从设备数据输入

(3)SCLK:时钟信号。主设备产生

(4)SS/CS:从设备片选信号,主设备控制

(5)SDI:serial data input

(6)SDO:serial data output

这里有些人会把SDI /SDO 和 MOSI /MISO 弄混
看芯片,如果标的是SDI/SDO,则是固定了输入输出脚。
当做主机(master)时,SDI就是MISO,SDO就是MOSI。
当做从机(slave)时,SDI就是MOSI,SDO就是MISO。
can通信与uart通信的区别,other,网络,物联网,单片机

4.5、总线模式

can通信与uart通信的区别,other,网络,物联网,单片机

时钟、数据脚都并接,主机通过CS脚来控制不同的设备使能

4.6、通讯协议

参考下面的链接

5、三种通信方式的总结

做了一张对比表格更好看出三种方式的异同有哪些,如下图:

can通信与uart通信的区别,other,网络,物联网,单片机

6、未完待续

参考连接:https://blog.csdn.net/Rocher_22/article/details/116590629
https://blog.csdn.net/u010783226/article/details/118603326
https://blog.csdn.net/weixin_45137708/article/details/127438869
https://blog.csdn.net/tao475824827/article/details/106800859
https://blog.csdn.net/oDuanYanGuHong/article/details/128494532文章来源地址https://www.toymoban.com/news/detail-735882.html

到了这里,关于UART、IIC、SPI、CAN通信的区别与应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【单片机】UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet等常见通信方式

    在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍 UART口指的是一种物理接口形式(硬件)。 UART是异步(指不使用时钟同步,依靠帧长进行判断),全双工(收发可以同时进行)串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收

    2024年02月11日
    浏览(43)
  • 嵌入式Linux裸机开发(七)UART串口、IIC、SPI通信

    大概学完这三种通信后,之后就先去学系统移植,其他的先暂时放下 串口全称叫做串行接口,通常也叫做 COM 接口。 UART:(Universal Asynchronous Receiver/Trasmitter)通用异步串行收发器。 USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行收发器,相比 UART多了

    2024年02月07日
    浏览(78)
  • SPI、UART、RS232、RS485、IIC 5种嵌入式经典通信总线协议

      UART即通用异步收发器,是一种通用的串行、异步通信总线。该总线有两条数据线,可以实现全双工的发送和接收。在嵌入式系统种常用于主机与辅助设备之间的通信。UART就是串口,也是一种通信协议/总线协议。 电脑上已经逐步没有了,换成了usb,但是在嵌入式领域是最

    2024年01月16日
    浏览(61)
  • 串口、TTL、UART、RS232、RS422、RS485、CAN、CAN FD的定义、工作原理和它们之间的区别

    串口是计算机与外部设备之间通过串行通信接口进行数据传输和控制的方式。常见的串口协议包括TTL、UART、RS232、RS422、RS485、CAN、CAN FD等。这些协议之间的定义、工作原理和区别如下: TTL(Transistor-Transistor Logic)串口协议是一种数字电平标准,工作电平为0V和5V,适用于短距

    2024年02月13日
    浏览(58)
  • 常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理

      最近在进行项目方案设计时,涉及到常用通信接口的选型,包括 TTL、RS232、RS485、RS422、CAN、IIC、SPI 等常用通信协议,这里对常见的通信协议进行一个整理,在需要的时候可以进行回顾,这里参考几个优秀博文并进行整理,大家也可以去看看。 不脱发的程序猿-详解RS232、

    2024年02月02日
    浏览(39)
  • FPGA:三大协议(IIC、UART、SPI)之IIC

    摘要:1、本文讲述IIC的物理层面的结构(使用iic工作的物理层面的连接);2、本文讲解协议层面的通信交流格式(IIC时序);3、提供一个主机和从机的一个verilog代码;4、本文的主从机指的是:板子一号作为主机,发送数据给作为从机的板子二号;注意:在实际应用中,一

    2024年02月06日
    浏览(49)
  • FPGA:三大协议(UART、IIC、SPI)之SPI

    摘要:1、本文介绍SPI物理层面连接(通过哪几条线通信),2、本文介绍SPI时序(通过哪种方式进行器件之间交流)。3、提供主机和从机verilog代码。4、仅供自己参考 一、SPI物理层连接 (1)有四根线连接:CS_N(片选信号--主机发出)、miso(从机发出,主机接收)、mosi(主机发

    2024年02月14日
    浏览(48)
  • IIC、SPI、Uart、One-wire等常见协议

    IIC两线式 串行 总线,由数据线 SDA 和时钟线 SCL 构成,由于数据在同一条线上传输,因此IIC通信是 半双工 通信方式; IIC使用 多主从架构 , 每个器件都有唯一的识别地址,都可以作为一个发送器或接收器,这里的主从并没有绝对的概念,基本上谁控制时钟线谁就是主设备,

    2024年02月12日
    浏览(46)
  • 常用通讯协议(UART、RS232、RS485、IIC、SPI)简单介绍

    目录 常用通讯协议随笔 通讯基础 UART UART存在的问题: RS232 接口 信号 电平转换 RS232存在的问题 RS485 信号 接口 电平转换 RS485的优势 IIC IIC总线通讯过程 IIC总线寻址方式 起始信号和停止信号 字节传输于应答 同步信号 典型IIC时序 SPI SPI寻址方式 SPI总线通讯过程 极性和相位

    2024年02月02日
    浏览(45)
  • MicroBlaze最小系统+UART/CAN/GPIO

    平台是XCKU040,Vivado版本2019.1,不同的平台和软件IP配置界面会有些许不同哦。 官方文档:MicroBlaze Processor Reference Guide MicroBlaze在FPGA的设计中经常被用到,MicroBlaze可以理解为使用FPGA逻辑资源实现的一个处理器软核。处理器所具有的功能,MicroBlaze也具有。 优点: 在完成控制任

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包