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

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]本文系統(tǒng)地介紹利用EPP接口協(xié)議實(shí)現(xiàn)高速數(shù)據(jù)通信的原理,并從硬件、軟件兩方面給出一個(gè)應(yīng)用EPP接口協(xié)議的設(shè)計(jì)實(shí)例。

  摘要:如何實(shí)現(xiàn)PC與單片機(jī)系統(tǒng)間的高速數(shù)據(jù)通信,是測量控制系統(tǒng)中經(jīng)常遇到的難題。本文系統(tǒng)地介紹利用EPP接口協(xié)議實(shí)現(xiàn)高速數(shù)據(jù)通信的原理,并從硬件、軟件兩方面給出一個(gè)應(yīng)用EPP接口協(xié)議的設(shè)計(jì)實(shí)例。

    關(guān)鍵詞:單片機(jī)系統(tǒng) 高速數(shù)據(jù)通信 EPP

前言

單片機(jī)系統(tǒng)中常常需要具備與PC機(jī)通信的功能,便于將單片機(jī)中的數(shù)據(jù)傳送到PC機(jī)中用于統(tǒng)計(jì)分析處理;有時(shí)又需要將PC機(jī)中的數(shù)據(jù)裝入單片機(jī)系統(tǒng)中,對單片機(jī)程序進(jìn)行驗(yàn)證和調(diào)試。目前常用的通信方式是串行通信,但傳輸速率太低,以9600bps計(jì)算,傳輸1MB至少需要10min(分鐘)以上。并行通信克服了串行通信傳輸速率低的缺點(diǎn)。標(biāo)準(zhǔn)并行口SPP(Standard Parallel Port)方式實(shí)現(xiàn)了由PC機(jī)向外設(shè)的單向傳輸,但實(shí)現(xiàn)PC機(jī)接收外設(shè)發(fā)送的數(shù)據(jù)則非常麻煩;而增強(qiáng)型并行口EPP(Enhanced Parallel Port)協(xié)議卻很好地解決了這一問題,能夠?qū)崿F(xiàn)穩(wěn)定的高速數(shù)據(jù)通信。

一、EPP接口協(xié)議介紹

EPP協(xié)議最初是由Intel、Xircom、Zenith三家公司聯(lián)合提出的,于1994年在IEEE1284標(biāo)準(zhǔn)中發(fā)布。EPP協(xié)議有兩個(gè)標(biāo)準(zhǔn):EPP1.7和EPP1.9。與傳統(tǒng)并行口Centronics標(biāo)準(zhǔn)利用軟件實(shí)現(xiàn)握手不同,EPP接口協(xié)議通過硬件自動(dòng)握手,能達(dá)到500KB/s~2MB/s的通信速率。

1.EPP引腳定義

EPP引腳定義如表1所列。

表1 EPP接口引腳定義

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

2.EPP接口時(shí)序

EPP利用硬件自動(dòng)握手實(shí)現(xiàn)主機(jī)與外設(shè)之間的高速雙向數(shù)據(jù)傳輸,軟件只須對相應(yīng)端口寄存器進(jìn)行讀/寫操作。

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

CPU實(shí)現(xiàn)向外設(shè)寫數(shù)據(jù)的操作步驟如下:

①程序?qū)PP數(shù)據(jù)寄存器執(zhí)行寫操作;

②nWrite置低;

③CPU將有效數(shù)據(jù)送到數(shù)據(jù)總線上;

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

⑤主機(jī)等待nWait變高,確認(rèn)數(shù)據(jù)發(fā)送成功;

⑥主機(jī)等待nWait變高,確認(rèn)數(shù)據(jù)發(fā)送成功;

⑦EPP寫周期結(jié)束。

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

CPU實(shí)現(xiàn)從外設(shè)讀數(shù)據(jù)的操作步驟如下:

①程序?qū)ο鄳?yīng)EPP端口寄存器執(zhí)行讀操作;

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

③主機(jī)等待nWait為高,確認(rèn)數(shù)據(jù)發(fā)送成功;

④主機(jī)從并行口引腳讀取數(shù)據(jù);

⑤nDStrb(nAStrb)置高;

⑥EPP讀操作周期結(jié)束。

3.EPP端口寄存器

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

表2 

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

EPP狀態(tài)端口寄存器

WAIT INTR USER1 USER2 USER3 × × TMOUT

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

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

USER1~USER3:用戶自定義;

TMOUT:保留(EPP1.7)超時(shí)標(biāo)志位(EPP1.9)。

EPP控制端口寄存器。

× × DIR IRQEN ASTRB INIT DSTRB WRITE

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

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

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

INIT:初始化(1有效);

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

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

讀取接口狀態(tài)和控制接口都只須對相應(yīng)的端口寄存器進(jìn)行操作。以初始化為例:

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

//port為SPP數(shù)據(jù)端口地址

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

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

4.EPP1.7和EPP1.9

EPP接口最先有EPP1.7標(biāo)準(zhǔn)定義,由于硬件廠商的原因,EPP現(xiàn)有兩個(gè)標(biāo)準(zhǔn):EPP1.7和EPP1.9,可以在BIOS/外圍設(shè)備/并行口(BIOS/Peripheral Setup/Parallel Port Mode)方式中進(jìn)行設(shè)置。兩者有如下不同點(diǎn):

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

(2)EPP1.9標(biāo)準(zhǔn)中,只有當(dāng)nWait為低時(shí),才能開始一個(gè)操作周期;但在EPP1.7中,無論nWait狀態(tài)如何,nAstrb(nDstrb)都會(huì)被置低,從而開始一個(gè)新的數(shù)據(jù)(地址)操作周期。

二、EPP接口傳輸數(shù)據(jù)的一個(gè)實(shí)例

在某單片機(jī)系統(tǒng)中,須要將單片機(jī)系統(tǒng)中數(shù)據(jù)存儲(chǔ)器的大量數(shù)據(jù)傳輸?shù)絇C機(jī)中進(jìn)行分析處理。EPP接口(采用EPP1.7標(biāo)準(zhǔn))硬件電路及軟件流程圖如圖3~圖5所示。

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

MOV DPTR,#2000H

MOVX @DPTR,A

就將寄存器A中的數(shù)據(jù)鎖存到數(shù)據(jù)總線上,便于PC機(jī)利用EPP接口進(jìn)行讀操作。

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"); //打開要存儲(chǔ)數(shù)據(jù)的文件

outportb(SPPCNTL,0x24);

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

{

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

//查詢是否發(fā)送完畢

{}

data=inportb(EPPDATA); //讀數(shù)據(jù)

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

}

fclose(fp); //關(guān)閉文件

單片機(jī)匯編語言程序?yàn)椋?/P>

FLAG1 BIT P1.7 ;標(biāo)志位

FLAG2 BIT P3.4

STADD EQU 0000H ;要傳輸數(shù)據(jù)段的起始地址

NUM EQU FFFFH ;要傳輸數(shù)據(jù)端的字節(jié)個(gè)數(shù)

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 ;循環(huán)NUM次

RET

實(shí)際應(yīng)用該接口電路,能實(shí)現(xiàn)1MB/s的傳輸速率,并且性能穩(wěn)定可靠。

如果應(yīng)用EPP1.9標(biāo)準(zhǔn),硬件電路不用變動(dòng),軟件中可以省略對nWait進(jìn)行判斷的環(huán)節(jié),速率能接近2MB/s。

結(jié)束語

本文系統(tǒng)介紹了EPP接口的原理,并且給出了一個(gè)利用EPP接口實(shí)現(xiàn)PC與單片機(jī)系統(tǒng)間高速傳輸?shù)膶?shí)例。EPP接口協(xié)議解決雙向高速數(shù)據(jù)傳輸?shù)碾y題,在智能測量、自動(dòng)控制、數(shù)據(jù)傳輸?shù)阮I(lǐng)域必將得到廣泛的應(yīng)用。

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

引言 隨著數(shù)據(jù)通信需求的爆炸式增長,數(shù)據(jù)中心、高性能計(jì)算等領(lǐng)域?qū)Ω咚俦嘲逍诺赖膫鬏斔俾侍岢隽烁咭蟆?24G PAM6(6級脈沖幅度調(diào)制)技術(shù)憑借其高帶寬利用率和相對較低的實(shí)現(xiàn)復(fù)雜度,成為下一代高速背板信道的關(guān)鍵...

關(guān)鍵字: 224G PAM6 數(shù)據(jù)通信

【2025年6月19日,德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)已加入FiRa?(精準(zhǔn)測距)聯(lián)盟董事會(huì)。此舉標(biāo)志著英飛凌在推動(dòng)超寬帶(U...

關(guān)鍵字: 超寬帶 數(shù)據(jù)通信 數(shù)字化

固定端口的作用包括:確保服務(wù)可達(dá)性、維持NAT和防火墻的映射、保證事務(wù)的正確匹配、遵循協(xié)議規(guī)范。

關(guān)鍵字: 端口 交互

在處理SIP的INVITE請求時(shí),如何區(qū)分它們來自9013端口還是62885端口。

關(guān)鍵字: 端口 請求 響應(yīng)

中國上海,2024年11月4日 — 安富利旗下全球電子元器件產(chǎn)品與解決方案分銷商e絡(luò)盟宣布全面擴(kuò)展其工具和生產(chǎn)用品產(chǎn)品線,旨在提高工業(yè)運(yùn)營的效率和性能。客戶現(xiàn)在可以購買來自領(lǐng)先供應(yīng)商的各種高品質(zhì)產(chǎn)品,確保其設(shè)施可以順暢運(yùn)...

關(guān)鍵字: 數(shù)據(jù)通信 ESD 保護(hù) 緊固件

5G是指第五代移動(dòng)通信系統(tǒng)。它們屬于移動(dòng)通信標(biāo)準(zhǔn)的下一個(gè)主要階段,目前的4G網(wǎng)絡(luò)將遵從國際移動(dòng)通信(IMT)于2020制定的ITU-R要求,與目前4G以下的系統(tǒng)相比.

關(guān)鍵字: 5G 數(shù)據(jù)通信 通信系統(tǒng)

隨著信息技術(shù)的飛速發(fā)展,數(shù)據(jù)通信作為連接世界的橋梁,其重要性日益凸顯。為了確保數(shù)據(jù)通信的高效、穩(wěn)定和可靠,我們需要關(guān)注一系列關(guān)鍵的技術(shù)指標(biāo)。本文將深入解析數(shù)據(jù)通信的主要技術(shù)指標(biāo),并探討其前沿發(fā)展。

關(guān)鍵字: 數(shù)據(jù)通信 數(shù)據(jù)傳輸

在這篇文章中,小編將對端口的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: 端口 控制端口

隨著科技的飛速發(fā)展,數(shù)據(jù)通信已成為我們生活中不可或缺的一部分。無論是在工作中傳輸文件,還是在家庭中共享數(shù)據(jù),數(shù)據(jù)通信都扮演著重要的角色。本文將介紹幾種常見的數(shù)據(jù)通信方式,并探討它們的特點(diǎn)和適用場景。

關(guān)鍵字: 數(shù)據(jù)通信 有線通信 無線通信

符號(symbol)。通過不同的調(diào)制方式(諸如FSK、QAM等等),可以在一個(gè)碼元符號上負(fù)載多個(gè)bit位信息。舉個(gè)例子,4QAM(即QPSK)調(diào)制的全部四種碼元符號,一種符號可以帶兩個(gè)bit的信息。

關(guān)鍵字: 數(shù)據(jù)通信 傳輸速率 FSK
關(guān)閉