STM32中的通信协议
按照数据传送方式分:
串行通信(一条数据线、适合远距离传输)
并行通信(多条数据线、成本高、抗干扰性差)
按照通信的数据同步方式分:
异步通信(以1个字符为1帧、发送与接收时钟不一致)
同步通信(位同步、时钟一致)
按照数据的传输方向分:
单工(只能往一个方向传播)
半双工(数据传输可以沿两个方向,但是需要分时)
全双工(同时双向传输)
通信速率通常以比特率来表示,单位是:位/秒(bps),即每秒传输二进制代码的位数。之后会遇到一个波特率的概念,它表示每秒传输多少个码元。一般情况下,码元都是表示两种状态,即比特率=波特率。
串口通信:串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。串口通信的接口标准有很多,有RS-232、RS-232C、RS-422A、RS-485等。比较常用的就是RS-232和RS-485。串口通信也是仪表仪器设备常用的通信协议。
I2C通信:集成电路总线是两线式串行总线,接口少、控制简单、通信速率较高。I2C总线只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL。常用在多个集成电路间的通信。
SPI通信:串行外围设备接口是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,因其硬件功能很强,与SPI有关的软件就相当简单,使MCU有更多的时间处理其他事务。用在通信速率较高的场合,例如ADC、LCD、MCU间。
CAN通信:控制器局域网络(Controller Area Network)是ISO国际标准化的串行通信协议。具有已经被大家认可的高性能和可靠性。CAN总线是半双工的,虽然没有单独的时钟线,但是其采用位时序的方法进行同步传输。广泛应用于汽车、船舶等分布式控制系统。
I2S通信:集成电路内置音频总线是专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。
USB通信:通用串行总线(Universal Serial Bus)是PC体系中的一套较新的工业标准,USB 具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等优点,可以连接键盘、鼠标、大容量存储设备等多种外设,该接口也被广泛用于智能 手机中。计算机等智能设备与外界数据的交互主要以网络和USB接口为主。