Ethernet/IP通信適配器的設(shè)計(jì)與實(shí)現(xiàn)
1 引言
工業(yè)控制系統(tǒng)的分布化、智能化、信息化發(fā)展,要求企業(yè)從現(xiàn)場(chǎng)控制層到管理層的全面無(wú)縫信息集成。工業(yè)以太網(wǎng)滿足這一要求,實(shí)現(xiàn)了工業(yè)控制網(wǎng)絡(luò)與企業(yè)信息網(wǎng)絡(luò)的無(wú)縫連接,成為控制網(wǎng)絡(luò)發(fā)展的主要方向。Ether-Net/IP是當(dāng)前主流的一種T業(yè)以太網(wǎng),得到廣泛的認(rèn)可。全球已超過(guò)100萬(wàn)個(gè)安裝節(jié)點(diǎn),并轉(zhuǎn)化為中國(guó)機(jī)械丁業(yè)標(biāo)準(zhǔn)。EtherNet/IP是唯一兼容于IEEE 802.3標(biāo)準(zhǔn)和TCP/IP協(xié)議的高性能I/O及運(yùn)動(dòng)控制網(wǎng)絡(luò),其在應(yīng)用層實(shí)施了成熟、先進(jìn)、統(tǒng)一的CIP協(xié)議,提供了更加開(kāi)放集成的工業(yè)自動(dòng)化和信息化的整體解決方案。
本文研制的EtherNet/IP通信適配器可實(shí)現(xiàn)信息層和設(shè)備層的有機(jī)結(jié)合,作為EtherNet/IP控制網(wǎng)絡(luò)與其他技術(shù)之問(wèn)的一個(gè)網(wǎng)關(guān),將工業(yè)控制設(shè)備無(wú)縫集成到EtherNet/IP控制網(wǎng)絡(luò)中,提高了控制系統(tǒng)的靈活性和兼容性。目前,EtherNet/IP設(shè)備基本由國(guó)外廠商提供,國(guó)內(nèi)企業(yè)使用EtherNet/IP設(shè)備需要支付昂貴的費(fèi)用,本文開(kāi)發(fā)的EtherNet/IP通信適配器可填補(bǔ)國(guó)內(nèi)空白,提供一種更高性價(jià)比的工業(yè)控制設(shè)備,有著良好的應(yīng)用前景。
2 Ethernet/IP協(xié)議簡(jiǎn)介
EtherNet/IP(Ethemet/industrial protoc01)是一種適合工業(yè)環(huán)境應(yīng)用的開(kāi)放協(xié)議體系,實(shí)現(xiàn)了標(biāo)準(zhǔn)TCP/IP以太網(wǎng)和通用工業(yè)協(xié)議(control and information protocol,CIP)的結(jié)合,將標(biāo)準(zhǔn)TCP/IP以太網(wǎng)延伸到T業(yè)實(shí)時(shí)控制。EtherNet/IP使用標(biāo)準(zhǔn)TCP/IP以太網(wǎng),意味著工業(yè)用戶能直接從TCP/IP以太網(wǎng)持續(xù)創(chuàng)新和成本降低中受益;同時(shí),在應(yīng)用層引入和ControlNet、DeviceNet相同的CIP協(xié)議是EtherNet/IP最具特色的部分,它為采用不同物理層和數(shù)據(jù)鏈路層的網(wǎng)絡(luò)提供統(tǒng)一的應(yīng)用層協(xié)議標(biāo)準(zhǔn),使各層網(wǎng)絡(luò)在應(yīng)用層實(shí)現(xiàn)無(wú)縫連接。覆蓋各種工業(yè)應(yīng)用要求;此外,采用EtherNet/IP組建的控制網(wǎng)絡(luò)可容易地集成到Internet/Intranet上,具有較好的一致性,解決控制網(wǎng)絡(luò)中互操作性的難題。
3 EtherNet/IP通信適配器的硬件設(shè)計(jì)
EtherNelflP協(xié)議制定了設(shè)備描述(device profile)規(guī)范,對(duì)完成相似功能的工業(yè)設(shè)備按對(duì)象模型進(jìn)行分類(lèi),并定義特定工業(yè)設(shè)備應(yīng)包括的CIP對(duì)象以及對(duì)象之間的聯(lián)系。設(shè)備描述有利于使不同廠商提供的設(shè)備行為一致。Ethemet/IP通信適配器是設(shè)備描述規(guī)范中定義的一種設(shè)備類(lèi)型(類(lèi)型號(hào)為0Chex)。
針對(duì)Ethemet/IP通信適配器的開(kāi)發(fā),本文采用基于ARM 920T內(nèi)核的S3C2410微處理器。該處理器具有五級(jí)流水線、低功耗、高性能的特點(diǎn),工作頻率可達(dá)203 MHz。利用S3C24lO出色的內(nèi)核性能和豐富的外部接口,構(gòu)造Ethemet/IP通信適配器的硬件系統(tǒng),其組成結(jié)構(gòu)如圖1所示。
圖1 基于$3C2410的通信處理器硬件結(jié)構(gòu)
本文采用大容量的NAND Flash和SDRAM,保證系統(tǒng)軟件穩(wěn)定、快速地運(yùn)行。由于$3C2410自身不含以太網(wǎng)接口,因此采用CS8900網(wǎng)卡芯片實(shí)現(xiàn)以太網(wǎng)的功能。Ethemet/IP通信適配器的硬件系統(tǒng)還包括了電源及復(fù)位電路、串行總線接口、LCD液晶顯示接口、JTAG程序?qū)崟r(shí)仿真接口等部分。
4 EtherNet/IP通信適配器的底層軟件設(shè)計(jì)
在完成硬件電路設(shè)計(jì)、制作后,需設(shè)計(jì)相應(yīng)的BootLoader引導(dǎo)程序,編寫(xiě)穩(wěn)定可靠的I/0接口的驅(qū)動(dòng)程序.從而為應(yīng)用程序的開(kāi)發(fā)提供一個(gè)硬件無(wú)關(guān)的軟件平臺(tái)。
4.1 Boot Loader的設(shè)計(jì)與實(shí)現(xiàn)
Boot IDader是系統(tǒng)的引導(dǎo)代碼,是操作系統(tǒng)和硬件之間的聯(lián)結(jié)紐帶。Boot Loader由OEM啟動(dòng)代碼和主代碼兩部分組成。其中OEM啟動(dòng)代碼與硬件高度相關(guān),主要負(fù)責(zé)硬件平臺(tái)初始化;主代碼主要負(fù)責(zé)下載WindowsCE操作系統(tǒng)映像,設(shè)置合適的硬件、軟件環(huán)境,以便操作系統(tǒng)內(nèi)核順利啟動(dòng)。
下載Windows CE的映像文件到目標(biāo)平臺(tái)的任務(wù)是由主代碼完成的。Windows CE內(nèi)核映像文件通常20一30 MB。要將如此龐大的數(shù)據(jù)下載到目標(biāo)設(shè)備,傳輸效率是關(guān)鍵問(wèn)題。考慮傳輸效率和靈活性,以太網(wǎng)則是十分合理的選擇。遠(yuǎn)程主機(jī)與Windows CE目標(biāo)平臺(tái)的通信采用TFTP協(xié)議。目標(biāo)平臺(tái)首先通THTP發(fā)送請(qǐng)求報(bào)文到遠(yuǎn)程主機(jī)請(qǐng)求下載Windows CE映像文件并獲取映像文件的起始地址、長(zhǎng)度等,然后開(kāi)始接收映像文件到RAM中,校驗(yàn)和確認(rèn)數(shù)據(jù)是否有效后在Flash上分配有效地址空間將OS Image寫(xiě)入。
4.2 I/O接口驅(qū)動(dòng)程序的設(shè)計(jì)
I/O接口驅(qū)動(dòng)程序采用流接口驅(qū)動(dòng)模型,以中斷方式處理數(shù)據(jù)。流接口驅(qū)動(dòng)程序是一個(gè)管理外圍設(shè)備的動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)一組標(biāo)準(zhǔn)的流接口函數(shù)給Windows CE內(nèi)核使用,用來(lái)完成文件I/O和電源管理等。
評(píng)論