劉山源,
(1.清華大學(xué) 工程物理系,北京100084;2.清華大學(xué) 粒子技術(shù)與輻射成像教育部重點(diǎn)實(shí)驗(yàn)室)
現(xiàn)如今的工業(yè)控制領(lǐng)域中,傳統(tǒng)的經(jīng)典現(xiàn)場(chǎng)總線已經(jīng)很難滿(mǎn)足當(dāng)今的工業(yè)要求,而現(xiàn)場(chǎng)總線的實(shí)時(shí)性能也越發(fā)重要。來(lái)自德國(guó)的Beckhoff(倍福自動(dòng)化公司)研發(fā)出了工業(yè)以太網(wǎng)EtherCAT,它具有非常高的實(shí)時(shí)性能,將功能強(qiáng)大和成本低廉結(jié)合在一起。
追溯到2003年,倍福公司的EtherCAT正式進(jìn)入了市場(chǎng),同樣也是在2003年,ETG技術(shù)協(xié)會(huì)基于推廣EtherCAT的發(fā)展和其技術(shù)提升的目的而成立[1]。通過(guò)EtherCAT技術(shù)方案,從站成本大大降低,因?yàn)閺S商在采用EtherCAT研發(fā)的時(shí)候在通信研究方面花費(fèi)的成本是很低的,而與此同時(shí)主站又不需要添加任何硬件,只需一臺(tái)帶有標(biāo)準(zhǔn)以太網(wǎng)卡的PC機(jī)即可。對(duì)于網(wǎng)絡(luò)的基礎(chǔ)設(shè)施,這方面的成本也極大地降低了,普通的交換機(jī)就可以集成到EtherCAT網(wǎng)絡(luò)中去。除此之外,EtherCAT技術(shù)支持的拓?fù)浣Y(jié)構(gòu)非常靈活,涵蓋幾乎所有的網(wǎng)絡(luò)拓?fù)?,?qiáng)大的靈活性使EtherCAT的系統(tǒng)規(guī)劃非常簡(jiǎn)單快捷,工作效率成倍提高。EtherCAT將性能和成本結(jié)合在一起,提高了產(chǎn)品的核心競(jìng)爭(zhēng)力,在現(xiàn)場(chǎng)總線領(lǐng)域堪稱(chēng)榜首。
整個(gè)系統(tǒng)分成了兩部分:主站和從站。其中,主站的作用是將以太網(wǎng)幀發(fā)送給各個(gè)從站,而從站的作用是對(duì)主站發(fā)送來(lái)的以太網(wǎng)數(shù)據(jù)幀進(jìn)行處理,包括抽取數(shù)據(jù)和反過(guò)來(lái)插入數(shù)據(jù)幀。各個(gè)從站按順序依次接收?qǐng)?bào)文并處理后,把處理后的報(bào)文傳輸給下一個(gè)從站,末尾從站發(fā)回被完整處理過(guò)后的報(bào)文[2],如圖1所示。
圖1 EtherCAT運(yùn)行原理
EtherCAT數(shù)據(jù)幀可以在普通以太網(wǎng)中傳輸,這是因?yàn)镋therCAT使用的是0x88a4的以太網(wǎng)幀來(lái)進(jìn)行數(shù)據(jù)傳輸,這就是EtherCAT的優(yōu)勢(shì)之一。EtherCAT數(shù)據(jù)幀能夠在以太網(wǎng)中傳輸,其它以太網(wǎng)數(shù)據(jù)幀還可以和其互補(bǔ)。
EtherCAT本身來(lái)自以太網(wǎng),因?yàn)樗褂昧艘蕴W(wǎng)的物理層,兼容以太網(wǎng),但又從普通以太網(wǎng)中跳脫出來(lái),實(shí)現(xiàn)低延時(shí),突破了傳統(tǒng)以太網(wǎng)的弊病。以太網(wǎng)網(wǎng)關(guān)采用的是“存儲(chǔ)轉(zhuǎn)發(fā)”,通過(guò)存儲(chǔ)轉(zhuǎn)發(fā)來(lái)交換數(shù)據(jù),節(jié)點(diǎn)越多,每個(gè)節(jié)點(diǎn)上面的延時(shí)就會(huì)重重疊加,再加上以太網(wǎng)收發(fā)數(shù)據(jù)存在的沖突檢測(cè),致使數(shù)據(jù)出現(xiàn)了不確定的時(shí)延。但是EtherCAT不同,它將所有節(jié)點(diǎn)的數(shù)據(jù)都放在同一幀內(nèi),并且用硬件尋址來(lái)取代“存儲(chǔ)轉(zhuǎn)發(fā)”,解決了以太網(wǎng)的弊病,最終實(shí)現(xiàn)了兼具高速度與高效率的數(shù)據(jù)傳輸。打個(gè)比方,EtherCAT就像地鐵一樣,乘客們像數(shù)據(jù)包在同一幀上,在某站點(diǎn)快速上下,停留時(shí)間非常短,方便快捷,同時(shí)時(shí)延確定。
EtherCAT幀頭和數(shù)據(jù)域共同組成了EtherCAT數(shù)據(jù)幀,其中幀頭中包含有EtherCAT數(shù)據(jù)幀的長(zhǎng)度和類(lèi)型等各種信息,而EtherCAT的數(shù)據(jù)域?yàn)橹饕獢?shù)據(jù)內(nèi)容部分,可發(fā)送至多1498個(gè)字節(jié)的數(shù)據(jù),幀格式如下:[3]
在研究針對(duì)工業(yè)的CT機(jī)中,整個(gè)系統(tǒng)主要由5個(gè)部分組成:射線源主管發(fā)出高能線束來(lái)穿透工件;探測(cè)器系統(tǒng)則用來(lái)精確測(cè)量穿透工件的射線信號(hào)強(qiáng)度;機(jī)械掃描系統(tǒng)帶動(dòng)了整個(gè)裝置工件的運(yùn)動(dòng);計(jì)算機(jī)系統(tǒng)主要用來(lái)處理各個(gè)角度的切片圖,通過(guò)特定算法形成CT圖;最后屏蔽設(shè)施保證了整個(gè)機(jī)器的安全性,如圖2所示。
圖2 工業(yè)CT系統(tǒng)
機(jī)械掃描系統(tǒng)在實(shí)現(xiàn)CT掃描工件的旋轉(zhuǎn)與位移時(shí),機(jī)械系統(tǒng)旋轉(zhuǎn)的編碼值跳變需要提供給觸發(fā)器,通過(guò)觸發(fā)器來(lái)控制射線源與探測(cè)器系統(tǒng)的開(kāi)關(guān)過(guò)程。圖3為觸發(fā)器。
圖3 觸發(fā)器設(shè)備
為了實(shí)現(xiàn)工業(yè)CT的實(shí)時(shí)性,使用了倍福的運(yùn)動(dòng)控制器來(lái)控制機(jī)械系統(tǒng)運(yùn)動(dòng),必須通過(guò)EtherCAT來(lái)獲取編碼值跳變,需要做的板子部分如圖4、圖5所示,具體從站硬件部分框架如圖6所示。
圖4 舊的觸發(fā)器
圖5 新的需要完成的觸發(fā)器
圖6 從站硬件整體框圖
2.2.1XMC4800芯片部分
XMC4800是Infineon(英飛凌)公司在2015年推出的一款片內(nèi)集成EtherCAT的微處理器,基于ARM Cortex-M4內(nèi)核,配備了144 MHz CPU、最高可達(dá)2 MB的Flash、352 KB的RAM,還配有可用于編碼器、旋轉(zhuǎn)變壓器和霍爾傳感器的接口單元,有多種外設(shè),例如6個(gè)捕獲/比較單元、4個(gè)△-Σ解調(diào)器模塊、2個(gè)定位接口模塊、2個(gè)12位D/A轉(zhuǎn)換器、4個(gè)12位A/D轉(zhuǎn)換器等[4]。
XMC4800的集成度非常高,完全不需要配置專(zhuān)門(mén)的器件,這樣的高集成度使PCB空間更加簡(jiǎn)約,并且大大提高了系統(tǒng)可靠性。與此同時(shí),EtherCAT ASIC或FPGA、外接存儲(chǔ)器和PHY專(zhuān)用晶體振蕩器等器件全都省略之后,對(duì)研究和工程成本開(kāi)支也是極大的節(jié)省。另外,它可以輕易處理數(shù)字模擬混合信號(hào),采樣速率可達(dá)4 Msps,完全能夠滿(mǎn)足高速采樣的需求,在125 ℃的嚴(yán)酷環(huán)境溫度下依然可以正常高效率工作,在各種工業(yè)應(yīng)用場(chǎng)景中應(yīng)用廣泛。本次設(shè)計(jì)選用的是XMC4800-F144F2048,封裝為L(zhǎng)QFP-144,2 MB內(nèi)部Flash。
2.2.2EtherCAT電路部分
EtherCAT的總線物理層除了需要ESC部分外,還需要PHY電路,而PHY電路與以太網(wǎng)是相同的,通過(guò)MII(媒體獨(dú)立接口)與XMC4800相對(duì)接,而后將數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)變壓器,通過(guò)變壓器耦合后從RJ45接頭傳輸?shù)骄W(wǎng)絡(luò)電纜。本設(shè)計(jì)中選用了BCM5241KMLG芯片作為PHY電路,網(wǎng)絡(luò)接頭選擇RJ45。
在本設(shè)計(jì)中,使用普通帶有以太網(wǎng)網(wǎng)口的PC機(jī)作為主站,快捷方便,同時(shí)通過(guò)倍福的TwinCAT軟件來(lái)實(shí)現(xiàn)主站的各種功能,主要負(fù)責(zé)控制所有從站設(shè)備的工作狀態(tài),同時(shí)管理主從站間的數(shù)據(jù)通信。
在EtherCAT網(wǎng)絡(luò)中,主從站之間數(shù)據(jù)交換的形式有非周期性數(shù)據(jù)通信和周期性過(guò)程數(shù)據(jù)通信。其中非周期通信主要是郵箱通信,采用查詢(xún)方式,在非實(shí)時(shí)場(chǎng)合應(yīng)用廣泛,比如傳遞設(shè)備信息文件等。而周期性通信主要是過(guò)程數(shù)據(jù)通信,應(yīng)用于實(shí)時(shí)場(chǎng)合,從站程序?qū)χ芷谛酝ㄐ趴梢圆捎弥袛喾绞?,通過(guò)現(xiàn)場(chǎng)總線邏輯單元來(lái)進(jìn)行尋址,緩沖區(qū)本身是在內(nèi)存中分配的一段空間,它可以被主從節(jié)點(diǎn)同時(shí)訪問(wèn)[5]。本次設(shè)計(jì)采用的是周期性過(guò)程數(shù)據(jù)通信,中斷方式流程圖如圖7所示。
圖7 中斷方式流程圖
在Windows系統(tǒng)中使用TwinCAT軟件,配置主從站XML文件[6],掃描I/O后添加Box從而連接上主從站,即可實(shí)現(xiàn)主從通信[7]。
設(shè)計(jì)出的EtherCAT從站板卡設(shè)備硬件電路如圖8所示。
圖8 從站板卡
通過(guò)J-link調(diào)試器經(jīng)過(guò)ARM標(biāo)準(zhǔn)JTAG連接器與Cortex調(diào)試連接器轉(zhuǎn)換進(jìn)行燒錄,在平臺(tái)DAVE上寫(xiě)入點(diǎn)亮V232小燈程序,小燈即被點(diǎn)亮,如圖9所示。
圖9 LED點(diǎn)亮實(shí)驗(yàn)
DAVE中寫(xiě)入U(xiǎn)ART程序,可以在超級(jí)終端中顯示TsinghuaUniversity以及輸入的前10個(gè)字母,因此能夠通過(guò)串口進(jìn)行通信,如圖10、圖11所示。
圖10 UART實(shí)驗(yàn)
圖11 超級(jí)終端顯示
從站通過(guò)Window 環(huán)境中的TwinCAT來(lái)進(jìn)行測(cè)試,通過(guò) TwinCAT 對(duì)從站中信息的讀取,可以驗(yàn)證從站設(shè)計(jì)的正確與否,從站是否能與主站之間進(jìn)行通信。經(jīng)過(guò)數(shù)據(jù)輸入TwinCAT測(cè)試證明,該系統(tǒng)可以將倍福運(yùn)動(dòng)控制系統(tǒng)的編碼值提取出來(lái)提供給觸發(fā)器,并完成觸發(fā)器對(duì)射線源與探測(cè)器系統(tǒng)的控制開(kāi)啟,如圖12、圖13、圖14所示。
圖12 EtherCAT通信實(shí)驗(yàn)
圖13 數(shù)據(jù)輸入TwinCAT測(cè)試
圖14 數(shù)據(jù)輸入TwinCAT測(cè)試
通過(guò)TwinCAT在小燈V232寫(xiě)入高電平可以點(diǎn)亮小燈,寫(xiě)入低電平可以熄滅小燈。經(jīng)過(guò)數(shù)據(jù)輸入TwinCAT測(cè)試證明,該系統(tǒng)可以將倍福運(yùn)動(dòng)控制系統(tǒng)的編碼值提取出來(lái)提供給觸發(fā)器,并完成觸發(fā)器對(duì)射線源與探測(cè)器系統(tǒng)的控制開(kāi)啟。