新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于GAP技術的網絡隔離設備的研究與設計

基于GAP技術的網絡隔離設備的研究與設計

作者: 時間:2010-08-24 來源:網絡 收藏

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

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

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

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

模塊層次

  • SCSI模塊有1個有限狀態(tài)機,每個狀態(tài)對應底層的1個模塊,并用寄存器S_MODE的不同取指來表示不同模塊,通過這個狀態(tài)機實現(xiàn)階段轉換、消息處理、命令解釋、數(shù)據(jù)處理和狀態(tài)處理等功能。
  • Sel模塊處理選擇階段的時序。啟動器將信號BSY、SEL、ATN和啟動器的ID號以及目標器的ID號置為有效,啟動器隨后釋放BSY信號,經過200ms之后目標器將BSY信號置為有效,再過2個延遲周期后啟動器釋放SEL信號并進入消息階段。
  • Resel模塊處理重新選階段的時序。啟動器將信號BSY、SEI I/O和啟動器的ID號以及目標器的ID號置為有效,啟動器隨后釋放BSY信號。最多200ms之后目標器必須將BSY信號置為有效作為響應。
  • 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ā)送相應的數(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)階段結束后將進入消息進階段,向啟動器說明一個COM-MAND COMPLETED。至此一個SCSI訪問結束。目標器將進入空閑階段,啟動器將可以通過1個80 H的消息觸發(fā)另外一個訪問。
  • Msg_in模塊處理消息進階段的消息發(fā)送時序。目標器接收到16位寬傳輸?shù)南⒑髮⑦M入消息進時序。目標器將MSG、C/D以及I/O都置為有效,并發(fā)送重復的信息。發(fā)送完后目標器將釋放MSG信號,并根據(jù)消息確定下一個階段。

評論


相關推薦

技術專區(qū)

關閉
×

Digikey let's do
· 2025年第1期限时报名开启,5月8日截止
· Digikey助力,提供一站式免费器件支持
· 跟大佬一起 【DIY 功率监测与控制系统】