利用EPP接口协议实现高速数据通信
>
本文链接地址:http://www.oyaya.net/fanwen/view/140668.html
③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 INTR USER1 USER2 USER3 × × TMOUTWAIT:Wait状态位(1有效);
INTR:中断请求状态位(1有效);
USER1~USER3:用户自定义;
TMOUT:保留(EPP1.7)超时标志位(EPP1.9)。
EPP控制端口寄存器。
× × DIR IRQEN ASTRB INIT DSTRB WRITEDIR:方向位(1输入,0输出);
IRQEN:中断使能位(1有效);
ASTRB:地址选通位(0有效);
INIT:初始化(1有效);
DSTRB:数据选通位(0有效);
WRITE:读/写状态位(0:写,1:读)。
读取接口状态和控制接口都只须对相应的端口寄存器进行操作。以初始化为例:
读操作初始化:outportb(port+2,0x24);
《利用EPP接口协议实现高速数据通信(第2页)》