基于EPP协议的AVR与PC并行通信系统的设计-PLC技术网(www.plcjs.com)-可编程控制器技术门户


基于EPP协议的AVR与PC并行通信系统的设计

 (点击题目 可以在互 联 网中搜索该题 目的相关内容)
日期:2006-4-25 23:21:05     来源:本文摘自《PLC&FA》   作者: 点击:
点击【  大   中  小 】,可以选 择字 体的大小,以便 你阅读.

1  引言
    并口是PC机与外设进行交互的重要部件,在数据通信、设备控制等方面有着广泛的应用。并行通信有SPP、EPP、ECP三种传输模式。打印机、扫描仪、数码相机等均可通过EPP/ECP方式与PC进行通信,高速地传输数据。AVR系列单片机是ATMEL公司生产的增强RISC结构、内含FlashROM存储器的8位单片机。AVR单片机与PC机之间采用EPP协议进行并行通讯,极大地提高通信的数据量、速度和效率。

2  EPP协议
2.1 三种并行通信模式
    并行通信有SPP、EPP、ECP三种传输模式。SPP(Standard Parallel Port) 即标准并行接口,数据传输要通过软件查询端口状态进行握手。SPP模式下PC可向外设输出8位并行数据;而PC获取数据(输入)则只能通过读状态端口的4个状态位,进行半字节通信,数据传输速率最大不超过250Kb/s。
EPP(Enhanced Parallel Port)即增强型并行接口协议,它为PC和外设之间定义了双向通信的标准。IEEE1284标准对EPP协议进行了规范。目前EPP有EPP1.7和EPP1.9这两个标准。EPP接口协议通过硬件自动握手,能达到500Kbps到2Mbps的通信速率。EPP协议适合于PC与打印机、扫描仪及其它需大块数据传输的外设进行高速通信。

    ECP(Extended Capabilities Port)即扩展功能接口,也是双向通信协议,并能以ISA总线速度传输数据。ECP有缓冲区,支持DMA传输和数据压缩。ECP较EPP协议复杂。

2.2 EPP寄存器组和引脚定义
    PC并口采用25线DB形阴性接口,25个引脚的定义如表1所示。
EPP定义了PC的8个寄存器端口,其中继承了SPP的3个寄存器,如表2所示。在BIOS中设置并口工作于EPP方式,寄存器组的基地址(BASE)通常设为0x378。
SPP状态端口的第0位(Bit 0)在EPP协议中改变为EPP超时(Time-out)标志位。当ISA总线IOW 或IOR信号有效后的10μs内没有有效的nWait信号(如外设没有连接时),则超时。故软件需要查询此位,以免PC死锁(lock up)。

2.3 EPP读写周期
为了能进行有效的EPP数据通信,必须遵从EPP握手时序。SPP需要软件握手,而EPP握手只需硬件完成,这样提高了通信的速度。EPP读写周期分为读数据周期、写数据周期、读地址周期、写地址周期。

EPP读数据周期如图1所示。


 图1    EPP读数据周期


(1) PC程序读取EPP数据端口(BASE+4);
(2) 如果PC硬件监测到nWait为低,则置nData Strobe为低,EPP周期开始;
(3) PC等待nWait变高(确认);
(4) PC从并口引脚读取数据;
(5) PC置nData Strobe为高,EPP周期结束。

EPP写数据周期如图2所示。


图2     EPP写数据周期


(1) PC程序写EPP数据端口(BASE+4);
(2) PC置nWrite为低;
(3) PC硬件把数据输出到DB25并口引脚;
(4) 如果PC硬件监测到nWait为低,则置nData Strobe为低,EPP周期开始;
(5) PC等待nWait变高(确认);
(6) PC置nData Strobe为高,EPP周期结束。

EPP读地址周期如图3所示,EPP写地址周期如图4所示。其详细步骤与读写数据周期大致相同,不再赘述。


图3     EPP读地址周期


图4    EPP写地址周期


EPP1.7协议中无论nWait信号是否有效,nData Strobe 或nAddr Strobe都可以启动EPP周期,而在EPP1.9中只有nWait信号为低才可以启动EPP周期。

3 AVR与PC的接口电路
    AVR单片机有tinyAVR、low power AVR和megaAVR 3个系列的产品。AVR单片机的结构非常适合于采用C语言编程,这样就能快速高效地开发出目标产品。为了对目标代码的大小、性能及功耗进行优化,AVR 单片机采用了RISC体系、大型快速存取寄存器组和快速单周期指令。

本新闻共2页,当前在第11 2  

上一篇: 基于DELPHI实现PC机与PLC的串行通讯
下一: 正确使用西门子公司的PC适配器