偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一篇讓你學(xué)會(huì)通信協(xié)議

網(wǎng)絡(luò) 通信技術(shù)
協(xié)議是通信計(jì)算機(jī)雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識(shí)別等。只有遵守這個(gè)約定,計(jì)算機(jī)之間才能相互通信交流。

1.概述什么是通信協(xié)議

協(xié)議是通信計(jì)算機(jī)雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識(shí)別等。只有遵守這個(gè)約定,計(jì)算機(jī)之間才能相互通信交流。

比如一些常見的協(xié)議:串口協(xié)議、Modbus協(xié)議、CAN 協(xié)議、TCP/IP協(xié)議等。

『通信協(xié)議』是一個(gè)很寬泛的概念,拿OSI(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層)來說,每一層都有對(duì)應(yīng)的協(xié)議,我們所說的串口、Modbus、CAN等對(duì)應(yīng)在不同的層次。

很多初學(xué)者對(duì)『通信協(xié)議』的概念不理解,覺得很高深、很復(fù)雜。要搞明白通信協(xié)議,建議結(jié)合一些實(shí)際例子來理解。

2.UART通信協(xié)議

UART:Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器。

UART,通常我們成為串口,是通信中最常見的一種。

1).串口底層協(xié)議

如上圖,假如設(shè)備A發(fā)送一個(gè)字符給設(shè)備B,需要規(guī)定啟始位、數(shù)據(jù)位、校驗(yàn)位、停止位以及波特率等。這些約定就是串口通訊的協(xié)議。

另外,傳輸?shù)木€路是通過TTL、232還是485,也是需要通訊雙方(設(shè)備A和設(shè)備B)約定的,嚴(yán)格來說也屬于一種協(xié)議。

我們這里把這些約定統(tǒng)稱為物理層協(xié)議,或者說底層的協(xié)議。

2).串口上層協(xié)議

串口通信不像http通信那么復(fù)雜,我這里說的簡單點(diǎn),就是底層協(xié)議和上層協(xié)議。

基于串口的應(yīng)用層協(xié)議很多,自定義應(yīng)用協(xié)議、通用協(xié)議等。

自定義應(yīng)用協(xié)議

比如:你買一個(gè)溫度傳感器模塊,自定義協(xié)議:固定長度3字節(jié)。

這是一個(gè)很簡單的自定義協(xié)議,當(dāng)然,實(shí)際應(yīng)用中自定義協(xié)議一般比這個(gè)更復(fù)雜,比如多一些標(biāo)志:命令、數(shù)據(jù)長度、校驗(yàn)信息等。

通用協(xié)議

比如:Modbus、MAVLink等這些都是基于串口的應(yīng)用層協(xié)議。

如果只是做應(yīng)用,我們不必深究通用協(xié)議的原理,掌握如何使用,能正確傳輸數(shù)據(jù)就行(當(dāng)然,一些基本原理還是要懂)。

3.CAN通信協(xié)議

之前寫過一些《CANOpen系列教程》,很多人第一步就蒙了,什么是CAN 2.0協(xié)議,什么是CANOpen協(xié)議?

看了上面串口的解釋,現(xiàn)在你是不是要清晰一點(diǎn)了呢?

CAN 2.0屬于一種協(xié)議,CANOpen也是一種協(xié)議,這兩種協(xié)議是各自獨(dú)立的協(xié)議。

1).CAN底層協(xié)議

CAN 2.0協(xié)議屬于物理層的協(xié)議,分為CAN 2.0 A版本和B版本協(xié)議。

前幾年引入了新的CAN FD協(xié)議,這個(gè)協(xié)議可以理解為CAN協(xié)議的升級(jí)版,都屬于物理層協(xié)議。

2).CAN上層協(xié)議

基于物理層CAN之上的協(xié)議,比如:CANopen、J1939、DeviceNet等。這些協(xié)議屬于應(yīng)用層協(xié)議。

應(yīng)用層協(xié)議一般都是指的軟件,里面的一些內(nèi)容也是標(biāo)準(zhǔn)協(xié)會(huì)進(jìn)行約定的(比如CANOpne里面的對(duì)象字典、PDO、SDO等),大家都按照這個(gè)約定進(jìn)行通信。

4.網(wǎng)絡(luò)通信協(xié)議

網(wǎng)絡(luò)通信是生活中常見的一種,我們要上網(wǎng),就必須要有網(wǎng)絡(luò),我們需要的數(shù)據(jù)通過多層協(xié)議,最終才能完成傳輸。

網(wǎng)絡(luò)通信是一個(gè)比較大的概念,包含的協(xié)議種類繁多,對(duì)于大部分開發(fā)人員來說,只需要掌握基本原理,學(xué)會(huì)調(diào)用相應(yīng)接口開發(fā)自己應(yīng)用程序即可。

做硬件開發(fā)的需要網(wǎng)線電平信號(hào)、接口含義等,做應(yīng)用的需要了解TCP、UDP通信方式區(qū)別等。


責(zé)任編輯:武曉燕 來源: strongerHuang
相關(guān)推薦

2021-09-14 07:26:26

組合問題循環(huán)

2021-08-26 13:22:46

雪花算法隨機(jī)數(shù)

2022-08-29 08:00:11

哈希表數(shù)組存儲(chǔ)桶

2022-03-04 21:06:46

spring事務(wù)失效

2024-02-20 19:53:57

網(wǎng)絡(luò)通信協(xié)議

2023-10-12 19:37:50

通信協(xié)議HTTP

2022-01-02 08:43:46

Python

2024-04-12 09:01:08

2010-06-11 14:31:08

通信協(xié)議

2022-12-02 14:42:37

2022-06-04 07:46:41

HeapJVM

2021-07-02 09:45:29

MySQL InnoDB數(shù)據(jù)

2021-07-06 08:59:18

抽象工廠模式

2023-01-03 08:31:54

Spring讀取器配置

2021-07-05 22:11:38

MySQL體系架構(gòu)

2023-11-28 08:29:31

Rust內(nèi)存布局

2022-08-26 09:29:01

Kubernetes策略Master

2021-05-11 08:54:59

建造者模式設(shè)計(jì)

2022-08-23 08:00:59

磁盤性能網(wǎng)絡(luò)

2022-02-07 11:01:23

ZooKeeper
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)