<form id="itnzz"><noscript id="itnzz"></noscript></form>

          1. <menuitem id="itnzz"></menuitem>
          2. 成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
            現在位置:范文先生網>理工論文>電子通信論文>利用EPP接口協議實現高速數據通信

            利用EPP接口協議實現高速數據通信

            時間:2023-02-20 22:38:10 電子通信論文 我要投稿
            • 相關推薦

            利用EPP接口協議實現高速數據通信

            摘要:如何實現PC與單片機系統間的高速數據通信,是測量控制系統中經常遇到的難題。本文系統地介紹利用EPP接口協議實現高速數據通信的原理,并從硬件、軟件兩方面給出一個應用EPP接口協議的設計實例。

                關鍵詞:單片機系統 高速數據通信 EPP

            利用EPP接口協議實現高速數據通信

            前言

            單片機系統中常常需要具備與PC機通信的功能,便于將單片機中的數據傳送到PC機中用于統計分析處理;有時又需要將PC機中的數據裝入單片機系統中,對單片機程序進行驗證和調試。目前常用的通信方式是串行通信,但傳輸速率太低,以9600bps計算,傳輸1MB至少需要10min(分鐘)以上。并行通信克服了串行通信傳輸速率低的缺點。標準并行口SPP(Standard Parallel Port)方式實現了由PC機向外設的單向傳輸,但實現PC機接收外設發送的數據則非常麻煩;(范文先生網www.ycxgx.cn收集整理)而增強型并行口EPP(Enhanced Parallel Port)協議卻很好地解決了這一問題,能夠實現穩定的高速數據通信。

            一、EPP接口協議介紹

            EPP協議最初是由Intel、Xircom、Zenith三家公司聯合提出的,于1994年在IEEE1284標準中發布。EPP協議有兩個標準:EPP1.7和EPP1.9。與傳統并行口Centronics標準利用軟件實現握手不同,EPP接口協議通過硬件自動握手,能達到500KB/s~2MB/s的通信速率。

            1.EPP引腳定義

            EPP引腳定義如表1所列。

            表1 EPP接口引腳定義

            引腳號 SPP信號 EPP信號 方  向 說       明 1 Strobe nWrite 輸出 指示主機是向外設寫(低電平)還是從外設讀(高電平) 2~9 Data0~7 Data07 輸入/輸出 雙向數據總線 10 Ack Interrupt 輸入 下降沿向主機申請中斷 11 Busy nWait 輸入 低電平表示外設準備好傳輸數據,高電平表示數傳輸完成 12 PaperOut/End Spare 輸入 空余線 13 Select Spare 輸入 空余線 14 Autofd nDStrb 輸出 數據選通信號,低電平有效 15 Error/Fault nDStrb 輸入 空余線 16 Initialize Spare 輸出 初始化信號,低電平有效 17 Selected Printer nAStrb 輸出 地址數據選通信號,低電平有效 18~25 Ground Ground GND 地線

            2.EPP接口時序

            EPP利用硬件自動握手實現主機與外設之間的高速雙向數據傳輸,軟件只須對相應端口寄存器進行讀/寫操作。

            (1)EPP寫操作時序如圖1所示。

            CPU實現向外設寫數據的操作步驟如下:

            ①程序對EPP數據寄存器執行寫操作;

            ②nWrite置低;

            ③CPU將有效數據送到數據總線上;

            ④nDStrb(nAStrb)變低(只要nWait為低);

            ⑤主機等待nWait變高,確認數據發送成功;

            ⑥主機等待nWait變高,確認數據發送成功;

            ⑦EPP寫周期結束。

            (2)EPP讀操作時序如圖2所示。

            CPU實現從外設讀數據的操作步驟如下:

            ①程序對相應EPP端口寄存器執行讀操作;

            ②nDStrb(nAStrb)置低(如果nWait為低);

            ③主機等待nWait為高,確認數據發送成功;

            ④主機從并行口引腳讀取數據;

            ⑤nDStrb(nAStrb)置高;

            ⑥EPP讀操作周期結束。

            3.EPP端口寄存器

            EPP接口除了保留SPP的3個端口寄存器以外,還新增了5個端口寄存器,如表2所列。

            表2 

            地   址 端口名稱 方    向 基地址+0 SPP數據端口 寫 基地址+1 EPP狀態端口 讀 基地址+2 EPP控制端口 寫 基地址+3 EPP地址端口 讀/寫 基地址+4 EPP地址端口 讀/寫 基地址+5 EPP數據端口 讀/寫 基地口+6 未定義(32位傳輸) 讀/寫 基地址+7 未定義(32位傳輸) 讀/寫

            EPP狀態端口寄存器

            WAIT INTR USER1 USER2 USER3 × × TMOUT

            WAIT:Wait狀態位(1有效);

            INTR:中斷請求狀態位(1有效);

            USER1~USER3:用戶自定義;

            TMOUT:保留(EPP1.7)超時標志位(EPP1.9)。

            EPP控制端口寄存器。

            × × DIR IRQEN ASTRB INIT DSTRB WRITE

            DIR:方向位(1輸入,0輸出);

            IRQEN:中斷使能位(1有效);

            ASTRB:地址選通位(0有效);

            INIT:初始化(1有效);

            DSTRB:數據選通位(0有效);

            WRITE:讀/寫狀態位(0:寫,1:讀)。

            讀取接口狀態和控制接口都只須對相應的端口寄存器進行操作。以初始化為例:

            讀操作初始化:outportb(port+2,0x24);

            //port為SPP數據端口地址

            寫操作初始化:outportb(port+2,0x04);

            //port+2為EPP控制端口地址

            4.EPP1.7和EPP1.9

            EPP接口最先有EPP1.7標準定義,由于硬件廠商的原因,EPP現有兩個標準:EPP1.7和EPP1.9,可以在BIOS/外圍設備/并行口(BIOS/Peripheral Setup/Parallel Port Mode)方式中進行設置。兩者有如下不同點:

            (1)EPP狀態端口寄存器的最低位bit0,在EPP1.9中定義為TMOUT。在EPP操作時序中,如果PC機數據(地址)選通信號變低后,且在10μs時間內,外設未能將nWait置為低,則TMOUT置為1,表示延時。

            (2)EPP1.9標準中,只有當nWait為低時,才能開始一個操作周期;但在EPP1.7中,無論nWait狀態如何,nAstrb(nDstrb)都會被置低,從而開始一個新的數據(地址)操作周期。

            二、EPP接口傳輸數據的一個實例

            在某單片機系統中,須要將單片機系統中數據存儲器的大量數據傳輸到PC機中進行分析處理。EPP接口(采用EPP1.7標準)硬件電路及軟件流程圖如圖3~圖5所示。

            GAL譯碼電路方程式為/O1=/I1*/I2*/I3*I4*/I5,EPP接口選通地址為2000H。當單片機執行如下指令:

            MOV DPTR,#2000H

            MOVX @DPTR,A

            就將寄存器A中的數據鎖存到數據總線上,便于PC機利用EPP接口進行讀操作。

            C語言例程:

            #define SPPDATA 0x0378 //定義各寄存器地址

            #define SPPSTAT 0x0379

            #define SPPCNTL 0x037A

            #define EPPADDR 0x037B

            #define EPPDATA 0x037C

            #include<stdio.h>

            FILE *fp;

            Int data;

            Long i;

            int k;

            fp=fopen(filename,"wb"); //打開要存儲數據的文件

            outportb(SPPCNTL,0x24);

            //向控制端口發00100100代碼,初始化為讀操作模式for(i=0;i<524288;i++)

            {

            while(!((inportb(SPPSTAT))&0x80))

            //查詢是否發送完畢

            {}

            data=inportb(EPPDATA); //讀數據

            fputc(data,fp); //將數據存入文件

            }

            fclose(fp); //關閉文件

            單片機匯編語言程序為:

            FLAG1 BIT P1.7 ;標志位

            FLAG2 BIT P3.4

            STADD EQU 0000H ;要傳輸數據段的起始地址

            NUM EQU FFFFH ;要傳輸數據端的字節個數

            COMMUN:MOV DPTR,#STADD

            COMM1:MOVX A,@DPTR

            PUSH DPH

            PUSH DPL

            MOV DPTR,#EPP_CE

            MOVX @DPTR,A

            POP DPL

            POP DPH

            SETB FLAG1 ;將P1.7置高

            CLR FLAG2 ;將P3.4置低

            JB FLAG1,$;查詢P1.7為低,即nDStrb為低,表示PC讀操作已完成

            SETB FLAG2 ;將P3.4置高

            SETB FLAG1 ;將P1.7置高

            INC DPTR

            CJNE NUM,COMM1 ;循環NUM次

            RET

            實際應用該接口電路,能實現1MB/s的傳輸速率,并且性能穩定可靠。

            如果應用EPP1.9標準,硬件電路不用變動,軟件中可以省略對nWait進行判斷的環節,速率能接近2MB/s。

            結束語

            本文系統介紹了EPP接口的原理,并且給出了一個利用EPP接口實現PC與單片機系統間高速傳輸的實例。EPP接口協議解決雙向高速數據傳輸的難題,在智能測量、自動控制、數據傳輸等領域必將得到廣泛的應用。


            【利用EPP接口協議實現高速數據通信】相關文章:

            增強并口EPP與DSP接口的設計增強并口EPP與DSP接口的設計08-06

            利用FPGA實現MMC2107與SDRAM接口設計08-06

            USB接口的高速數據采集卡的設計與實現08-06

            用68HC908GP32單片機實現EPP增強并口的接口技術08-06

            DSP與慢速設備接口的實現08-06

            基于uPSD323X的EPP增強并口的接口技術08-06

            通過SPI接口協議實現DSP與其它設備的通信08-06

            高速PCI總線接口卡的開發08-06

            嵌入式設備鼠標接口的設計與實現08-06

            主站蜘蛛池模板: 99re6在线视频精品免费下载| 99久久久国产精品消防器材| 国产裸体美女永久免费无遮挡| 国产主播精品福利午夜二区| 精品国产熟女一区二区三区| 伊人久在线观看视频| 国产普通话刺激视频在线播放| 婷婷五月深深久久精品| 日本久久99成人网站| 国产乱子伦手机在线| 精品国产午夜福利在线观看| 国产精品户外野外| av天堂久久精品影音先锋| 国产在线视频导航| 亚洲熟妇色xxxxx亚洲| 亚洲理论电影在线观看| 深夜视频国产在线观看| gogogo高清在线观看视频中文| 国产亚洲欧美日韩在线看片| 蜜臀av一区二区三区不卡| 这里只有精品在线播放| 欧美丰满熟妇性xxxx| 亚洲国产综合精品 在线 一区| 国产高清一区二区不卡| 国产综合久久亚洲综合| 麻豆aⅴ精品无码一区二区| 国产成人高清亚洲综合| 精品一区二区成人精品| 最近中文字幕国产精品| 99偷拍视频精品一区二区| 一区二区三区精品视频免费播放| 国产裸体美女永久免费无遮挡| 亚洲无人区一区二区三区| 久久无码字幕中文久久无码| 一区二区在线观看成人午夜| 久99视频| 国产老肥熟一区二区三区| 国语精品国内自产视频| 精品国产一区二区三区国产区| 2020国产成人精品视频| 亚洲中文字幕精品一区二区三区|