發(fā)布成功
贊賞金額:
支付金額:5元
支付方式:
贊賞成功!
你的贊賞是對作者最大的肯定~?
通信協(xié)議介紹
通信協(xié)議是指雙方實體完成通信或服務所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應該包含的信息與含義,連接方式,信息發(fā)送和接收的時序,從而確保網(wǎng)絡中數(shù)據(jù)順利地傳送到確定的地方。通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)膮f(xié)議規(guī)范,從軟硬件層面可以分為硬件層通信協(xié)議和軟件層通信協(xié)議。
為了更加形象的理解軟硬件層面的通信協(xié)議,我們將通信比作交通,通信的硬件層協(xié)議比作各國的公路標準,各國的公路標準類似于不同的硬件層協(xié)議標準;通信的軟件層協(xié)議比作各國的交通規(guī)則,各國的交通規(guī)則類似于不同的軟件層協(xié)議標準。
圖1生動的對上述描述進行了解釋。
1.解決邏輯傳輸?shù)姆绞?/span>
利用設備1向設備2傳輸0xA3(1010 0011)這樣一組數(shù)據(jù),從硬件層面將1010 0011這組數(shù)據(jù)定義為1為高電平,0為低電平,我們就可以通過改變傳輸線電平的高低實現(xiàn)這組數(shù)據(jù)的順利傳輸。
為了對這種硬件層面的數(shù)據(jù)傳輸形式進行規(guī)范定義便有了硬件通信接口協(xié)議,入RS-232、RS-485、CAN總線等。
下節(jié)講解的MODBUS通信協(xié)議是基于RS-485信號傳輸方式,以MCU作為信號發(fā)送設備,MCU的GPIO引腳輸出的是TTL電平(設邏輯0:0V;邏輯1:5V),RS-485硬件協(xié)議則是將其TTL電平轉(zhuǎn)換成差分信號,通過通訊轉(zhuǎn)換器將一個GPIO引腳的TTL電平轉(zhuǎn)變成兩根根線上的信號A/B,也稱之為差分信號。
當TTL電平為0時,使得VB>VA,當TTL電平為1時,使得VB<VA。
RS-485通信為半雙工通信,意思是MCU1和MCU2可以互相發(fā)送和接受數(shù)據(jù),但有一點應注意,由于RS-485只有一對差分信號線A/B故對于MCU1來說發(fā)送和接受數(shù)據(jù)不能同時進行。故在MCU1要順利實現(xiàn)發(fā)送和接受數(shù)據(jù)則需要在軟件層面上指定通信協(xié)議。
2.解決邏輯傳輸目的
2.1 主從通信模式
(1) 為實現(xiàn)半雙工通信需要引入主從通信模式這個概念,即指定通信雙方一方為主機,其余為從機;
(2) 規(guī)定系統(tǒng)中所有從機不可主動把數(shù)據(jù)發(fā)送到主機;
(3) 系統(tǒng)中主機和所有從機上電后都處于接收狀態(tài);
(4) 任何一次的數(shù)據(jù)交換都由主機發(fā)起。
2.2 主機查詢從機
對于主機向從機發(fā)送數(shù)據(jù)控制從機或主機查詢從機返回的數(shù)據(jù)都應由主機發(fā)起。
當主機向從機發(fā)送數(shù)據(jù)控制從機時,主機應當處于發(fā)送狀態(tài);當主機查詢從機返回的數(shù)據(jù),首先應按照預先約定的格式發(fā)送一組尋址數(shù)據(jù)幀。
總結(jié)來說主機找從機第一個目的是向從機發(fā)送數(shù)據(jù),第二個目的是主機找到從及后將從機的數(shù)據(jù)發(fā)送到主機。即在硬件通信層確保數(shù)據(jù)能夠傳輸和接收的前提下,再利用軟件層來約束傳輸?shù)臄?shù)據(jù)形式和傳輸規(guī)則。最簡單的一種主機控制從機可以見圖4,但這種隨意的約定格式通用適配性差,因此需要一款統(tǒng)用的軟件層通信協(xié)議來對所需功能進行規(guī)定。
關(guān)于我愛方案網(wǎng)
我愛方案網(wǎng)是一個電子方案開發(fā)供應鏈平臺,提供從找方案到研發(fā)采購的全鏈條服務。找方案,上我愛方案網(wǎng)!在方案超市找到合適的方案就可以直接買,沒有找到就到快包定制開發(fā)。我愛方案網(wǎng)積累了一大批方案商和企業(yè)開發(fā)資源,能提供標準的模塊和核心板以及定制開發(fā)服務,按要求交付PCBA、整機產(chǎn)品、軟件或IoT系統(tǒng)。更多信息,敬請訪問http://www.zhaochuanqisf.com