ECP協議及在SX52BD與PC機間通信的實現
關鍵詞:ECP協議互鎖握手 虛擬外設
引言
擴展能力端口模式ECP(Extented Capability Port)是一種IEEE 1284標準的工作模式之一。它能實現雙向數據傳輸,具有DMA傳輸、數據RLE壓縮、雙向尋址等功能。它要求主機外設雙方的硬件都必須實現狀態機的功能,即自動產生各種控制信號。ECP模式是唯一定義了寄存器實現的IEEE 1284傳輸協議。在計算機端操作ECP并行協議,僅需對相應的寄存器進行讀寫就會觸發硬件完成各種時序。ECP模式的數據傳輸率可以達到2~4MB/s。SX52BD是SX系列產品,是采用CMOS工藝制造的、可配置的通信控制器。它是一種高速單片機,指令大都是單周期的,其工作頻率可達到50MHz。由于其特有速度,設備可實現虛擬外設(軟件代替硬件的功能)。本文講述的通信就是基于此完成的。
1 ECP協議
ECP傳輸通過標準并行端口實現。其DB25接口的引腳定義如下:
1―HostClk; 2~9―雙向D1~D8;
10―PeriphClk; 11―PeriphAck;
12―nAckReverse; 13―Xflag;
14―HostAck; 15―nPeriphRequest;
16―nReverseRequest; 17―IEEE1284Active;
18~25―各信號地。
ECP模式分以下8個操作階段。①模式商議階段。主機把ECP的能力請求值放到數據總線上,然后置IEEE 1284 Active為高,HostAck為低。外設應該置PeriphClk為低,nPeriphRequest為高,Xflag為高,nAckReverse為高。主機置HostClk為低,然后置HostClk和HostAck為高,表示已經確認了一個兼容于ECP模式的外設。接著,外設置nAckReverse為低,PeriphAck為低,Xflag為高,PeriphClk為高。接口進入設置階段。
②ECP設置階段。主機置HostAck為低,外設置nAckReverse為高,響應主機。接口進入正向空閑階段,可以開始傳輸數據。
③正向空閑階段。外設置PeriphAck為低,主機檢測到此信號可開始傳輸數據。
④ECP正向傳輸階段。主機將數據放到數據總線上,置HostClk為低。外設置PeriphAck為高,應答。主機置HostClk為高,外設接收數據并置PeriphAck為低,完成這次傳輸。
這種握手方式即互鎖握手(interlocked handshake)。互鎖握手是指每一個控制信號的跳變都由接口對方相互應答。使用這種方式,外設可以控制傳輸的時間以滿足它進行操作的需要。
⑤ECP正向到反向轉換階段。在正向空閑階段,主機置8位數據總線為高阻狀態,并設置HostAck為低。為等待最小建立時間后,置nReverseRequest為低。外設置nAckReverse為低應答,進入反應空閑階段。
看上去相當復雜,但PC端操作卻很簡單,僅需對后面介紹的寄存器讀寫即可。單片機端略微復雜,但也只需對I/O口置位、復位、讀取,編程并不難。2 SX52BD單片機簡介
SX52BD片內程序存儲器容量為4096字節,數據存儲器容量為2628位。SX52BD具有5個8位I/O端口A、B、C、D、E,2個帶8位預定標器的16位定時器,1個帶預定標器通用8位定時器,1個模擬比較器,1個brownout檢測器及看門狗定時器,1個內部RC振蕩器。端口A、B、C為雙向I/O口;端口B可作為喚配置、比較器、定時器1的輸入;端口C可作為定時器2的輸入;端口D、E僅做輸入用。
SX52BD有3種不同的尋址方式:間接尋址、直接尋址、半直接尋址。對寄存器尋址模式的選取依賴于指令中5位“fr”的值。
*間接模式:fr=00h
*直接模式:(fr bit 4=0)fr=01h~0Fh
*半直接模式:(fr bit 4=1)fr=10h~1Fh
由于SX52BD運行速度可達50MHz,由指令運行產生時序完全可達到ECP協議的時序時間要求,并且它的I/O口驅動能力滿足PC機要求。因此,不用使用任何額外的硬件電路產生時序,這就是虛擬外設的概念。
3 ECP通信在SX52BD與PC機間的實現
由于采用了虛擬外設,因此硬件電路結構極其簡單:將SX52BD單片機的25個雙向I/O口接入PC機即可。
ECP通信的實現由軟件完成。主機設置好BIOS后,可通過操作寄存器直接產生硬件所需時序。寄存器定義如表1。表1 寄存器定義(基址0x378)
名 稱 | 地址偏移 | 讀 寫 | 大 小 | 功 能 |
ecpAFifo | 0x000 | W-R/W | 大小 | 地址寄存器 |
dsr | 0x001 | R | 字節 | 狀態寄存器 |
dcr | 0x002 | R/W | 字節 | 控制寄存器 |
ecpDFifo | 0x400 | R/W | 雙字節 | 數據寄存器 |
ecr | 0x402 | R/W | 字節 | 擴展控制寄存器 |
其中狀態寄存器dsr位定義如圖1,控制寄存器dcr的位定義如圖2。擴展控制寄存器ecr中定義了ECP對FIFO、DMA的使用,在速度要求較高時才對其操作。
下面列出了實現簡單的ECP協議。圖3為SX52BD端的程序流程圖,圖4為PC機端的程序流程圖。
結語
總體來說,由于ECP協議功能完善而且實現簡單,對時間要求也不是很嚴格,在許多傳輸速率要求不是特別高的場合中應用價值很高。另外,SX系列單片機的虛擬外設具有很廣泛的應用。
您可能也感興趣:
為您推薦
金融標準化“十四五”發展規劃發布 指明保險業發展方向
“隔離險”大火 銀保監會強調保險公司不得無理拒賠
遼寧將全面實施全民參保計劃 發展多層次、多支柱養老保險體系
排行
最近更新
- ECP協議及在SX52BD與PC機間通信的實現
- 光敏電阻器的主要參數
- 低音炮音箱的制作原理及相關電路介紹
- 一個電子工程師的經驗之談!
- 紅外氣體檢測儀的工作原理
- 門禁系統的實時監控功能
- 冬奧紅利激活冰雪裝備產業 有望成為新的經濟增長點
- 口腔健康管理師:崗位技能培訓發展的新空間
- 浙礦股份80后董事酒駕或被刑拘!7位A股高管喝酒誤事
- 去年全國發行地方政府債券74898億元 ?平均發行利率3.36%
- ?國內電廠煤價理性回歸 存煤平均可用天數達23天
- 德爾瑪沖擊創業板:小米集團為第一大客戶 去年前三季度毛利...
- 天佑德:控股股東擬減持2%股份
- CGM(連續血糖監測)彎道超車,是否預示著藍牙物聯網也能彎道超車?
- 從重獎女足到借勢谷愛凌,蒙牛能憑借體育營銷翻盤嗎?
- 小資生活化妝品加盟助你創業路上高枕不操心
- 麥田房產 ▏榮膺六項雇主品牌年度大獎 歡迎加入
- 一線城市樓市漸暖 三四線城市返鄉置業熱潮并未出現
- 權味開放加盟,實力集團加持,上市回購無限可能!
- 辭職創業:連開4店,加盟三只松鼠讓我賺大了!
- 這3類家庭,一定要裝CARDE分體式集成灶
- USDC發行量突破520億美元 創歷史新高
- 時空道宇領航智慧出行:大規模商用即將展開
- 愛茉詩(AMOS)用綠茶治療脫發的秘訣
- 康恩貝頻頻打折“賣賣賣”過冬 誰能挑起百億營收的業績大梁?
- 浙礦股份80后董事酒駕或被刑拘!3年7位A股高管喝酒誤事
- 京津冀“3+N”骨科集采開啟,專家:“帶量聯動、雙向選擇”
- 信貸創新高、社融超預期 1月金融數據暖意足
- 逆回購重回百億級 央行適時回籠流動性
- 商務部:春節期間我國消費市場總體平穩冰雪消費迅速升溫