《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于GAP技術(shù)的網(wǎng)絡(luò)隔離設(shè)備的設(shè)計
基于GAP技術(shù)的網(wǎng)絡(luò)隔離設(shè)備的設(shè)計
摘要: 簡要介紹GAP技術(shù)的原理,提出一種基于現(xiàn)場可編程門陣列(FPGA)的實現(xiàn)方案,。通過詳細分析SCSI協(xié)議控制器的設(shè)計和SDRAM IP核的應(yīng)用,,將SCSI協(xié)議控制器、SDRAM控制器和核心控制器集成在一個FPGA中實現(xiàn),。經(jīng)測試,這種方案比MCU+SCSI協(xié)議控制器的方案具有更高的可靠性和兼容性。
關(guān)鍵詞: FPGA SCSI協(xié)議控制器 GAP
Abstract:
Key words :

  1 引言

  隨著電子商務(wù)的發(fā)展,,網(wǎng)絡(luò)安全越來越重要。病毒和黑客攻擊造成的損失無法估算,,防火墻,、殺毒軟件等防范措施都是基于軟件的保護,并不能完全可靠地阻止外界的攻擊,,因此迫切需要比傳統(tǒng)產(chǎn)品更為可靠的技術(shù)防護措施,。GAP技術(shù)是一種基于硬件的保護技術(shù)。

  2 系統(tǒng)工作原理

  國內(nèi)外快速發(fā)展的GAP技術(shù)以物理隔離為基礎(chǔ),,在確保安全性的同時,,解決了網(wǎng)絡(luò)之間信息交換的困難,從而突破了因安全性造成的應(yīng)用瓶頸,。GAP技術(shù)是通過專用硬件使2個或者2個以上的網(wǎng)絡(luò)在不連通的情況下實現(xiàn)安全數(shù)據(jù)傳輸和資源共享的技術(shù),。它采用獨特的硬件設(shè)計,保證在任意時刻網(wǎng)絡(luò)間的鏈路層斷開,,阻斷TCP/IP協(xié)議及其他網(wǎng)絡(luò)協(xié)議,,能夠顯著地提高內(nèi)部用戶網(wǎng)絡(luò)的安全強度,,與防火墻、入侵檢測有很大的區(qū)別:防火墻,、IDS技術(shù)從正面抗擊黑客入侵,,而GAP產(chǎn)品以攻擊技術(shù)的物質(zhì)基礎(chǔ)即網(wǎng)絡(luò)介質(zhì)實現(xiàn)隔離,使黑客技術(shù)無用武之地,。2個網(wǎng)絡(luò)(內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò))物理斷開,,但邏輯相連。GAP的結(jié)構(gòu)如圖1所示,。

GAP的結(jié)構(gòu)

  專用隔離硬件與內(nèi)外網(wǎng)處理單元構(gòu)成一個GAP系統(tǒng),,隔離硬件由純電路構(gòu)成,隔離硬件中增加暫存區(qū)的設(shè)計,,滿足了數(shù)據(jù)傳輸?shù)膶崟r性和傳

 

輸效率要求,。筆者在GAP原理的基礎(chǔ)上提出基于FPGA的專用隔離硬件設(shè)計的新方案,并對關(guān)鍵技術(shù)進行了深入研究,。

 

  3 系統(tǒng)方案設(shè)計

  3.1 系統(tǒng)結(jié)構(gòu)

  該系統(tǒng)主要由1個超大規(guī)模邏輯器件,、2個68針P電纜SCSI接口和2個SDRAM構(gòu)成,系統(tǒng)整體硬件結(jié)構(gòu)如圖2所示,。

系統(tǒng)整體硬件結(jié)構(gòu)

  在該系統(tǒng)中,,F(xiàn)PGA要集成核心控制器、SCSI協(xié)議控制器,、SDRAM控制器模塊,,核心控制器從SCSI協(xié)議控制器獲得二端處理單元的命令,執(zhí)行相應(yīng)的動作,,如檢查設(shè)備,、讀寫數(shù)據(jù)等,而且將SCSI協(xié)議控制器與存儲器隔離,,在任何時候,,1個SCSI協(xié)議控制器只能與1個存儲器構(gòu)成通路。系統(tǒng)中的緩沖區(qū)由兩片SDRAM構(gòu)成,,核心控制器通過調(diào)用SDRAM控制器IP核對其進行同步操作,,從一片讀數(shù)據(jù)的同時向另一片寫數(shù)據(jù),可以完成讀寫乒乓機制功能,,有助于提高傳輸速度。專用隔離硬件進行內(nèi)外網(wǎng)之間大量數(shù)據(jù)的傳輸,,為了保證高速和實時,,選用68針的P電纜線,支持16位寬SCSI,。為了滿足功能的需要,,F(xiàn)PGA選用ALTERA公司的EPlK5OQC208-3,,其邏輯門和引腳資源豐富,速度大于50 MHz,。其主要特性如下:2.5 V核心電壓,,低功耗設(shè)計;208引腳,,171個可用I/O口,;內(nèi)有l(wèi) 728個邏輯單元和6個嵌入式RAM塊。

  3.2 SCSI協(xié)議控制器的設(shè)計

  在SCSI總線上進行任何處理都需要8個總線階段:空閑階段,、仲裁階段,、選擇階段、重選階段,、消息輸入/輸出階段,、數(shù)據(jù)輸入/輸出階段、命令階段,、狀態(tài)階段,。在任何時候,SCSI總線只能處于一個確定的總線階段,。階段之聞的前后關(guān)聯(lián)受到嚴格限制,,也就是說并不是每個階段后面都可以跟著任何階段。圖3示出了SCSI總線階段狀態(tài)的轉(zhuǎn)化,,如命令和數(shù)據(jù)階段只能在消息階段之后出現(xiàn),,同樣,消息階段的后面必須緊跟這兩個階段,,而不是其他階段,。

SCSI總線階段狀態(tài)的轉(zhuǎn)化

  該協(xié)議控制器的設(shè)計嚴格按照SCSI總線階段轉(zhuǎn)化過程,由以上分析提出SCSI協(xié)議控制器的FP-GA實現(xiàn)方案:由于空閑,、仲裁這兩個總線階段的機理簡單,,故將其直接放在SCSI模塊中實現(xiàn),其余每個階段都有相對應(yīng)的模塊,,整個系統(tǒng)軟件由1個頂層模塊和7個平行的底層模塊構(gòu)成,。模塊層次如圖4所示。

模塊層次

  • SCSI模塊有1個有限狀態(tài)機,,每個狀態(tài)對應(yīng)底層的1個模塊,,并用寄存器S_MODE的不同取指來表示不同模塊,通過這個狀態(tài)機實現(xiàn)階段轉(zhuǎn)換,、消息處理,、命令解釋、數(shù)據(jù)處理和狀態(tài)處理等功能,。
  • Sel模塊處理選擇階段的時序,。啟動器將信號BSY,、SEL、ATN和啟動器的ID號以及目標器的ID號置為有效,,啟動器隨后釋放BSY信號,,經(jīng)過200ms之后目標器將BSY信號置為有效,再過2個延遲周期后啟動器釋放SEL信號并進入消息階段,。
  • Resel模塊處理重新選階段的時序,。啟動器將信號BSY、SEI I/O和啟動器的ID號以及目標器的ID號置為有效,,啟動器隨后釋放BSY信號,。最多200ms之后目標器必須將BSY信號置為有效作為響應(yīng)。
  • Msg_out模塊處理消息出階段的時序,。啟動器將ATN置為有效,,目標器將信號MSG和C/D信號置為有效,I/O信號為無效,。這意味著接下來要進入的是消息出相序,,啟動器將發(fā)出16位寬傳輸消息。發(fā)送完信息字節(jié)后,,啟動器將釋放ATN信號,,根據(jù)發(fā)出的信息確定下一個階段。
  • Cmd模塊處理命令階段的命令接收時序,。目標器在接收到啟動器80H的消息后進入命令階段,。目標器需將MSG和I/O置為無效,將C/D置為有效,,接收完命令后,,將根據(jù)命令判斷接下來要進入的是數(shù)據(jù)輸入階段還是數(shù)據(jù)輸出階段。
  • Dat模塊處理數(shù)據(jù)階段的數(shù)據(jù)接收和發(fā)送時序,。數(shù)據(jù)接收時,,在命令READ、TESI UNIT READY,、INQUIRY,、REQUEST、SENSE,、READ CAPACITY后都將進入數(shù)據(jù)進相序,。此時目標器將MSG和C/D信號置為無效,將I/O信號置為有效,。目標器將發(fā)送相應(yīng)的數(shù)據(jù),。在命令為WRITE后將進入數(shù)據(jù)出階段,此時目標器將MSG,、C/D和I/O都置為O,,啟動器向目標器發(fā)送數(shù)據(jù),之后進入消息階段,。
  • Status模塊處理狀態(tài)階段的時序,。在命令完成后將進入狀態(tài)階段,目標器將MSG信號置為無效,,將C/D和I/O信號置為有效,,并發(fā)送命令執(zhí)行的情況是GOOD還是CHECK CONDITON。狀態(tài)階段結(jié)束后將進入消息進階段,,向啟動器說明一個COM-MAND COMPLETED,。至此一個SCSI訪問結(jié)束。目標器將進入空閑階段,,啟動器將可以通過1個80 H的消息觸發(fā)另外一個訪問,。
  • Msg_in模塊處理消息進階段的消息發(fā)送時序。目標器接收到16位寬傳輸?shù)南⒑髮⑦M入消息進時序,。目標器將MSG,、C/D以及I/O都置為有效,并發(fā)送重復(fù)的信息,。發(fā)送完后目標器將釋放MSG信號,,并根據(jù)消息確定下一個階段。

  3.3 SDRAM IP核的

 

應(yīng)用

 

  SDRAM是一種高速同步動態(tài)隨機存儲器,,在嵌入式系統(tǒng)中,,SDRAM因其價格低、體積小,、速度快,,容量大等優(yōu)點而逐漸成為一種主流器件,但SDRAM的控制邏輯復(fù)雜,,時序嚴格,,使用不便,需要控制器提供正確命令來完成其初始化,、讀寫和刷新等工作,。SDRAM控制器根據(jù)SDRAM的內(nèi)部狀態(tài)轉(zhuǎn)化圖進行設(shè)計,而且很多大公司都提供標準SDRAM控制器的IP核參考設(shè)計,。筆者選用了WINBOND公司的W986432DH型SDRAM,,它采用512 Kx4x32位架構(gòu),由4個BANK構(gòu)成,,每個BANK對應(yīng)4 M字節(jié),,按行和列尋址,W986432DH的引腳分為控制,、地址和數(shù)據(jù)信號三類,。其控制器選用Lattice公司的標準SDR SDRAM IP核,,由4個底層模塊sdr_ctrl、sdr_sig,、sdr_data,、sdr_par和頂層模塊sdr_top組成,如圖5所示。

SDRAM控制器的連接

  8dr_ctrl模塊根據(jù)SDRAM內(nèi)部狀態(tài)轉(zhuǎn)化關(guān)系建立2個有限狀態(tài)機和1個計數(shù)器,能產(chǎn)生正確的中間狀態(tài)作為sdr_sig模塊輸入,。sdr_sig模塊產(chǎn)生面向SDRAM的控制,、地址信號。sdr_data模塊實現(xiàn)FPGA與SDRAM之間的數(shù)據(jù)傳輸,。sdr_par模塊完成猝發(fā)長度,,延時節(jié)拍等參數(shù)設(shè)置,通過在該模塊中設(shè)置不同的參數(shù)來滿足不同的應(yīng)用系統(tǒng),。

  sdr__top將底層4個模塊整合成1個可以調(diào)用的系統(tǒng),。整個IP核類似于黑匣子,不用詳細了解其內(nèi)部實現(xiàn)細節(jié),只需了解左邊控制信號的含義,對SDRAM的不同操作通過改變左邊控制信號的狀態(tài)即可。

  4 結(jié)束語

  本文提出了基于GAP技術(shù)的網(wǎng)絡(luò)保護設(shè)備設(shè)計新方案,,闡述了主要模塊的實現(xiàn)方法,,限于篇幅不能給出具體細節(jié)和源代碼。采用1個FPGA替代單片機和SCSI協(xié)議控制器,,可減少電路數(shù)量,,降低成本,便于升級,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。