国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于EtherCAT的磁懸浮電主軸通信系統(tǒng)設(shè)計*

2019-09-05 08:34:30毛飛龍
關(guān)鍵詞:處理單元電主軸管理器

毛飛龍, 周 凱, 榮 海

(清華大學(xué) 機械工程系,北京 100084)

0 引言

磁懸浮電主軸與傳統(tǒng)電主軸相比,消除了摩擦力,能夠以超高的轉(zhuǎn)速運行,是未來的發(fā)展方向。磁懸浮電主軸在高速運行時,位置和電流變化都非常快,位置和電流變化頻率都在上千赫茲。為了采集磁懸浮電主軸位置和電流信息,并下達控制指令,磁懸浮電主軸控制器與計算機之間必須要有快速且確定的通信。

現(xiàn)有磁懸浮控制系統(tǒng)與計算機之間大多使用串口或RS485進行通信,但是串口或RS485通信速度比較慢,難以滿足磁懸浮電主軸快速通信的需求。也有使用PCI總線,通過采集卡進行通信[1],但是PCI總線不夠靈活,抗干擾能力差,兼容性也不夠好。而實時以太網(wǎng)具有實時、快速、抗干擾能力強和兼容性好等優(yōu)點,滿足磁懸浮電主軸快速且確定的通信需求。EtherCAT是一種廣泛應(yīng)用的實時以太網(wǎng)協(xié)議,由德國倍福公司提出,現(xiàn)已成為國際標準[2]。EtherCAT具有延遲低,通信周期短,配置靈活等優(yōu)點[3]。

在Windows和普通Linux系統(tǒng)下,實時性難以保證,對Linux進行改造可以使其成為實時操作系統(tǒng)。目前應(yīng)用廣泛的Linux實時化方案有RT-Linux、RTAI和Xenomai等[4]。RT-Linux已經(jīng)停止對開源版本的支持。RTAI專注于獲得最低的延遲,而Xenomai注重可擴展性、靈活性和可維護性,在此基礎(chǔ)上達到盡可能低的延遲[5]。本文選擇RTAI實時化Linux系統(tǒng)以達到盡可能低的延遲。

本文通過采用EtherCAT實時以太網(wǎng)協(xié)議,在實時Linux系統(tǒng)RTAI上實現(xiàn)系統(tǒng)主站,在FPGA上實現(xiàn)系統(tǒng)從站,來保證系統(tǒng)實時性。

1 總體架構(gòu)

系統(tǒng)的總體架構(gòu)如圖1所示。系統(tǒng)分為兩部分,一部分是主站,位于計算機上,另一部分是從站位于以FPGA為核心的電主軸控制器上。

圖1 系統(tǒng)總體架構(gòu)

主站負責發(fā)起網(wǎng)絡(luò)通信、存儲實驗數(shù)據(jù)以及與人交互等功能。為了保證實時性,主站在基于RTAI的Linux下實現(xiàn)。RTAI采用雙內(nèi)核機制,在Linux內(nèi)核基礎(chǔ)上增加了一個RTAI實時內(nèi)核。RTAI內(nèi)核的中斷優(yōu)先級高于Linux內(nèi)核,硬件產(chǎn)生的中斷先經(jīng)過RTAI內(nèi)核處理后才會交給Linux內(nèi)核,這樣能保證RTAI內(nèi)核良好的硬實時性能[6]。

主站與電主軸控制器通過EtherCAT實時以太網(wǎng)協(xié)議進行通訊。EtherCAT網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

圖2 EtherCAT網(wǎng)絡(luò)結(jié)構(gòu)

EtherCAT網(wǎng)絡(luò)中有一臺主站,負責發(fā)起網(wǎng)絡(luò)操作。從設(shè)備通常有兩個網(wǎng)口,當從設(shè)備從前一節(jié)點收到網(wǎng)絡(luò)數(shù)據(jù),在接收的同時,要將數(shù)據(jù)向下一節(jié)點發(fā)送。一個節(jié)點引入的延遲很小[7]。這樣的結(jié)構(gòu)能夠避免傳統(tǒng)以太網(wǎng)的沖突,不用進行CSMA/CD沖突檢測,從而保證網(wǎng)絡(luò)的確定性與實時性。

2 主站設(shè)計

主站程序由網(wǎng)卡驅(qū)動模塊、EtherCAT協(xié)議棧模塊、電主軸控制模塊和用戶層程序組成。網(wǎng)卡驅(qū)動模塊、EtherCAT協(xié)議棧模塊和電主軸控制模塊在內(nèi)核層,要求實時性。用戶層程序在用戶層,對實時性沒有要求。

網(wǎng)卡驅(qū)動模塊直接控制網(wǎng)卡進行數(shù)據(jù)的收發(fā),與普通的Linux網(wǎng)卡驅(qū)動相比,為了保證實時性,屏蔽了網(wǎng)卡的所有中斷,采用輪詢方式,通過不斷查詢網(wǎng)卡的狀態(tài)來控制網(wǎng)卡的收發(fā)。另外,為了防止Linux系統(tǒng)的干擾,影響實時性,網(wǎng)卡驅(qū)動模塊不再向Linux上層網(wǎng)絡(luò)進行注冊,也不再調(diào)用Linux上層網(wǎng)絡(luò)的接口,而是直接向EtherCAT協(xié)議棧進行注冊,調(diào)用EtherCAT協(xié)議棧的接口完成以太網(wǎng)的收發(fā)。

EtherCAT協(xié)議棧采用開源的IgH EtherCAT Master。IgH EtherCAT Master是符合IEC / PAS 62407標準的EtherCAT主站,設(shè)計為Linux內(nèi)核模塊,具有性能好,占用資源少等特點[8]。

電主軸控制模塊使用RTAI提供的接口定時,周期性的通過EtherCAT協(xié)議棧模塊向從站發(fā)送并接收以太網(wǎng)幀。電機控制模塊負責EtherCAT協(xié)議棧初始化、從站初始化以及過程數(shù)據(jù)PDO的周期性發(fā)送等功能。

上面三個模塊都在Linux內(nèi)核層中,設(shè)計了用戶層程序以方便與人交互和存取數(shù)據(jù)。用戶層程序與電機控制模塊通過RT-FIFO進行數(shù)據(jù)交換。RT-FIFO是RTAI提供的用于實時進程和非實時進程之間通信的接口,不影響實時進程的性能[9]。

3 從站硬件選用

如圖3所示是從站硬件設(shè)計核心板,設(shè)計兩個網(wǎng)口以實現(xiàn)EtherCAT協(xié)議,通過剩余的引腳來連接電流傳感器、位置傳感器以及驅(qū)動電路。

FPGA是整個模塊的控制核心,采用了Altera公司的Cyclone III系列FPGA,其型號為EP3C5E144C8N。晶振頻率為20MHz,可以通過FPGA內(nèi)部PLL轉(zhuǎn)換成需要的時鐘頻率。AS配置芯片采用EPCS16,內(nèi)部空間約為16M,除去FPGA配置占用的空間,剩余的空間可以供EtherCAT IP核使用。

網(wǎng)絡(luò)收發(fā)PHY芯片型號為Microchip公司的KS8721BL/SL ,100M全雙工,連接FPGA接口為MII。RJ45接口自帶網(wǎng)絡(luò)隔離變壓器,提高了抗干擾能力。

圖3 從站硬件電路

4 EtherCAT IP核設(shè)計

本文實現(xiàn)了一個小型的EtherCAT IP核,該IP核實現(xiàn)的功能有:0~8個現(xiàn)場總線內(nèi)存管理單元(FMMU);0~8個同步管理器(SyncManagers);可以配置大于等于一個網(wǎng)口;實現(xiàn)了過程數(shù)據(jù)接口(PDI);實現(xiàn)了從站信息接口(SII);內(nèi)存大小可以根據(jù)FPGA的資源情況靈活配置。

下面以常見的雙網(wǎng)口配置為例,介紹該IP核的實現(xiàn)。EtherCAT IP核的整體功能框圖如圖4所示。

網(wǎng)口1從前一級節(jié)點收到以太網(wǎng)數(shù)據(jù)后,經(jīng)過網(wǎng)口單元的緩沖,時鐘域變換,CRC校驗等處理后送到過程數(shù)據(jù)單元(PDU)處理單元。PDU處理單元解析到PDU,確認PDU目標地址為當前模塊后,根據(jù)PDU的命令類型,將PDU轉(zhuǎn)變?yōu)閷?nèi)部地址空間的訪問,送給同步管理器。同步管理器負責協(xié)調(diào)EtherCAT主站和本地端處理器對本地內(nèi)存和寄存器的讀寫。本地端處理器通過PDI接口來進行對本地內(nèi)存和寄存器的讀寫。同步管理器處理完后將結(jié)果返回給PDU處理單元,PDU處理單元將結(jié)果更新到PDU中,然后處理下一個PDU。PDU處理單元處理完所有PDU,在以太網(wǎng)幀末尾添加CRC校驗。PDU處理單元在處理同時,將數(shù)據(jù)通過網(wǎng)口2發(fā)往下一級節(jié)點[10]。

圖4EtherCAT IP核整體功能框圖

PDU處理單元是整個IP核功能的核心。PDU處理單元將以太網(wǎng)幀分拆成獨立的PDU,然后將PDU映射為對內(nèi)存或寄存器的讀寫,交給同步管理器。其處理流程如圖5所示[11]。

網(wǎng)口單元連接外部PHY芯片與PDU處理單元,負責網(wǎng)絡(luò)數(shù)據(jù)的跨時鐘轉(zhuǎn)換和CRC校驗,網(wǎng)口單元對IP核數(shù)據(jù)處理的可靠性具有重要作用。

對于MII接口的PHY芯片,接受數(shù)據(jù)以rxc時鐘為基準,發(fā)送數(shù)據(jù)以txc時鐘為基準。rxc和txc兩個時鐘由PHY從外部引腳送到FPGA,與FPGA 中PLL產(chǎn)生的時鐘相比,這兩個時鐘不穩(wěn)定,為了保證數(shù)據(jù)處理的可靠性,要將數(shù)據(jù)轉(zhuǎn)換到clk時鐘域進行處理。網(wǎng)口單元通過異步FIFO來保證數(shù)據(jù)在rcx/txc時鐘域與clk時鐘域之間可靠轉(zhuǎn)換。

為了保證發(fā)送和接收數(shù)據(jù)的有效性,本文實現(xiàn)了一個位寬為8位的CRC校驗?zāi)K,核心部分通過組合邏輯來實現(xiàn),方便整合到網(wǎng)絡(luò)數(shù)據(jù)串行接收和發(fā)送過程。

同步管理器提供緩存和郵箱兩種模式訪問內(nèi)存,還要保證PDU處理單元和PDI接口對內(nèi)存和寄存器的可靠訪問。

緩存模式由3個內(nèi)存區(qū)域?qū)崿F(xiàn),3個內(nèi)存區(qū)域中的一個用于寫入,一個分配給使用者用于讀取,第3個保留最后寫入數(shù)據(jù)。這種模式始終允許雙向讀寫操作。郵箱模式使用一個內(nèi)存區(qū)域?qū)崿F(xiàn),通信具有互鎖特性,一端寫入數(shù)據(jù),然后這個存儲直到被另一端讀取之前一直鎖定,不能再寫入[11]。這兩個模式的實現(xiàn)嚴格按照國家標準GB/T 31230.4-2014的要求實現(xiàn)。

在訪問內(nèi)存和寄存器時,PDU處理單元和PDI接口在出現(xiàn)同時寫入或者一方寫入,一方讀取等情況時容易產(chǎn)生錯誤。所以同一時間在一方進行讀寫時,另一方應(yīng)該等待。該過程由mcyc_o總線周期來保證,mcyc_o為高時有效,表示有一方在申請操作總線。由于要保證網(wǎng)絡(luò)的實時性,所以優(yōu)先PDU處理單元的讀寫操作,PDU處理單元要進行寄存器讀寫時會將mcyc_o總線周期信號拉高,這時PDI接口要訪問寄存器時,同步管理器會通知PDI接口等待,直到PDU處理單元操作完成將mcyc_o總線周期信號拉低后,PDI接口才能訪問寄存器。

圖5 PDU處理單元流程圖

5 系統(tǒng)測試

5.1 EtherCAT IP核功能測試。

系統(tǒng)搭建好后,成功實現(xiàn)計算機與磁懸浮電主軸控制器的通信,表明該IP核能夠正確地解析EtherCAT協(xié)議并做出正確的回應(yīng)。

如圖6所示,在Quartus II自帶的邏輯分析儀下可以看到IP核總共引入的延遲為0.63μs,具有良好的實時性。

圖6 EtherCAT IP核收發(fā)時序

5.2 網(wǎng)絡(luò)實時性能測試

從站FPGA使用晶振并通過PLL得到周期為10ns的高精度時鐘信號,以此時鐘信號為基準實現(xiàn)一個32位的計數(shù)器。主站按照一定的頻率通過網(wǎng)絡(luò)讀取從站的計數(shù)值,并與理論值相比較得到網(wǎng)絡(luò)通信周期的誤差。

通信周期為100μs時,誤差分布如圖7所示,誤差大小絕大部分在1μs以內(nèi)。

圖7 通信周期為100μs時的周期誤差

通信周期為20μs時,誤差分布如圖8所示,相比100μs通信周期,大誤差的出現(xiàn)增多,但絕大部分誤差大小仍在在1μs以內(nèi)。

圖8 通信周期為20μs時的周期誤差

5.3 磁懸浮電主軸數(shù)據(jù)采集

圖9是通過網(wǎng)絡(luò)在通信周期為100μs時采集的磁懸浮電主軸軸承位置和電流的頻譜。從圖中可以看到通過本文設(shè)計的通信系統(tǒng)采集的數(shù)據(jù)能夠還原出2.5kHz頻率以內(nèi)的信號。這說明本文設(shè)計的通信系統(tǒng)能有效地采集磁懸浮電主軸的位置電流信號。

圖9 磁懸浮電主軸位置和電流頻譜

圖10是通過網(wǎng)絡(luò)在通信周期為20μs時采集的磁懸浮電主軸電機在7500rpm轉(zhuǎn)速下的電流曲線。磁懸浮電主軸電機采用四相8/6結(jié)構(gòu)的開關(guān)磁阻電機,在7500rpm轉(zhuǎn)速下電流切換頻率達到3kHz,通過本文設(shè)計的通信系統(tǒng),仍然可以得到完整的電流曲線。這為電機的控制和調(diào)試提供了方便。

圖10 磁懸浮電主軸電機電流曲線

6 結(jié)論

本文提出了基于EtherCAT的高速電主軸通信系統(tǒng),在實時Linux系統(tǒng)RTAI下構(gòu)建了EtherCAT主站,在FPGA上實現(xiàn)了EtherCAT從站IP核進而構(gòu)建了高速電主軸控制器。通過實驗驗證了通信系統(tǒng)的功能,通信周期可以達到20μs,具有優(yōu)異的實時性能。

猜你喜歡
處理單元電主軸管理器
不同生物鏈組合對黃河下游地區(qū)引黃水庫富營養(yǎng)化及藻類控制
城市污水處理廠設(shè)備能耗及影響因素分析研究
科技資訊(2021年10期)2021-07-28 04:04:53
長填齡滲濾液MBR+NF組合工藝各處理單元的DOM化學(xué)多樣性
一種高可用負載均衡網(wǎng)絡(luò)數(shù)據(jù)采集處理的方法及系統(tǒng)
應(yīng)急狀態(tài)啟動磁盤管理器
高速角接觸陶瓷球軸承電主軸的輻射噪聲分析
Windows文件緩沖處理技術(shù)概述
一種縱切車床電主軸結(jié)構(gòu)的創(chuàng)新設(shè)計
數(shù)控機床電主軸虛擬教學(xué)系統(tǒng)的研究
一類高速電主軸的動力學(xué)建模及振動響應(yīng)分析
蕲春县| 丹棱县| 息烽县| 池州市| 丰都县| 那曲县| 丘北县| 田林县| 上犹县| 农安县| 交口县| 洛川县| 宜良县| 定陶县| 辽宁省| 綦江县| 宝清县| 博白县| 久治县| 西丰县| 庐江县| 巴青县| 棋牌| 抚州市| 潮安县| 西青区| 丽水市| 淮南市| 天台县| 武义县| 阜南县| 宿迁市| 密山市| 怀来县| 金塔县| 郴州市| 盐山县| 华坪县| 晋州市| 凤台县| 南部县|