嵌入式工業(yè)以太網(wǎng)控制器的設(shè)計(jì)和應(yīng)用
隨著工業(yè)以太網(wǎng)的大規(guī)模應(yīng)用,嵌入式的工業(yè)以太網(wǎng)系統(tǒng)也越來(lái)越多地滲入到了工控領(lǐng)域,以ColdFire微處理器和ARM處理器為硬件平臺(tái)的嵌入式工業(yè)以太網(wǎng)系統(tǒng)已經(jīng)得到了廣泛應(yīng)用。但是,由于上述這些系統(tǒng)的開(kāi)發(fā)平臺(tái)并不完全針對(duì)工業(yè)以太網(wǎng)的應(yīng)用情況,因此在實(shí)際應(yīng)用中經(jīng)常出現(xiàn)硬件資源浪費(fèi)或者資源不夠的問(wèn)題,開(kāi)發(fā)系統(tǒng)往往需要外接PLD芯片來(lái)進(jìn)行外圍器件的邏輯控制,存在接口速率的瓶頸問(wèn)題?;赟OPC技術(shù)的NIOS處理器能解決這個(gè)難題。
硬件設(shè)計(jì)
控制器的硬件設(shè)計(jì)在SOPC Builder和QuartusII中完成。利用它們可以靈活定制NIOS CPU的各個(gè)特性甚至指令,可以使用Altera提供的大量IP來(lái)加快開(kāi)發(fā)NIOS外設(shè)的速度,提高外設(shè)的性能,還可以使用第三方IP,或VHDL、Verilog來(lái)定制外設(shè)。
嵌入式工業(yè)以太網(wǎng)控制器的硬件分為三個(gè)部分:FPGA部分、存儲(chǔ)器部分和外圍元件部分,如圖1所示。本文選用的FPGA是CYCLONE EP1C6。
在SOPC Builder中需要設(shè)計(jì)的是FPGA部分,要建的NIOS系統(tǒng)包含的元件模塊有:一個(gè)NIOS CPU 核,用于連接NIOS核的Avalon總線控制器,一個(gè)存放啟動(dòng)和調(diào)試程序的內(nèi)部存儲(chǔ)器Boot ROM,一個(gè)UART串行通信電路模塊(RS232核),一個(gè)內(nèi)部定時(shí)器和一些通用I/O外圍接口模塊。為使NIOS系統(tǒng)正常工作,在FPGA外圍必須接有一個(gè)RS232通信口、RJ45、幾個(gè)發(fā)光管和數(shù)碼管以及16M的SRAM和4M的Flash ROM。
軟件設(shè)計(jì)
由于在硬件開(kāi)發(fā)中的NIOS CPU及其外設(shè)構(gòu)成的系統(tǒng)是自定制的,存儲(chǔ)器、外設(shè)地址的映射等都各不相同,因此需要專有的SDK(軟件開(kāi)發(fā)包)。在完成NIOS的硬件開(kāi)發(fā)后,SOPC Builder能夠自動(dòng)生成SDK。
軟件部分的開(kāi)發(fā)幾乎與通常的嵌入式系統(tǒng)的開(kāi)發(fā)沒(méi)有區(qū)別,唯一的不同只在于:這里的嵌入式系統(tǒng)是自己定制的、裁剪過(guò)的,受到硬件的局限小一些。
Clinux。考慮到性價(jià)比以及現(xiàn)場(chǎng)控制需要,控制器的操作系統(tǒng)采用了
整個(gè)嵌入式工業(yè)以太網(wǎng)控制器具有以下特點(diǎn):
1) 很高的靈活性。由于微處理器采用NIOS,使得系統(tǒng)資源能夠靈活調(diào)配,并且克服了采用其它處理器中存在的接口速率瓶頸的缺點(diǎn),適應(yīng)工業(yè)以太網(wǎng)實(shí)時(shí)數(shù)據(jù)的要求。
2) Clinux裁減后體積非常小,且具備以太網(wǎng)功能,這樣可以很容易實(shí)現(xiàn)控制器的微型化、網(wǎng)絡(luò)化;很高的集成度。由于NIOS具有豐富的接口資源,而
3) 很高的實(shí)時(shí)性。本控制器在硬件和軟件設(shè)計(jì)時(shí)都充分考慮了系統(tǒng)的實(shí)時(shí)性。硬件設(shè)計(jì)中采用了高速A/D(500kHz)和多路D/A輸出,使得關(guān)鍵信號(hào)能及時(shí)采樣和輸出,保證了“硬實(shí)時(shí)”;操作系統(tǒng)中加入了RTlinux模塊,保證了“軟實(shí)時(shí)”。
實(shí)際應(yīng)用
針對(duì)某企業(yè)生產(chǎn)現(xiàn)場(chǎng)需要,該控制器被應(yīng)用到基于以太網(wǎng)的控制系統(tǒng)中。針對(duì)現(xiàn)場(chǎng)對(duì)網(wǎng)絡(luò)可靠性參數(shù)的嚴(yán)格要求,采用環(huán)形網(wǎng)絡(luò)拓?fù)淇梢栽黾泳W(wǎng)絡(luò)的可靠性。
解決網(wǎng)絡(luò)的實(shí)時(shí)性問(wèn)題時(shí)采用了控制區(qū)域(Control Domain)的概念,將控制現(xiàn)場(chǎng)分區(qū),減少各個(gè)控制區(qū)資源競(jìng)爭(zhēng)的情況??刂茀^(qū)域之間通過(guò)交換式以太網(wǎng)交換機(jī)來(lái)通信。每個(gè)控制區(qū)域包含以太網(wǎng)交換機(jī)和嵌入式的工業(yè)以太網(wǎng)控制器,以及一些變送器和執(zhí)行機(jī)構(gòu),如圖2所示。該系統(tǒng)具有如下特點(diǎn):
1) 靈活性。SOPC技術(shù)使系統(tǒng)硬件、軟件的設(shè)計(jì)和調(diào)試都十分方便。
2) 可靠性。控制系統(tǒng)的網(wǎng)絡(luò)拓?fù)洳捎铆h(huán)形架構(gòu),大大增強(qiáng)了骨干網(wǎng)的可靠性。在控制網(wǎng)絡(luò)層,通過(guò)劃分控制區(qū)域,分散了控制風(fēng)險(xiǎn);而在控制區(qū)域內(nèi)部采用嵌入式的工業(yè)以太網(wǎng)控制器,集中控制整個(gè)控制區(qū)域,降低了控制成本。實(shí)踐證明這種分散結(jié)合集中的控制結(jié)構(gòu)是十分有效的。
3) 實(shí)時(shí)性。通過(guò)劃分控制區(qū)域,各個(gè)控制區(qū)域通過(guò)交換機(jī)連入骨干網(wǎng),而每個(gè)控制區(qū)域內(nèi)的變送和執(zhí)行結(jié)構(gòu)的信息都不會(huì)占用骨干網(wǎng)網(wǎng)絡(luò)資源。這樣,每個(gè)控制區(qū)域的網(wǎng)絡(luò)負(fù)載可以降到很低的程度(<5%),提高了網(wǎng)絡(luò)的實(shí)時(shí)性。嵌入式工業(yè)以太網(wǎng)控制器的硬件和軟件設(shè)計(jì)均考慮了實(shí)時(shí)性要求,在網(wǎng)絡(luò)層下進(jìn)一步提升了系統(tǒng)的實(shí)時(shí)性。
結(jié)語(yǔ)
本文對(duì)嵌入式工業(yè)以太網(wǎng)控制器進(jìn)行了開(kāi)發(fā)研究,提出用SOPC技術(shù)來(lái)解決控制器硬件設(shè)計(jì)中存在的接口速率瓶頸問(wèn)題,提高了控制器的實(shí)時(shí)性,實(shí)驗(yàn)結(jié)果表明該系統(tǒng)運(yùn)行穩(wěn)定可靠。