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