关于数据通信协议 你了解多少?
扫描二维码
随时随地手机看文章
一、通讯协议
熟悉至少一种通讯协议及应用方法,UART、SPI、CAN、Modbus、CANopen、 Profibus、 Profinet、 EtherCAT;
熟悉中断机制,I/0控制和常见外设 (UART、SPI、IIC、USB、SD/MMC等) ;
(一) UART通信协议
UART(通用异步收发器),这是用于全双工串行通信的最常见协议。它是设计用于执行异步通信的单个LSI(大规模集成)芯片。该设备将数据从一个系统发送到另一系统。
1. 什么是UART通信协议?
UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。
UART全称是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),它通常称作UART,是一种异步收发传输器, 是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(RX 和TX)就可以完成通信过程,因此也称为异步串行通信。
UART它可以实现全双工传输和接收。我们现在可以大概了解什么是UART协议了,那我们下面就应该来详细了解一下它,在这个之前我们先了解一下通信方式的分类,它们是怎样分类的。
什么是通信协议
通信协议是指双方实体完成通信或服务所必需遵循的规则和约定。协议可以理解成,是数据通信系统内的共同语言,让双方实现信息交换和资源共享。
通信协议定义了发送方将要发送的信息按照一定的协议封装成指定格式的数据包,转换成比特流形式在网络上传输,接受方接收到数据包后,根据协议进行解析,从而获取相关信息。主要由三部分组成语义、语法、时序。(参考语言系统)
OSI参考模型
OSI参考模型与TCP/IP模型区别和联系
OSI是一个模型,而TCP/IP是一个协议簇;
一个七层结构,一个五层结构;
TCP/IP的第三层(网络层)仅支持IP协议,OSI支持所有的网络层协议。
OSI引入了服务、接口、协议、分层的概念,而TCP/IP借鉴了OSI的概念。
OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP先有协议和应用再提出了模型,且是参照的OSI模型。
封装和解析
封装:数据通过网络进行传输,从高层一层一层的向下传送,把数据包装到一个特殊协议报头中这个过程叫封装;
解析:接收设备收到封装后的数据删除数据的封装信息,并根据报头中的封装信息决定如何将数据沿协议栈向上传递,这个过程称为解析。
数据的封装和解析包括两个层面:一个层面是协议内部的数据封装和解析;另一个层面为数据通过网络传输过程中的封装和解析。
——常见物联网协议介绍
下面简单描述一下概念:
HTTP协议:超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。它是一个客户端(用户)和服务端(网站)之间请求和响应的标准,通常使用TCP协议。HTTP协议同样可以用于物联网系统中。不过对于很多计算和存储资源有限的物联网节点,不太适合使用HTTP协议。
AMQP协议:高级消息队列协议。协议是一个提供统一消息服务的应用层标准协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的工作原理基于发布/订阅机制,消息代理内部的交换机组件(Exchange)会把接收到的消息,根据消息的主题,分配到不同的队列中,以便订阅者接收。在物联网应用中,该协议主要适用于移动手持设备与后台数据中心的通信与分析。
MQTT协议:(消息队列遥测传输)该协议是为大量计算能力,工作带宽有限和网络环境不可靠的传感器或控制器而设计的协议。它是针对物联网推出的一种轻量级即时通讯协议,基于TCP协议实现。
COAP协议:受限应用协议是专用于受限设备的互联网应用协议。它使那些被称为“节点”的受限设备能够更广泛的进行互联网通信。
在这个广袤的网络宇宙中,星光熠熠,每颗星星都代表着一个网络设备,如交换机、路由器等,它们通过网线、光纤等线缆紧密相连,构成了复杂的网络网。在这熠熠星光间,隐匿着一套神秘而重要的规则,这就是网络协议。这些不可见的软件、规则,如同引导着星光航行的精灵,实现着网络节点间的互通。
提到网络协议,大家脑海中第一时间浮现的应该大名鼎鼎的TCP/IP协议,即传输控制协议/网际协议。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇。今天我们按照TCP/IP协议的各层来分别梳理其中最常见的通信协议。
首先小编总结一张表格,简单直接列出TCP/IP协议与OSI七层模型的关系以及各层的功能和主要网络协议。
一、物理层
物理层是网络模型中最低层,是整个系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。本质就是“信号和介质”。各种现成的协议有RS-232、RS-449、X.21、V.35、ISDN、以及FDDI、IEEE802.3、IEEE802.4、和IEEE802.5的物理层协议。
二、传输链路层
PPP协议:一种点到点(一根链路两端只有两个接口)链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输。
三、网络层
IP协议:互联网协议,是TCP/IP协议族的核心协议。它定义了数据包的格式,使得数据包可以在互联网中进行传输。IP协议使用IP地址来寻址,并通过路由选择算法将数据包从源节点转发到目标节点。
ARP协议:ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。
RARP协议:RARP是将ARP反过来,从MAC地址定位IP地址的一种协议。平时我们可以通过电脑设置IP,也可以通过DHCP自动分配获取IP地址。比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。
四、传输层
TCP协议:传输控制协议,提供可靠的、面向连接的数据传输服务。TCP使用三次握手建立连接,确保数据的完整性和顺序性,以及在数据丢失时进行重传。它适用于对数据传输可靠性要求较高的应用,如文件传输、电子邮件等。
UDP协议:用户数据报协议,提供无连接的数据传输服务。UDP在发送数据前不需要建立连接,也不提供数据包的重传机制。它适用于实时性要求较高的应用,如音频和视频传输、实时游戏等。
五、应用层
HTTP(超文本传输协议):用于在Web浏览器和服务器之间传输超文本数据,使我们能够在互联网上浏览网页。
HTTPS(安全套接层超文本传输协议):是HTTP的安全版本,使用加密来保护数据传输的安全性,例如在网上进行购物或登录时。
FTP(文件传输协议):用于在网络上传输文件,使用户可以上传或下载文件到远程服务器。
SMTP(简单邮件传输协议):用于电子邮件的发送,规定了邮件客户端和邮件服务器之间的交互方式。
POP3(邮局协议版本3)和IMAP(Internet消息访问协议):用于接收电子邮件,分别用于从邮件服务器下载邮件或在服务器上管理邮件。
DNS(域名系统):将域名转换为IP地址的协议,使我们能够通过易于记忆的域名访问网站。
Telnet:用于在网络上远程登录到其他计算机,以便远程管理和控制。