当前位置: 代码迷 >> 综合 >> SPI、IIC、UART、CAN 等常见总线协议
  详细解决方案

SPI、IIC、UART、CAN 等常见总线协议

热度:49   发布时间:2023-12-12 16:25:38.0

全双工通信

指的是数据可以同时在两个方向上传输,要求设备有接收和发送的功能。

半双工通信

数据允许在两个方向上进行传输,但是某一时刻只支持一种方向传输。

单工通信

数据只支持在一个方向上传输通信。

 

同步通信

带时钟同步信号传输,比如SPI、IIC等

异步通信

不带时钟同步信号传输,如UART


同步通信和异步通信有何区别?

同步通信需要相同频率的时钟,逐字符发送接收,发一个收一个,收一个发一个,不能有间隙。

异步通信可以接收间隙,接收端随时准备,发送单任意时刻发送,需要加停止位和开始位。


SPI(Serial Peripheral Interface)

意为串行外围接口。由三条信号线组成,串行时钟、串行数据输出、串行数据输入。SPI总线可以实现多个SPI设备互相连 接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信。

IIC(Inter-Integrated Circuit

意为集成电路总线,I2C总线是一种串行通信总线,只有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。一般用来传输控制信号。

IIS(Inter—IC Sound)

意为集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。大部分为3根信号线,除了IIC中的两根,还有一根帧时钟,用来切换左右声道的数据。“1”表示

UART(Universal Asynchronous Receiver Transmitter)

意为通用异步收发器,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收,为全双工通信。

CAN(Controller Area Network)

意为控制器局域网,主要描述设备之间的信息传递方式。CAN层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的规范定义了模型的最下面两层:数据链路层和物理层。它能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。

GPIO(General Purpose Input Output)

意为通用输入输出,简化了I/O口的扩展。

JTAG(Joint Test Action Group)

意为联合测试行动小组,是一种国际标准测试协议,主要用于芯片内部测试。一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备。