资讯详情

【通信协议】UART、RS232、RS485、I2C、SPI、CAN

单工通信

发送器只能向接收器发送数据

双工通信

发送器可以向接收器发送数据,接收器也可以向发送器发送数据。

半双工:不能同时进行,发送和接收共用一条线。

全双工:同时发送和接收各条线。

二进制数据0和1传输,高电平1,低电平0。

并行通信

(通天大道)

多条线同时发送数据(每条线发送一个数据)。

并行通信缺点:资源浪费,布线困难。

串行通信

(独木桥)

数据逐一发送。

串行通信有SUBS、PPM、JTAG、UART、I2C、SPI、CAN、MIDI、USB、RS232等。

串行通信分为同步和异步

UART(通用异步收发器)

  • 全双工,异步

UART空闲状态通常保持在高电平,从低电平开始,然后读取数据,停止高电平

  • 起始位置位低电平(先打招呼)
  • 数据位:5/6/7/8,(再发信息)每次最大发送8位,防止累计误差
  • 校验位:校验数据正确性,降低但不可消除误码率,可有可无。奇偶校验数据中奇偶个数
  • 停止位:1/1.5/2位高电平

码元:二进制数

波特率:每秒传输码元的数量,单位bps(bit per second)

  • 。只对信号时序进行定义,未定义接口的UART各设备连接器标准不同;UART使用TTL51可能是0/5v,STM32是0/3.3v。
  • 。TTL数据在传输过程中容易出错

RS232

  • 全双工
  • RS232采用标准连接器,规定了连接器的每个引脚和电平,通信距离标准,实际可达
  • 连接器一般使用9根线DB-9,工业领域RS只使用232连接器三根线。
  • 的电平为的电平为
  • 处理器产生的信号通常是TTL电平,需要232芯片进行电平转换。
  • ,只是在
  • 一对一通信。

RS232存在问题

  • 连接器电平高,容易损坏接口电路的芯片;与TTL电平不兼容,需要电平转换芯片进行电平转换TTL电路连接
  • 最高波特率为19200bps
  • 易产生共模干扰,抗噪声干扰能力弱
  • 传输距离短

RS485

  • 半双工
  • 正线、负线
  • 在远距离和电子噪声大的环境的环境中有效传输,通信距离标准,实际可达
  • 可以,485总线可连接128个收发器,具有多站能力。
  • 485采用,两条数据线缠绕在一起,接线方式为总线拓扑结构,同一总线上可同时存在多个节点。
  • 采用(使用两条线比较)数据传输,两条线之间的电压差为 2v到 6v表示,两条线之间的电压差为-2v到-6v表示
  • 电平转换芯片需要电平转换TTL信号转换为差分信号。软件编程是基于串口的,但不能同时发送和接收。

RS485优点

  • 通信速度快,数据传输速度最高
  • 抗干扰能力强
  • 通信距离远
  • 多节点组网可实现
  • 接口电平电压低,不易损坏接口电路芯片

RS485缺点

如果485网络中的设备出现问题,可能会导致整个网络通信出现错误

I2C

  • 半双工,同步
  • 用于收发数据,通信双方的时钟同步
  • 电路板上芯片数据交互主要用于抗干扰能力差、近距离、低速。
  • I2C连接多主机总线I2C总线上的设备分为
  • 每个连接在I2C总线上的设备有唯一的地址(7位),每个设备可以用作主机或从机,但同时只有一个主机。
  • 当多个主机同时启用总线时,I2C具有防止错误的冲突检测和仲裁功能。
  • 总线设备的增加和删除不影响其他设备。
  • 在总线上发送数据的装置是发送器,接收数据的装置是接收器。时钟频率对应于每个数据。

  • :SCL高电平,SDA从高到低电平,总线占用状态,通知接收器何时接收数据
  • :SCL高电平,SDA当发送机不想发送或接收器不想接收时,主机发送停止信号

  1. 主机发送起始信号启用总线,主机A占用总线,其他主机停止总线
  2. 主机A发送一个字节的数据指示从机地址(高7位)和后续字节的传输方向(最低1位,0主机发送;1主机接收。->从机,1从机->主机)(发送器和接收器是传输方向上的主机或从机)
  3. 从机器发送响应信号回应主机A(总线上所有从机将第一个字节的高7位从机地址与自己的地址进行比较)
  4. 发送器发送字节数据(第一个字节最后一个=0.发送机是主机,接收器是从机,同样是最后一个=1.发送器是从机,接收器是主机)
  5. 接收器发送响应信号回应发送器
  6. 循环步骤4,5(
  7. 通信完成后,主机发送停止信号释放总线,其他主机可启用总线

I2C通信时,每个字节长度8位,,发送器发送一个字节位数据后,接收器必须发送1位应答位(低电平)回应

  • 电平期间,向数据线上1位数据,数据线上的信号允许发生变化(SDA变化)
  • 电平期间,从数据线上1位数据,数据线上的信号不允许发生变化,必须保持稳定(SDA不变)

主机向从机发送数据(黄色主机发,蓝色从机发)

从机向主机发送数据(黄色主机发,蓝色从机发)

主机先向从机发送数据,不发送停止信号,然后从机再向主机发送数据(黄色主机发,蓝色从机发)

SPI

  • 全双工、同步
  • 时钟线、主出从入、主入从出、片选信号(chip select)(可能有多根CS线)
  • 主从方式工作,一个主机和一个或多个从机
  • 高速(速度大于I2C)、低功耗、适合短距离传输

寻址方式

  • SPI没有从机地址
  • 主机和某个从机通信时,主机向上发送使信号(高或低电平,根据从机设备管脚符号定,CS上面有横线表示低电平有效)表示选中该从机设备。

通信过程  

  1. 数据通信,
  2. 高电平表示,低电平表示
  3. 没有起始信号和停止信号,一个字节传输完成后,即可开始下一个字节的传输
  4. 时钟线在时,发送器向数据线上数据,在时,接收器从数据线上数据,完成1位数据传输,8个时钟周期即可完成一个字节数据的传输

极性和相位

为保证主机和从机设备的工作模式(查芯片手册)一致,需要对主机的CPOL和CPHA进行设置

SPI有四种不同工作模式,取决于

  • CPOL=0,CPHA=0
  • CPOL=0,CPHA=1
  • CPOL=1,CPHA=0
  • CPOL=1,CPHA=1

CPOL表示SCLK空闲时状态

  • CPOL=0,空闲时SCLK为低电平
  • CPOL=1,空闲时SCLK为高电平

CPHA表示采样时刻

  • CPHA=0,每个周期的第一个时钟沿采样
  • CPHA=1,每个周期的第二个时钟沿采样

I2C和SPI异同点

相同点

  • 串行、同步
  • 采用TTL电平,传输距离近
  • 采用主从方式(I2C一个或多个主机和一个或多个从机;SPI一个主机和一个或多个从机)

不同点

  • I2C半双工;SPI全双工
  • I2C有应答机制;SPI无应答机制
  • I2C通过向总线广播从机地址来寻址(节省硬件资源);SPI通过向对应从机发送使能信号来寻址(寻址速度快)
  • I2C时钟极性和时钟相位固定;SPI时钟极性和时钟相位不固定(主从一致)

CAN

半双工、异步

两根线

差分信号

显性电平逻辑“0”,隐形电平逻辑“1”

CAN总线可以挂载多个节点,每个节点可以作为主机发送数据,

物理层:CAN位填充消除累计误差,在连续5个电平相同的时候,会插入一个反转电平,例如连续五个高电平就会插入一个低电平

数据链路层:帧头起到同步作用,仲裁段起到防冲突作用,控制段,数据段,校验段,应答段

CAN优点

  • 低成本
  • 集中化
  • 稳定
  • 高效,CAN基于标识符进行优先排列,能让最高优先级标识符免于中断
  • 灵活
  • 具有自功能,如果某个设备出现故障,会自锁不影响总线网络
  • 方便维护

标签: 2二位连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台