新聞中心

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

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

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

          3.2 SCSI協議控制器的設計

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

        SCSI總線階段狀態的轉化

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

        模塊層次

        • SCSI模塊有1個有限狀態機,每個狀態對應底層的1個模塊,并用寄存器S_MODE的不同取指來表示不同模塊,通過這個狀態機實現階段轉換、消息處理、命令解釋、數據處理和狀態處理等功能。
        • 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信號為無效。這意味著接下來要進入的是消息出相序,啟動器將發出16位寬傳輸消息。發送完信息字節后,啟動器將釋放ATN信號,根據發出的信息確定下一個階段。
        • Cmd模塊處理命令階段的命令接收時序。目標器在接收到啟動器80H的消息后進入命令階段。目標器需將MSG和I/O置為無效,將C/D置為有效,接收完命令后,將根據命令判斷接下來要進入的是數據輸入階段還是數據輸出階段。
        • Dat模塊處理數據階段的數據接收和發送時序。數據接收時,在命令READ、TESI UNIT READY、INQUIRY、REQUEST、SENSE、READ CAPACITY后都將進入數據進相序。此時目標器將MSG和C/D信號置為無效,將I/O信號置為有效。目標器將發送相應的數據。在命令為WRITE后將進入數據出階段,此時目標器將MSG、C/D和I/O都置為O,啟動器向目標器發送數據,之后進入消息階段。
        • Status模塊處理狀態階段的時序。在命令完成后將進入狀態階段,目標器將MSG信號置為無效,將C/D和I/O信號置為有效,并發送命令執行的情況是GOOD還是CHECK CONDITON。狀態階段結束后將進入消息進階段,向啟動器說明一個COM-MAND COMPLETED。至此一個SCSI訪問結束。目標器將進入空閑階段,啟動器將可以通過1個80 H的消息觸發另外一個訪問。
        • Msg_in模塊處理消息進階段的消息發送時序。目標器接收到16位寬傳輸的消息后將進入消息進時序。目標器將MSG、C/D以及I/O都置為有效,并發送重復的信息。發送完后目標器將釋放MSG信號,并根據消息確定下一個階段。

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南乐县| 浮梁县| 盐池县| 永平县| 蒲江县| 揭东县| 鄂伦春自治旗| 突泉县| 瑞丽市| 泽普县| 象山县| 百色市| 叙永县| 巩留县| 陈巴尔虎旗| 金平| 枣强县| 景宁| 锡林郭勒盟| 郯城县| 常州市| 当阳市| 平湖市| 额济纳旗| 图片| 新邵县| 霍山县| 金昌市| 廉江市| 廊坊市| 越西县| 浮山县| 丹棱县| 兰坪| 建德市| 榕江县| 保定市| 宿松县| 潍坊市| 枝江市| 黄冈市|