集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 48|回复: 3

常用的嵌入式硬件通信接口协议(UART、IIC、SPI、RS-232、RS-485、RS-422、CAN、US...

[复制链接]
dameihuaxia 发表于 前天 09:58 | 显示全部楼层 |阅读模式
一、概述
通信协议是两个(或多个)设备之间进行通信,必须要遵循的一种协议。通讯协议分为物理层和协议层。

物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输;
协议层:规定通讯逻辑,统一收发双方的数据打包、解包标准。
二、定义
UART: 通用异步收发传输器。

USART: 通用同步/异步串行接收/发送器。USART可以理解为UART和USRT二合一的通信接口,一个是同步通信,一个是异步通信。

IIC: 集成电路总线,是一种串行通信总线。

SPI: 串行外设接口,是一种高速的,全双工,同步的通信总线。

QSPI: 是SPI接口的扩展,比SPI应用更加广泛。QSPI是在SPI协议的基础上,对其增加了队列传输机制,传输过程不需要CPU干预,极大的提高了传输效率。

RS-232: 全双工点对点式的异步串行通信协议接口。

RS-485: 串行通信总线,采用两线制,差分传输,半双工模式。

RS-422: 采用四线制,全双工,差分传输,多点通信的数据传输协议。

USB: 通用串行总线 。USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术。

CAN: 控制器局域网络。 CAN 总线是一种应用广泛的现场总线 ,在工业测控和工业自动化等领域有很大的应用前景。

IRDA: 是一种利用红外线进行通信的,点对点通信的技术。

三、通信协议
1、UART
(1)基本概念

UART——通用异步收发传输器。UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。

基于UART的数据传输是异步形式的串行数据传输。基于UART的串行数据传输不需要使用时钟信号来同步传输的发送端和接收端,而是依赖于发送设备和接收设备之间预定义的配置。

对于发送设备和接收设备来说,两者的串行通信配置(波特率、单位字的位数、奇偶校验、起始位数与结束位、流量控制)应该设置为完全相同。通过在数据流中插入特定的比特序列,可以指示通信的开始与结束。当发送一个字节数据的时候,需要在比特流的开头加上起始位,并在比特流的末尾加上结束位。数据字节的最低位紧接在起始位之后。

UART 串口的特点是将数据一位一位地顺序传送,只要2根传输线就可以实现双向通信,一根线发送数据的同时用另一根线接收数据。

UART 串口通信有几个重要的参数,分别是波特率、起始位、数据位、停止位和奇偶检验位,对于两个使用UART串口通信的端口,这些参数必须匹配,否则通信出错。

UART通信数据格式:
image-20220209113708900

起始位:表示数据传输的开始,电平逻辑为“0” ,位数为1位。

数据位:可以是5~8位的数据,先发低位,再发高位,一般取值为8,因为一个ASCII 字符值为8位。

奇偶校验位:用于接收方对接收到的数据进行校验,“1”的位数为偶数(偶校验) 或奇数(奇校验),以此来校验数据传送的正确性,使用时不需要此位也可以。

停止位:表示一帧数据的结束,电平逻辑为“1”,位数可以是1/1.5/2位。

波特率:串口通信时的速率,它用单位时间内传输的二进制代码的有效位(bit) 数来表示,其单位为每秒比特数bit/s(bps)。常见的波特率值有4800、9600、115200 等,数值越大数据传输的越快,波特率为115200 表示每秒钟传输115200 位数据。

(2)硬件连接

image-20220209134927990
(3)UART存在的问题

UART只是对信号的时序进行了定义,而未定义接口的电气特性;
UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连;
UART没有规定不同器件连接时连接器的标准,所以不同器件之间通过UART通信时连接不方便。
UART一般直接使用TTL信号来表示0和1,但TTL信号的抗干扰能力较差,数据在传输过程中很容易出错。
由于TTL信号的抗干扰能力较差,所以其通信距离很短,一般只能用于一个电路板上的两个不同芯片之间的通信
大鹏 发表于 前天 13:39 | 显示全部楼层
常用的嵌入式硬件通信接口协议

点评

海!外直播 bitly.net/jtttj 禁闻视频 bitly.net/xuuux 以前有人说:“没有谷歌我们有百度,没有推特我们有微博,没有YouTube我们有优酷,就上我们自己的网站会死呀?” 从魏则西事件看来真的会死...  发表于 前天 18:57
雷1314521景 发表于 前天 17:37 | 显示全部楼层
常用的嵌入式硬件通信接口协议(UART、IIC、SPI、RS-232、RS-485、RS-422、CAN、US...
http://www.fpgaw.com/forum.php?m ... 5&fromuid=59831
(出处: fpga论坛|fpga设计论坛)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-22 00:18 , Processed in 0.059007 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表