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

        ?

        基于異構(gòu)多核的焊接集控器人機交互設(shè)計

        2022-01-07 03:31:20曾敏袁松石永華胡子鑫王卓然
        焊接 2021年11期
        關(guān)鍵詞:間通信實時性內(nèi)核

        曾敏, 袁松, 石永華, 胡子鑫, 王卓然

        (華南理工大學(xué),廣州 510641)

        0 前言

        在智能爬行式焊接機器人應(yīng)用中,現(xiàn)場環(huán)境復(fù)雜,焊接集控器往往需要同時協(xié)調(diào)控制多臺從機設(shè)備,包括爬行式焊接機器人運動控制裝置、工業(yè)相機、焊接電源、送絲機等從機[1-3],因此焊接集控器往往采用多控制器組合來處理這些任務(wù),提升了系統(tǒng)的硬件復(fù)雜性,且多控制器間的通信速率慢,通信管理復(fù)雜[4-6]。其中需要人機交互終端對焊接過程的參數(shù)設(shè)定、電源控制、焊接啟停、故障監(jiān)控進行控制[7],加重了集控器處理器的運算負擔(dān),影響焊接過程的實時性。

        基于以上原因,該焊接集控器使用異構(gòu)多核的STM32MP157處理器作為集控器核心,包含了雙核A7以及單核M4內(nèi)核,可以在A7內(nèi)核和M4內(nèi)核運行Linux操作系統(tǒng)[8]和FreeRTOS實時系統(tǒng),觸摸屏選用威綸通MT6071iE模塊。人機交互模塊通信任務(wù)運行在集控器的M4內(nèi)核中,主體焊接控制任務(wù)運行在Linux系統(tǒng),實現(xiàn)軟件分層設(shè)計,實現(xiàn)對主體焊接控制任務(wù)的解耦,利用核間通信任務(wù)的高速率特性[9-10],提高了整體焊接系統(tǒng)的實時性,且只需要單控制器芯片即可滿足集控器對各從機及人機交互模塊通信的需求,降低了硬件的復(fù)雜性,并利用組態(tài)軟件EasyBuilder Pro對人機界面進行設(shè)計,提升了人機界面軟件設(shè)計和界面設(shè)計的效率。

        1 系統(tǒng)硬件設(shè)計

        焊接集控器以異構(gòu)多核控制器STM32MP157為核心,該芯片由ST公司于2019年推出,內(nèi)部具有雙核Coretex-A7內(nèi)核及Cortex-M4內(nèi)核,通過OpenAMP開源框架進行核間數(shù)據(jù)高速通信。焊接集控器電路集成了雙路RS485接口,分別與送絲機、焊接電源通信,通過USB2.0接口與工業(yè)相機連接。此外,利用STM32MP157的MII接口與PHY芯片RTL8211F實現(xiàn)千兆RJ45網(wǎng)口通信,與爬行機器人運動驅(qū)動器通信,而人機交互模塊則通過RS232接口與焊接集控器實現(xiàn)點對點通信,確保了焊接集控器的抗擾性與實時性。焊接集控器的硬件框圖如圖1所示。

        圖1 焊接集控器硬件框圖

        2 系統(tǒng)軟件設(shè)計

        焊接集控器需要控制爬行式焊接機器人運動控制裝置、工業(yè)相機、焊接電源、送絲機設(shè)備的運行及與人機交互模塊的通信,將這些任務(wù)都運行在單一內(nèi)核中很難保證焊接過程的實時性,也不利于程序編寫,因此需要將人機交互任務(wù)與主焊接任務(wù)解耦,這里使用靜態(tài)劃分的方法,將人機交互通信任務(wù)在Cortex-M4內(nèi)核中運行,而主焊接任務(wù)在雙核Cortex-A7中運行,降低對焊接任務(wù)的影響,進而提高整體焊接控制的實時性,如圖2所示,為焊接集控器軟件框圖。

        圖2 焊接集控器軟件框圖

        2.1 異構(gòu)多核加載與啟動

        一般嵌入式系統(tǒng)的啟動流程為鏈?zhǔn)絾樱總€環(huán)節(jié)中前者為后者提供了運行環(huán)境及加載下一環(huán)節(jié)啟動代碼。焊接集控器的處理器啟動流程如圖3所示。TF-A為首先加載的可信賴固件,與傳統(tǒng)無安全校驗的嵌入式Linux啟動不同,其保證了啟動過程中各個鏡像的完整性,最后負責(zé)加載bootloader,即U-Boot,該程序會初始化片上外設(shè),最后加載Linux內(nèi)核到內(nèi)存中運行,從而完成對Cortex-A7內(nèi)核的初始化。Remoteproc是基于Linux下的遠程處理器控制框架,可以通過本地處理器Cortex-A7,加載固件到遠程處理器Cortex-M4以及啟動或停止遠程處理器,因此Cortex-M4內(nèi)核最終由Linux系統(tǒng)通過Remoteproc框架啟動。最后達到Linux系統(tǒng)與FreeRTOS系統(tǒng)同時運行在不同的內(nèi)核中,實現(xiàn)焊接集控器內(nèi)部任務(wù)的并行處理。

        圖3 焊接集控器處理器啟動流程

        2.2 核間通信任務(wù)

        在焊接集控器中,由圖2所示,核間通信由OpenAMP開源框架實現(xiàn),OpenAMP框架包括了IPCC核間通信控制器和RPMsg遠程處理器信息處理協(xié)議。其中IPCC是提供門鈴信號給不同內(nèi)核,用于通知新消息可用,僅起到通知喚起中斷作用;RPMsg是基于共享內(nèi)存的消息總線協(xié)議,規(guī)定了消息幀報文格式以及管理共享緩沖區(qū)。

        在Cortex-M4內(nèi)核側(cè),利用FreeRTOS的多任務(wù)機制,劃分核間通信任務(wù)。在核間通信任務(wù)中,首先完成IPCC初始化及OpenAMP初始化,注冊RPMsg通道,搭建內(nèi)核間通信M4與A7雙向通道;其次,注冊核間通信接收中斷函數(shù);然后該任務(wù)查詢工作狀態(tài)位,0代表無新消息接收或新消息等待發(fā)送,則該任務(wù)進入阻塞態(tài),等待有新消息接收產(chǎn)生中斷時,中斷回調(diào)函數(shù)會喚醒核間通信任務(wù),同時設(shè)置工作標(biāo)志位和方向標(biāo)志位為1,表示有新消息,方向為接收;然后獲取共享資源鎖,避免對共享資源并發(fā)訪問;若為接收方向,則從環(huán)形共享內(nèi)存的隊列消息結(jié)構(gòu)中出列,獲取數(shù)據(jù)幀,然后執(zhí)行數(shù)據(jù)幀處理函數(shù);最后復(fù)位標(biāo)志位并釋放共享資源鎖,任務(wù)返回至查詢工作狀態(tài)位,開始新的工作周期,同理發(fā)送方向類似。核間通信任務(wù)流程如圖4所示。與基于分立元件的多控制器方案不同,異構(gòu)多核是將多個不同架構(gòu)的內(nèi)核集成在一塊芯片上,不同的內(nèi)核通過系統(tǒng)內(nèi)部高速總線連接通信,因此核間通信具有高帶寬及低延遲特性,且基于操作系統(tǒng)管理核間通信,保證了通信的有序性。

        圖4 核間通信任務(wù)流程圖

        2.3 人機交互任務(wù)

        焊接集控器在焊接過程中采集到各種狀態(tài)數(shù)據(jù)可由主焊接任務(wù)獲取,其中焊接狀態(tài)信息如電弧電壓、焊接電流、各從機狀態(tài)等信息需要顯示在人機交互界面上,因此需由核間通信任務(wù)將顯示信息從Cortex-A7內(nèi)核傳遞至Cortex-M4內(nèi)核中,再由人機交互任務(wù)完成顯示任務(wù)。此過程的通信地址圖如圖5所示,圖中地址從0開始,在整個可尋址地址空間中,包含了Cortex-M4的程序代碼和數(shù)據(jù)區(qū)、用于核間通信的共享內(nèi)存區(qū)及Cortex-A7的DDR內(nèi)存區(qū),實現(xiàn)了相同地址總線可訪問不同內(nèi)核區(qū)域。

        圖5 人機交互核間通信地址圖

        圖5中a是Cortex-A7與共享內(nèi)存區(qū)的通信任務(wù),該任務(wù)由Linux系統(tǒng)完成,對外提供文件訪問接口,只需調(diào)用該接口即可完成在Linux系統(tǒng)中的核間通信過程。人機交互任務(wù)需要在Cortex-M4數(shù)據(jù)區(qū)分配若干寄存器,用于與人機交互模塊進行Modbus-RTU通信,部分寄存器分配見表1。

        表1 人機交互寄存器分配表

        表中寄存器地址分為2類,0x對應(yīng)位狀態(tài),存儲開關(guān)量,而4x對應(yīng)雙字數(shù)據(jù)寄存器,存儲有效數(shù)據(jù)。人機交互任務(wù)根據(jù)已分配寄存器與人機交互模塊通信,任務(wù)流程圖如圖6所示,不同任務(wù)之間的調(diào)度由FreeRTOS負責(zé),在人機交互任務(wù)中,檢測到接收到的數(shù)據(jù)報文時,中斷程序會將數(shù)據(jù)報文拷貝至接收緩沖數(shù)組,執(zhí)行Modbus接收處理函數(shù),驗證設(shè)備站號、CRC校驗,然后根據(jù)功能碼類型賦值給任務(wù)變量,根據(jù)功能碼的不同讀取或?qū)懭肴藱C交互寄存器,當(dāng)功能碼為寫入時,不僅需要將對應(yīng)人機交互寄存器賦新值,還需要將更新后的寄存器值通過核間通信任務(wù)實時反饋到Cortex-A7內(nèi)核中,如手動按下啟動按鈕、急停按鈕、設(shè)置焊接參數(shù)時,每個內(nèi)核都需要實時獲得該參數(shù)并進行處理?;贔reeRTOS的任務(wù)管理機制,人機交互任務(wù)在更新寄存器后通過喚醒處于阻塞態(tài)的核間通信任務(wù)通知Cortex-A7內(nèi)核,使得在Linux系統(tǒng)下的主焊接任務(wù)可根據(jù)改變寄存器值控制焊接過程,電源啟停、焊接工藝參數(shù)實時調(diào)整等操作。

        圖6 人機交互任務(wù)流程圖

        2.4 人機交互界面設(shè)計

        為滿足焊接集控器協(xié)同控制爬行式焊接機器人運動控制裝置、焊接電源、送絲機等從機及顯示狀態(tài)信息需求,設(shè)計了狀態(tài)信息顯示界面、運動控制界面、焊接參數(shù)設(shè)置界面、故障信息顯示界面,其結(jié)構(gòu)層次如圖7所示。

        圖7 人機交互樹狀關(guān)聯(lián)

        在組態(tài)軟件EasyBuilder Pro中,設(shè)置初始界面為開機自檢階段界面,由于焊接集控器需要與多從機通信,而多從機的系統(tǒng)啟動需要等待全部啟動完畢后方可開始焊接,因此設(shè)置初始界面等待所有從機在線后方可點擊進入二級界面進行操作。在二級界面中顯示各個從機的在線狀態(tài),焊接參數(shù)設(shè)置,故障信息顯示,因此利用組態(tài)軟件EasyBuilder Pro提供的GUI界面,如圖8所示,將需要的按鈕元件、設(shè)置窗口、切換界面元件等拖拽至指定位置,設(shè)置各個元件的對應(yīng)寄存器地址,即可對應(yīng)Cortex-M4數(shù)據(jù)區(qū)中的人機交互寄存器地址,使不同界面的開發(fā)工作量降低。

        圖8 人機交互界面設(shè)計軟件

        3 試驗驗證

        基于多核異構(gòu)的焊接集控器平臺中,測試多核系統(tǒng)鏈?zhǔn)絾?,對核間通信任務(wù)進行測試,最后驗證焊接集控器人機交互界面設(shè)計。

        當(dāng)焊接集控器平臺引導(dǎo)進入Linux系統(tǒng)后,由Remoteproc框架加載Cortex-M4內(nèi)核程序,進而啟動該內(nèi)核,包括了加載Cortex-M4內(nèi)核固件、啟動該固件、分配共享內(nèi)存節(jié)點、RPMsg通信建立及通信通道建立,Linux系統(tǒng)建立文件訪問接口/dev/ttyRPMSG0,以供核間通信訪問。

        在測試核間通信任務(wù)中,按照50字節(jié)為單位進行數(shù)據(jù)量遞增,在基準(zhǔn)時間50 ms內(nèi),得到有效的發(fā)送次數(shù)見表2,可得隨著單次傳輸數(shù)據(jù)量的增加,核間通信傳輸速率呈線性增加趨勢,在200字節(jié)單次傳輸時,傳輸速率能夠達到6 675.78 kB/s,而一般分立控制器通信速率只有十幾kB/s,驗證了核間通信具有較強的數(shù)據(jù)傳輸能力,滿足焊接集控器的人機顯示任務(wù)和主焊接任務(wù)的通信速率要求。

        表2 核間通信任務(wù)測試

        將焊接集控器與各從機設(shè)備通過總線連接,焊接集控器的人機交互畫面如圖9所示,該人機交互畫面實時顯示了當(dāng)前設(shè)置的焊接電流、電弧電壓等參數(shù)及各從機設(shè)備的在線情況,在人機交互畫面的操作通過核間通信任務(wù)實時反饋到主焊接任務(wù)中,完成多核間的焊接任務(wù)控制。

        圖9 焊接集控器人機交互畫面

        4 結(jié)論

        基于多核異構(gòu)的焊接集控器人機交互設(shè)計中,通過將主焊接任務(wù)與人機交互任務(wù)靜態(tài)劃分到不同的內(nèi)核運行,各個內(nèi)核中運行不同的系統(tǒng),完成了任務(wù)解耦,簡化了硬件設(shè)計,同時降低了焊接過程中的主處理器占用?;诤碎g通信的高速特性,使得主焊接任務(wù)與人機交互任務(wù)的實時性得以保證。

        猜你喜歡
        間通信實時性內(nèi)核
        細胞間通信預(yù)測方法研究進展
        萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        綜合航電分區(qū)間通信元模型設(shè)計研究
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
        Linux內(nèi)核mmap保護機制研究
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        一種車載Profibus總線系統(tǒng)的實時性分析
        美女露屁股无内裤视频| 日韩va高清免费视频| 日韩精品一区二区三区乱码| 国产精品久久国产精品99 gif| 女人下边被添全过视频| 成人国内精品久久久久一区| 在线高清精品第一区二区三区| 亚洲情精品中文字幕有码在线| 水蜜桃男女视频在线观看网站| 亚洲国产欧美在线观看| 欧美成人一区二区三区在线观看 | 精品女同一区二区三区| 欧美精品黑人粗大免费| 亚洲欧美国产日韩字幕| 亚洲天天综合色制服丝袜在线 | 狠狠爱婷婷网五月天久久| 亚洲成a∨人片在线观看不卡| 国产精品原创巨作AV女教师| 国产综合一区二区三区av| 亚洲va视频一区二区三区| 日本一卡2卡3卡4卡无卡免费网站| 在线精品国内视频秒播| 亚洲精品国产二区在线观看| 99视频在线精品免费观看6| 国产精品亚洲二区在线观看 | 日韩乱码精品中文字幕不卡| 麻豆资源在线观看视频| 台湾佬自拍偷区亚洲综合| 亚洲中文字幕av天堂| 激情视频在线观看好大| 青娱乐极品视觉盛宴国产视频| 欧美一片二片午夜福利在线快| 久久99热精品免费观看麻豆| 国产精品一区二区久久国产| 久久久久久人妻毛片a片| 无码超乳爆乳中文字幕| 国产亚洲av综合人人澡精品| 国产ww久久久久久久久久| 影视先锋av资源噜噜| 久久青草国产免费观看| 亚洲精品岛国av一区二区|