通信的硬件層協議和軟件層協議

目錄

前言:通信協議介紹

1. 通訊硬件層協議(解決邏輯傳輸的方式)

2. 通訊軟件層協議(解決邏輯傳輸的目的)

2.1主從通信模式

前言:通信協議介紹

衆所周知通信協議就是一種數據傳輸的協議規範,從軟硬件層面可以分爲硬件層通信協議軟件層通信協議。爲了更加形象的理解軟硬件層面的通信協議,我們將通信比作交通,通信的硬件層協議比作各國的公路標準,各國的公路標準類似於不同的硬件層協議標準;通信的軟件層協議比作各國的交通規則,各國的交通規則類似於不同的軟件層協議標準。圖1生動的對上述描述進行了解釋。

1. 通訊硬件層協議(解決邏輯傳輸的方式)

利用設備1向設備2傳輸0xA3(1010 0011)這樣一組數據,從硬件層面將1010 0011這組數據定義爲1爲高電平,0爲低電平,我們就可以通過改變傳輸線電平的高低實現這組數據的順利傳輸。爲了對這種硬件層面的數據傳輸形式進行規範定義便有了硬件通信接口協議,入RS-232、RS-485、CAN總線等,詳細介紹見鏈接:RS-232、RS-485、RS-422通信接口標準介紹

下節講解的MODBUS通信協議是基於RS-485信號傳輸方式,以MCU作爲信號發送設備,MCU的GPIO引腳輸出的是TTL電平(設邏輯0:0V;邏輯1:5V),RS-485硬件協議則是將其TTL電平轉換成差分信號,通過通訊轉換器將一個GPIO引腳的TTL電平轉變成兩根根線上的信號A/B,也稱之爲差分信號。TTL電平爲0時,使得VB>VA,當TTL電平爲1時,使得VB<VA。

RS-485通信爲半雙工通信,意思是MCU1和MCU2可以互相發送和接受數據,但有一點應注意,由於RS-485只有一對差分信號線A/B故對於MCU1來說發送和接受數據不能同時進行。故在MCU1要順利實現發送和接受數據則需要在軟件層面上指定通信協議。

2. 通訊軟件層協議(解決邏輯傳輸的目的)

2.1主從通信模式

(1) 爲實現半雙工通信需要引入主從通信模式這個概念,即指定通信雙方一方爲主機,其餘爲從機;

(2) 規定系統中所有從機不可主動把數據發送到主機;

(3) 系統中主機和所有從機上電後都處於接收狀態;

(4) 任何一次的數據交換都由主機發起。

對於主機向從機發送數據控制從機或主機查詢從機返回的數據都應由主機發起。當主機向從機發送數據控制從機時,主機應當處於發送狀態;當主機查詢從機返回的數據,首先應按照預先約定的格式發送一組尋址數據幀。總結來說主機找從機第一個目的是向從機發送數據,第二個目的是主機找到從及後將從機的數據發送到主機。即在硬件通信層確保數據能夠傳輸和接收的前提下,再利用軟件層來約束傳輸的數據形式和傳輸規則。

最簡單的一種主機控制從機可以見圖4,但這種隨意的約定格式通用適配性差,因此需要一款統用的軟件層通信協議來對所需功能進行規定。

 

下一章:一看就會的MODBUS通信協議(上)

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