打印
[经验分享]

嵌入式单片机常见协议

[复制链接]
2097|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
八层楼|  楼主 | 2024-12-16 15:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
嵌入式系统中常见的通信协议有多种,它们各自具有不同的特点和适用场景。以下是一些主要的

嵌入式通信协议:
一、SPI
SPI是什么

SPI(Serial Peripheral Interface,串行外设接口)是一种高速、全双工、同步的串行通信协议,常用于嵌入式系统内部芯片之间的短距离通信。

SPI仅支持一主多从,SPI至少四根线:包括MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)、SCLK(串行时钟)和CS(片选,通过使能它来选中不同的从机,有n个从机,主机就需要n条CS线)。

分类:SPI协议其实是包括:Standard SPI、Dual SPI和Queued SPI三种协议接口,分别对应3-wire, 4-wire, 6-wire。

Standard SPI:有4根信号线,分别为CLK、CS、MOSI和MISO。数据线工作在全双工。

Dual SPI:它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输。

Qual SPI Flash:类似的,还可以扩展,与也是针对SPI Flash,Qual SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit,而QSPI就是Queued SPI的简写。

SPI的优缺点

SPI的优点

1.高速率:SPI是一种高速的通信总线,数据传输速率较高,适用于需要快速数据传输的应用场景。

2.全双工通信:支持全双工通信方式,即主机和从机可以同时发送和接收数据,提高了通信效率。

3.占用端口较少:SPI接口在芯片的管脚上只占用四根线(有时也可以为三根),包括串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(CS),节约了芯片的管脚,同时为PCB的布局节省了空间。

4.简单易用:SPI通信协议相对简单,易于实现和集成到各种设备中。

SPI的缺点

1.单一主设备限制:在SPI通信中,通常只能有一个主设备,这限制了系统的灵活性和扩展性。

2.传输距离短:SPI一般只适合板内信号传输,传输距离较短,不适合长距离通信。

3.缺少流控制和应答机制:SPI没有指定的流控制机制,也没有应答机制来确认数据是否成功接收,这可能导致数据丢失或通信错误。

4.需要额外的片选信号线:每个从机都需要一根片选线来被主机选中进行通信,这增加了系统的复杂性和布线难度。

5.无法内部寻址:SPI协议不支持内部寻址功能,因此在多从设备系统中需要额外的片选信号线来区分不同的从设备。

6.缺乏硬件级别的错误检查:SPI没有硬件级别的错误检查协议,这意味着在数据传输过程中出现的错误可能无法被及时检测和纠正。

如何避免这些缺点

SPI的应用场景

1.存储器:

EEPROM和Flash存储器:SPI常用于连接EEPROM和Flash存储器,进行程序存储和数据读写操作。这些存储器通常用于存储设备的配置参数、用户数据或其他需要持久保存的信息。

2.显示设备:

LCD和OLED显示器:SPI接口常用于连接显示模块,如LCD和OLED显示器,用于显示设备状态或用户界面。这些显示器广泛应用于各种电子设备中,如智能手机、平板电脑、智能手表等。

3.模数转换器(ADC)和数模转换器(DAC):

SPI接口可以连接ADC和DAC,实现模拟信号与数字信号之间的转换。这在需要处理模拟信号的电子设备中非常常见,如音频设备、传感器数据采集系统等。

4.传感器:

各种传感器,如温度传感器、加速度计、陀螺仪等,都可以通过SPI接口与MCU连接。传感器数据对于许多电子设备来说至关重要,如智能手机中的运动跟踪、智能家居中的环境监测等。

5.SD卡:

在许多微控制器系统中,SPI用于连接SD卡,以提供额外的存储空间。SD卡广泛应用于数码相机、便携式音乐播放器、智能手机等设备中,用于存储照片、视频、音频文件等。

6.无线通信模块:

如2.4 GHz无线收发模块,通过SPI与MCU连接,实现无线数据传输。这些模块在智能家居、物联网(IoT)设备中非常常见,用于实现设备之间的无线通信。

7.RFID读卡器模块:

SPI接口也广泛应用于RFID读卡器模块与MCU之间的通信。RFID技术常用于门禁系统、物流追踪、资产管理等领域。

二、I2C
IIC是什么

IIC_ [野火]
https://doc.embedfire.com/mcu/stm32/f103badao/std/zh/latest/book/I2C.html

IIC(Inter-Integrated Circuit,内部集成电路)是一种多主设备同步串行通信协议,支持多个设备之间进行通信。

物理层:IIC支持多主多从,具有两根双向信号线,数据线SDA,时钟线SCL,一般情况下了两根线都要外接4.7k~10k上拉电阻,半双工:同一时间只能进行单向数据传输。每个从设备都有唯一的地址。 具有三种传输模式:标准模式传输速率为100kbit/s ,快速模式为400kbit/s , 高速模式下可达 3.4Mbit/s,

协议层:

IIC数据结构:

S 从机地址 0/1 ACK 数据 ACK 数据 P

S/P:传输开始/停止信号,0/1:读写信号,ACK:应答信号。

IIC的优缺点

优点

双线通信:IIC总线使用两根信号线,即串行时钟线(SCL)和串行数据线(SDA),进行数据传输,实现起来比较简单,适合连接少量设备进行通信,同时节省了设备的引脚资源。
可靠性高:通过时钟同步传输数据,数据传输稳定可靠,不易受干扰。
可扩展性强:IIC总线支持多个主设备和多个从设备,可以通过地址识别从设备,实现设备组网。
双向通信:SDA线是双向的,既可以由主设备发送数据,也可以由从设备发送数据,支持半双工通信。
速度可调:IIC总线支持多种数据传输速率,包括标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps)和超高速模式(5Mbps),可以根据实际需求进行选择。
易于移植:IIC协议使用时方便移植,只需要简单配置即可使用。
缺点

速度相对较慢:由于是串行通信,相比于并行通信,IIC协议的数据传输速度较慢。尽管IIC支持多种数据传输速率,但在需要高速数据传输的场合下,仍可能显得不足。
通信距离短:IIC协议的通信距离受限,适合连接设备之间距离较近的场景。如果设备之间的距离较远,可能需要使用其他通信协议。
冲突问题:当多个设备同时发送数据时,可能会出现冲突。虽然IIC总线具备冲突检测和仲裁的功能来防止错误产生,但在某些情况下,仍可能需要通过软件或硬件手段来解决冲突问题。
对单片机可能产生堵塞:对于单片机而言,IIC通信可能会堵塞线程,因为单片机通常是单线程的,所以IIC通信可能会影响程序的运行速度。这取决于MCU厂商编写的驱动代码以及硬件设计。
IIC的应用场景

传感器与微控制器之间的通信:

IIC协议常被用于传感器(如温度传感器、湿度传感器、加速度计等)与微控制器之间的通信。传感器作为从设备连接到总线上,微控制器作为主设备进行数据采集和控制。

存储器芯片:

IIC被用于与存储器芯片(如EEPROM和RTC芯片)进行通信,实现数据的读写和时钟的管理。

控制外设设备:

IIC可以用于与各种外围设备进行通信,如LED驱动器、LCD控制器、扩展IO芯片等,实现控制和数据传输。

显示器控制器:

许多液晶显示器控制器也使用IIC协议进行配置和控制,如OLED显示屏、液晶显示模块等。

工业自动化领域:

IIC在工业自动化领域有广泛应用,例如工业传感器、PLC(可编程逻辑控制器)等。

嵌入式系统:

IIC总线在嵌入式系统中得到了广泛应用,用于连接各种低速周边设备,以实现高效的数据传输和控制。

计算机主板和智能手机:

在计算机主板和智能手机等电子设备中,IIC总线也常被用于连接低速周边设备,以节省空间和提高数据传输效率。

三、UART
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)

简介
:UART是一种常见的异步串行通信协议,用于点对点的数据传输。

特点


:电脑串口通信、GPS模块、蓝牙模块等。

除了上述三种常见的嵌入式通信协议外,还有RS-232、RS-485、CAN等协议也广泛应用于嵌入式系统中。

四、RS-232
:是最常见的串行通信协议之一,被广泛应用于PC机与外部设备之间的通信。它支持双向数据传输,具有较高的传输速率,但传输距离较短。

五、RS-485
:与RS-232类似,但采用差分信号进行数据传输,有效减少了共模干扰,提高了抗干扰能力和传输距离。它支持多个收发器连接,可以组建设备网络。

六、TTL
七、CAN
(Controller Area Network,控制器局域网):是一种高度可靠的、多主机的消息广播系统,广泛用于汽车和工业自动化领域进行设备之间的通信。它采用差分信号通信,具有较强的抗干扰能力和长距离传输能力。

补充:Modbus协议
Modbus协议是一种广泛应用的工业控制器网络协议,以下是对其的详细介绍:

Modbus是什么

工作原理

Modbus协议采用主从通信模式,即一个设备作为主设备(Master),负责发起请求,而其他设备作为从设备(Slave),负责响应请求。这种通信模式确保了数据交换的可靠性和有序性。

通信过程

数据结构

Modbus协议的消息帧格式简单、紧凑、通俗易懂。在通信过程中,每个数据帧都包含起始符、设备地址、功能码、数据域、校验码和结束符等部分。

功能码:Modbus协议定义了多种功能码,用于实现不同的数据访问和操作。常见的功能码包括读线圈状态、读离散输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器等。
数据访问:Modbus协议可访问的数据通常存储在四个数据库或地址范围之一:线圈、离散输入、保持寄存器和输入寄存器。这些数据定义了所包含数据的类型和访问权限,从属设备可以直接访问这些数据。
电气接口与传输方式

电气接口:Modbus协议支持多种电气接口,包括RS232、RS485、TCP/IP等。
传输方式:Modbus协议可以在各种介质上传输,如双绞线、光纤、红外、无线等。这种灵活性使得Modbus协议能够适应不同的通信需求和环境。
协议版本与变种

版本:Modbus协议存在多个版本,包括用于串口通信的Modbus RTU和Modbus ASCII,以及用于以太网通信的Modbus TCP等。
变种:Modbus协议还有一些变种,如Modbus Plus(Modbus+或MB+),不过此协议是Modicon专有的,与标准的Modbus协议有所不同。
Modbus的优缺点

Modbus协议的缺点

速度较慢:相比其他高速通信协议,Modbus协议的数据传输速率较低,可能无法满足一些对实时性要求较高的应用场景。
安全性不足:Modbus协议本身没有加密和认证机制,容易受到黑客攻击和数据篡改。因此,在实际应用中需要采取额外的安全措施来保障数据的安全性。
Modbus协议的优点

Modbus的应用场景

应用领域
:Modbus协议广泛应用于工业自动化、智能家居、能源监控、环境监测和智能交通等领域。通过Modbus协议,可以实现设备的远程监控、故障诊断和参数调整等功能。

综上所述,Modbus协议作为工业物联网领域的重要协议之一,具有简单易用、可扩展性强和通用性强等优点。然而,在实际应用中也需要注意其速度较慢和安全性不足的问题,并采取相应的措施来保障数据的安全性和实时性。

通信协议分类
上述协议可以按照不同的标准进行分类,以下是从通信方式、物理连接和传输特性三个方面进行的分类:

一、按通信方式分类
同步通信协议
SPI(Serial Peripheral Interface):高速、全双工、同步通信协议。它使用四根线(CLK、MOSI、MISO、CS)进行数据传输,其中CLK为时钟线,确保数据的同步发送和接收。
I2C(Inter-Integrated Circuit):也是一种同步通信协议,使用两根线(CLK、SDIO)进行数据传输。它支持多主机和多从机模式,通过地址识别各从机,并实现数据的发送和接收。
异步通信协议
UART(Universal Asynchronous Receiver/Transmitter):一种常用的异步通信协议,使用两条线(RX、TX)进行全双工通信。它不需要外部时钟信号,通过起始位和停止位来同步数据流。
RS232:标准规定是DB25,后来实际变为DB9,在工业中又变为RX、TX、GND三条线,只能实现点对点通信,使用负逻辑电平。
RS485:标准规定只有两条线A、B,A和B之间使用差分信号传输,所以只能实现半双工通信,主从模式。
二、按物理连接分类
两线制协议
I2C:使用CLK和SDIO两根线进行数据传输。
UART:使用RX和TX两根线进行数据传输。
RS232(简化后):在实际应用中,常简化为RX、TX、GND三条线进行通信。
多线制协议
SPI:使用四根线(CLK、MOSI、MISO、CS)进行数据传输。
RS485:虽然标准规定只有两条线A、B,但在实际应用中,可能还需要额外的控制线或电源线。不过,就数据传输而言,它主要依赖A、B两根线。
三、按传输特性分类
全双工协议
SPI:支持全双工通信,即数据的发送和接收可以同时进行。
UART:也支持全双工通信,通过两条独立的信号线(RX、TX)实现。
半双工协议
RS485:支持半双工通信,即同一时刻只能有一方发送(或接收)数据。
I2C:虽然理论上可以支持全双工通信,但在实际应用中,由于只有两根线且需要共享时钟信号,因此通常也按半双工方式使用(尤其在多主机模式下)。不过,这里的分类更倾向于将其视为同步通信协议的一个特性,而非严格意义上的半双工。
点对点通信协议
UART:在简化配置下,常用于主机与外设之间的点对点通信。
RS232:也是用于点对点通信的协议。
多主机通信协议
I2C:支持多主机和多从机模式,允许多个主机在总线上竞争并发送数据。
CAN(未在原文中明确提及,但常见于嵌入式通信协议):也是一种高度可靠的、多主机的消息广播系统,广泛用于汽车和工业自动化领域进行设备之间的通信。
差分信号传输协议
RS485:使用差分信号进行数据传输,有效减少共模干扰,提高通信的抗干扰能力和传输距离。
CAN:同样采用差分信号通信,物理上用双绞线,抗干扰强。
综上所述,这些协议在通信方式、物理连接和传输特性等方面存在显著差异。在选择协议时,需要根据具体的应用场景和需求进行权衡和选择。

嵌入式网络协议:
备注:
IPV4和IPV6的区别

IPv4和IPv6的区别包括1234:地址格式不同:IPv4使用32位的数字地址,IPv6使用128位的字母数字地址。

地址空间不同:IPv4有42亿个可用的IP地址,而IPv6拥有近无限的可分配IP地址。

安全性不同:IPv6具有更好的安全性。

自动配置能力不同:IPv6支持自动配置。

数据包头部结构不同:IPv4和IPv6的数据包头部结构不同。

路由选择优化:IPv6优化了路由选择。

对多播和移动性的支持更好:IPv6对多播和移动性的支持更好

TCP/IP协议族

TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP 协议、ICMP 协议、TCP 协议、以及 http、ftp、pop3 协议等。TCP/IP 协议是用于因特网的通信协议,是互联网的协议。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。TCP/IP 协议族是互联网进行通信时所必须用到的协议群的统称。

tcp/ip参考模型和osi参考模型区别

OSI 采用的七层模型; TCP/IP 是四层结构。

tcp/ip参考模型

TCP/IP模型严格来说是一个四层的体系结构。应用层、传输层、网络层和数据链路层。

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI)

osi七层图解(超详细+思维导图+各协议位置)_《osi七层网络图》-CSDN博客



一、传输层协议
1.1 UDP协议
UDP协议是一种无连接的协议,它提供了一种简单的数据传输机制。

UDP是一种全双工通信协议。

UDP协议的特点:

1. 无连接:只知道对端的IP和端口号就可以发送,不需要实现建立连接。

2. 不可靠:没有确认机制, 没有重传机制。如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息。

3. 面向数据报: 应用层交给UDP多长的报文, UDP原样发送既不会拆分,也不会合并。如果发送端调用一次sendto, 发送100个字节, 那么接收端也必须调用对应的一次recvfrom, 接收100个 字节,而不能循环调用10次recvfrom, 每次接收10个字节。所以UDP不能够灵活的控制读写数据的次数和数量。

1.2 TCP协议
TCP协议是一种面向连接的协议,提供可靠的数据传输。

在正常情况下, TCP要经过三次握手建立连接,四次挥手断开连接。

TCP在传输数据过程中,还加入了超时重传机制

TCP和UDP的区别

主要区别
连接性与可靠性:TCP是面向连接的协议,提供可靠的数据传输服务;而UDP是无连接的,提供不可靠的传输服务。

头部开销与传输效率:TCP的头部开销较大,包含更多控制信息,传输效率相对较低;UDP的头部开销小,传输效率较高。

应用场景:TCP适用于需要可靠传输的应用,如文件传输、电子邮件等;UDP适用于实时应用,如视频流、VoIP等。

二、应用层协议
2.1 HTTP
HTTP是什么

HTTP应用层协议基于传输层可靠的传输,因此也就是其在TCP/IP协议族使用TCP协议作为其传输层。

HTTP协议的工作流程

1.建立连接:由客户端向服务器发送请求。

2.发送请求:客户端通过请求消息向服务器请求某个资源。

3.服务器响应:服务器接收请求并返回响应。

4.断开连接:通信完成后,客户端与服务器断开连接。

HTTP协议的请求消息由三个部分组成:请求行、请求头和请求体。

1.状态行:状态行由三个部分组成,分别是HTTP协议版本、状态码和状态描述。

2.响应头:响应头与请求头类似,包含了服务器向客户端发送的一些附加信息,例如允许的MIME类型、服务器支持的语言类型等。

3.响应体:响应体是HTTP服务器向客户端返回的实际数据,例如HTML页面、图片等。

HTTP的优缺点

HTTP协议的缺点

HTTP协议作为一个文本协议,具有以下几个缺点:

1.安全性不足:HTTP协议中的明文传输,存在安全风险。

2.性能瓶颈:HTTP协议无法有效支持高并发和大规模数据传输。

3.精度问题:HTTP协议只能传输文本和二进制文件,对于多媒体类型的数据传输不够精确。

HTTP协议的优点

1.简单快速:HTTP协议简单,使得HTTP服务器的程序规模小,客户向服务器请求服务时,只需传送请求方法和路径,通信速度很快。

2.灵活易扩展:HTTP非常灵活,在报文中没有做过多的限制,只要按照其规则可以自己定义字段。同时,它支持传输多种类型的数据,如文本、图像、音频、视频等,正在传输的类型由Content-Type加以标记。

3.无连接:HTTP/1.1是一个无连接的协议,限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。这种方式可以节省传输时间,使服务器可以同时处理多个客户端请求,提高并发性能。

4.无状态:HTTP协议是无状态协议,这里的“状态”是指通信过程的上下文信息。无状态意味着服务器不会去**HTTP的状态,因此不需要额外的资源来记录状态信息,能减轻服务器的负担,把更多的CPU和内存用来对外提供服务。

5.可缓存:HTTP/1.1支持通过CacheControl和Expires头部字段对资源进行缓存,这可以减少不必要的网络请求,提高页面加载速度。

6.支持条件请求:HTTP/1.1支持条件请求,即根据不同的条件返回不同的内容,这对于实现动态内容和个性化服务非常有用。

HTTP的应用场景

HTTP的应用范围非常广泛,从

台式机的浏览器

手机上的各种APP,从看新闻、刷贴吧到购物、理财等,HTTP的应用随处可见。同时,它天然具有跨平台的优越性,不受平台、语言界限的限制。

2.2 MQTT
MQTT位于应用层。MQTT运行在TCP协议的上层,即应用层。

MQTT是什么

MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,

基于Publish/Subscribe(发布订阅)模式的物联网通信协议

支持Qos(服务质量)、基于TCP/IP、简单易实现、报文精简

客户端只需要订阅这个主题,当有其他客户端向这个服务端发布消息时,这个客户端就可以收到这个消息

MQTT的优缺点

MQTT协议的缺点

1.不适合大量数据传输:

由于MQTT是轻量级协议,它不适合传输大量数据。在处理大量数据时,可能需要考虑其他更适合的协议。

2.需要专门的代理服务器(Broker):

为了使用MQTT,需要一个专门的代理服务器来处理消息传输,这可能增加系统复杂性。

需要额外的资源来部署和维护代理服务器。

3.QoS等级影响性能:

使用高QoS等级会增加延迟和网络负载,因此必须仔细选择QoS等级以平衡可靠性和性能。

4.不支持广播消息:

MQTT基于发布/订阅模式,不支持广播消息。这限制了其在某些需要广播通信的场景下的应用。

5.不支持推送通知:

作为异步通信协议,MQTT不支持推送通知。这意味着如果需要在客户端主动推送消息给服务器,可能需要结合其他协议或机制来实现。

6.SDK和集成限制:

不同异构终端需要有对应的SDK包以实现互联互通。

MQTT协议与基于传统的HTTP协议的WEB服务器之间的集成可能较为困难,需要额外的开发工作。

7.不支持负载均衡和用户管理接口:

MQTT协议本身不支持负载均衡,可能需要额外的负载均衡服务器来防止高并发和恶意攻击。

不支持用户管理接口,这在进行设备的行为数据分析时可能是一个限制。

8.不支持离线消息:

设备离线后,MQTT服务器对设备的控制信息可能会丢失。这可能需要额外的机制来确保离线消息的可靠传输。

MQTT协议的优点

1.轻量级:

MQTT协议采用二进制格式,数据包开销较小,传输效率高,适合在带宽较小的网络环境下使用。

消息头部较小,有助于节省带宽和能源消耗,适合在物联网设备和资源受限的环境中应用。

2.易于实现:

MQTT协议在客户端的实现相对简单,易于开发和部署。

提供了简单的API接口,方便开发者快速集成和使用。

3.可靠性:

MQTT协议支持三种不同的服务质量(QoS)级别,分别是最多一次、至少一次和只有一次。这样可以根据实际需求选择合适的QoS级别,确保消息的可靠传输。

使用TCP协议进行可靠的消息传递,确保消息的及时到达和顺序传输。

4.异步通信:

MQTT协议支持异步通信模式,客户端可以通过订阅主题来接收感兴趣的消息,而不需要主动请求。这种机制使得MQTT协议非常适合于实时通信和事件驱动的应用场景。

5.灵活性:

MQTT协议支持多种消息发布和订阅模式,可以根据需求进行灵活配置。

支持消息的保留和持久化,可以确保消息在断线重连后仍然可用。

6.广泛支持:

MQTT协议得到了广泛的支持和应用,拥有众多的开源实现和商业产品。

适用于各种异构设备和平台,为不同设备间的交互提供了共通的平台。

MQTT的应用场景

物联网云平台通信(云平台推送数据和下发指令)。

物联网M2M通信,物联网大数据采集

Android消息推送,WEB消息推送

移动即时消息,例如Facebook Messenger

智能硬件、智能家具、智能电器

车联网通信,电动车站桩采集

智慧城市、远程医疗、远程教育

电力、石油与能源等行业市场

2.3 SSH
SSH是什么

SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。

传统远程登录和文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对网络安全的重视,这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。默认情况下,SSH服务器使用端口号22。

SSH的优缺点

SSH协议的缺点

1.依赖性强:SSH协议的正常运行依赖于网络环境和操作系统的稳定性。如果网络环境不稳定或操作系统存在问题,可能会影响SSH协议的性能和安全性。

2.带宽消耗:尽管SSH协议通过加密和压缩技术来优化数据传输效率,但在某些情况下,如传输大量数据时,仍可能消耗较多的带宽资源。

3.延迟增加:SSH协议在加密和解密过程中可能会引入一定的延迟,特别是在网络延迟较高的环境下,这种延迟可能会更加明显。

SSH的应用场景

1.使用广泛的Xsheel软件就是基于SSH协议远程连接

2.gitlab用于安全地进行远程代码管理和操作,如克隆(clone)、拉取(pull)、推送(push)代码等。

三、嵌入式网络协议的选择与应用
在选择嵌入式网络协议时,需要考虑多个因素,包括协议栈的复杂度、内存占用、功能需求、硬件兼容性以及网络应用的支持程度等。不同的嵌入式系统有不同的应用场景和需求,因此需要根据实际情况选择合适的网络协议。

例如,在需要高速网络通信且资源相对丰富的嵌入式系统中,可以选择使用完整的TCP/IP协议栈;而在资源受限的嵌入式系统中,则可以选择轻量级的TCP/IP协议栈如LwIP或uIP。对于需要无线通信的嵌入式系统,则可以选择Wi-Fi或蓝牙协议等。

综上所述,嵌入式系统中常见的网络协议有多种,它们各自具有不同的特点和应用场景。在选择和使用时,需要根据实际需求进行综合考虑和权衡。

其他网络协议

除了TCP/IP及其变种外,还有一些其他常见的网络协议也应用于嵌入式系统中:

以太网协议:以太网协议是一种常见的网络通信协议,被广泛应用于计算机局域网和广域网中。它支持高速数据传输,具有较好的稳定性和兼容性。在嵌入式系统中,以太网协议常用于与计算机或其他设备的网络通信。
Wi-Fi协议:Wi-Fi协议是一种无线通信协议,支持高速无线数据传输。它具有传输速度快、移动性强等优点,但需要占用一定的带宽资源,且信号容易受到干扰。在嵌入式系统中,Wi-Fi协议常用于实现设备的无线连接和数据传输。
蓝牙协议:蓝牙协议是一种短距离无线通信协议,支持低速无线数据传输。它具有传输距离短、功耗低等优点,但传输速度较慢,且需要占用一定的带宽资源。在嵌入式系统中,蓝牙协议常用于与手机、平板等设备的无线连接和数据传输。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_48081913/article/details/144378707

使用特权

评论回复
沙发
minzisc| | 2025-1-3 11:37 | 只看该作者
CAN(Controller Area Network):主要用于实时数据传输,广泛应用于汽车和工业控制领域等对可靠性要求较高的场景。具有错误检测和自动重传机制,支持多主结构,所有节点都可以发送消息,能在高噪声环境中提供可靠的通信。采用差分信号传输,抗干扰能力强,传输距离远,速率高。缺点是协议相对复杂,硬件成本较高。
LIN(Local Interconnect Network):适用于低成本、低速率的局域网通信,通常作为 CAN 总线的补充,用于连接一些对实时性和可靠性要求不高的设备,如汽车中的车窗电机、座椅调节电机等。其通信速率较低,一般在 20kbps 以下,采用单主多从的通信模式,主节点负责调度总线通信。优点是成本低,布线简单;缺点是功能相对有限,速率较低。
USB(Universal Serial Bus):用于连接外部设备,如传感器、存储设备、鼠标、键盘等。支持高速数据传输,有多种传输速率标准,如 USB 1.1、USB 2.0、USB 3.0 等,具有热插拔和即插即用功能。采用主从结构,主机负责管理和控制总线上的通信。优点是传输速率高,使用方便,支持多种设备类;缺点是需要相应的 USB 驱动程序支持,硬件设计相对复杂。

使用特权

评论回复
板凳
juliestephen| | 2025-1-3 15:56 | 只看该作者
串行外设接口              

使用特权

评论回复
地板
phoenixwhite| | 2025-1-3 16:13 | 只看该作者
CAN是一种用于汽车电子和工业自动化领域的串行通信协议,支持多主从设备通信和分布式控制,具有高可靠性和良好的错误检测能力,适用于需要高可靠性和实时性的应用

使用特权

评论回复
5
benjaminka| | 2025-1-5 14:46 | 只看该作者
RS485是一种基于串口的总线标准,类似于RS232但具有更远的传输距离和更强的抗干扰能力。它采用差分信号传输,有效减少共模干扰,适用于远距离通信和组建设备网络。

使用特权

评论回复
6
zerorobert| | 2025-1-5 15:43 | 只看该作者
SPI是一种高速全双工同步串行总线,采用主从模式架构,支持多slave模式应用。SPI接口有四根信号线(NSS、SCLK、MOSI和MISO),数据传输速率可达几Mbps。SPI通信过程中,数据按位传输,高位在前,低位在后,也可以配置为低位在前。

使用特权

评论回复
7
mnynt121| | 2025-1-5 16:33 | 只看该作者
USB是一种常用的总线通信协议,用于计算机和外设之间的数据传输和电源供应。
它支持高速数据传输、热插拔和控制等功能。
USB的优点包括高速率、支持热插拔和广泛兼容;缺点包括实现复杂和成本较高。

使用特权

评论回复
8
wilhelmina2| | 2025-1-7 13:28 | 只看该作者
SPI是一种高速、全双工、同步的串行通信协议,常用于嵌入式系统内部芯片之间的短距离通信。
它有四种信号线:CLK(时钟线)、CS(片选线)、MOSI(主机输出/从机输入数据线)和MISO(主机输入/从机输出数据线)。
SPI的优点包括高速率、全双工通信、占用端口较少和简单易用;缺点包括单一主设备限制、传输距离短、缺少流控制和应答机制等。

使用特权

评论回复
9
averyleigh| | 2025-1-7 20:14 | 只看该作者
UART是一种常用的异步串行通信协议,通过单一的传输线路将数据逐位传输到接收端。
它通常用于短距离、点对点的通信,如计算机与外部设备之间的通信。
UART的优点包括简单易用和适用于远距离通信;缺点包括速率较低和不支持多设备通信。

使用特权

评论回复
10
ccook11| | 2025-1-9 21:37 | 只看该作者
CAN是控制器局域网络的简称,是一种串行通信协议,具有高抗干扰性和错误检测能力。CAN总线广泛应用于汽车电子、工业控制等领域,支持多节点通信,通信距离最远可达10KM。

使用特权

评论回复
11
uytyu| | 2025-1-11 17:28 | 只看该作者
UART(通用异步收发传输):一种全双工异步串行通信协议,常用于点对点的短距离通信,如连接传感器、蓝牙模块等。其数据包由起始位、主体数据、校验位和停止位组成,通讯双方需约定好波特率、数据位数、校验位和停止位等参数。优点是硬件简单,成本低,易于实现;缺点是传输速率相对较低,传输距离有限,且没有流控制和错误重传机制。
SPI(串行外设接口):高速、同步、全双工的通信协议,采用主从模式,适用于短距离高速数据传输,常用于连接传感器、EEPROM、显示屏、SD 卡等外设。通过四条线(MISO、MOSI、SCK、CS)进行通信,支持多种时钟极性和相位配置。优点是数据传输速率高,通信简单;缺点是没有指定的流控制和应答机制,数据可靠性方面有一定缺陷,且连接的从设备数量受限于主设备的片选线数量。
I²C(Inter-Integrated Circuit):简单、双向的两线制同步串行总线,由数据线(SDA)和时钟线(SCL)组成,支持多主控或多设备通信,常用于连接传感器、EEPROM、RTC 时钟芯片、音频编解码器等低速外设。总线上每个设备有唯一地址,通过寻址机制进行通信。优点是仅需两根线即可实现多设备通信,连线简单,适用于板内通信;缺点是数据传输速率相对 SPI 较低,通信距离较短,且总线仲裁机制相对复杂。

使用特权

评论回复
12
lzbf| | 2025-1-11 20:25 | 只看该作者
UART是一种常用的串行通信协议,通过单一的传输线路逐位传输数据。它广泛应用于单片机与PC或其他单片机之间的通信,支持全双工通信,传输速率适中,可靠性高,成本低,适用于短距离、低速或中速的通信场景

使用特权

评论回复
13
lzbf| | 2025-1-17 15:07 | 只看该作者
2C是一种多主从设备同步串行通信协议,适用于连接微控制器和其他外围设备。I2C总线由数据线SDA和时钟线SCL组成,多个设备可以连接到总线上,实现设备间的通信,适用于读写EEPROM、实时时钟、传感器等外围设备

使用特权

评论回复
14
alvpeg| | 2025-1-17 15:26 | 只看该作者
I2C是一种双向串行通信协议,适用于中速数据传输和小范围的通信。
它只需要两条信号线:SCL(时钟线)和SDA(数据线)。
I2C的优点包括支持多主多从通信、传输距离相对较长和具有简单的应答机制;缺点包括速率较低和占用两个端口。

使用特权

评论回复
15
i1mcu| | 2025-1-17 16:40 | 只看该作者
1-Wire是一种单线通信协议,主要用于简单的传感器和存储设备的通信。
它只需要一条信号线即可实现数据传输和电源供应。
1-Wire的优点包括简单易用和成本低;缺点包括速率较低和不支持多设备通信。

使用特权

评论回复
16
mmbs| | 2025-1-17 17:15 | 只看该作者
RS-232和RS-485是两种常用的串行通信接口标准,RS-232适用于点对点通信,而RS-485支持多点通信,适用于长距离、低速率的通信场景

使用特权

评论回复
17
loutin| | 2025-1-17 19:53 | 只看该作者
UART是一种通用异步收发传输器,用于串行通信。它支持全双工通信,即可以同时发送和接收数据,常用于主机与外设之间的点对点通信。UART的帧格式包括起始位、主体数据、校验位和停止位,通信双方需要约定一致的波特率以确保正确通信。

使用特权

评论回复
18
primojones| | 2025-1-17 20:17 | 只看该作者
RFID(Radio-Frequency Identification):用于远距离无线识别和数据传输,通过射频信号自动识别目标对象并获取相关数据,无需人工干预。广泛应用于物流、零售、安防等领域。优点是可实现非接触式识别,识别速度快,可同时识别多个标签;缺点是数据传输速率相对较低,标签成本较高,且识别距离和准确性受环境因素影响较大。
Zigbee:适用于低功耗、低速率的无线通信,常用于物联网(IoT)设备,如智能家居、环境监测等领域。采用自组织网络技术,可实现多个设备之间的互联互通。优点是低功耗、低成本、高可靠性,具有较强的网络自愈能力;缺点是传输速率较低,传输距离有限,数据吞吐量较小。
LoRa(Long Range):适用于长距离、低功耗的无线通信,主要用于物联网和传感器网络,可实现城市范围内的设备连接。采用扩频技术,具有较强的抗干扰能力和穿透能力。优点是传输距离远,功耗低,组网成本低;缺点是传输速率较低,数据传输量有限,且目前应用范围相对较窄。

使用特权

评论回复
19
kkzz| | 2025-1-17 21:06 | 只看该作者
SPI是一种同步串行通信协议,适用于单片机与外围设备之间的通信。SPI采用主从模式,主设备发起数据传输,从设备响应数据传输,适用于读写Flash存储器、实时时钟、AD转换器等外围设备

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

4166

帖子

2

粉丝