999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于龍芯3A5000的全國(guó)產(chǎn)化EtherCAT主站控制器設(shè)計(jì)

2025-06-19 00:00:00孫東華劉亞冬
現(xiàn)代信息科技 2025年8期

中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2025)08-0016-05

Abstract:This paper introduces the design technical scheme of building a fully domestic master station controler from hardware to software basedonLoongson 3A50o0 procesor.BasedonLoongArch architecture,Xenomai 4real-time kemel transplantationandperformancetestarecariedout.TheIGHEtherCATmasterstationarchitectureand master-slavestationtest environmentarebuilttoverifythereal-timeperformanceofEtherCATmasterstationunderLoongArcharchitecture.Through comparisonanddataanalysis,thefeasibilityoftheapplicationofLoongsonarchitectureinindustrialreal-timecontroleris proved,and the design of self-controllableand fully domestic EtherCAT master station is fnally completed.

Keywords:localization; Loongson;LoongArch architecture;EtherCAT master station

0引言

隨著工業(yè)自動(dòng)化的快速發(fā)展,工業(yè)控制系統(tǒng)愈發(fā)龐大復(fù)雜。特別是工業(yè)以太網(wǎng)、機(jī)器視覺(jué)、大數(shù)據(jù)模型的應(yīng)用,對(duì)工業(yè)主控器的功能和性能提出了越來(lái)越高的要求。在確保實(shí)現(xiàn)高速、精準(zhǔn)、穩(wěn)定控制的同時(shí),對(duì)算力、實(shí)時(shí)性、擴(kuò)展性也有了更高需求。基于小型嵌入式系統(tǒng)的PLC已無(wú)法滿足主機(jī)需求,因此基于PC-Base的主機(jī)方案得以迅速發(fā)展,有望成為未來(lái)工業(yè)控制的一大趨勢(shì)。然而,這一技術(shù)長(zhǎng)期被國(guó)外幾大廠商壟斷。國(guó)內(nèi)生產(chǎn)的控制器大多采用進(jìn)口芯片方案并借助軟件授權(quán)方式,難以實(shí)現(xiàn)自主可控,也無(wú)法有效控制成本。所以,開(kāi)發(fā)一款采用國(guó)產(chǎn)CPU及軟件系統(tǒng)的主控制器具有開(kāi)創(chuàng)性意義。

令人振奮的是,為了打破軟硬件生態(tài)發(fā)展受制于人的局面,龍芯中科推出了龍架構(gòu)LoongArch,打破了我國(guó)CPU長(zhǎng)期依賴國(guó)外技術(shù)的狀態(tài)[1]。LoongArch是龍芯中科(LoongsonTechnology)自主研發(fā)的一種指令集架構(gòu),它是在充分考量兼容性、自主性、先進(jìn)性、生態(tài)建設(shè)等因素的基礎(chǔ)上,結(jié)合多年處理器研發(fā)經(jīng)驗(yàn)與技術(shù)積累所創(chuàng)建的全新架構(gòu)。

龍芯CPU在消費(fèi)端PC及服務(wù)器領(lǐng)域已有廣闊的市場(chǎng)應(yīng)用。然而,工業(yè)應(yīng)用與工藝以及諸多硬件緊密關(guān)聯(lián),發(fā)展龍芯的工業(yè)生態(tài)面臨極大困難,而工業(yè)恰恰是國(guó)家科技與經(jīng)濟(jì)命脈之所在。

本文方案以研發(fā)百分百國(guó)產(chǎn)化工業(yè)控制器為目標(biāo),選用龍芯3A5000作為主控制器CPU,操作系統(tǒng)采用歐拉Linux系統(tǒng)。為解決實(shí)時(shí)性問(wèn)題,采用實(shí)時(shí)內(nèi)核Xenomai4與EtherCAT相結(jié)合的方式構(gòu)建EtherCAT主站,開(kāi)展實(shí)時(shí)內(nèi)核EtherCAT在龍芯CPU上的架構(gòu)建設(shè),以及系統(tǒng)驅(qū)動(dòng)和應(yīng)用優(yōu)化工作,從而建立龍芯實(shí)時(shí)系統(tǒng)應(yīng)用的軟硬件生態(tài)。鑒于硬件和軟件的自主可控性,本方案有助于國(guó)家應(yīng)對(duì)復(fù)雜的競(jìng)爭(zhēng)與挑戰(zhàn),具有重要的戰(zhàn)略意義。

1 EtherCAT主站設(shè)計(jì)及優(yōu)化

1.1 EtherCAT主站硬件設(shè)計(jì)

硬件選用龍芯工業(yè)級(jí)3A5000平臺(tái),采用自主指令系統(tǒng)(LoongArch)的超標(biāo)量處理器核LA464。其擁有4個(gè)物理核心,主頻范圍為 2 . 3 ~ 2 . 5 G H z ,單核SPECCPU2006Base實(shí)測(cè)性能超過(guò)26分,是一款性能卓越、效率超高的國(guó)產(chǎn)處理器。其CPU多核技術(shù)有利于在運(yùn)行實(shí)時(shí)內(nèi)核時(shí)進(jìn)行分核操作,較高的頻率能夠滿足高精度時(shí)鐘節(jié)拍的要求[2]。橋片選用7A1000,EtherCAT主站網(wǎng)口采用主板內(nèi)置的GMAC0。在設(shè)計(jì)過(guò)程中,充分考慮了對(duì)龍芯2K2000、2K1500等工業(yè)級(jí)嵌入式CPU的兼容性,以便形成高中端應(yīng)用。硬件設(shè)計(jì)框圖如圖1所示。

圖13A5000硬件設(shè)計(jì)框圖

1.2EtherCAT主站軟件設(shè)計(jì)

軟件方面,操作系統(tǒng)選用歐拉系統(tǒng)內(nèi)核。歐拉系統(tǒng)秉持“共建、共享、共治”原則,自openEuler社區(qū)開(kāi)源以來(lái),已吸引超過(guò)1300家頭部企業(yè)、研究機(jī)構(gòu)和高校加入,匯聚了超16800名開(kāi)源貢獻(xiàn)者,并成立100多個(gè)特別興趣小組(SIG)。在業(yè)界看來(lái),openEuler開(kāi)源社區(qū)已成為中國(guó)最具活力與創(chuàng)新力的開(kāi)源社區(qū)。2023年,歐拉系的目標(biāo)是新增市場(chǎng)份額超 3 5 % ,在國(guó)內(nèi)新增市場(chǎng)份額排名第一[3]。

事實(shí)上,以技術(shù)為根基持續(xù)創(chuàng)新、不斷突破邊界,已成為歐拉的重要標(biāo)簽。歐拉創(chuàng)造性地提出一套代碼、架構(gòu)支持多樣性算力和全場(chǎng)景。openEuler是一個(gè)契合技術(shù)趨勢(shì)和客戶需求的操作系統(tǒng),其定位是數(shù)字基礎(chǔ)設(shè)施的開(kāi)源操作系統(tǒng)。

在萬(wàn)名開(kāi)發(fā)者的參與和貢獻(xiàn)下,經(jīng)過(guò)技術(shù)創(chuàng)新,歐拉內(nèi)核已在電力、交通,以及巡檢機(jī)器人、無(wú)人機(jī)、機(jī)器狗等多個(gè)領(lǐng)域的眾多項(xiàng)目中落地應(yīng)用。

實(shí)時(shí)內(nèi)核采用開(kāi)源的Xenomai4,它是在3.2版本基礎(chǔ)上發(fā)展而來(lái)的新一代實(shí)時(shí)內(nèi)核架構(gòu),更為精簡(jiǎn),更側(cè)重于通用驅(qū)動(dòng),便于部署。其中,EVL指嵌入式多樣性實(shí)時(shí)層(EmbeddedVersatileLayer),它是Xenomai實(shí)時(shí)框架中的一個(gè)組件。EVL旨在通過(guò)創(chuàng)建一個(gè)更緊湊、更可靠的實(shí)時(shí)層,提升Linux系統(tǒng)的實(shí)時(shí)性能。相較于之前的實(shí)時(shí)子系統(tǒng),如Cobalt,該層的代碼復(fù)雜性更低,且能更好地集成到Linux內(nèi)核中。EVL核心的設(shè)計(jì)重點(diǎn)在于簡(jiǎn)化功能集合并重用通用驅(qū)動(dòng)模型,此舉能夠減少內(nèi)核的代碼占用量,并提供一種更高效、成本更低的實(shí)時(shí)任務(wù)處理方法。根據(jù)任務(wù)優(yōu)先級(jí)和緊急程度的不同,可將任務(wù)分為實(shí)時(shí)任務(wù)

和非實(shí)時(shí)任務(wù)兩大類[4]。

通信部分采用EtherCAT協(xié)議,它是一種開(kāi)放的、基于以太網(wǎng)的現(xiàn)場(chǎng)總線系統(tǒng),具備高實(shí)時(shí)性、確定性等特性,支持多種設(shè)備連接拓?fù)浣Y(jié)構(gòu),在工業(yè)自動(dòng)化領(lǐng)域應(yīng)用廣泛。EtherCAT主站部分采用開(kāi)源的IGH。目前,開(kāi)源的EtherCAT主站軟件有Etherlab的IGHEtherCATMaster[5以及RT-LAB的SOEM,相比之下,IGHEtherCATMaster的功能更為完備。

軟件設(shè)計(jì)框圖如圖2所示。

圖2Xenomai軟件設(shè)計(jì)框圖

1.3EtherCAT主站軟件移植及優(yōu)化

本控制器首先需在對(duì)歐拉內(nèi)核、Xenomai4、IGHEtherCAT等軟件編譯時(shí)增加LoongArch架構(gòu)支持,并建立編譯環(huán)境。這一過(guò)程工作量巨大,需要與龍芯公司進(jìn)行聯(lián)合開(kāi)發(fā)。

Xenomai4的編譯安裝主要涉及內(nèi)核和API接口庫(kù)。首先,需編譯具有EVL內(nèi)核的Linux源碼,編譯工具鏈為loongarch64_linux_gcc,隨后使用配置工具makemenuconfig配置內(nèi)核。在此過(guò)程中,需要啟用CONFIG_ELV、CONFIG_EVL_LATMUS以及CONFIG_EVL_HECTIC,以啟用EVL內(nèi)核并支持latmus和hectic測(cè)試程序。編譯完成后,安裝模塊和內(nèi)核,并更新引導(dǎo)配置。接著編譯API庫(kù)libecl,需使用meson構(gòu)建,交叉編譯工具鏈同樣選擇為loongarch64_linux_gcc。編譯完成后將其安裝到3A5000主機(jī)上,完成上述操作后,還需進(jìn)行一系列測(cè)試以驗(yàn)證功能的正確性。

IGHEtherCAT的編譯安裝,需下載開(kāi)源的EtherCATIGH1.6.2代碼,隨后配置編譯環(huán)境,交叉編譯工具鏈選擇loongarch64_linux_gcc,網(wǎng)卡選用3A5000內(nèi)置網(wǎng)卡驅(qū)動(dòng)stmmac。首先編譯主站協(xié)議棧庫(kù)和主站工具,生成EtherCAT命令行工具,用于配置和管理主站。生成的ethercatctl命令行工具,可用于控制主站狀態(tài),提供啟動(dòng)、停止、重啟等操作命令。接著編譯內(nèi)核驅(qū)動(dòng)模塊,生成ec_master.ko和ec_dwmac_loongson.ko這兩個(gè)Linux驅(qū)動(dòng)模塊。其中,ec_master.ko實(shí)現(xiàn)了EtherCAT主站協(xié)議棧,ec_dwmac_loongson.ko是優(yōu)化后的網(wǎng)卡驅(qū)動(dòng),在網(wǎng)卡驅(qū)動(dòng)層面直接支持IGH接口,使IGH能夠直接控制網(wǎng)卡進(jìn)行數(shù)據(jù)收發(fā)。將編譯后的文件及工具程序放置到3A5000上,便可通過(guò)IGH命令對(duì)從站進(jìn)行簡(jiǎn)單控制。至此,即可編譯IGH主站程序進(jìn)行開(kāi)發(fā)與控制了。

對(duì)Xenomai4軟件進(jìn)行實(shí)時(shí)性優(yōu)化[,參考從修改數(shù)據(jù)幀的角度來(lái)提高系統(tǒng)實(shí)時(shí)性的方法[,使其能在龍芯3A5000上穩(wěn)定運(yùn)行,確保實(shí)時(shí)任務(wù)抖動(dòng)小于2 0 μ s 。接著在此基礎(chǔ)上搭建IGH開(kāi)源主站框架,針對(duì)內(nèi)置GMAC0網(wǎng)口進(jìn)行實(shí)時(shí)驅(qū)動(dòng)優(yōu)化,消除抖動(dòng)因素。最后掛載伺服及IO從站進(jìn)行數(shù)據(jù)測(cè)試,并持續(xù)優(yōu)化軟件代碼及驅(qū)動(dòng)文件,使EtherCAT數(shù)據(jù)抖動(dòng)小于 2 0 μ s 。

1.4Xenomai4環(huán)境測(cè)試和性能分析

Xenomai4移植完成后,需開(kāi)展單元測(cè)試和性能測(cè)試。Xenomai4提供了一系列單元測(cè)試程序,在構(gòu)建libevl時(shí),這些程序會(huì)生成在\$prefix/tests目錄下。單元測(cè)試結(jié)果如圖3所示。

1.5 IGH主站的搭建和測(cè)試

EtherCAT主站對(duì)網(wǎng)卡數(shù)據(jù)收發(fā)的實(shí)時(shí)性要求頗高。為實(shí)現(xiàn)EtherCAT協(xié)議,需對(duì)普通網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)加以修改,以提升數(shù)據(jù)收發(fā)處理效率。網(wǎng)卡優(yōu)化完成后,利用龍芯工具鏈編譯并搭建IGH主站。搭建完畢后,運(yùn)用EtherCAT命令進(jìn)行功能測(cè)試,如圖6所示。

2 EtherCAT主站周期抖動(dòng)測(cè)試

2.1EtherCAT主從站系統(tǒng)搭建

主站采用龍芯3A5000控制板,運(yùn)行EVL實(shí)時(shí)內(nèi)核與EtherCAT主站。通過(guò)GMAC0網(wǎng)口與4個(gè)自主開(kāi)發(fā)的EtherCAT從站連接,從站間采用線型菊花鏈模式進(jìn)行連接。同時(shí),在主站和從站之間增設(shè)自主開(kāi)發(fā)的EtherCAT分析儀,用于數(shù)據(jù)監(jiān)測(cè)與分析。在從站端,將示波器與DC信號(hào)相連,以監(jiān)測(cè)從站間同步周期與抖動(dòng)情況。搭建此模擬環(huán)境的目的在于模擬實(shí)際應(yīng)用環(huán)境中的三軸運(yùn)動(dòng)加IO控制,組建的測(cè)試系統(tǒng)如圖7所示,實(shí)物圖如圖8所示。

圖7EtherCAT測(cè)試環(huán)境結(jié)構(gòu)圖

2.2主站測(cè)試軟件的編寫(xiě)

主站用戶程序需要按照所連接的從站情況及控制需求邏輯來(lái)編寫(xiě)。主要過(guò)程涵蓋主站和從站的配置以及實(shí)時(shí)周期性任務(wù)的實(shí)現(xiàn)。主站借助FPRD命令獲取主站發(fā)送的數(shù)據(jù)幀到達(dá)各從站端口的時(shí)間,并計(jì)算各非參考從站與參考從站的傳輸延時(shí)[8]。配置過(guò)程需配置主站指針及數(shù)據(jù)域、依據(jù)實(shí)際從站信息生成從站配置、配置PDO、DC、同步參考等,具體流程如圖9所示。

↓編寫(xiě)從站配置數(shù)組√ 配置從站DC信息獲取主站指針 T配置從站時(shí)鐘參考獲取數(shù)據(jù)域指針↓ 完成配置準(zhǔn)備進(jìn)入實(shí)時(shí)周期任務(wù)創(chuàng)建從站配置信息 L↓ 為數(shù)據(jù)域分配指針地址,配置從站PDO信息 準(zhǔn)備實(shí)時(shí)訪問(wèn)數(shù)據(jù)域

周期任務(wù)分為用戶任務(wù)和空閑任務(wù)??臻e任務(wù)主要用來(lái)監(jiān)測(cè)和控制從站狀態(tài)機(jī)。當(dāng)有用戶數(shù)據(jù)時(shí),空閑任務(wù)停止。具體流程如圖10所示。

2.3EtherCAT的分布時(shí)鐘(DC)同步精度測(cè)試

參考時(shí)鐘的選取方案有兩種:以主站時(shí)鐘或以從站時(shí)鐘作為參考時(shí)鐘[9];本文選擇第一個(gè)從站時(shí)鐘作為參考時(shí)鐘。使用示波器測(cè)量從站DC引腳,以此測(cè)量3個(gè)從站間時(shí)鐘同步精度誤差,測(cè)量情況如圖11所示。測(cè)量結(jié)果顯示,分布時(shí)鐘誤差小于 2 0 n s 。

圖11EtherCAT從站DC誤差

2.4EtherCAT周期抖動(dòng)測(cè)試

主站抖動(dòng)指的是主站周期性連續(xù)發(fā)出數(shù)據(jù)時(shí),相鄰兩個(gè)周期之間時(shí)間間隔大小的變化。時(shí)間間隔差異越大,抖動(dòng)越大,對(duì)任務(wù)實(shí)時(shí)性的影響也就越大[10]。利用EtherCAT網(wǎng)絡(luò)分析儀抓取通信過(guò)程中的大量數(shù)據(jù),并通過(guò)Wireshark對(duì)數(shù)據(jù)進(jìn)行查看與分析。將數(shù)據(jù)幀時(shí)間戳導(dǎo)出進(jìn)行分析,數(shù)據(jù)表明,當(dāng)運(yùn)行周期為1 m s 時(shí),截取250000個(gè)樣本數(shù)據(jù),抖動(dòng) lt; 2 0 μ s 完全能夠滿足伺服的應(yīng)用需求,測(cè)試結(jié)果的抖動(dòng)圖如圖12所示。

圖12EtherCAT數(shù)據(jù)抖動(dòng)測(cè)量
圖10IGHEtherCAT任務(wù)流程圖

3結(jié)論

本文設(shè)計(jì)的控制器,硬件采用國(guó)產(chǎn)CPU龍芯3A5000,基于自主指令集LoongArch架構(gòu);軟件方面,從系統(tǒng)內(nèi)核、實(shí)時(shí)內(nèi)核到EtherCAT主站,采用開(kāi)源軟件并進(jìn)行自主改造優(yōu)化,構(gòu)建了國(guó)產(chǎn)控制器的生態(tài)基礎(chǔ)架構(gòu)。后續(xù),我們團(tuán)隊(duì)將進(jìn)一步迭代完善此架構(gòu),并將其應(yīng)用于團(tuán)隊(duì)研發(fā)的、具有完全自主知識(shí)產(chǎn)權(quán)的KRmotion軟件控制平臺(tái),以研發(fā)出一款基于龍芯生態(tài)的百分百國(guó)產(chǎn)化控制器。鑒于Xenomai實(shí)時(shí)核在龍芯LoongArch架構(gòu)上屬首次應(yīng)用,且Xenomai4作為新一代實(shí)時(shí)核,在國(guó)內(nèi)外應(yīng)用案例相對(duì)較少,移植過(guò)程中遭遇諸多困難。截至發(fā)文之時(shí),尚未達(dá)到最佳性能,仍在進(jìn)一步完善中,期望有更多人士參與討論與研究。

參考文獻(xiàn):

[1]岳宇航.基于國(guó)產(chǎn)龍芯CPU的氣井控制器[D].西安:西安石油大學(xué),2021.

[2]胡偉武,汪文祥,吳瑞陽(yáng),等.龍芯指令系統(tǒng)架構(gòu)技術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2023,60(1):2-16.

[3]楊光.openEuler累計(jì)部署610萬(wàn)套成為企業(yè)數(shù)字化轉(zhuǎn)型首選操作系統(tǒng)[N].中國(guó)信息化周報(bào),2023-12-18(023).

[4]邱昌華,郭永杰,李宗坡,等.基于Xenomai的EtherCAT主站開(kāi)發(fā)與實(shí)時(shí)性優(yōu)化[J].自動(dòng)化應(yīng)用,2021(12):82-86.

[5]李備備,欒勇,王超,等.基于AM3358處理器的嵌入式實(shí)時(shí)EtherCAT主站的構(gòu)建[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015(5):1-5.

[6]劉劍,仲宇,王琦.嵌入式Linux實(shí)時(shí)性改造技術(shù)綜述[J].航天控制,2018,36(2):93-97.

[7]劉星宇,張春雷,劉冠宸.基于IgH的EtherCAT主站開(kāi)發(fā)及實(shí)時(shí)性研究[J].精密制造與自動(dòng)化,2020(4):42-45.

[8]李國(guó)輝,韓利峰,李丹清,等.基于國(guó)產(chǎn)操作系統(tǒng)的EtherCAT的控制系統(tǒng)開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用,2020,40(S1):238-242.

[9]榮鋒,孫亞碩.EtherCAT分布時(shí)鐘同步算法的研究與優(yōu)化[J].儀表技術(shù)與傳感器,2022(12):113-118.

[10]方遠(yuǎn)東,劉建群,梁學(xué)勝,等.基于PC的全軟件雕銑機(jī)數(shù)控系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].機(jī)床與液壓,2022,50(6):98-102.

作者簡(jiǎn)介:孫東華(1983.09—),男,滿族,遼寧沈陽(yáng)人,研發(fā)經(jīng)理,大學(xué)本科,研究方向:特種控制器;劉亞冬(1988.09—),男,漢族,遼寧沈陽(yáng)人,研發(fā)工程師,大學(xué)本科,研究方向:控制器。

主站蜘蛛池模板: 亚洲精品欧美日本中文字幕| 天天摸夜夜操| 日韩在线第三页| 91系列在线观看| 91亚洲精品第一| 国产精品xxx| 久久精品丝袜高跟鞋| 激情视频综合网| 成人小视频网| 日本免费高清一区| 亚洲精品桃花岛av在线| 国产特级毛片| 亚洲91精品视频| 成人一级免费视频| 亚洲天堂2014| 亚洲视频免| 日韩精品欧美国产在线| 青青草一区| 久久国产高清视频| 亚洲美女操| 国产精品成| 自拍偷拍欧美日韩| 99在线观看精品视频| 欧美一级夜夜爽| 女人18毛片久久| 青青青伊人色综合久久| 亚洲全网成人资源在线观看| 欧美www在线观看| 亚洲一级毛片免费看| 国产在线视频自拍| 国产二级毛片| 免费无码AV片在线观看中文| 成年片色大黄全免费网站久久| 欧美一级黄片一区2区| 久久99精品国产麻豆宅宅| 在线播放国产一区| 午夜不卡视频| 57pao国产成视频免费播放 | 99久久无色码中文字幕| 成人一区在线| 国产区免费| 在线一级毛片| 永久成人无码激情视频免费| 香蕉国产精品视频| 国产高清在线观看| 日韩欧美国产中文| 国产产在线精品亚洲aavv| 亚洲无码不卡网| 亚洲美女久久| 亚洲a级在线观看| 亚洲午夜综合网| 国产丝袜一区二区三区视频免下载 | 欧美日韩成人| 国产大片黄在线观看| 乱色熟女综合一区二区| 69视频国产| 深夜福利视频一区二区| 91无码网站| 制服丝袜亚洲| 2021精品国产自在现线看| 欧美日韩在线第一页| 乱人伦99久久| 亚洲男人的天堂久久香蕉| 性网站在线观看| 国产精品成人啪精品视频| 亚洲成人免费看| 91成人在线观看视频| 免费人成黄页在线观看国产| 女人18毛片水真多国产| 岛国精品一区免费视频在线观看| 国产成人禁片在线观看| 国产精品毛片在线直播完整版| 亚洲人成色77777在线观看| 免费一级无码在线网站| 国产成人综合亚洲网址| 老司机午夜精品网站在线观看| 久久黄色一级视频| 99久久精品国产自免费| 亚洲视频三级| 91久久夜色精品| 99精品一区二区免费视频| 最新加勒比隔壁人妻|