1. 串口 i2c spi 232 485 can
    类型 异步串行通信协议 同步串行通信协议 同步串行通信协议 串行通信 串行通信 串行通信
    ‘接线‘ 2 2 4 2 2 2
    速率 较低 几百kb 几十上百兆 110bps到115200bps 十几兆 可至1兆
    优缺点 串口设备连接的扩展性较差 数据传输速率比SPI慢 没有信号接收成功的确认 没有任何形式的错误检查 传输距离较近,速率较慢 线缆成本较高 通信速率会受到总线长度的影响

串口:串口是⼀个泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,因此都被通称为串口。串口(Serial Port)是一种计算机上常见的硬件接口,用于串行通信,即数据一位一位地顺序传输。串口通信数据传输比较慢,但传输距离较远。常见的串口有RS-232、RS-485和USB转串口等。

TTL电平、RS232电平和RS485电平是三种不同的串行通信接口标准,具有不同的电气规范和传输特性。

TTL电平:

TTL全称是“双极型三极管逻辑电路”,在逻辑门电路中得到广泛应用。TTL电平标准中,逻辑1对应2.4V~5V的输出电压,逻辑0对应0V~0.5V的输出电压。

RS232电平:

RS232是一种电子工业协会制定的异步传输标准接口,规定了数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换的接口技术标准。RS232标准采用±3~15V之间的电压来表示逻辑状态,其中,逻辑1对应-15V~-3V的电压,逻辑0对应+3V~+15V的电压。

RS485电平:

RS485是一种用于长距离传输的串行通信接口标准,通过差分信号传输数据,具有抗干扰能力强、传输距离远、速率稳定等特点。RS485标准中,逻辑1对应+2V~+6V之间的电压,逻辑0对应-6V~-2V之间的电压。


RS232是一种常用的串行通信接口标准,传输距离较近,速率较慢,但连接简单,适用于连接简单的外部设备。RS-232 串口标准常用于计算机、路由与调制调解器 (MODEN,俗称“猫”) 之间的通讯,在这种通讯系统中,设备被分为数据终端设备 DTE(计算机、路由) 和数据通讯设备DCE(调制调解器)。RS-232 标准的 COM 口 (也称 DB9 接口)

USB转串口则是一种通过USB接口实现串行通信的方式,方便连接计算机和外部设备,传输速度快,兼容性好。适用于需要快速、方便地进行串行通信的场合。USB 转串口取代了 RS-232 串口。我们只需要在电路中添加一个 USB 转串口芯片,就可以实现USB 通信协议和标准 UART 串行通信协议的转换,

RS485则是一种用于长距离传输的串行通信接口标准,通过差分信号传输,具有抗干扰能力强、传输距离远、速率稳定等特点。适用于需要连接多台设备,且距离较远的场合。RS-485 通讯协议由 RS-232 协议改进而来,协议层不变,只是改进了物理层,因而保留了串口通讯协议应用简单的特点。RS-485 协议主要是把 RS-232 的信号改进成差分信号,从而大大提高了抗干扰特性。


I2C是一种串行通信协议,由飞利浦公司在1980年代开发,主要用于连接微控制器和各种外围设备。它采用多主从架构,使用两根线:串行数据线(SDA)和串行时钟线(SCL)。

I2C的主要特点包括:

  1. 连接简单:只需要两条线即可实现多个设备的通信,降低了硬件成本和布线复杂度。
  2. 灵活性高:可以连接多个设备,最多可达128个设备,且设备间可以相互通信,实现灵活的数据传输。
  3. 传输速率适中:传输速率一般在100kbps~400kbps之间,适用于大多数微控制器和外围设备的通信需求。
  4. 可靠的通信:采用差分信号传输方式,具有较高的抗干扰能力和可靠性。

I2C的工作原理是:每个连接到总线的设备都有一个唯一的地址识别码,可以是微控制器、LCD驱动器、存储器或键盘接口等。当需要通信时,主设备通过SCL线发出时钟信号,并产生起始条件(SCL高电平时,SDA产生负跳变)或结束条件(SCL高电平时,SDA产生正跳变)。数据在时钟信号的同步下逐位传输,每一位数据都必须在时钟脉冲的一个完整周期内保持稳定。被主设备寻访的设备称为从设备。

I2C总线上数据的传输是分时进行的,因为I2C只有一根数据线,因此其发送信息和接收信息不能同时进行。信息的发送和接收只能分时进行。此外,I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C总线器件没有片选控制线,所以I2C总线数据传输的开始必须由主器件产生通信的开始条件(SCL高电平时,SDA产生负跳变);通信结束时,由主器件产生通信的结束条件(SCL高电平时,SDA产生正跳变)。 SDA线上的数据在SCL高电平期间必须保持稳定,否则会被误认为开始条件或结束条件,只有在SCL低电平期间才能改变SDA线上的数据。


SPI(Serial Peripheral Interface)是一种高速的、全双工的、同步的通信总线。SPI接口主要应用在EEPROM、FLASH、实时时钟、网络控制器、LCD显示驱动器、AD转换器,数字信号处理器、数字信号解码器等设备之间。

SPI有四种数据传输模式,主要差别在于输出串行同步时钟极性(CPOL)和相位(CPHA)可以进行配置。

SPI接口数据交换(Data Exchanges)SPI设备间的数据传输又被称为数据交换。SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当发送者或者接收者,在每个时钟周期内,SPI设备都会发送并接收一个bit大小的数据,相当于该设备有一个bit大小的数据被交换。

SPI的优点包括:高速、全双工、同步、总线式通信,而且其数据传输速率可以达到很高,一般认为SPI的最高传输速率可以达到5Mbps。此外,SPI总线只需要四根线就可以实现通信,分别是主设备输入/从设备输出引脚(MISO)、主设备输出/从设备输入引脚(MOSI)、时钟引脚(SCK)和片选引脚(CS)。这四根线可以节约芯片的管脚,同时为PCB在布局上节省空间,因此得到了广泛的应用。

然而,SPI也存在一些缺点:没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。一个主设备可以通过时钟线和片选线来控制多个从设备,时钟线由主设备提供,从设备不能产生或控制时钟线。此外,SPI通信协议比较复杂,需要主设备和从设备都支持SPI协议才能正常通信。


CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN 通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有 CAN_High 和 CAN_Low 两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。从该特性可以看出,显性电平对应逻辑 0,CAN_H 和 CAN_L 之差为 2 V 左右。而隐性电平对应逻辑 1,CAN_H 和 CAN_L 之差为 0V。