韓學(xué)軍, 王濤濤(東北大學(xué) . 機(jī)械工程與自動(dòng)化學(xué)院;. 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110819)
?
基于嵌入式技術(shù)的以太網(wǎng)節(jié)點(diǎn)控制器研制
韓學(xué)軍a, 王濤濤b
(東北大學(xué) a. 機(jī)械工程與自動(dòng)化學(xué)院;b. 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110819)
研制了基于嵌入式技術(shù)的FAST射電望遠(yuǎn)鏡以太網(wǎng)節(jié)點(diǎn)控制器,節(jié)點(diǎn)控制器具有嵌入式以太網(wǎng)通信模塊,高速的工作速率和實(shí)時(shí)可靠的操作,較強(qiáng)的運(yùn)算能力和遠(yuǎn)程更新等功能。硬件電路方面主要實(shí)現(xiàn)了以太網(wǎng)接口模塊、電機(jī)控制電路、網(wǎng)絡(luò)通信模塊電路和時(shí)鐘芯片電路等的設(shè)計(jì),控制器程序方面完成了基于μC/OS-II操作系統(tǒng)上的各個(gè)程序模塊的設(shè)計(jì)。以太網(wǎng)節(jié)點(diǎn)控制器在密云模型中進(jìn)行了運(yùn)行和測(cè)試,達(dá)到了主動(dòng)反射面控制系統(tǒng)的設(shè)計(jì)要求。
嵌入式技術(shù); 射電望遠(yuǎn)鏡; 以太網(wǎng); LPC2368
為加快對(duì)宇宙探索的進(jìn)程,提高我國的深空探測(cè)能力, 1994年中國天文界提出建造世界最大的單口徑射電望遠(yuǎn)鏡[1]—500 m單口徑球面射電天文望遠(yuǎn)鏡(Five-hundred-meter Aperture Spherical radio Telescope,F(xiàn)AST)。針對(duì)FAST整體索網(wǎng)反射面[2]上眾多節(jié)點(diǎn)的控制系統(tǒng),網(wǎng)絡(luò)化設(shè)計(jì)是其首選方案。在如今的工業(yè)控制領(lǐng)域,總線技術(shù)[3]應(yīng)用非常廣泛?,F(xiàn)流行的總線方式[4]有RS-485總線技術(shù)、CAN總線技術(shù)[5]等。而以太網(wǎng)具有應(yīng)用廣泛,價(jià)格低廉、多種傳輸介質(zhì)可選、高速度、易于組網(wǎng)應(yīng)用等優(yōu)點(diǎn)[6],于是以太網(wǎng)作為該系統(tǒng)的現(xiàn)場總線技術(shù)非常合適。本文應(yīng)用在50 m密云縮比模型基礎(chǔ)上,選擇嵌入式實(shí)時(shí)系統(tǒng)作為節(jié)點(diǎn)控制器的操作系統(tǒng),節(jié)點(diǎn)控制器通過以太網(wǎng)接收來自總控制PC的命令,并根據(jù)命令內(nèi)容控制索網(wǎng)節(jié)點(diǎn)發(fā)生相應(yīng)動(dòng)作,并把索網(wǎng)節(jié)點(diǎn)的運(yùn)行狀況與狀態(tài)通過以太網(wǎng)傳輸給總控制PC,從而達(dá)到對(duì)整個(gè)反射面的控制。
節(jié)點(diǎn)控制器作為整個(gè)主動(dòng)反射面控制系統(tǒng)的基本控制單元,起著非常重要的作用。節(jié)點(diǎn)控制器的主要功能:從總控制PC收到控制信息然后依據(jù)控制信息的內(nèi)容做出判斷并控制電機(jī)運(yùn)動(dòng);同時(shí)也會(huì)將電機(jī)的狀態(tài)信息上傳給控制計(jì)算機(jī)。根據(jù)節(jié)點(diǎn)控制器的功能,確定節(jié)點(diǎn)控制器的設(shè)計(jì)方案,如圖1所示。
整個(gè)節(jié)點(diǎn)控制器分為以下幾個(gè)部分:①電源管理模塊:將電源總線提供的電源轉(zhuǎn)換為節(jié)點(diǎn)控制器內(nèi)部需要的標(biāo)準(zhǔn)電壓,并將節(jié)點(diǎn)控制器的電源與總線電源相互隔離,從而起到保護(hù)節(jié)點(diǎn)控制器的功能。②主控芯片LPC2368及其外圍電路模塊;③以太網(wǎng)通信模塊:主要是由LPC2368的MAC模塊、物理層芯片DM9161、網(wǎng)絡(luò)變壓器HR601682和RJ45接口組成,是一種非常經(jīng)典,并具有較高的穩(wěn)定性與可靠性的以太網(wǎng)硬件接口;④電機(jī)控制反饋模塊;⑤上/下限位信號(hào)硬件部分:是由安裝在促動(dòng)器上的行程開關(guān)連接與斷開來判斷執(zhí)行機(jī)構(gòu)是否超出其運(yùn)動(dòng)范圍;⑥手動(dòng)控制模塊:主要是根據(jù)硬件選擇節(jié)點(diǎn)控制器選擇的工作模式,其中有LED指示燈用于顯示當(dāng)前選擇的模式,手動(dòng)功能只有在某種調(diào)試時(shí)才會(huì)使用,大多數(shù)情況下,節(jié)點(diǎn)控制器均處于自動(dòng)模式;⑦數(shù)碼管顯示模塊:是在調(diào)試階段便于觀察促動(dòng)器當(dāng)前位置等相關(guān)信息的本地監(jiān)控;⑧數(shù)據(jù)存儲(chǔ)與時(shí)間模塊:由時(shí)鐘芯片F(xiàn)M3130來實(shí)現(xiàn),其具有數(shù)據(jù)存儲(chǔ)和提供時(shí)間信息兩個(gè)功能;⑨接口電路模塊:采用光耦將輸入信號(hào)和輸出信號(hào)將外部信號(hào)與控制器內(nèi)部電路相互隔離。RS-485電路模塊是用于備用串行網(wǎng)絡(luò),它將在后期的網(wǎng)絡(luò)流量監(jiān)測(cè)[7],網(wǎng)絡(luò)性能分析中使用。
節(jié)點(diǎn)控制器[8]作為整個(gè)索網(wǎng)反射面控制系統(tǒng)的基本控制單元,根據(jù)實(shí)際功能需要,硬件方面應(yīng)具備以太網(wǎng)接口模塊、網(wǎng)絡(luò)通信模塊電路、電機(jī)控制電路、電機(jī)監(jiān)測(cè)電路和時(shí)鐘芯片電路等功能??刂破麟娐钒迨菍?shí)現(xiàn)控制器功能的底層硬件平臺(tái)。
2.1 主控芯片模塊設(shè)計(jì)
節(jié)點(diǎn)控制器的主控芯片采用NXP公司的基于ARM內(nèi)核的LPC2368芯片[9]。LPC2368內(nèi)核為ARM7TDMI-S處理器,可在高達(dá)72 MHz的工作頻率下運(yùn)行,具有豐富的GPIO資源和外部中斷資源,可作為控制器零點(diǎn)、限位和電機(jī)控制等多路信號(hào)的輸入輸出引腳。芯片內(nèi)部集成了以太網(wǎng)MAC模塊,外接必要的物理層芯片可實(shí)現(xiàn)以太網(wǎng)接入功能。同時(shí)該芯片的抗干擾能力強(qiáng),適合在工業(yè)控制領(lǐng)域的應(yīng)用。
微控制器LPC2368的最小系統(tǒng)電路,包括芯片供電電路,復(fù)位電路,晶振電路和程序下載電路4部分。LPC2368具有多組電源引腳,其中10個(gè)引腳需要3.3 V供電,同時(shí)要在電源腳和地之間接入0.1 μF的去藕電容,這樣能夠降低電路板因走線而形成的電源噪聲,另外有8個(gè)引腳需要接地。LPC2368的復(fù)位為低電平有效,該電路具有上電復(fù)位和手動(dòng)復(fù)位功能。晶振電源部分采用12 MHz的外部晶振,經(jīng)芯片內(nèi)部鎖相環(huán)倍頻后,LPC2368的時(shí)鐘頻率可達(dá)72 MHz。
2.2 時(shí)鐘芯片電路設(shè)計(jì)
時(shí)鐘芯片F(xiàn)M3130作為數(shù)據(jù)存儲(chǔ)和實(shí)時(shí)時(shí)鐘雙重身份出現(xiàn),該芯片采用3.3 V供電,在無備用電源時(shí),電源下電,存儲(chǔ)在非易失性存儲(chǔ)器中的數(shù)據(jù)不會(huì)丟失,但時(shí)鐘信息將會(huì)丟失。上次的時(shí)鐘信息對(duì)本次的使用沒有價(jià)值,因?yàn)榭刂葡到y(tǒng)對(duì)時(shí)間的精度要求較高,在整個(gè)反射面系統(tǒng)中具有一個(gè)標(biāo)準(zhǔn)的統(tǒng)一時(shí)間,需要整個(gè)系統(tǒng)遵守。故每次在進(jìn)入自動(dòng)觀測(cè)狀態(tài)前需要對(duì)節(jié)點(diǎn)控制器設(shè)定時(shí)間,使所有的節(jié)點(diǎn)控制器具有相同的時(shí)間。該芯片需要時(shí)鐘電路,其采用32.768 kHz的外部晶振提供內(nèi)部時(shí)鐘。它與主控芯片之間的通信方式采用IIC總線協(xié)議,它將作為從設(shè)備,掛在總線上,而MCU將作為主設(shè)備對(duì)時(shí)鐘芯片配置時(shí)鐘信息和存儲(chǔ)或讀取FRAM中的數(shù)據(jù)。因?yàn)椴捎玫氖荌IC總線協(xié)議因此在數(shù)據(jù)引腳和時(shí)鐘引腳分別加上一個(gè)上拉電阻,為確保VDD引腳具有良好的退耦性,VDD需要接一個(gè)0.1 μF電容進(jìn)行濾波。其電路圖如圖2所示。
圖2 時(shí)鐘芯片電路
2.3 接口電路設(shè)計(jì)
節(jié)點(diǎn)控制器使用光耦TLP521將控制器外部和內(nèi)部相互隔離,避免了外部可能的干擾對(duì)電路板的影響。
零點(diǎn)檢測(cè)信號(hào)和計(jì)數(shù)信號(hào)是由外部霍爾提供的,它們的信號(hào)高電平均為5 V電壓,但由于微控制器LPC2368使用3.3 V供電,其大部分GPIO只能接受3.3 V的電壓,5 V的電壓可能會(huì)對(duì)IO[10]造成損壞。故對(duì)它們的信號(hào)需要電平轉(zhuǎn)換,而光耦TLP521即可實(shí)現(xiàn)這個(gè)功能。因?yàn)槿鐖D3所示為TLP521的內(nèi)部原理圖,其輸入端和輸出端隔離,僅通過光信號(hào)來傳遞的。故既起到隔離的作用也可以實(shí)現(xiàn)電平轉(zhuǎn)換的作用。
節(jié)點(diǎn)控制器的控制信號(hào)作為強(qiáng)電驅(qū)動(dòng)板的邏輯芯片的輸入信號(hào),由于節(jié)點(diǎn)控制器與強(qiáng)電板有一定的距離,為了提高輸出信號(hào)的驅(qū)動(dòng)能力,選用TLP521增強(qiáng)驅(qū)動(dòng)之用。強(qiáng)電板上使用380 V交流,因此遭到強(qiáng)電破壞的可能也會(huì)增加,為了避免強(qiáng)電板對(duì)控制板帶來的損壞,故選用TLP521用作隔離之用。因此TLP521在控制信號(hào)輸出端具有隔離與增加驅(qū)動(dòng)能力的功能。
2.4 網(wǎng)絡(luò)通信模塊電路設(shè)計(jì)
節(jié)點(diǎn)控制器要實(shí)現(xiàn)以太網(wǎng)的接入,必須為其設(shè)計(jì)以太網(wǎng)硬件接口電路。嵌入式[11]以太網(wǎng)硬件接口典型電路包括MAC模塊、物理層芯片、網(wǎng)絡(luò)隔離變壓器和RJ45接口四部分組成。在主控芯片LPC2368中帶有以太網(wǎng)MAC模塊,這個(gè)以太網(wǎng)MAC通過使用加速的DMA硬件來提供優(yōu)化的性能。選用DM9161作為物理層芯片,它是一款單芯片的10/100 MHz以太網(wǎng)物理層收發(fā)器[12],它具有低功耗、波形穩(wěn)定、價(jià)格便宜等特點(diǎn)。采用HR601682作為網(wǎng)絡(luò)隔離變壓器,它在網(wǎng)絡(luò)通信過程中所起的作用[13]有兩個(gè):一是傳輸數(shù)據(jù),將物理層輸出的差分信號(hào)通過差模耦合的線圈進(jìn)行耦波以增強(qiáng)信號(hào),并且通過電磁場的轉(zhuǎn)換耦合到不同電平的連接網(wǎng)線的另外一端;除此之外,以太網(wǎng)濾波變壓器還能對(duì)設(shè)備起到一定的防雷保護(hù)作用。RJ45接口采用帶有LED指示燈的標(biāo)準(zhǔn)接口。
2.5 電機(jī)控制電路設(shè)計(jì)
節(jié)點(diǎn)控制器通過對(duì)促動(dòng)器電機(jī)的控制,可以改變下拉索的長度,進(jìn)而改變每個(gè)反射面單元的位置,所以整個(gè)控制電路的設(shè)計(jì)對(duì)整個(gè)球狀反射面的動(dòng)態(tài)成型起著至關(guān)重要的作用。節(jié)點(diǎn)控制器是通過一個(gè)與其分離的電機(jī)驅(qū)動(dòng)板來控制電機(jī)運(yùn)行的。電機(jī)的運(yùn)行受兩路信號(hào)線控制,這兩路控制信號(hào)最初是從主控芯片LPC2368的兩個(gè)引腳上發(fā)出的,經(jīng)節(jié)點(diǎn)控制器板上的數(shù)字邏輯電路使其輸出信號(hào)與電機(jī)驅(qū)動(dòng)板輸入的匹配,進(jìn)而通過電機(jī)驅(qū)動(dòng)板完成對(duì)電機(jī)的控制功能。如圖4所示,為節(jié)點(diǎn)控制的電機(jī)控制電路和限位電路原理圖。經(jīng)過前端的邏輯電平轉(zhuǎn)換,將微控制器的控制電平、上下限位的邏輯電平經(jīng)過三輸入或非門,共同控制促動(dòng)器電機(jī)的正反轉(zhuǎn)。當(dāng)微控制器控制電機(jī)轉(zhuǎn)動(dòng)(向下或向上)時(shí),發(fā)生異常,不能發(fā)送停止電平,則當(dāng)促動(dòng)器運(yùn)動(dòng)到限位開關(guān)處,接觸到限位開關(guān)產(chǎn)生限位電平時(shí),限位電平可以通過邏輯電路使輸出給強(qiáng)電驅(qū)動(dòng)板的信號(hào)處于停止電平,以免驅(qū)動(dòng)裝置受到破壞。保證了主動(dòng)反射面控制系統(tǒng)的安全運(yùn)行。
圖4 電機(jī)控制及限位開關(guān)電路
節(jié)點(diǎn)控制器的軟件系統(tǒng)是在操作系統(tǒng)μC/OS-II上運(yùn)行的。μC/OS-II 是一種基于優(yōu)先級(jí)的搶占式多任務(wù)實(shí)時(shí)操作系統(tǒng)[14],包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)間通信同步和內(nèi)存管理等功能。本文選擇Keil for ARM作為開發(fā)環(huán)境。使用通用C語言編寫程序[15]。Keil for ARM軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具。
3.1 以太網(wǎng)通信程序設(shè)計(jì)
本系統(tǒng)應(yīng)用程序基于以太網(wǎng)驅(qū)動(dòng)程序進(jìn)行編程,以太網(wǎng)數(shù)據(jù)接收采用以太網(wǎng)中斷方式,其為微控制器32個(gè)中斷之一,在初始化以太網(wǎng)時(shí),打開以太網(wǎng)中斷,等待接收數(shù)據(jù)。TCP/IP通信[16]為服務(wù)器與客戶端間進(jìn)行通信,需要總控制PC訪問節(jié)點(diǎn)控制器,故節(jié)點(diǎn)控制器作為服務(wù)器,總控制PC作為客戶端。節(jié)點(diǎn)控制器以太網(wǎng)初始化和發(fā)送數(shù)據(jù)的基本流程如圖5所示。
圖5 以太網(wǎng)初始化和發(fā)送數(shù)據(jù)的基本流程
以太網(wǎng)發(fā)送數(shù)據(jù)需要在保證服務(wù)器與客戶端連接正常的情況下,才能發(fā)送數(shù)據(jù),因此在發(fā)送數(shù)據(jù)程序中需要檢測(cè)網(wǎng)絡(luò)連接,以及微控制器MAC控制器的狀態(tài),是否允許發(fā)送數(shù)據(jù)。若允許發(fā)送數(shù)據(jù),需要將要發(fā)送的數(shù)據(jù)復(fù)制到發(fā)送緩沖區(qū),然后調(diào)用發(fā)送子程序,其根據(jù)要發(fā)送數(shù)據(jù)的個(gè)數(shù)將緩沖區(qū)的數(shù)據(jù)發(fā)送給PHY芯片,最終經(jīng)網(wǎng)絡(luò)變壓器發(fā)送給RJ45接口,實(shí)現(xiàn)數(shù)據(jù)的傳遞。
3.2 節(jié)點(diǎn)控制器對(duì)電機(jī)的控制程序設(shè)計(jì)
微控制器對(duì)電機(jī)的控制分為手動(dòng)控制和自動(dòng)控制。手動(dòng)控制用于調(diào)試時(shí),偶爾使用。自動(dòng)控制是節(jié)點(diǎn)控制器根據(jù)目標(biāo)長度輸出控制信號(hào),不需要操作員介入。
手動(dòng)控制電路部分是按照三路促動(dòng)器方案設(shè)定的,包括正轉(zhuǎn)和反轉(zhuǎn)2個(gè)按鈕;2個(gè)撥斷開關(guān)用來選擇手動(dòng)控制哪路促動(dòng)器(先進(jìn)行內(nèi)部編號(hào));還有3個(gè)LED顯示燈,用來表示當(dāng)前選擇的手動(dòng)模式控制哪路促動(dòng)器。微控制器對(duì)2個(gè)撥斷開關(guān)的掃描,判斷操作員選擇的運(yùn)動(dòng)模式(兩個(gè)撥斷開關(guān)的四個(gè)狀態(tài)):3路自動(dòng)模式、第1路處于手動(dòng)模式、第2路處于手動(dòng)模式和第3路處于手動(dòng)模式。在密云系統(tǒng)中試驗(yàn)階段僅對(duì)1路進(jìn)行手動(dòng)與自動(dòng)控制??刂屏鞒倘鐖D6所示。
圖6 電機(jī)控制流程圖
以太網(wǎng)作為新興的現(xiàn)場總線方式,有其不可取代的優(yōu)勢(shì)。廉價(jià)、通信可靠、對(duì)物理層數(shù)據(jù)傳輸有安全機(jī)制等優(yōu)勢(shì),故選擇以太網(wǎng)總線方式作為密云主動(dòng)反射面控制系統(tǒng)的數(shù)據(jù)網(wǎng)絡(luò)。對(duì)節(jié)點(diǎn)控制器的各個(gè)功能進(jìn)行完善,并在密云模型上進(jìn)行了測(cè)試。節(jié)點(diǎn)控制器系統(tǒng)通過和總控制PC間的交互,能夠完成對(duì)整個(gè)反射面進(jìn)行控制,并完成對(duì)監(jiān)控?cái)?shù)據(jù)的反饋,總體能夠?qū)崿F(xiàn)射電望遠(yuǎn)鏡設(shè)計(jì)的目標(biāo),完成射電源的觀測(cè)與跟蹤。
[1] Li H. China hopes to move FAST on largest telescope[J]. Science, 1998, 281(5378): 771-773.
[2] Jin C, Zhu K, Fan J,etal. The optics of the five-hundred-meter aperture spherical radio telescope[C]//Antennas & Propagation (ISAP), 2013 Proceedings of the International Symposium on, 2013:44-46.
[3] Qu R T, Lim R. An architecture for the interconnecting heterogeneous fieldbuses in industrial automation[J]. Computational Intelligence in Robotics and Automation, 2003(1): 16-20.
[4] Giron Sierra J M,Insaurralde C,Seminario M,etal. Distributed control system for fuel management using CANbus [J]. Digital Avionics Systems Conference, 2004(2): 24-28.
[5] Wang Baoqiang, Wang Zhirou. Design of Embedded Meteorological Data Acquisition System Based on CANopen[C]//Electrical and Control Engineering, 2010,732.
[6] 陳 杰, 蔣濟(jì)友, 劉春雷, 等. 現(xiàn)場總線控制系統(tǒng)以太網(wǎng)冗余實(shí)現(xiàn)方法[J]. 自動(dòng)化與儀器儀表,2013(6):151-152.
[7] YingKayun. A power quality monitoring system for realtime fault detection[C]//Industrial Electronics, 2009:1846.
[8] Leen G, Heffernan D. TTCAN: a new time triggered controller area network[J]. Microprocessors and Microsystems, 2002(26):77-94.
[9] Shang He, Li Shuhua, Li Dong.Design and inplement of an embedded Ethernet system based on LPC2368 microprocessor[C]//Computer Application and System Modeling (ICCASM), 2010:671.
[10] Daogang Peng, Hao Zhang, Kai Zhang. Research and Development of the Remote I/O Data Acquisition System Based on Embedded ARM Platform[C]//Electronic Computer Technology, 2009:341.
[11] Zhai Wenzhengm, Hu Yueli. Design and Implementation of CNC Machine Remote Mon-itoring and Controlling System Based on Embedded Internet[C]//Intlligent System Design and Engineering Application (ISDEA), 2010:506-509.
[12] 陳 雨. 基于ARM嵌入式以太網(wǎng)接口的設(shè)計(jì)[J].軟件導(dǎo)刊, 2009(2):134-136.
[13] 栗清樂, 賴康生. 基于 ARM 的嵌入式以太網(wǎng)設(shè)計(jì)[J]. 工業(yè)控制計(jì)算機(jī), 2014, 27(6):7-8.
[14] 廖 凌, 劉旭儒. 一種基于μC/OS-II的嵌入式以太網(wǎng)通信實(shí)現(xiàn)方法[J]. 計(jì)算機(jī)測(cè)量與控制, 2010,18(5):1142-1147.
[15] 趙文博,劉文濤. 單片機(jī)語言C51程序設(shè)計(jì)[M]. 北京:人民郵電出版社,2005:20-50.
[16] In-Su Yoon, Sang-Hwa chung, Jeong-Soo Kim.Implementation of Lighetweight TCP/IP for Small,Wireless Embedded Systems[C]//Advanced Information Networking and Applications,2009:965.
Development of Ethernet Node Controller Based on Embedded Technology
HANXue-juna,WANGTao-taob
(1. School of Mechanical Engineering and Automation, 2. College of Information Science and Engineering, Northeastern University, Shenyang 110819, China)
A fast radio telescope Ethernet node controller was developed based on embedded technology. The node controller has the Ethernet communication module, high-speed work rate and real-time reliable operation, strong computing power and remote update function. In the aspect of hardware circuitry, it has achieved Ethernet interface module, motor control circuits, network communication module circuit and clock chip circuit design. In the aspect of control programming, it has completed the design of the various program modules based on μC/OS-II. Ethernet node controller in Miyun model. By testing, it has meet the requirements of the active control system.
embedded technique; radio telescope; Ethernet; LPC2368
2014-04-17
國家自然科學(xué)基金資助項(xiàng)目(11273001)
韓學(xué)軍(1969-),男,遼寧沈陽人,碩士,工程師,主要研究方向?yàn)闄C(jī)械電子工程和無線網(wǎng)絡(luò)等。E-mail:zhangll129@163.com
TP 393
A
1006-7167(2015)02-0101-04