亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種串口波特率匹配方法研究與實(shí)現(xiàn)

        2023-03-22 09:28:54陳文印吳同德陳亞平吳科甲
        物聯(lián)網(wǎng)技術(shù) 2023年3期
        關(guān)鍵詞:機(jī)側(cè)機(jī)設(shè)備波特率

        湯 婕,陳文印,吳同德,陳亞平,胡 超,吳科甲

        (福建信息職業(yè)技術(shù)學(xué)院,福建 福州 350000)

        0 引 言

        串口通信是芯片或者設(shè)備的重要通信方式之一,具有結(jié)構(gòu)簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信等優(yōu)點(diǎn),應(yīng)用廣泛。常見的芯片都集成有串口外設(shè),通信雙方的通信參數(shù)需完全匹配,才能正常交互數(shù)據(jù)。其中波特率、停止位、校驗(yàn)位以及數(shù)據(jù)位是串口的幾個(gè)參數(shù)指標(biāo)[1-3]。

        國際上規(guī)定了一個(gè)標(biāo)準(zhǔn)波特率系列,常用的波特率有1 200、1 800、2 400、4 800、9 600、19 200 和 115 200 等。在工程實(shí)踐中,有些工控PLC、智能接口等會(huì)規(guī)律地向外發(fā)送一些固定的字符或數(shù)據(jù),然后等待外部設(shè)備向它們輸入期待中的握手信號(hào),大部分485控制采集設(shè)備只會(huì)被動(dòng)應(yīng)答。

        無論采用哪種方式,由于設(shè)備的波特率是可配置的,在未告知設(shè)備實(shí)際工作的波特率情況下,如何快速獲取并修改設(shè)備波特率等通信參數(shù),成為項(xiàng)目實(shí)施的一個(gè)重要問題。

        針對(duì)上述問題,本文創(chuàng)新地提出一種只需普通調(diào)試工具也能在短時(shí)間內(nèi)進(jìn)行參數(shù)匹配的方法,該方法代碼門檻低、容易實(shí)現(xiàn),對(duì)嵌入式芯片無特殊要求,本文還給出了主機(jī)側(cè)和從機(jī)側(cè)的實(shí)現(xiàn)工作流程。

        1 研究現(xiàn)狀

        目前有不少研究人員對(duì)波特率等通信參數(shù)的自動(dòng)識(shí)別進(jìn)行研究,可以歸為以下幾種方法[4-10]:

        (1)標(biāo)準(zhǔn)波特率窮舉法。該方法要求從機(jī)側(cè)的波特率必須在有限的幾個(gè)固定數(shù)值之間變化,如300~115 200之間的標(biāo)準(zhǔn)值,且從機(jī)側(cè)的工作振蕩頻率穩(wěn)定。主機(jī)啟動(dòng)通信程序后,逐個(gè)嘗試以不同的波特率接收從機(jī)發(fā)出的特定字符,直到能正確接收為止。該方法操作簡單,但連接時(shí)間長,局限于只能在固定數(shù)值間變化。

        (2)碼元寬度實(shí)時(shí)檢測(cè)法。該方法要求從機(jī)按照約定發(fā)送某一數(shù)據(jù),主機(jī)通過嵌入式芯片定時(shí)器測(cè)量RXD引腳上輸入數(shù)據(jù)的碼元寬度,而后計(jì)算出待測(cè)系統(tǒng)通信的波特率。該方法目前應(yīng)用比較廣泛,但對(duì)主機(jī)側(cè)性能要求較高,需要能夠測(cè)試出碼元寬度。例如,某GSM模塊在設(shè)計(jì)時(shí)為了適應(yīng)各種通信波特率,要求其通信的系統(tǒng)首先發(fā)送AT指令,它就是依靠AT指令的碼元寬度計(jì)算出對(duì)方波特率的。

        (3)固定波特率法。該方法在主機(jī)側(cè)默認(rèn)一個(gè)波特率,收到不同波特率發(fā)出的特定指令并解析出來,以十六進(jìn)制進(jìn)行比較,分析出從機(jī)側(cè)發(fā)送的波特率,隨后即可進(jìn)行通信。該方法理論上沒有可靠的保證,在實(shí)際應(yīng)用中匹配不成功的概率較高。

        2 方法原理

        2.1 總體流程

        從機(jī)設(shè)備在上電后,以特定波特率保持一小段時(shí)間,此時(shí)從機(jī)若接收到主機(jī)以相同波特率發(fā)送的特定指令,從機(jī)設(shè)備就維持該波特率。主機(jī)設(shè)備此時(shí)可以發(fā)送修改或者讀取串口通信參數(shù)的配置指令。修改后重啟從機(jī)設(shè)備,從機(jī)設(shè)備按照設(shè)置后的參數(shù)運(yùn)行,從而達(dá)到串口通信匹配的過程,如圖1所示。

        圖1 波特率匹配流程

        具體流程可分為如下三個(gè)階段:

        第一階段為握手階段,主機(jī)側(cè)設(shè)置為默認(rèn)參數(shù)運(yùn)行,例如“9600,8,N,1”,并按照一定周期發(fā)送保持波特率指令“#keepbaud”,此時(shí)命令發(fā)送周期應(yīng)小于1 s,確保從機(jī)側(cè)能收到指令。重啟從機(jī)設(shè)備,從機(jī)設(shè)備在重啟后2 s內(nèi)按照默認(rèn)參數(shù)運(yùn)行,能接收到主機(jī)側(cè)發(fā)送的指令;收到指令后,從機(jī)應(yīng)及時(shí)返回應(yīng)答指令“#ok”。主機(jī)收到應(yīng)答指令,就可以判斷與從機(jī)握手成功。

        第二階段為調(diào)試階段,從機(jī)收到主機(jī)發(fā)送的保持波特率指令后繼續(xù)保持默認(rèn)參數(shù)運(yùn)行,并且處理主機(jī)后續(xù)發(fā)送的其他指令。在這個(gè)階段,主機(jī)可以發(fā)送指令讀取或者修改串口運(yùn)行配置參數(shù),例如“#115200,8,N,1”,從機(jī)收到指令后返回應(yīng)答指令。

        第三階段為重啟運(yùn)行階段。主機(jī)側(cè)此時(shí)不能發(fā)送保持波特率指令,若主機(jī)側(cè)發(fā)送了其他指令,例如ModBus指令,從機(jī)側(cè)應(yīng)忽略這些指令。重啟2 s后,設(shè)備將以修改之后的波特率運(yùn)行,處于正常的工作狀態(tài)。如果設(shè)備被設(shè)計(jì)為ModBus設(shè)備,可以使用該協(xié)議對(duì)設(shè)備進(jìn)行調(diào)試。

        2.2 主機(jī)側(cè)工作流程

        主機(jī)側(cè)一般為個(gè)人電腦或者專用的配置設(shè)備,不論設(shè)備能否運(yùn)行一些高級(jí)的語言,只需要有定時(shí)器和串口外設(shè),就能實(shí)現(xiàn)主機(jī)側(cè)相關(guān)功能。參考工作流程如圖2所示。

        圖2 工作流程

        首先,主機(jī)側(cè)應(yīng)不斷發(fā)送保持波特率指令“#keepbaud”,時(shí)間間隔可以取0.5 s左右,時(shí)間間隔要保證從機(jī)側(cè)在等待的過程中至少收到一條指令。發(fā)送的總時(shí)間長度可以取5 s,給操作人員足夠的操作時(shí)間。5 s后,發(fā)送握手指令“#echo”,查詢從機(jī)側(cè)是否處于配置模式,若未處于配置工作模式,則回到第一步。最后,發(fā)送串口參數(shù)配置指令,例如“#115200,8,N,1”,收到從機(jī)的應(yīng)答則整個(gè)配置流程結(jié)束。

        2.3 從機(jī)側(cè)工作流程

        從機(jī)側(cè)一般為單片機(jī)等嵌入式系統(tǒng)。從最簡單的51系列到復(fù)雜的ARM系列,嵌入式系統(tǒng)功能差別巨大,性能參差不齊。但是不論功能如何,一般都有定時(shí)器外設(shè)和串口外設(shè),只要有這兩種外設(shè),就可以實(shí)現(xiàn)從機(jī)側(cè)工作流程。具體工作流程如圖3所示。

        圖3 從機(jī)側(cè)工作流程

        嵌入式系統(tǒng)上電后,首先打開串口功能,跟主機(jī)側(cè)一樣,以默認(rèn)參數(shù)運(yùn)行,保持接收狀態(tài)延時(shí)2 s。若此時(shí)主機(jī)側(cè)發(fā)送保持波特率指令“#keepbaud”,2 s后從機(jī)收到保持波特率指令,則進(jìn)入到配置模式,反之則進(jìn)入正常工作模式。進(jìn)入配置工作模式時(shí),串口仍然保持默認(rèn)參數(shù)運(yùn)行,保證收到后續(xù)的指令。進(jìn)入正常工作模式,串口則根據(jù)配置參數(shù)運(yùn)行,匹配現(xiàn)場(chǎng)實(shí)際工作環(huán)境。進(jìn)入配置工作模式后,串口保持接收狀態(tài)。接收到數(shù)據(jù)后,首先判斷是否為“#echo”回顯指令,若為回顯指令,返回應(yīng)答包。回顯指令主要用于測(cè)試判斷從機(jī)側(cè)是否處于配置工作模式。若不是回顯指令,從機(jī)應(yīng)繼續(xù)判斷指令是否為配置指令;若為配置指令,將收到的配置參數(shù)寫入FLASH或者E2PROM中并應(yīng)答。掉電重啟后進(jìn)入正常工作模式時(shí),從存儲(chǔ)外設(shè)中讀取出相關(guān)配置參數(shù)。

        3 測(cè)試與驗(yàn)證

        3.1 Arduino參考代碼

        采用本方法測(cè)試驗(yàn)證時(shí),使用樂鑫的ESP32開發(fā)板,并通過開源電子平臺(tái)Arduino軟件搭建ESP32開發(fā)環(huán)境。根據(jù)上述流程,采用C++語言對(duì)其進(jìn)行測(cè)試驗(yàn)證,Arduino部分參考代碼如下:

        3.2 測(cè)試與驗(yàn)證

        如圖4所示,采用樂鑫的ESP32開發(fā)板、溫濕度傳感器以及自主設(shè)計(jì)的拓展開發(fā)板來搭建硬件測(cè)試環(huán)境。將ESP32開發(fā)板插到拓展板上,然后通過杜邦線將拓展板和溫濕度傳感器連接,最后用USB數(shù)據(jù)線將ESP32連接到電腦。這樣就可以實(shí)現(xiàn)對(duì)設(shè)備的串口波特率的修改和匹配。

        圖4 實(shí)物接線示意圖

        采用串口調(diào)試助手進(jìn)行聯(lián)調(diào),從主機(jī)端向從機(jī)發(fā)送指令,從機(jī)設(shè)備接收到指令后進(jìn)行應(yīng)答。接收到應(yīng)答信號(hào)后主機(jī)端向從機(jī)發(fā)送修改指令,從機(jī)設(shè)備接收到指令后保存并應(yīng)答。實(shí)現(xiàn)效果如圖5所示。

        圖5 波特率匹配示意圖

        4 結(jié) 語

        本文利用485通信協(xié)議的特點(diǎn),提出了一種容易實(shí)現(xiàn)、對(duì)設(shè)備芯片無特殊要求、可以廣泛使用的匹配方法,可利用普通的串口調(diào)試助手在較短的時(shí)間內(nèi)完成參數(shù)匹配過程。文中對(duì)主從機(jī)側(cè)軟件的流程進(jìn)行了詳細(xì)說明,并給出了ESP32的參考代碼。該方法經(jīng)過多種軟硬件聯(lián)合調(diào)試和驗(yàn)證,方法簡單可靠,取得了很好的效果。該方法不僅能夠大大減少調(diào)試過程中的工作量,還能在短時(shí)間內(nèi)快速識(shí)別設(shè)備的波特率。

        猜你喜歡
        機(jī)側(cè)機(jī)設(shè)備波特率
        基于滑模觀測(cè)器的直驅(qū)PMSG機(jī)側(cè)控制算法研究與應(yīng)用
        4.3米頂裝焦?fàn)t機(jī)側(cè)煙氣治理設(shè)計(jì)與實(shí)踐
        寫真地理(2020年23期)2020-09-12 14:24:20
        CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
        智能制造(2020年5期)2020-07-03 06:24:00
        PMSM四象限驅(qū)動(dòng)系統(tǒng)的自適應(yīng)滑模和反步控制
        基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
        淺談煤炭生產(chǎn)企業(yè)綜機(jī)設(shè)備管理問題與優(yōu)化策略
        陶瓷工程中冷等靜壓機(jī)設(shè)備的監(jiān)造工作
        論港機(jī)設(shè)備狀態(tài)檢測(cè)預(yù)知維修與管理
        鋼管倒棱機(jī)設(shè)備及專業(yè)技術(shù)水平簡介
        搗固焦?fàn)t機(jī)側(cè)煙塵收集方式的介紹
        大香伊蕉国产av| 男女调情视频在线观看| 99国产精品99久久久久久| 日韩人妻无码一区二区三区| 精品少妇大屁股白浆无码| 国产成人精品中文字幕| 亚洲最好看的中文字幕| 亚洲av成人无码精品电影在线| 香蕉网站在线| 韩国女主播一区二区三区在线观看| 亚洲中文字幕人妻久久| 男女爽爽无遮挡午夜视频| 深夜国产成人福利在线观看女同 | 久久婷婷综合色丁香五月| 精品丝袜国产在线播放| 国产精品亚洲一区二区三区16| 最新中文字幕av无码不卡| 精品人妻少妇一区二区不卡| av网页在线免费观看| 国产精品久久久免费精品| 亚洲日韩精品无码专区网站| 精品国产福利久久久| 丰满少妇av一区二区三区| 国产熟妇与子伦hd| 亚洲av无码一区二区三区性色 | 日本熟妇免费一区二区三区| 国产成人精品免费久久久久| 乱人伦视频中文字幕| 国产亚洲精品性爱视频| 中文字幕一区二区三区四区| 忘忧草社区www日本高清| 久久精品国产亚洲AV成人公司| 久久亚洲宅男天堂网址| 草色噜噜噜av在线观看香蕉| 国产丰满老熟女重口对白| 按摩女内射少妇一二三区| 国产一区国产二区亚洲精品| 国产97在线 | 中文| 欧美性xxx久久| 亚州无吗一区二区三区| 色avav色av爱avav亚洲色拍|