作者:梁海軍,趙建,陳陸艷
引言
近年隨著光纖技術(shù)的飛速發(fā)展.光纖的應(yīng)用由最初的傳像、醫(yī)療診斷發(fā)展到通信網(wǎng)絡(luò)上。作為新一代的傳輸介質(zhì).光纖光纜與銅質(zhì)介質(zhì)相比.無論是在安全性、可靠性.還足抗十?dāng)_性方面都有了很大的提高.具有抗電磁干擾性好、保密性強(qiáng)、速度快、傳輸容量大等優(yōu)點(diǎn)。
作為網(wǎng)絡(luò)通訊的首要問題——安全.在光纖網(wǎng)絡(luò)通訊中也同樣重要。本文根據(jù)實(shí)際情況,設(shè)計(jì)一種光纖旁路保護(hù)器.當(dāng)異常情況發(fā)牛時(shí).旁路保護(hù)器在硬件上斷開光通路.使光通路繞過防火墻直接接入互聯(lián)網(wǎng):待異常解除后,保護(hù)器自動(dòng)將防火墻串聯(lián)入光路.從而保證整個(gè)網(wǎng)絡(luò)安全通暢。
1 總體設(shè)計(jì)
本設(shè)計(jì)的主要目的是利用MSP430單片機(jī)豐富的內(nèi)部資源,配合以太網(wǎng)控制芯片CS8900和精密的光學(xué)元件.設(shè)計(jì)出一種性價(jià)較高的光纖旁路保護(hù)器。該旁路保護(hù)器與防火墻設(shè)備配合使用能實(shí)現(xiàn)光纖網(wǎng)絡(luò)安全的完美保護(hù)。
旁路保護(hù)器硬件上采用MSP430F149為主處理器.通過以太網(wǎng)接口與防火墻進(jìn)行通訊.通過RS-232接El管理參數(shù)。當(dāng)旁路器在設(shè)置的故障時(shí)間內(nèi)未收到防火墻發(fā)來的心跳信號(hào)時(shí).旁路器便控制微機(jī)械光開關(guān)切換光路.使光通路繞過防火墻直接接入網(wǎng)絡(luò):在收到心跳信號(hào)時(shí).旁路器將防火墻接人光路。為了確保旁路保護(hù)器安全.設(shè)計(jì)上采用硬件與軟件結(jié)合進(jìn)行參數(shù)設(shè)置.即需要設(shè)置參數(shù)時(shí),須按下設(shè)置開關(guān)并同時(shí)重新啟動(dòng)旁路器。整個(gè)系統(tǒng)硬件框圖如圖1所示。
圖1 硬件連接圖
2 硬件電路設(shè)計(jì)
2.1 單片機(jī)電路設(shè)計(jì)
考慮到旁路器僅接收防火墻發(fā)來的心跳信號(hào)和一些讀取參數(shù)命令.對(duì)傳輸數(shù)據(jù)吞吐量要求不高,而對(duì)響應(yīng)實(shí)時(shí)性要求較高.本設(shè)計(jì)選用TI公司的16位超低功耗單片機(jī)MSP430F149作為主處理器。該單片機(jī)支持2.7~3.6V電壓工作,時(shí)鐘頻率可達(dá)8MHz,內(nèi)部集成60K flash、2K RAM、3組16位定時(shí)器、8通道12位AD、豐富的時(shí)鐘源、JTAG調(diào)試模塊、6組8位的通用IO端口、2路UART等資源。此單片機(jī)硬件設(shè)計(jì)簡單.開發(fā)成本低.開發(fā)周期短。限于篇幅.此處不再列出具體的硬件電路圖。在具體連接上,使用P1.0-P1.5控制兩路2x2光開關(guān),P1.6和P1.7控制指爾當(dāng)前光纖通路狀態(tài)的指示燈.P4.0~P4.7與CS8900的8位數(shù)據(jù)總線連接.P5.0~P5.3與CS8900的地址總線低4位相連。P5.4 P5.5 P5.6分別與CS8900的IOW IORRST連接。
2.2 以太網(wǎng)控制芯片電路設(shè)計(jì)
系統(tǒng)中以太網(wǎng)控制芯片采用Crystal公司的CS8900A。CS8900A是一款功耗低、集成度較高、完全支持IEEE802.3標(biāo)準(zhǔn)的10M以太網(wǎng)控制器.支持I/O操作、存儲(chǔ)器操作和DMA操作三種操作模式。本文采用CS8900A的I/O操作模式,8個(gè)16位I/O口分別與片內(nèi)8個(gè)16位寄存器對(duì)應(yīng).8個(gè)16位寄存器被映射為16個(gè)連續(xù)的8位I/O空間,具體與MCU連接圖如圖2所示。CS8900的I/O基地址為Ox300H,復(fù)位后默認(rèn)選擇Ox300H,并且一直按此地址工作,因此在硬件設(shè)計(jì)上,CS8900的地址總線SA10-SA19和SA4~SA7直接接地.SA8和SA9接VCC.SA3-SA0作為實(shí)際使用的地址總線與MCU的P5.3~P5.0連接。
圖2 CS8900A與MCU連接圖
2.3 光路切換電路設(shè)計(jì)
設(shè)計(jì)中使用微機(jī)械光開關(guān)從物理I:切換光路.光開關(guān)選用桂林光隆公司的SUN-FSW型2x2B多模微機(jī)械光開關(guān)。此光開關(guān)支持兩路光路同時(shí)切換.3.3V電平驅(qū)動(dòng).可以很方便的與MSP430連接,實(shí)現(xiàn)光路切換功能。同時(shí),此光開關(guān)具有損耗小,切換壽命長達(dá)1000萬次,切換時(shí)間小于8ms等特點(diǎn)。
參考光開關(guān)說明書知.光開關(guān)有Bar和Cross兩種狀態(tài)。在Bar狀態(tài)下,其電驅(qū)動(dòng)輸入引腳1、5、6和10必須懸空(即高阻狀態(tài));在Cross狀態(tài)下,電驅(qū)動(dòng)輸入引腳1接高電平,引腳1O接地,引腳5和6懸空。光開關(guān)驅(qū)動(dòng)引腳接入同定電平時(shí)驅(qū)動(dòng)能力必須大于25mA.考慮到MCU的I/0口驅(qū)動(dòng)能力不夠.在設(shè)計(jì)時(shí)使用2片74HC573來驅(qū)動(dòng)2片2x2B光開關(guān)。為了提高驅(qū)動(dòng)能力,分別將每片74HC573的4個(gè)輸入引腳和輸出引腳并聯(lián).實(shí)現(xiàn)一片573控制一片光開關(guān).通過控制573的輸出使能信號(hào)來實(shí)現(xiàn)光開關(guān)的電驅(qū)動(dòng)引腳的懸空和接入固定電平功能.實(shí)際調(diào)試表明,這種控制方法簡單。效果相當(dāng)好。限于篇幅.此處不再列出具體硬件電路圖。
2.4 Rs-232接口設(shè)計(jì)
出于安全性考慮,旁路器只能使用串口在XP系統(tǒng)的超級(jí)終端下設(shè)置參數(shù)。用MCU內(nèi)集成的串口1配合美信公司的電平轉(zhuǎn)換芯片MAX3232完成RS-232接口設(shè)計(jì)。
3 軟件實(shí)現(xiàn)
軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思想.整個(gè)系統(tǒng)的軟件主要由TCP/IP模塊、協(xié)議加密處理模塊、光開關(guān)控制模塊和參數(shù)設(shè)置菜單模塊構(gòu)成。整個(gè)系統(tǒng)軟件流程圖如圖3所示。
圖3 系統(tǒng)軟件流程圖
3.1 TCP/IP協(xié)議棧實(shí)現(xiàn)
考慮到旁路器對(duì)信息響應(yīng)的實(shí)時(shí)性要求較高,而數(shù)據(jù)的合法件交由具體數(shù)據(jù)協(xié)議保證,本文對(duì)TCP/IP協(xié)議進(jìn)行裁減.僅利用其中的UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、IP(網(wǎng)絡(luò)報(bào)文協(xié)議)、ARP(地址解析協(xié)議)及簡單的應(yīng)用層協(xié)議.實(shí)現(xiàn)了單片機(jī)的網(wǎng)絡(luò)互連,提高了數(shù)據(jù)傳輸?shù)乃俣群托省f(xié)議中需要的IP地址、默認(rèn)網(wǎng)關(guān)、子網(wǎng)掩碼、目的IP、端口號(hào)等信息保存在單片機(jī)的IN F0 A段Flash存儲(chǔ)器中。協(xié)議中.在接收到數(shù)據(jù)包時(shí),按協(xié)議層次關(guān)系由上至下解析協(xié)議報(bào)頭:發(fā)送數(shù)據(jù)包時(shí).則按照協(xié)議自下而上添加報(bào)頭。圖4的流程網(wǎng)顯示了利用協(xié)議棧處理接收數(shù)據(jù)幀的整個(gè)過程.發(fā)送則是相反過程。
圖4 TCP/IP協(xié)議棧處理接收數(shù)據(jù)流程
本設(shè)計(jì)僅僅使用了UDP服務(wù).通過協(xié)議棧的UDP數(shù)據(jù)交由數(shù)據(jù)解密模塊解析命令.對(duì)IP數(shù)據(jù)不作任何處理。如果接收的數(shù)據(jù)是ARP數(shù)據(jù)包.則程序轉(zhuǎn)入ARP處理程序處理ARP數(shù)據(jù)包。
3.2 協(xié)議加密及命令處理
考慮到通訊的安全性.本文采用密鑰長度可變的RC4流密碼加密算法。RC4算法的原理和計(jì)算簡單.僅包括初始化算法和偽隨機(jī)子密碼生成算法兩大部分.很適合在MCU中實(shí)現(xiàn)。此外,RE4算法的解密也相當(dāng)簡單,只需對(duì)加密后的數(shù)據(jù)再進(jìn)行一次加密便得到加密前的原始數(shù)據(jù)。
除去TCP/IP的包頭和包尾信息,實(shí)際通訊中的命令長度為8字節(jié).每個(gè)字節(jié)均通過RC4加密算法加密發(fā)送至對(duì)方。具體含義如表1所示。
表1 通訊數(shù)據(jù)格式
幀頭:表明此幀數(shù)據(jù)的有效性
命令:表明此幀命令的類型
數(shù)據(jù):有效數(shù)據(jù)的內(nèi)容,此5字節(jié)的數(shù)據(jù)僅對(duì)旁路器向防火墻發(fā)送的數(shù)據(jù)有效
圖5 命令處理軟件流程圖
圖5顯示了其命令處理的軟件流程圖,其中讀取信息命令包含讀取設(shè)置的時(shí)間間隔信息和讀取設(shè)置的8個(gè)目的IP信息,讀取目的IP時(shí),每次只讀取一個(gè)目的IP。
4 數(shù)據(jù)測試
經(jīng)過測試,系統(tǒng)的響應(yīng)時(shí)問數(shù)據(jù)如表2所示。
表2 響應(yīng)時(shí)間數(shù)據(jù)
測試過程中MCU的時(shí)鐘頻率為8MHz.光路動(dòng)作時(shí)間是指在光路繞過防火墻情況下.從防火墻發(fā)送心跳信號(hào)到光路切換完成所需要的時(shí)間。參考光開關(guān)手冊,光開關(guān)切換需要8ms,而系統(tǒng)測試得到的時(shí)間為15ms,分析其原因,主要是因?yàn)門CP/IP協(xié)議棧處理需要7ms。
5 結(jié)論
經(jīng)以上分析測試,本旁路器具有響應(yīng)快、成本低、運(yùn)行穩(wěn)定、功耗低等特點(diǎn),具有很好的適用價(jià)值和推廣價(jià)值。目前該旁路器已產(chǎn)品化,逐步推向市場。
本文創(chuàng)新點(diǎn):硬件上充分利用MSP430單片機(jī)高集成、低功耗的優(yōu)勢,電路板設(shè)計(jì)僅為兩層板,大大節(jié)省了系統(tǒng)硬件成本;軟件上根據(jù)實(shí)際需要裁減TCP/IP協(xié)議。僅使用其UDP服務(wù),并將其嵌入至單片機(jī)中,減小了軟件開銷,提高了響應(yīng)實(shí)時(shí)性。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423152 -
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634653 -
光纖
+關(guān)注
關(guān)注
19文章
3913瀏覽量
73128
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論