隨著以太網(wǎng)技術(shù)的迅速發(fā)展及其在商用領(lǐng)域的應(yīng)用日漸廣泛,越來越多的工業(yè)控制設(shè)備也逐漸使用以太網(wǎng)并采用TCP/IP協(xié)議作為主要的通信標(biāo)準(zhǔn)。雖然應(yīng)用于工業(yè)控制領(lǐng)域的以太網(wǎng)標(biāo)準(zhǔn)與商用以太網(wǎng)相同,但在工業(yè)控制領(lǐng)域,還需要網(wǎng)絡(luò)能在比較惡劣的工作環(huán)境下穩(wěn)定地工作。因此,用來連接工業(yè)設(shè)備的網(wǎng)絡(luò)產(chǎn)品需要經(jīng)過特別設(shè)計,才能提供工業(yè)級的可靠性,以滿足長期連續(xù)運行的需求。另外,在工業(yè)控制領(lǐng)域,所需連接的設(shè)備分布較分散,單個地方連接設(shè)備少,這就對支持光纖冗余環(huán)路的8端口的光纖網(wǎng)絡(luò)交換機(jī)產(chǎn)品有了較大需求。為了實現(xiàn)光纖冗余環(huán)路功能,需要采用高性能的微處理器實現(xiàn)網(wǎng)絡(luò)的管理和控制功能,并采用高性能的網(wǎng)絡(luò)交換芯片實現(xiàn)基本的10/100M以太網(wǎng)交換功能。
下面主要介紹CPU采用32位ARM內(nèi)核微處理器、具有6個10/100M雙絞線端口和兩個100M光纖端口、可實現(xiàn)冗余環(huán)路功能的工業(yè)以太網(wǎng)交換機(jī)的軟、硬件設(shè)計思路。
1 硬件設(shè)計
光纖環(huán)路工業(yè)以太網(wǎng)交換機(jī)硬件主要分成兩個模塊:CPU模塊和交換模塊。下面分別對這兩個模塊進(jìn)行詳細(xì)介紹。
1.1 CPU模塊
CPU模塊又可以劃分為兩部分,即電源部分和CPU及外圍電路部分。
電源部分要求提供兩路10~40V的直流電源,這兩路電源互為備份,只要其中一路電源是正常的即可使系統(tǒng)正常供電。另外,這兩路電源的正常與否由連接到CPU上的兩個LED發(fā)光管指示,CPU如果發(fā)現(xiàn)有一路不正常,就會驅(qū)動報警指示燈指示此路電源不正常,并驅(qū)動繼電器接通另一路電源。如果兩路同時不正常,由于繼電器的報警輸出為常閉觸點,CPU無輸出信號,繼電器的觸點是閉合的,因此可以向遠(yuǎn)端提供報警信息。
MAX788是開關(guān)穩(wěn)壓管,該穩(wěn)壓管的輸出電壓為3.3V,輸出最大電流為5A,輸入電壓范圍為8V~40V,內(nèi)部開關(guān)頻率為100kHz。
交換機(jī)的CPU選用Atmel公司的32位ARM內(nèi)核微處理器芯片AT91M40800,RAM采用高速256K×16位的SRAM CY7C1041BV33。
FLASH存儲器29W400用來保存程序和一些配置信息,它的容量為256K×16位。AT91M40800的串口擴(kuò)展一個RS-232接口,PC機(jī)通過RS-232口直接對交換機(jī)進(jìn)行一些管理和設(shè)置。MAX823是一個帶WATCHDOG功能的電源監(jiān)視芯片,提供可靠的復(fù)位信號。
CPU模塊和交換模塊之間通過40芯的插座進(jìn)行連接,主要對交換芯片實現(xiàn)寄存器設(shè)置和網(wǎng)絡(luò)數(shù)據(jù)讀寫功能。JTAG端口實現(xiàn)對AT91M40800的實時仿真和將程序下載到FLASH存儲器中。
1.2 交換模塊
交換模塊主要由MAC層主交換芯片VT6510B和物理層芯片RTL8208組成。主交換芯片采用VIA公司生產(chǎn)的VT6510B,該芯片有9個10/100M端口和1個1G端口,內(nèi)嵌384KB的控制RAM和包交換緩沖RAM,可以實現(xiàn)完整的交換功能;另外提供主機(jī)接口,以便外部CPU對本交換芯片進(jìn)行初始化和管理。
8個10/100M端口通過RMII接口與Realtek公司生產(chǎn)的物理層芯片RTL8208連接。RTL8208芯片共集成了8個物理層的端口,這8個端口可以配置成采用10/100BASE-TX(雙絞線接口)或100BASE-FX(光纖接口)。本系統(tǒng)采用了6個10/100BASE-TX端口和兩個100BASE-FX端口。6個10/100BASE-TX端口需要通過隔離變壓器HR604009與RJ-45接口連接,HR604009是一個提供4路RJ-45接口的隔離變壓器。兩個100BASE-FX端口可以直接與光纖收發(fā)器V23826連接,該收發(fā)器提供單模SC接口。
另外,物理層芯片RTL8208可以通過串行移位寄存器74HC164外接LED發(fā)光管輸出顯示每個網(wǎng)絡(luò)端口的狀態(tài)。
由于VT6510B和RTL8208的核心工作電壓是2.5V,所以還要采用低壓降的穩(wěn)壓芯片MAX1818把3.3V的電壓降到2.5V。
2 軟件設(shè)計
本交換機(jī)軟件設(shè)計的主要任務(wù)是對交換芯片VT6510B的寄存器進(jìn)行設(shè)置,使之能實現(xiàn)基本的交換功能;另外可以由上位機(jī)通過RS-232口或交換機(jī)上的網(wǎng)絡(luò)端口對本交換機(jī)進(jìn)行設(shè)置,實現(xiàn)網(wǎng)絡(luò)端口的狀態(tài)監(jiān)視、冗余環(huán)路、虛擬局域網(wǎng)等各項高級管理功能。
根據(jù)產(chǎn)品的設(shè)計要求,交換機(jī)的軟件可以劃分為以下幾部分:
(1)初始化
主要完成對CPU各寄存器的初始值設(shè)置和對交換芯片的各個寄存器的初始值設(shè)置,啟動交換機(jī)開始工作。
(2)網(wǎng)絡(luò)協(xié)議
實現(xiàn)802.1d、802.1w、802.1q以及PING、ARP、BOOTP、IP、TCP、UDP等網(wǎng)絡(luò)協(xié)議。
(3)網(wǎng)絡(luò)管理及功能設(shè)置
通過RS-232口實現(xiàn)對交換機(jī)一些基本參數(shù)的設(shè)置和狀態(tài)監(jiān)視。另外在實現(xiàn)上述網(wǎng)絡(luò)協(xié)議的基礎(chǔ)上,也可以直接通過網(wǎng)絡(luò)實現(xiàn)對交換機(jī)的參數(shù)設(shè)置和實時狀態(tài)監(jiān)視。
(4)故障診斷及冗余環(huán)路實現(xiàn)
實現(xiàn)對電源及交換機(jī)其它部件的故障自診斷和報警,按照所設(shè)定的冗余環(huán)路實現(xiàn)協(xié)議和策略,監(jiān)視網(wǎng)絡(luò)當(dāng)前連接狀態(tài)并實現(xiàn)網(wǎng)絡(luò)的自愈功能。
由于工業(yè)以太網(wǎng)交換機(jī)與通常的商用交換機(jī)有很多的共同點,又有一些不同點,因此在設(shè)計時借鑒了商用以太網(wǎng)交換機(jī)的原理,同時又兼顧到了工業(yè)以太網(wǎng)設(shè)備的特點。本設(shè)計選用了功能較強(qiáng)的交換芯片、網(wǎng)絡(luò)物理層芯片和收發(fā)接口電路,并采用了基于ARM內(nèi)核的32位嵌入式處理器來實現(xiàn)交換機(jī)的高級網(wǎng)絡(luò)功能。