0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

更加形象的理解通信的軟、硬件層協(xié)議

STM32嵌入式開發(fā) ? 來源:CSDN ? 2023-06-18 17:19 ? 次閱讀

眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)膮f(xié)議規(guī)范,從軟硬件層面可以分為硬件層通信協(xié)議和軟件層通信協(xié)議。

為了更加形象的理解軟硬件層面的通信協(xié)議,我們將通信比作交通,通信的硬件層協(xié)議比作各國的公路標(biāo)準(zhǔn),各國的公路標(biāo)準(zhǔn)類似于不同的硬件層協(xié)議標(biāo)準(zhǔn);通信的軟件層協(xié)議比作各國的交通規(guī)則,各國的交通規(guī)則類似于不同的軟件層協(xié)議標(biāo)準(zhǔn)。

下圖1生動(dòng)的對(duì)上述描述進(jìn)行了解釋。

62a17090-0db7-11ee-962d-dac502259ad0.png

1 通訊硬件層協(xié)議(解決邏輯傳輸?shù)姆绞剑?/strong>

利用設(shè)備1向設(shè)備2傳輸0xA3(1010 0011)這樣一組數(shù)據(jù),從硬件層面將1010 0011這組數(shù)據(jù)定義為1為高電平,0為低電平,我們就可以通過改變傳輸線電平的高低實(shí)現(xiàn)這組數(shù)據(jù)的順利傳輸。

為了對(duì)這種硬件層面的數(shù)據(jù)傳輸形式進(jìn)行規(guī)范定義便有了硬件通信接口協(xié)議,入RS-232、RS-485、CAN總線等。

62cd78a2-0db7-11ee-962d-dac502259ad0.png

下節(jié)講解的MODBUS通信協(xié)議是基于RS-485信號(hào)傳輸方式,以MCU作為信號(hào)發(fā)送設(shè)備,MCU的GPIO引腳輸出的是TTL電平(設(shè)邏輯0:0V;邏輯1:5V),RS-485硬件協(xié)議則是將其TTL電平轉(zhuǎn)換成差分信號(hào),通過通訊轉(zhuǎn)換器將一個(gè)GPIO引腳的TTL電平轉(zhuǎn)變成兩根根線上的信號(hào)A/B,也稱之為差分信號(hào)。

當(dāng)TTL電平為0時(shí),使得VB>VA,當(dāng)TTL電平為1時(shí),使得VB

62ec0b0a-0db7-11ee-962d-dac502259ad0.png

RS-485通信為半雙工通信,意思是MCU1和MCU2可以互相發(fā)送和接受數(shù)據(jù),但有一點(diǎn)應(yīng)注意,由于RS-485只有一對(duì)差分信號(hào)線A/B故對(duì)于MCU1來說發(fā)送和接受數(shù)據(jù)不能同時(shí)進(jìn)行。故在MCU1要順利實(shí)現(xiàn)發(fā)送和接受數(shù)據(jù)則需要在軟件層面上指定通信協(xié)議。

2 通訊軟件層協(xié)議(解決邏輯傳輸?shù)哪康模?/strong>

2.1主從通信模式

(1) 為實(shí)現(xiàn)半雙工通信需要引入主從通信模式這個(gè)概念,即指定通信雙方一方為主機(jī),其余為從機(jī);

(2) 規(guī)定系統(tǒng)中所有從機(jī)不可主動(dòng)把數(shù)據(jù)發(fā)送到主機(jī);

(3) 系統(tǒng)中主機(jī)和所有從機(jī)上電后都處于接收狀態(tài);

(4) 任何一次的數(shù)據(jù)交換都由主機(jī)發(fā)起。

對(duì)于主機(jī)向從機(jī)發(fā)送數(shù)據(jù)控制從機(jī)或主機(jī)查詢從機(jī)返回的數(shù)據(jù)都應(yīng)由主機(jī)發(fā)起。

當(dāng)主機(jī)向從機(jī)發(fā)送數(shù)據(jù)控制從機(jī)時(shí),主機(jī)應(yīng)當(dāng)處于發(fā)送狀態(tài);當(dāng)主機(jī)查詢從機(jī)返回的數(shù)據(jù),首先應(yīng)按照預(yù)先約定的格式發(fā)送一組尋址數(shù)據(jù)幀。

總結(jié)來說主機(jī)找從機(jī)第一個(gè)目的是向從機(jī)發(fā)送數(shù)據(jù),第二個(gè)目的是主機(jī)找到從及后將從機(jī)的數(shù)據(jù)發(fā)送到主機(jī)。

即在硬件通信層確保數(shù)據(jù)能夠傳輸和接收的前提下,再利用軟件層來約束傳輸?shù)臄?shù)據(jù)形式和傳輸規(guī)則。

最簡(jiǎn)單的一種主機(jī)控制從機(jī)可以見圖4,但這種隨意的約定格式通用適配性差,因此需要一款統(tǒng)用的軟件層通信協(xié)議來對(duì)所需功能進(jìn)行規(guī)定。

63249b00-0db7-11ee-962d-dac502259ad0.png

來源:https://blog.csdn.net/Roger_717/article/details/105781467





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    8703

    瀏覽量

    147182
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1951

    瀏覽量

    130763
  • RS-485接口
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    14293
  • TTL電平
    +關(guān)注

    關(guān)注

    1

    文章

    99

    瀏覽量

    12001
  • ModBus通信
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    2568

原文標(biāo)題:快速理解通信的軟、硬件層協(xié)議

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    形象生動(dòng)的理解硬件層面的通信協(xié)議

    眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)?b class='flag-5'>協(xié)議規(guī)范,從軟硬件層面可以分為硬件通信協(xié)議和軟件
    發(fā)表于 05-06 09:15 ?600次閱讀
    <b class='flag-5'>形象</b>生動(dòng)的<b class='flag-5'>理解</b><b class='flag-5'>軟</b>、<b class='flag-5'>硬件</b>層面的<b class='flag-5'>通信協(xié)議</b>

    形象生動(dòng)的理解、硬件層面的通信協(xié)議

    通信協(xié)議介紹 眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)?b class='flag-5'>協(xié)議規(guī)范,從軟硬件層面可以分為硬件
    的頭像 發(fā)表于 05-08 10:43 ?1273次閱讀
    <b class='flag-5'>形象</b>生動(dòng)的<b class='flag-5'>理解</b><b class='flag-5'>軟</b>、<b class='flag-5'>硬件</b>層面的<b class='flag-5'>通信協(xié)議</b>!

    協(xié)議是什么 協(xié)議棧又是什么

    協(xié)議棧是協(xié)議的具體實(shí)現(xiàn)形式, 通俗的理解就是用代碼實(shí)現(xiàn)的函數(shù)庫, 以便于開發(fā)人員調(diào)用。協(xié)議棧是通常是一個(gè)層級(jí)結(jié)構(gòu)。協(xié)議棧是網(wǎng)絡(luò)中各層
    發(fā)表于 08-05 07:00

    基于RS485的Modbus通訊(從硬件 到軟件理解和STM32實(shí)踐) 精選資料推薦

    通訊協(xié)議理解 :1、通訊協(xié)議通俗易懂的理解就是兩個(gè)設(shè)備之間互相 傳遞信息 大家一起 約定好的一種規(guī)則;通訊協(xié)議 又分為
    發(fā)表于 08-23 08:09

    掌握通信協(xié)議的研究方法

    從根本出發(fā),從簡(jiǎn)單開始,逐步加碼,從而讓你徹底掌握通信協(xié)議的研究方法。就是串口uart,因?yàn)閡art只有物理,尤其是TTL電平的uart,就是個(gè)很簡(jiǎn)單很直觀的物理協(xié)議。你可以通過學(xué)
    發(fā)表于 01-13 06:09

    什么是通信

    眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)?b class='flag-5'>協(xié)議規(guī)范,從軟硬件層面可以分為硬件通信協(xié)議和軟件
    發(fā)表于 02-09 07:34

    對(duì)串口中斷的通信協(xié)議理解與應(yīng)用

    雙向通信。本文主要講解對(duì)正點(diǎn)原子的串口通信實(shí)驗(yàn)中串口中斷的通信協(xié)議理解與應(yīng)用,關(guān)于串口的初始化配置等這里略過不講。在正式開始之前,先把涉及到的寄存器講一下:狀態(tài)寄存器 (USART_
    發(fā)表于 02-14 07:18

    什么是串口通信?串口通信協(xié)議了解

    行傳輸?shù)汀?、串口通信協(xié)議在計(jì)算機(jī)科學(xué)里,大部分復(fù)雜的問題都可以通過分層來簡(jiǎn)化。如芯片被分為內(nèi)核和片上外設(shè);STM32標(biāo)準(zhǔn)庫則是在寄存器與用戶代碼之間的軟件。對(duì)于通訊協(xié)議,我們也以
    發(fā)表于 02-15 06:54

    串口通信的物理協(xié)議的相關(guān)資料推薦

    一.串口通信的物理協(xié)議物理規(guī)定了通訊系統(tǒng)的機(jī)械、電子特性(相當(dāng)于規(guī)定了用嘴巴還是肢體交流)協(xié)議
    發(fā)表于 02-17 07:07

    IP協(xié)議,IP協(xié)議的內(nèi)容有哪些?

    IP協(xié)議,IP協(xié)議的內(nèi)容有哪些? Internet上使用的一個(gè)關(guān)鍵的底層協(xié)議是網(wǎng)際協(xié)議,通
    發(fā)表于 04-06 16:45 ?9524次閱讀

    如何更加深入理解I2C總線、協(xié)議及應(yīng)用

    更加深入理解I2C總線、協(xié)議及應(yīng)用
    的頭像 發(fā)表于 03-20 09:29 ?3335次閱讀
    如何<b class='flag-5'>更加深入理解</b>I2C總線、<b class='flag-5'>協(xié)議</b>及應(yīng)用

    【理論】通信硬件協(xié)議和軟件協(xié)議

    眾所周知通信協(xié)議就是一種數(shù)據(jù)傳輸?shù)?b class='flag-5'>協(xié)議規(guī)范,從軟硬件層面可以分為硬件通信協(xié)議和軟件
    發(fā)表于 12-05 15:51 ?9次下載
    【理論】<b class='flag-5'>通信</b>的<b class='flag-5'>硬件</b><b class='flag-5'>層</b><b class='flag-5'>協(xié)議</b>和軟件<b class='flag-5'>層</b><b class='flag-5'>協(xié)議</b>

    基于RS485的Modbus通訊(從硬件 到軟件理解和STM32實(shí)踐)

    通訊協(xié)議理解 :1、通訊協(xié)議通俗易懂的理解就是兩個(gè)設(shè)備之間互相 傳遞信息 大家一起 約定好的一種規(guī)則;通訊協(xié)議 又分為
    發(fā)表于 12-27 18:40 ?12次下載
    基于RS485的Modbus通訊(從<b class='flag-5'>硬件</b><b class='flag-5'>層</b> 到軟件<b class='flag-5'>層</b>的<b class='flag-5'>理解</b>和STM32實(shí)踐)

    如何快速理解通信硬件協(xié)議與軟件協(xié)議?

    為了更加形象理解硬件層面的通信協(xié)議,我們將通信比作交通,
    的頭像 發(fā)表于 03-28 09:41 ?2480次閱讀

    基于RS-485信號(hào)傳輸方式的通信接口協(xié)議

    為了更加形象理解硬件層面的通信協(xié)議,我們將通信比作交通,
    發(fā)表于 09-08 12:46 ?716次閱讀
    基于RS-485信號(hào)傳輸方式的<b class='flag-5'>通信</b>接口<b class='flag-5'>協(xié)議</b>