本文主要是介绍【IC设计】外设通信协议SPI、IIC、UART,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里写目录标题
- 分类
- 串口通信≠串行通信
- 一、并行通信、串行通信
- 二、同步、异步通信
- 三、全双工、半双工、单工通信
- 举例
- 常见的串行通信
- 1、SPI
- 2、IIC
- 3、UART
- 定义
- 通信协议
- 参考链接
分类
串口通信≠串行通信
-
串口通信是通过接口进行串行通讯,串口通信是一种具体的通信手段,串行通信是一种通信概念
-
串口通信,顾名思义也就是利用串行接口进行通信。串行接口指串口按位(bit)发送和接收字节。尽管比按字节(byte)传输的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
-
串口通信中比较重要的参数包括波特率、数据位、停止位及校验位,通讯双方需要约定一致的数据格式才能正常收发数据。串行通讯可以进一步分为单工、半双工和全双工三种。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。它们的主要区别在于其各自的电平范围不相同
一、并行通信、串行通信
- 并行通信在同一时刻,通过多条传输线,可以同时传输多个bit位的信号。
- 串行通信同一时刻,只能传输一个bit位的信号。传输数据按顺序依次1bit位接1bit位进行传输,通常数据在一根数据线或一对差分线上传输。
比如,当传输1字节信息时,并行通讯有8根信号线实现同时传输,假如耗时为1T,而串行是在一根信号线上,把数据排成一行、一位一位传输,需要传8次,因此耗时为8T。
(注:串行通信发送速度慢只是相较于与并行通信在同一时钟频率下,但是在某些情况下串行通信由于不需要时钟同步,可以把时钟频率提高,从而在单位时间内加快发送速度)
- 并行通信的效率高,但是成本高、对信号线路要求高,一般应用于快速设备之间近距离传输,譬如CPU与存储设备、存储器与存储器、主机与打印机等都采用并行通讯。
- 串行通信效率较低,但是对信号线路要求低,抗干扰能力强,同时成本也相对较低,一般用于计算机与计算机、计算机与外设之间远距离通讯
二、同步、异步通信
在设备间传送数据,无论是同步还是异步通信,都旨在确保数据正确发送和接收,即发送方和接收方的“同步”。接收方需确定发送方发送数据的开始和结束时间,以及每个数据单位的起始和结束位置,从而准确采样接收数据,否则接收的数据将是错误的
根据“同步方式”的不同,由此分出两种同步信号得方法:
(1)同步通信(比特位同步)
(2)异步通信(字符间同步,字符内比特位异步)
-
同步通信会利用额外的时钟信号线,由发送设备提供时钟信号,确保发送和接收设备在同一时钟频率下工作。实际上,大部分并行通信都采用同步通信方式。
-
异步通信无额外信号线同步,发送者和接收者使用不同时钟。按事先约定,确定数据发送开始、结束及单位持续时间。如异步串行通信,双方约定“停止位、数据位数、波特率及奇偶校验位”。接收方据此推测准确采样时间接收数据。同步通信则无需额外同步数据位。
三、全双工、半双工、单工通信
- 串行通讯进一步分为单工、半双工和全双工
- 单工通信:只可以实现接收或者发射功能,通常只是用一根数据线传输数据,
形象的例子理解如:例如收音机、遥控器。并不是指收音机是单双工通信
- 半双工通信:同一时刻只可以发送或者接收,由至少两根数据线完成,例如:对讲机。
- 全双工通信:同一时刻既能接收又可以发送,由至少两根数据线完成,例如:电话。
举例
常见的串行通信
1、SPI
串行、同步、全双工/半双工
2、IIC
串行、同步、半双工
3、UART
定义
- 通用异步收发器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种串行、异步、全双工的通信协议
通信协议
- 信号线:两个信号为 TX(发送器) RX(接收器),无时钟信号来同步收发设备,采用异步传输,全双工,需要波特率相同,传输模式为数据包形式,开始位,数据帧,奇偶校验位,停止位。
参考链接
- 串口通信基础(一)——串行与并行通信,同步与异步通信
这篇关于【IC设计】外设通信协议SPI、IIC、UART的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!