第三章 硬體架構與單元設計
3.3 硬體控制式架構
3.3.1 Parallel Port 控制器設計
並列埠有許多種的工作模式,如 SPP(Standard Parallel Port)、EPP(Enhanced Parallel Port)與 ECP(Extended Capabilities Port)三種標準,各種標準分別有不同的 傳輸協定。EPP 模式較 SPP 模式多出額外兩組控制的暫存器,且較 ECP 模式更 單純且容易實現,故本研究採用EPP 標準來設計其電路控制器。
EPP 標準由三大廠商 Intel、Xircom 與 Zenith 訂定與開發,於 1994 年新增為 IEEE 1284 的標準,在正常的傳輸下,其速率可以達到 500KB/S(Kilo Byte Per Second)至 2MB/S 不等,所需的傳輸接腳分別是 Wirte(1 位元;1 表示讀取操作、
0 表示寫入操作)、AddrStrobe(1 位元;1 表示未動作、0 表示位置傳輸)、DataStrobe(1 位元;1 表示未動作、0 表示資料傳輸)、Wait(1 位元;1 表示傳輸完成、0 表示能
AddrStrobe 或 DataStrobe 的準位也會改變。此時在一定的時間(10μs)範圍內偵測 Wait 訊號是否為高準位,若是為高準位狀態,表示裝置已從 Data_Bus 上接收完
資料,則將各個訊號恢復為初始狀態,完成一個EPP 的寫入週期。
圖3-18(c)與(d)分別為讀取協定:首先偵測裝置是否為允許傳輸的狀態,若是 在允許的狀態之下,AddrStrobe 或 DataStrobe 會改變為低準位狀態。此時在一定 的時間(10μs)範圍內偵測 Wait 訊號是否為高準位,若是為高準位狀態,表示裝置 已將有效資料放置於 Data_Bus 上,則將各個訊號恢復為初始狀態,並同時在 AddrStrobe 或 DataStrobe 上升邊緣(Rising Edge)時刻讀回 Data_Bus 上的資料,完 成一個EPP 的讀取週期。
根據上述EPP 模式的傳輸協定波形與動作說明,即可提出實現為硬體電路的 流程,如圖3-19 所示,以 Strobe 訊號將流程分為兩部分,再依據 Write 訊號來執 行對應的資料轉移,最後在回覆Wait 訊號,完成 EPP 的週期。
1-bit Reg1
1-bit Reg2
1-bit Reg3
Strobe
Sys_clk
EPP_ST
EPP_END
圖3-20 Strobe 訊號偵測電路
傳輸的動作,依據需求會不定時的發生,要正確判別是否有傳輸的發生,可 以用固定的時間將訊號線進行取樣,若取樣的數值有變動,亦即代表有傳輸的發 生。因此,本研究使用3 個移位暫存器來處理,如圖 3-20 所示,當 Reg3~1分別為 100 時,表示訊號為下降邊緣(Falling Edge),有傳輸的開始(EPP_ST);當 Reg3~1
分別為111 時,表示回應的 Wait 訊號已被偵測到,為傳輸的結束(EPP_END)。
圖 3-21 是控制狀態機,當系統重置時,進入 S0狀態,當偵測到傳輸開始信 號後,造成狀態機的改變,若是寫入操作(Write = 0),則狀態改變為 S1狀態;若 為讀取操作(Write = 1),則狀態改變為 S2狀態。進入S1狀態與S2狀態時,皆會 發 送 請 求(Request) 訊 號 給 SRAM 控 制 器 , 直 至 SRAM 控 制 器 回 覆 認 可 (Acknowledge)訊號,狀態才改變為 S3狀態,進入S3狀態時設定Wait 訊號為 1,
直到偵測傳輸結束信號後,狀態才改變為 S0並設定 Wait 訊號為 0,結束一筆資 料的傳輸。
圖3-21 Parallel Port 控制狀態機
完整電路如圖 3-22 所示,一部份由上述的 Strobe 訊號偵測模組與狀態機電 路來構成;另一部份,為配合並列埠雙向的資料傳輸,使用三態閘(Tri-State Buffer) 去控制輸出的狀態,只有當讀取操作時,資料才允許送至輸出端,其餘時刻輸出 端皆呈現高阻抗的輸入狀態。
EPP_DB
EPP_AS EPP_DS EPP_WR EPP_WAIT
PC SRAM
Controller
Strobe Detect
Data_Bus
Z
State Machine
8-bit Register
WR_Req RD_Req SRAM_Ack
CTRL_Bus
en
圖3-22 Parallel Port 控制器硬體電路圖