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

        ?

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

        2023-03-22 09:28:54陳文印吳同德陳亞平吳科甲
        物聯(lián)網(wǎng)技術(shù) 2023年3期
        關(guān)鍵詞:指令設(shè)備方法

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

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

        0 引 言

        串口通信是芯片或者設(shè)備的重要通信方式之一,具有結(jié)構(gòu)簡(jiǎn)單并且能夠?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ó)際上規(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ā)出的特定字符,直到能正確接收為止。該方法操作簡(jiǎn)單,但連接時(shí)間長(zhǎng),局限于只能在固定數(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í)間長(zhǎng)度可以取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)。從最簡(jiǎn)單的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)證,方法簡(jiǎn)單可靠,取得了很好的效果。該方法不僅能夠大大減少調(diào)試過程中的工作量,還能在短時(shí)間內(nèi)快速識(shí)別設(shè)備的波特率。

        猜你喜歡
        指令設(shè)備方法
        聽我指令:大催眠術(shù)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        可能是方法不對(duì)
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        亚洲一区二区三区高清在线| 轻点好疼好大好爽视频| 亚洲午夜无码av毛片久久| 91久久青青草原线免费| 91精品国产无码在线观看| 中文字幕在线乱码日本| 精品福利一区二区三区免费视频 | 偷窥村妇洗澡毛毛多| 中文字幕亚洲综合久久| 中文字幕一区二三区麻豆| 国产播放隔着超薄丝袜进入| 又爆又大又粗又硬又黄的a片| 国产成人香蕉久久久久| 国产黄色一区二区三区,| 日韩视频在线观看| 国产精品无套内射迪丽热巴| 狠狠色丁香婷婷久久综合2021 | 在线观看精品国产福利片100| 国产精品自拍视频免费看| 日本不卡高字幕在线2019| 国产99久久精品一区二区| 国产亚洲精品福利在线| 国产韩国一区二区三区| 亚洲av色香蕉一区二区三区老师| 中文字幕无码精品亚洲资源网久久| 久久久婷婷综合五月天| 开心久久婷婷综合中文字幕| 精品久久久无码中字| 精品无码中文视频在线观看| 亚洲嫩草影院久久精品| 国产护士一区二区三区| 久久不见久久见免费影院国语| 99国产精品99久久久久久| 人妻少妇无码中文幕久久| 日本女u久久精品视频| 欧美精品国产综合久久| 中文乱码人妻系列一区二区| 女人一级特黄大片国产精品| 亚洲天堂av在线免费播放 | 蜜臀av人妻一区二区三区 | 日韩亚洲精选一区二区三区|