四虎成人免费视频,国产一级a作爱视频免费观9看,色五月丁香亚洲,亚洲欧美性爱在线视频,1000部黄片免费观看一区,国产亚洲性生活视频播放,三级黄色在线视频网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>ECP協(xié)議及在SX52BD與PC機間通信的實現(xiàn)

ECP協(xié)議及在SX52BD與PC機間通信的實現(xiàn)

時間:2023-02-21 00:02:14 電子通信論文 我要投稿
  • 相關推薦

ECP協(xié)議及在SX52BD與PC機間通信的實現(xiàn)

摘要:介紹一種快速的并行協(xié)議——ECP協(xié)議在高速單片機與PC機間通信的應用。高速單片機采用SX52BD,并用虛擬外設實現(xiàn)。

    關鍵詞:ECP協(xié)議 互鎖握手 虛擬外設

ECP協(xié)議及在SX52BD與PC機間通信的實現(xiàn)

引言

擴展能力端口模式ECP(Extented Capability Port)是一種IEEE 1284標準的工作模式之一。它能實現(xiàn)雙向數(shù)據(jù)傳輸,具有DMA傳輸、數(shù)據(jù)RLE壓縮、雙向?qū)ぶ返裙δ。它要求主機外設雙方的硬件都必須實現(xiàn)狀態(tài)機的功能,即自動產(chǎn)生各種控制信號。ECP模式是唯一定義了寄存器實現(xiàn)的IEEE 1284傳輸協(xié)議。在計算機端操作ECP并行協(xié)議,僅需對相應的寄存器進行讀寫就會觸發(fā)硬件完成各種時序。ECP模式的數(shù)據(jù)傳輸率可以達到2~4MB/s。
(范文先生網(wǎng)www.htc668.com收集整理)
    SX52BD是SX系列產(chǎn)品,是采用CMOS工藝制造的、可配置的通信控制器。它是一種高速單片機,指令大都是單周期的,其工作頻率可達到50MHz。由于其特有速度,設備可實現(xiàn)虛擬外設(軟件代替硬件的功能)。本文講述的通信就是基于此完成的。

1 ECP協(xié)議

ECP傳輸通過標準并行端口實現(xiàn)。其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的能力請求值放到數(shù)據(jù)總線上,然后置IEEE 1284 Active為高,HostAck為低。外設應該置PeriphClk為低,nPeriphRequest為高,Xflag為高,nAckReverse為高。主機置HostClk為低,然后置HostClk和HostAck為高,表示已經(jīng)確認了一個兼容于ECP模式的外設。接著,外設置nAckReverse為低,PeriphAck為低,Xflag為高,PeriphClk為高。接口進入設置階段。

②ECP設置階段。主機置HostAck為低,外設置nAckReverse為高,響應主機。接口進入正向空閑階段,可以開始傳輸數(shù)據(jù)。

③正向空閑階段。外設置PeriphAck為低,主機檢測到此信號可開始傳輸數(shù)據(jù)。

④ECP正向傳輸階段。主機將數(shù)據(jù)放到數(shù)據(jù)總線上,置HostClk為低。外設置PeriphAck為高,應答。主機置HostClk為高,外設接收數(shù)據(jù)并置PeriphAck為低,完成這次傳輸。

這種握手方式即互鎖握手(interlocked handshake);ユi握手是指每一個控制信號的跳變都由接口對方相互應答。使用這種方式,外設可以控制傳輸?shù)臅r間以滿足它進行操作的需要。

⑤ECP正向到反向轉(zhuǎn)換階段。在正向空閑階段,主機置8位數(shù)據(jù)總線為高阻狀態(tài),并設置HostAck為低。為等待最小建立時間后,置nReverseRequest為低。外設置nAckReverse為低應答,進入反應空閑階段。

看上去相當復雜,但PC端操作卻很簡單,僅需對后面介紹的寄存器讀寫即可。單片機端略微復雜,但也只需對I/O口置位、復位、讀取,編程并不難。

2 SX52BD單片機簡介

SX52BD片內(nèi)程序存儲器容量為4096字節(jié),數(shù)據(jù)存儲器容量為262×8位。SX52BD具有5個8位I/O端口A、B、C、D、E,2個帶8位預定標器的16位定時器,1個帶預定標器通用8位定時器,1個模擬比較器,1個brownout檢測器及看門狗定時器,1個內(nèi)部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,由指令運行產(chǎn)生時序完全可達到ECP協(xié)議的時序時間要求,并且它的I/O口驅(qū)動能力滿足PC機要求。因此,不用使用任何額外的硬件電路產(chǎn)生時序,這就是虛擬外設的概念。

3 ECP通信在SX52BD與PC機間的實現(xiàn)

由于采用了虛擬外設,因此硬件電路結(jié)構(gòu)極其簡單:將SX52BD單片機的25個雙向I/O口接入PC機即可。

ECP通信的實現(xiàn)由軟件完成。主機設置好BIOS后,可通過操作寄存器直接產(chǎn)生硬件所需時序。寄存器定義如表1。

表1 寄存器定義(基址0x378)

名  稱 地址偏移 讀  寫 大  小 功  能 ecpAFifo 0x000 W-R/W 大小 地址寄存器 dsr 0x001 R 字節(jié) 狀態(tài)寄存器 dcr 0x002 R/W 字節(jié) 控制寄存器 ecpDFifo 0x400 R/W 雙字節(jié) 數(shù)據(jù)寄存器 ecr 0x402 R/W 字節(jié) 擴展控制寄存器

其中狀態(tài)寄存器dsr位定義如圖1,控制寄存器dcr的位定義如圖2。擴展控制寄存器ecr中定義了ECP對FIFO、DMA的使用,在速度要求較高時才對其操作。

下面列出了實現(xiàn)簡單的ECP協(xié)議。圖3為SX52BD端的程序流程圖,圖4為PC機端的程序流程圖。

結(jié)語

總體來說,由于ECP協(xié)議功能完善而且實現(xiàn)簡單,對時間要求也不是很嚴格,在許多傳輸速率要求不是特別高的場合中應用價值很高。另外,SX系列單片機的虛擬外設具有很廣泛的應用。


【ECP協(xié)議及在SX52BD與PC機間通信的實現(xiàn)】相關文章:

TMS320C54XX系列DSP與PC機間串行通信的實現(xiàn)08-06

利用VB實現(xiàn)PC機與多單片機通訊08-06

用TL16C752B實現(xiàn)DSP和PC機的串行通信08-06

利用異步通信芯片16C552實現(xiàn)PC機與DSP的串行通訊08-06

用PComm開發(fā)PC機與單片機的通信程序08-06

基于MCU實現(xiàn)藍牙與PC機之間HCI層傳輸08-06

使用MAC平臺的非線性編輯設備與PC機通信的握手及應用08-06

DSP與PC間的數(shù)據(jù)通訊08-06

在VC++中用ActiveX控件實現(xiàn)與單片機的串行通信08-06