- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用EPP接口协议实现高速数据通信
摘要:如何实现PC与单片机系统间的高速数据通信,是测量控制系统中经常遇到的难题。本文系统地介绍利用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接口引脚定义
引脚号
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:读)。
读取接口状态和控制接口都只须对相应的端口寄存器进行操作。以初始化为例:
读操作初始化:outp
您可能关注的文档
- 凯捷—五矿有色锑整合项目调查报告—五矿有色参股辰州矿业项目可行性研究报告 041013j_tn3mcu.ppt
- 凯云水利水电工程工程量清单计价软件 文稿jgoin1ny.ppt
- 凯云水利水电工程工程量清单计价软件 简介cq9sf9ba.ppt
- 凯里学院大学生英语学习需求分析问卷调查a43ovzsu.doc
- 凯云水利水电工程工程量清单计价软件教学文稿xduglal4.ppt
- 分拣作业管理8o6tagt7.pptx
- 凯旋公元售楼部前期物业管理工作方案1144302268anrqbh7q.doc
- 列管式换热器课程设计mmwyjnh2.doc
- 列管式余热锅炉内垂直管束的截面含气率测量znjnsxi6.docx
- 列管换热器设计示例课程设计nvvgth9y.doc
文档评论(0)