位置:51电子网 » 技术资料 » 接口电路

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

发布时间:2008/5/27 0:00:00 访问次数:512

来源:单片机与嵌入式系统应用 作者:汪 洋 叶湘滨

摘要:如何实现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数据端口

读/写

<

来源:单片机与嵌入式系统应用 作者:汪 洋 叶湘滨

摘要:如何实现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数据端口

读/写

<

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!