网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 发展战略论文
  • 国际经济论文
  • 行业经济论文
  • 新经济学论文
  • 中国经济论文
  • 国际贸易论文
  • 地方战略论文
  • 您的位置:写论文网 > 经济学论文 > 国际贸易论文 > 【利用EPP接口协议实现高速数... 正文 2019-12-26 07:26:09

    【利用EPP接口协议实现高速数据通信】接口协议有哪些

    相关热词搜索:

    利用EPP接口协议实现高速数据通信

    利用EPP接口协议实现高速数据通信 关键词:单片机系统 高速数据通信 EPP 前言 单片机系统中常常需要具备与PC机通信的功能,便于将单片机中的数据 传送到PC机中用于统计分析处理;
    有时又需要将PC机中的数据装入单片机系统 中,对单片机程序进行验证和调试。目前常用的通信方式是串行通信,但传输速 率太低,以9600bps计算,传输1MB至少需要10min(分钟)以上。并行通信克服了 串行通信传输速率低的缺点。标准并行口SPP(Standard Parallel Port)方式实现 了由PC机向外设的单向传输,但实现PC机接收外设发送的数据则非常麻烦;
    而 增强型并行口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接口引脚定义 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 EPP状态端口寄存器 WAIT:Wait状态位(1有效);

    INTR:中断请求状态位(1有效);
    USER1~USER3:用户自定义;

    TMOUT:保留(EPP1.7)超时标志位(EPP1.9)。

    EPP控制端口寄存器。

    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 #includestdio.h FILE *fp;
    Int data;
    Long i;
    int k;
    fp=fopen(filename,"wb");
    //打开要存储数据的文件outportb(SPPCNTL,0x24);
    //向控制端口发00100100代码,初始化为读操作模式for(i=0;i524288;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 DPLPOP 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接口协议实现高速数据通信】接口协议有哪些》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.