www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]ECP協(xié)議及在SX52BD與PC機(jī)間通信的實現(xiàn)

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

    關(guān)鍵詞:ECP協(xié)議 互鎖握手 虛擬外設(shè)

引言

擴(kuò)展能力端口模式ECP(Extented Capability Port)是一種IEEE 1284標(biāo)準(zhǔn)的工作模式之一。它能實現(xiàn)雙向數(shù)據(jù)傳輸,具有DMA傳輸、數(shù)據(jù)RLE壓縮、雙向?qū)ぶ返裙δ?。它要求主機(jī)外設(shè)雙方的硬件都必須實現(xiàn)狀態(tài)機(jī)的功能,即自動產(chǎn)生各種控制信號。ECP模式是唯一定義了寄存器實現(xiàn)的IEEE 1284傳輸協(xié)議。在計算機(jī)端操作ECP并行協(xié)議,僅需對相應(yīng)的寄存器進(jìn)行讀寫就會觸發(fā)硬件完成各種時序。ECP模式的數(shù)據(jù)傳輸率可以達(dá)到2~4MB/s。

    SX52BD是SX系列產(chǎn)品,是采用CMOS工藝制造的、可配置的通信控制器。它是一種高速單片機(jī),指令大都是單周期的,其工作頻率可達(dá)到50MHz。由于其特有速度,設(shè)備可實現(xiàn)虛擬外設(shè)(軟件代替硬件的功能)。本文講述的通信就是基于此完成的。

1 ECP協(xié)議

ECP傳輸通過標(biāo)準(zhǔn)并行端口實現(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個操作階段。

    ①模式商議階段。主機(jī)把ECP的能力請求值放到數(shù)據(jù)總線上,然后置IEEE 1284 Active為高,HostAck為低。外設(shè)應(yīng)該置PeriphClk為低,nPeriphRequest為高,Xflag為高,nAckReverse為高。主機(jī)置HostClk為低,然后置HostClk和HostAck為高,表示已經(jīng)確認(rèn)了一個兼容于ECP模式的外設(shè)。接著,外設(shè)置nAckReverse為低,PeriphAck為低,Xflag為高,PeriphClk為高。接口進(jìn)入設(shè)置階段。

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

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

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

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

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

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

2 SX52BD單片機(jī)簡介

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

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

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

ECP通信的實現(xiàn)由軟件完成。主機(jī)設(shè)置好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é) 擴(kuò)展控制寄存器

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

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

結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉