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

        ?

        CAN 總線波特率自適應(yīng)程序設(shè)計

        2020-07-03 06:24:00株洲時代電子技術(shù)有限公司劉潔曾海林
        智能制造 2020年5期
        關(guān)鍵詞:主控制波特率流程圖

        文|株洲時代電子技術(shù)有限公司 劉潔 曾海林

        一、引言

        CAN 總線由于采用差分信號進(jìn)行數(shù)據(jù)傳輸,有著極強(qiáng)的抗干擾能力,同時,由于它采用非破壞性的總線仲裁機(jī)制,使得即便同一時刻不同節(jié)點同時往CAN 總線發(fā)送數(shù)據(jù),也不會出現(xiàn)數(shù)據(jù)混亂和通信出錯的情況,由于CAN 總線的各種優(yōu)點,使得其在歐美國家乃至全世界被廣泛應(yīng)用,尤其是在工業(yè)控制、工業(yè)儀表和汽車電子等領(lǐng)域,CAN 總線控制系統(tǒng)廣泛應(yīng)用于各類機(jī)械自動化設(shè)備中。

        隨著設(shè)備內(nèi)各總成節(jié)點不斷增加,與此同時接入到網(wǎng)絡(luò)控制系統(tǒng)的的第三方設(shè)備與傳感器也逐漸增加,出現(xiàn)了各種各樣通信波特率,CAN 總線在不同波特率下允許的最大通訊距離是: 10km (5Kbps)、6.7km (10Kbps)、3.3km(20Kbps)、1.3km (50Kbps)、620m (100Kbps)、530m (125Kbps)、270m(250Kbps)、130m(500Kbps)和40m(1Mbps)。由于CAN 總線通信時必須保持同種波特率,故接入的第三方控制系統(tǒng)中主控制器與從節(jié)點之間只能用同一波特率進(jìn)行通信 ;由于某些第三方設(shè)備的波特率是無法修改的(如發(fā)動機(jī)ECU 和變速箱VTDC 等),故此時接入第三設(shè)備后,所有同一網(wǎng)絡(luò)的從節(jié)點都需通過修改底層程序重新燒寫程序才能實現(xiàn)波特率的修改,大大增加了工作量,如果能夠開發(fā)一種在線修改波特率的程序,勢必大大減少工作量,同時使得波特率的修改變得極為方便快捷。為此,本文提出了一種CAN 總線波特率自適應(yīng)程序設(shè)計的方案,設(shè)計了基于此方案的軟件程序,通過在實驗室調(diào)試,充分驗證了該軟件方案的可行性。

        二、程序流程設(shè)計

        目前的網(wǎng)絡(luò)控制系統(tǒng)根據(jù)現(xiàn)場應(yīng)用按照網(wǎng)絡(luò)控制單元所處的網(wǎng)絡(luò)位置,分為主控制單元與從控制單元,其中主控制單元相互之間以主CAN 網(wǎng)絡(luò)連接,以固定波特率通訊;從控制單元與從控制單元之間以設(shè)備CAN 網(wǎng)絡(luò)連接,通訊波特率采用自適應(yīng)方式?,F(xiàn)場應(yīng)用示意圖如圖1 所示。

        圖1 中顯示控制單元、主控制單元和從控制單元均為自主研發(fā)的網(wǎng)絡(luò)控制單元,設(shè)備與傳感器均為標(biāo)準(zhǔn)CAN 設(shè)備與傳感器,整個系統(tǒng)構(gòu)成一個網(wǎng)絡(luò)控制平臺。一個主控制單元或幾個主控制單元配合設(shè)備CAN 組成整系統(tǒng)中的一個分系統(tǒng),例如,控制一組作業(yè)部件時,由一個或幾個主控制單元根據(jù)相應(yīng)算法控制多個從控制單元發(fā)生相應(yīng)動作。此時控制系統(tǒng)的界限更加明顯,如作業(yè)系統(tǒng)可以分為搗固、穩(wěn)定和測量,加上走行和發(fā)動機(jī)控制,獨立組成局域網(wǎng),這樣主CAN 網(wǎng)絡(luò)數(shù)據(jù)量也會相應(yīng)減少。

        圖1 總線應(yīng)用方案圖

        在控制單元設(shè)計時選用具有兩個獨立CAN控制單元的DSP 芯片,在以往的設(shè)計基礎(chǔ)上豐富硬件功能,滿足通訊需求。從控制單元只使用一個CAN,原則上設(shè)備與傳感器只能掛在設(shè)備CAN 網(wǎng)絡(luò)。

        在保證原有程序正常運行的基礎(chǔ)上,設(shè)計從控制單元具備自適應(yīng)波特率調(diào)整功能,主控制單元有下發(fā)更改波特率的功能。當(dāng)局域網(wǎng)絡(luò)添加新的控制單元或者其他設(shè)備時由操作者在人機(jī)交互界面點擊新增某局域網(wǎng)絡(luò)設(shè)備,啟動自適應(yīng)匹配波特率程序。

        1、顯示器程序設(shè)計

        圖2 是顯示器啟動波特率更改程序的基礎(chǔ)流程圖,省略了標(biāo)志位設(shè)置以及程序溢出流程,基本的功能由命令下發(fā)與讀取主控制單元收到命令返回值組成,命令的下發(fā)增加了主控制單元收到后的校驗過程,如果主控制單元收到命令,會返回一個收到命令的狀態(tài),確保要修改子網(wǎng)絡(luò)波特率的主控制單元已經(jīng)收到修改命令。當(dāng)主控制單元成功修改了其子網(wǎng)絡(luò)波特率后會返回相應(yīng)的響應(yīng)碼到顯示器,此時,顯示控制單元會記錄下本主控制單元下子網(wǎng)絡(luò)的最新的CAN通訊波特率。顯示器波特率修改子程序流程圖如圖2 所示。

        2、主機(jī)程序設(shè)計

        某個需要更改其子網(wǎng)絡(luò)CAN通信波特率的主控制單元,首先會在CANA 收到顯示控制單元的命令,然后保持現(xiàn)有波特率通過CANB 下發(fā)更改波特率的命令給從控制單元。圖3 為主控制單元波特率更改程序流程圖,省略了標(biāo)志位設(shè)置以及程序溢出流程。在此程序設(shè)計時沒有使用從控制單元收到命令后的反饋,是因為在從控制單元設(shè)計時增加了通訊異常判斷,所以只要在200ms 的時間里發(fā)送改變波特率的命令即可。還需要特別指出的是在CANB 波特率改變之前必須要屏蔽別的數(shù)據(jù)發(fā)送命令,使子網(wǎng)絡(luò)僅僅只有專用校驗碼廣播存在,提高網(wǎng)絡(luò)可靠性。

        圖2 顯示器啟動波特率更改子程序流程圖

        主機(jī)外設(shè)寄存器初始化包括CAN 寄存器的初始化,確保主機(jī)上電后CAN 通訊波特率為默認(rèn)可知值,主機(jī)收到上位機(jī)請求改變波特率命令后,會立即將修改命令下發(fā)到子網(wǎng)絡(luò)的所有從機(jī),然后等待從機(jī)修改波特率操作,此過程需要一定時間,只有等所有從機(jī)修改完成后,主機(jī)才開始以修改后的波特率下發(fā)特定校驗碼到從機(jī),通過從機(jī)是否收到特定檢驗碼來判定從機(jī)修改波特率是否成功,當(dāng)從機(jī)修改成功后,主機(jī)會收到相應(yīng)的從機(jī)回應(yīng)碼,主機(jī)程序再進(jìn)入正常的作業(yè)程序,進(jìn)行正常的作業(yè)數(shù)據(jù)收發(fā)。主機(jī)程序流程圖如圖3 所示。

        圖3 主機(jī)程序流程圖

        3、從機(jī)程序設(shè)計

        改變波特率的最終目的就是在子網(wǎng)絡(luò)可以加掛不同頻段的設(shè)備,因此在加入新設(shè)備時需要更改在局域網(wǎng)中所有從控制單元的波特率。圖4 為從控制單元波特率更改程序流程圖,省略了標(biāo)志位設(shè)置以及程序溢出流程。因此在程序設(shè)計時,從控制單元設(shè)計為三種狀態(tài)都能夠自動匹配波特率,一個是從控制單元出廠后未設(shè)定波特率,一個是通訊異常,另外一個是主控制單元啟動改變波特率的程序,這三種狀態(tài)均能進(jìn)入波特率調(diào)整入口,這時波特率寄存器依次更改為800K、500K 和250K 等,重置CAN 控制寄存器,主程序不斷地讀取網(wǎng)絡(luò)數(shù)據(jù),如果通訊正常或者專用校驗碼識別成功,說明波特率修改成功,保存波特率參數(shù)并返回主程序,主程序?qū)⒁孕薷某晒蟮牟ㄌ芈逝c其他設(shè)備通訊。從機(jī)的波特率修改部分程序流程圖如圖4 所示。

        圖4 從機(jī)程序流程圖

        其中波特率修改函數(shù)的流程圖如圖5 所示。

        其中,MAX 一般定義為80~150,特定校驗碼由主機(jī)與從機(jī)開發(fā)人員事先約定好,修改波特率依次從高到低,分別采取800K、500K 和250K 等分別進(jìn)行試探,當(dāng)波特率與主機(jī)不匹配達(dá)一定時間(由MAX 定義),說明所有可能匹配的波特率已經(jīng)進(jìn)行試探,仍然收不到數(shù)據(jù),說明通信已經(jīng)出錯,此時需修改初始化波特率為默認(rèn)的800K,以供重新上電恢復(fù)通信;當(dāng)波特率與主機(jī)匹配時,從機(jī)才會收到來自主機(jī)的特定校驗碼,此時,從機(jī)需將波特率參數(shù)存儲到FLASH 區(qū),下次上電則從FLASH 讀取出該波特率參數(shù)。

        三、實驗驗證

        1、實驗平臺搭建

        根據(jù)測試需要,在實驗室搭建了相應(yīng)的測試平臺,測試中選擇一臺主機(jī)和多臺從機(jī),如圖6 所示。

        2、測試結(jié)果

        現(xiàn)場試驗先驗證一主多從方式,此時開啟主從正常通訊內(nèi)容,使網(wǎng)絡(luò)數(shù)據(jù)接近正常工作狀態(tài),再由主控制單元發(fā)送命令改變波特率,發(fā)現(xiàn)從控制單元收到命令不穩(wěn)定,考慮實際應(yīng)用時,一旦啟動波特率更改命令,設(shè)備CAN 網(wǎng)絡(luò)上不應(yīng)該存在其他命令,因此對其他命令屏蔽,從控制單元能夠正常響應(yīng)。最終2 個從控制單元的波特率調(diào)整為與主控制單元相同的波特率并通信正常。試驗驗證程序設(shè)計可以實現(xiàn)主控制單元下發(fā)命令與從控制單元的配合基本正常,對從控制單元的波特率設(shè)定也僅需要更改與波特率相關(guān)的寄存器即可完成。從控制單元收到更改命令后一些試驗數(shù)據(jù)如圖7~圖13 所示。

        圖5 波特率修改程序流程圖

        圖6 測試平臺網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D

        圖7 從控制單元0x209 波特率初始設(shè)定800Kb 的一些試驗數(shù)據(jù)

        圖8 從控制單元0x209 修改為500Kb 的一些試驗數(shù)據(jù)

        圖9 從控制單元0x209 修改為250Kb 的一些試驗數(shù)據(jù)

        由圖7~9 可以看出,從控制單元0x209 無論是在修改前的800K 的波特率還是在修改為500K 和250K 都能正常收到了來自其他控制單元0x207 和0x208 的數(shù)據(jù)(變量CountData207 和CountData208 代表接收數(shù)據(jù)幀數(shù)),控制單元是收不到自身所發(fā)數(shù)據(jù),故CountData209 一直為0,以上數(shù)據(jù)充分說明了波特率自適應(yīng)調(diào)節(jié)是成功的。

        圖10 從控制單元0x208 初始為800Kb 收到數(shù)據(jù)

        圖11 從控制單元0x208 轉(zhuǎn)化為500Kb 收到數(shù)據(jù)

        圖12 從控制單元0x208 轉(zhuǎn)化為250KB 收到數(shù)據(jù)

        由圖10~12 可以看出,從控制單元0x208 無論是在修改前的800K 的波特率還是在修改為500K 和250K 都能正常收到了來自其他控制單元0x209 和0x207 的數(shù)據(jù)(變量CountData209 和CountData207 代表接收數(shù)據(jù)幀數(shù)),控制單元是收不到自身所發(fā)數(shù)據(jù),故CountData208 一直為0。

        以上數(shù)據(jù)充分說明了波特率自適應(yīng)調(diào)節(jié)是成功的。

        當(dāng)主控制單元發(fā)送錯誤命令時,波特率不會調(diào)整,也不會收到數(shù)據(jù),當(dāng)主控制單元調(diào)整為系統(tǒng)默認(rèn)的標(biāo)準(zhǔn)波特率(800K、500K 和250K)時,從控制單元會再次正常收到數(shù)據(jù)。

        圖13 從控制單元收到錯誤命令時收到數(shù)據(jù)為零

        當(dāng)主控制單元重新以正常波特率發(fā)送時,從控制單元又會自動調(diào)整到正確的波特率進(jìn)行正常通訊,確保了通信的可靠和可恢復(fù)性。

        四、結(jié)論

        通過學(xué)習(xí)和實踐,在保持原有主從機(jī)程序不變的基礎(chǔ)上,通過實驗驗證波特率調(diào)整方案切實可行,并在基于DSP的控制單元上進(jìn)行了一主一從和一主二從試驗,在沒有改變其他程序的基礎(chǔ)上添加了波特率改變的程序,系統(tǒng)排除了多個不穩(wěn)定因素,已經(jīng)能夠正常運行,并將在一主多從的局域網(wǎng)中廣泛試驗。

        猜你喜歡
        主控制波特率流程圖
        基于多核框架的無人機(jī)控制系統(tǒng)
        電子測試(2021年9期)2021-06-17 10:59:46
        基于多核框架的無人機(jī)控制系統(tǒng)
        電子制作(2021年9期)2021-06-17 03:59:54
        基于FPGA的異步串行通信波特率容錯設(shè)計
        電子測試(2018年7期)2018-05-16 06:27:18
        四工位組合機(jī)床動力頭主控制電路的設(shè)計
        路虎攬勝車倒車影像功能失效
        專利申請審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        寧??h村級權(quán)力清單36條
        《天津醫(yī)藥》稿件處理流程圖
        C*Core芯片SCI串口波特率容限優(yōu)化
        亚洲精品久久视频网站| av超碰在线免费观看| 老熟女一区二区免费| 精品国产a毛片久久久av| 无码喷潮a片无码高潮| 国产亚洲精品久久久久婷婷瑜伽| 8av国产精品爽爽ⅴa在线观看| 尤物成av人片在线观看| 亚洲精品国产第一综合色吧| 乱色熟女综合一区二区三区| 一本到无码AV专区无码| 国产三级三级精品久久| 国产精品一区二区三久久不卡 | 风流熟女一区二区三区| 人妻少妇精品视频三区二区一区| 亚洲精品自产拍在线观看| 99热高清亚洲无码| 国产丝袜长腿美臀在线观看| 久久久av波多野一区二区 | 国产主播福利一区二区| 久久国产精品国产精品久久| 手机在线观看日韩不卡av| 精品水蜜桃久久久久久久| 亚洲国产cao| 日韩激情视频一区在线观看| 久久性爱视频| 亚洲精品永久在线观看| 午夜天堂精品一区二区| 穿着白丝啪啪的av网站| 亚洲av无码久久精品蜜桃| 精品国产一区二区三区AV小说| 日本精品啪啪一区二区| 亚洲av午夜精品无码专区| 波多野结衣一区二区三区高清| 精品一区二区三区在线视频观看| 亚洲综合在不卡在线国产另类| 一区二区三区中文字幕| 久久av无码精品一区二区三区| 中文字幕精品乱码一区| 国产精品婷婷久久爽一下| 大伊香蕉在线精品视频75|