RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SX52BD單片機實現(xiàn)接口通信系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:易韋韋 ? 2021-05-05 17:26 ? 次閱讀

引言

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

SX52BD是SX系列產(chǎn)品,是采用CMOS工藝制造的、可配置的通信控制器。它是一種高速單片機,指令大都是單周期的,其工作頻率可達到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個操作階段。

o4YBAGCH2TaADWlbAADmhM_U-jE173.png

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

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

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

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

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

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

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

pIYBAGCH2S-AGE0YAACuRTImeJ4169.png

2 SX52BD單片機簡介

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運行速度可達50MHz,由指令運行產(chǎn)生時序完全可達到ECP協(xié)議的時序時間要求,并且它的I/O口驅(qū)動能力滿足PC機要求。因此,不用使用任何額外的硬件電路產(chǎn)生時序,這就是虛擬外設(shè)的概念。

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

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

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

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

o4YBAGCH2QiAbwHVAAAvJTpTI8o239.png

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

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

結(jié)語

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634634
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177806
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2878

    瀏覽量

    88051
收藏 人收藏

    評論

    相關(guān)推薦

    基于SX52BD單片機的嵌入式遠(yuǎn)程電網(wǎng)監(jiān)測系統(tǒng)構(gòu)建

      介紹應(yīng)用UBICOM公司的SX52BD單片機構(gòu)建用于遠(yuǎn)程電網(wǎng)監(jiān)測的嵌入式系統(tǒng)的具體方案,使基于單片機的測控設(shè)備可
    發(fā)表于 11-30 10:47 ?1045次閱讀
    基于<b class='flag-5'>SX52BD</b><b class='flag-5'>單片機</b>的嵌入式遠(yuǎn)程電網(wǎng)監(jiān)測<b class='flag-5'>系統(tǒng)</b>構(gòu)建

    基于SX52BD單片機和CS8900A控制器實現(xiàn)英特網(wǎng)終端的應(yīng)用設(shè)計

    ·SX52BD是Ubicom公司生產(chǎn)的一款RISC指令集的高速單片機。程序存儲器采用Flash,片內(nèi)容量為4096字節(jié),重復(fù)寫周期1萬次以上;數(shù)據(jù)存儲器是SRAM,片內(nèi)容量為262×8位
    的頭像 發(fā)表于 06-14 14:48 ?3020次閱讀
    基于<b class='flag-5'>SX52BD</b><b class='flag-5'>單片機</b>和CS8900A控制器<b class='flag-5'>實現(xiàn)</b>英特網(wǎng)終端的應(yīng)用設(shè)計

    [原創(chuàng)]美國冬澤單片機

    POWER ELECTRONIC )企業(yè)集團的8位超高速單片機SX52BD,每秒運行數(shù)據(jù)能力達1億次。由于UBICOM單片機的速度極高,能夠實現(xiàn)實時多任務(wù)操作,可以在MCU執(zhí)行數(shù)據(jù)采
    發(fā)表于 08-18 09:06

    基于SX52單片機測控網(wǎng)絡(luò)系統(tǒng)研究

    應(yīng)用UBICOM 公司的協(xié)議棧芯片SX52 實現(xiàn)數(shù)據(jù)從UDP 協(xié)議到UART 的轉(zhuǎn)換, 使基于單片機的測控設(shè)備可以方便地連接到局域網(wǎng)中,并和遠(yuǎn)程網(wǎng)絡(luò)設(shè)備進行數(shù)據(jù)通信。給出Intrane
    發(fā)表于 04-15 08:29 ?14次下載

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

    介紹一種快速的并行協(xié)議—— ECP協(xié)議在高速單片機與PC通信的應(yīng)用。高速單片機采用SX52BD, 并用虛擬外設(shè)
    發(fā)表于 04-16 09:38 ?24次下載

    基于SX52單片機測控網(wǎng)絡(luò)系統(tǒng)研究

    應(yīng)用UBICOM 公司的協(xié)議棧芯片SX52 實現(xiàn)數(shù)據(jù)從UDP 協(xié)議到UART 的轉(zhuǎn)換, 使基于單片機的測控設(shè)備可以方便地連接到局域網(wǎng)中,并和遠(yuǎn)程網(wǎng)絡(luò)設(shè)備進行數(shù)據(jù)通信。給出Intrane
    發(fā)表于 05-14 14:04 ?21次下載

    鍵盤接口單片機系統(tǒng)與PC通信中的應(yīng)用

    摘要:提出一種全新的利用鍵盤接口實現(xiàn)單片機系統(tǒng)和PC通信的方案,介紹了鍵盤與PC
    發(fā)表于 09-14 22:13 ?55次下載

    傳感器與AT89S52單片機接口電路設(shè)計:測量模塊電路

    傳感器與AT89S52單片機接口電路設(shè)計    該測試儀以AT89S52單片機為核心,外接溫濕度傳感器SHT
    發(fā)表于 05-13 11:50 ?4373次閱讀
    傳感器與AT89S<b class='flag-5'>52</b><b class='flag-5'>單片機</b>的<b class='flag-5'>接口</b>電路設(shè)計:測量模塊電路

    89S52單片機檢測控制溫度的監(jiān)測系統(tǒng)實現(xiàn)

    筆者運用D1S18B20采集數(shù)字信號,通過藍(lán)牙無線通信技術(shù)和USB接口技術(shù)。實現(xiàn)由89S52單片機檢測控制溫度的監(jiān)測
    發(fā)表于 01-09 10:07 ?4422次閱讀
    89S<b class='flag-5'>52</b><b class='flag-5'>單片機</b>檢測控制溫度的監(jiān)測<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>實現(xiàn)</b>

    鍵盤接口單片機系統(tǒng)與PC通信中的應(yīng)用

    本文提出一種全新的利用鍵盤接口實現(xiàn)單片機系統(tǒng)和PC通信的方案,介紹了鍵盤與PC
    發(fā)表于 03-29 10:18 ?6次下載

    基于單片機的嵌入式因特網(wǎng)終端設(shè)計方案

    主要芯片介紹 SX52BD是Ubicom公司生產(chǎn)的一款RISC指令集的高速單片機。程序存儲器采用Flash,片內(nèi)容量為4096字節(jié),重復(fù)寫周期1萬次以上;數(shù)據(jù)存儲器是SRAM,片內(nèi)容量為2628位
    發(fā)表于 11-04 10:44 ?0次下載
    基于<b class='flag-5'>單片機</b>的嵌入式因特網(wǎng)終端設(shè)計方案

    AT89S52單片機系統(tǒng)教程之其它應(yīng)用接口設(shè)計的資料說明

     本章介紹AT89S52單片機系統(tǒng)中其他的常用應(yīng)用接口設(shè)計,內(nèi)容主要包括單片機與步進電機、直流電機以及時鐘/日歷芯片DS1302的
    發(fā)表于 10-29 16:40 ?11次下載
    AT89S<b class='flag-5'>52</b><b class='flag-5'>單片機</b><b class='flag-5'>系統(tǒng)</b>教程之其它應(yīng)用<b class='flag-5'>接口</b>設(shè)計的資料說明

    AT89C52單片機實現(xiàn)喇叭驅(qū)動的設(shè)計

    AT89C52單片機實現(xiàn)喇叭驅(qū)動的設(shè)計
    發(fā)表于 11-23 17:06 ?53次下載
    AT89C<b class='flag-5'>52</b><b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b>喇叭驅(qū)動的設(shè)計

    PC與多臺單片機實時通信系統(tǒng)的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《PC與多臺單片機實時通信系統(tǒng)的設(shè)計與實現(xiàn).doc》資料免費下載
    發(fā)表于 10-19 16:29 ?4次下載
    PC<b class='flag-5'>機</b>與多臺<b class='flag-5'>單片機</b>實時<b class='flag-5'>通信</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    如何實現(xiàn)51單片機與PC的串行通信

    51單片機與PC的串行通信是一種常見的通信方式,它允許單片機通過串行接口與PC
    的頭像 發(fā)表于 10-21 11:35 ?754次閱讀
    RM新时代网站-首页