初出茅廬的小李第1篇博客

初出茅廬的小李第1篇博客

通信協議學習筆記

協議簡單的理解就是通信計算機雙方必須共同遵循的一組約定。怎樣連接,怎樣互相識別等一系列問題,只有遵循這個約定,計算機之間才能進行相互的通信交流。

常見的一些協議:串口協議、Modbus協議、CAN協議、TCP/IP協議等,雖說這些我也都不熟悉。

協議很多,我就先重點學習幾個吧!

##USART
Universal Asynchronous Receiver/Transmitter,通用異步收發傳輸器。
假如設備A發送一個字符給設備B,需要規定啓始位、數據位、校驗位、停止位以及波特率等。這些約定就是串口通訊的協議
我們這裏把這些約定統稱爲物理層協議,或者說底層的協議。
當然除了底層協議還有上層協議,這些以後學到了再進行記錄學習;基於串口的應用層協議很多,自定義應用協議、通用協議等。自定義協議可以在買的一些傳感器上見到,比如我曾經買過的有一款超聲波測距傳感器,它的通信格式就是一個很簡單的自定義協議,有其實標誌,數據信息,校驗信息等。
當然,我知道實際應用中自定義協議一般比這個更復雜,比如多一些標誌:命令、數據長度、校驗信息或者還有其它等。MQTT協議應該就是這種,我對MQTT的協議理解還處於這個初級階段。
雖說如果我們只是做應用,我們不必深究通用協議的原理,掌握如何使用,能正確傳輸數據就行,我是處於學習階段,這個目標還沒有達到啊…

##CAN通信協議
這個只是在上課的時候老師講過,我隱約知道這是個汽車上用的比較多的協議,話不多說,學起來~~~
###CAN低層協議
CAN 2.0協議屬於物理層的協議,分爲CAN 2.0 A版本和B版本協議。

前幾年引入了新的CAN FD協議,這個協議可以理解爲CAN協議的升級版,都屬於物理層協議。

###CAN上層協議
基於物理層CAN之上的協議,比如:CANopen、J1939、DeviceNet等。這些協議屬於應用層協議。

應用層協議一般都是指的軟件,裏面的一些內容也是標準協會進行約定的(比如CANOpne裏面的對象字典、PDO、SDO等),大家都按照這個約定進行通信。

好吧,我發現我讀了大神寫的總結還是一頭霧水,不管了,寫這樣吧,至少有個籠統的瞭解了。

##網絡通信協議

網絡通信是生活中常見的一種,我們要上網,就必須要有網絡,我們需要的數據通過多層協議,最終才能完成傳輸。
網上公衆號大佬的圖
突然發現我上課學得七層協議是個屁啊,好多字母我都認識組合起來我咋啥也看不懂了啊?(小李還需要加油啊)

原來 HTTP是應用層,UDP在七層傳輸協議中是傳輸層,IP在網絡層,光纖是物理層,也算是有點兒收穫吧!

其實,網絡通信是一個比較大的概念,包含的協議種類繁多,對於大部分開發人員來說,只需要掌握基本原理,學會調用相應接口開發自己應用程序即可。(這就是我的目標)

做硬件開發的需要網線電平信號、接口含義等,做應用的需要了解TCP、UDP通信方式區別等,確實這纔是我接下來應該瞭解的東西,不斷學習,不斷進步,學無止境!

說明:自己還是個技術小白,學習充電的知識也是看網上前輩的文章和無私分享,這裏面記錄的絕大部分資料來自網絡上自稱"黃工"的個人公衆號,我是邊閱讀邊學習順便記錄一下自己的學習感悟。
原公衆號文章地址:
[https://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng==&mid=2247489236&idx=2&sn=783b45f8998af920a4241dda71fa0653&chksm=ebbbbb3fdccc322973d1ea3e324bdf1ca091f5775cb4e50ab94a09920a073c9c01b95c13cf2e&mpshare=1&scene=23&srcid=0107ZtN4DhCNHo115ruIiwJz&sharer_sharetime=1578398638463&sharer_shareid=457912424b14b80661cab6c769cbb646#rd]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章