老古开发网首页
导航:老古开发网首页文章索引文章分类另类其他→[一种基于W91284PIC的外设端双向并口设计]
| -文章搜索 - 最新文章 - |

一种基于W91284PIC的外设端双向并口设计

发布时间:2006年5月11日 点击次数:443
来源:国外电子元器件   作者:山东威海北洋电气集团公司技术开发中心 徐发荣 张 涛 高建卫
 

    摘要:W91284PIC是美国Warp Nine Engineering公司生产的IEEE1284协议控制专用芯片,可同时满足IEEE1284协议规定的五种传输方式(EPP、ECP、字节、半字节、兼容)。文中介绍了用W91284PIC实现数据双向传输系统的软、硬件设计,并给出了其初始化、中断及空处理的程序源代码和程序流程图。

    关键词:EPP ECP 双向并口 DMA W91284PIC

双向并口是在普通打印机并口的基础上发起来的,近几年来EPP、ECP双向并口的应用也越来越多,如双向并口打印机、双向并口扫描仪等外设。由于早期PC机已具备打印机并口,常用操作系统也在低层支持双向并口,且目前的外投也全向智能化方面发展,这样不但需要PC机向下传送数据,也需要外设向PC机传送数据,因而双向并口得以较快发展。EPP、ECP方式的最高速率可达1.2Mb/s,字节方式和半字节方式的传输速率可达200kb/s左右,对于要求外设端回传数据不多的场合也有一定的应用。IEEE1284协议是双向并口的完整描述,包含EPP、ECP、字节、半字节和兼容五种传输方式。其中EPP、ECP是独立的双向并口字节、半字节方式仅为反向数据传输(外投到PC机)方式,和兼容方式一起构成双向并口;兼容方式即为普通的打印机并口(仅能下传数据到外设)。

W91284PIC是美国Warp Nine Engineering公司生产的IEEE1284协议控制专用芯片。可以同时满足IEEE1284协议规定的五种传输方式(EPP、ECP、字节、半字节、兼容),同时,也满足IEEE1284.3协议,在一个并口上可同时串接5个设备而共享同一主机并口。该芯片为寄存器操作方式,具备DMA数据传输接口,和CPU之间可以采用中断和查询两种方式工作。W91284PIC采用100pin PQFP封装形式。

1 硬件设计

图1是一个利用W91284PIC芯片实现的数据双向传输系统。CPU采用89C51,CPU仅处理命令和传输信息。高速数据的传输可利用该芯片的DMA功能直接与系统的数据处理单元相接。该芯片只有一条数据总线,命令、信息、数据分时占用此数据总线。由于89C51无DMA功能,所以DMA传输控制由数据处理单元承担。DMA传送数据块的大小由数据处理单元的DMA控制器决定,当一块数据传送完毕后,数据处理单元便向W91284发送TC信号,此时W91284产生TC中断。在CPU的数据总线上增加一级数据缓冲隔离(74LS245),以解决CPU端数据总线的竞争问题。A0~4五根地址线进行W91284PIC芯片内部的32个寄存器选择,采用89C51的高位地址线,可以省掉一个锁存器,从而使电路更加简化。NDC-Enable引脚接地,使用该芯片的链式选择功能(Daisy Chain Function)。并口连接器1接HOST(主机),并口连接器2接DC(下一个外部设备)。

该系统的工作过程如下:首先,在芯片硬复位之后,芯片工作模式处于兼容方式。系统对芯片进行工作状态初始化,PC机选择并口链上一个外部设备,接着选择该设备的工作模式(EPP、ECP、字节、半字节、兼容方式)。而后依据选择的工作模式的时序要求收发外部设备的数据,最后返回兼容模式或空闲状态。接着进行下一个设备的数据收发工作。

2 软件设计

2.1 W91284PIC初始化子程序

W91284PIC初始化流程图如图2所示,其初始化程序清单如下:

W-INA:MOV A,#00H ;禁止W91284操作,为初始化准备

MOV DPTR,#PCCR

MOVX @DPTR,A

MOV A,#00H ;禁止所有中断

MOV DPTA,#IER1

MOVX @DPTA,A

MOV A,#03H;清空发送、接收(RX TX)FIFO

MOV DPTR,#FDCR

MOVX @DPTR,A

MOV A,#0CH;使RX、TX两个FIFO工作

MOVX @DPTR,A

MOV A,#0cH ;指定芯片工作晶振25Mhzeg nACK信号在busy信号前

MOV DPTR,#TCPR

MOVX @DPTR,A

MOV A,#0cH ;设置中断源

MOV DPTR,#IER2

MOVX @DPTR,A

MOV A,#13H ;设置工作模式并激活W91284PIC

MOV DPTR,#PCCR

MOVX @DPTR,A

MOV A,#06H;向发送FIFO送入5个数据06,06,06,06,06

MOV DPTR,#DATA

MOVX @DPTR,A

MOVX @DPTR,A

MOVX @DPTR,A

MOVX @DPTR,A

MOVX @DPTR,A

MOV A,#82H ;允许发送FIFO空中断、和接收数据中断

MOV DPTR,#IEP1

MOVX @DPTR,A

RET

符号说明:

DATA数据端口寄存器(Data Port)

PCCR控制寄存器(PIC Control Register)

ISR1 中断源寄存器1(Interrupt Source Register 1)

IER1 中断使能寄存器1(Interrupt Enable Register 1)

FDCR FIFO控制寄存器(FIFO Data Control Register)

TCPR定时控制参数寄存器(Timing Control Parameter Register)

ISR2中断源寄存器2(Interrupt Sourec Register 2)

ISR2中断使能寄存器2(Interrupt Enable Register 2)

2.2 中断处理子程序

W91284PIC的中断处理流程图如图3所示。为简化起见,下面仅列出TX FIFO空处理子程序的详细内容,其它子程序大同小异。图4所示为TX FIFO空处理子程序流程图。

TXFIFO空处理子程序程序清单如下:

说明:SEND-DATA为系统中的一个特征单元,为0表示无数据,非0表示有DMA数据。

TXFIFO:MOV A,SEND-DATA ;

CJNE A,#00H,NDMA

DMA:MOV A,#03H ;清空RX、TX FIFO

MOV DPTR,#PDCR

MOVX @DPTR,A

MOV A,#0CH ;激活RX、TX的FIFO

MOVX @DPTR,A

MOV A,#12H ;允许TC、接收数据中断,不允许TX FIFO空中断

MOV DPTR,#IER1

MOVX @DPTR,A

MOV A,#1BH ;设置DMA方向

MOV DPTR,#PCCR

MOVX @DPTR,A

MOV A,#1FH ;设置DMA使能

MOVX @DPTR,A

RET

NDMA:MOV A,#13H ;设置处于非DMA方式,接口激活状态

MOV DPTR,#PCCR

MOVX @DPTR,A

MOV A,#00H ;不允许任何中断

MOV DPTR,#IER1

MOVX @DPTR,A

MOV A,#03H ;清空RX TX FIFO

MOV DPTR,#FDCR

MOVX @DPTR,A

MOV A,#0CH ;使能RX TX FIFO

MOV A,R0 ;R0为要向PC机发送的信息

MOV DPTR,#DATA;向TX FIFO中送入信息数据

MOVX @DPTR,A

MOV A,#82H ;允许发送FIFO空中和接收数据中断

MOV DPTR,#IER1

MOVX @DPTR,A

RET

3 结束语

W91284PIC控制器功能齐全,并可全部满足IEEE1284和IEEE1284.3协议。该控制器是状态机方式设计,所以应用程序的编程相对简单,但由于数据总线只有一条,在使用DMA传输的系统中稍有不便。另外,该芯片对信号时序要求较为严格,应用中应注意。


欢迎进入老古论坛进行讨论
[另类其他] 相关文章:
AMCCS5933在PCI板卡设计中的应用
简介:
摘要: 介绍了PCI接口芯片AMCCS5933的工作原理、功能特点以及在PCI板卡设计中的应用。 关键词: PCI接口芯片 AMCCS5933 PCI总线 PCI总线是计算机主机中最常见的总线。它是一种高性能的32/64位地址数据复用总线,支持......

用MAX471/MAX472实现对电源的监测与保护
TMS320C32浮点DSP存储器接口设计
单片机与PC通信的简化接口
三电平SIM/SMART卡接口电路
DTMF电路HT9200A与单片机的接口
USB与1394谁能把握先机
基于EPLD技术的PCI总线接口设计
由ADuC812与K9S6408V0A构成的便携式数据采集系统
通用串行总线(USB)设备的驱动
 
下一个:[另类其他]用增强并口EPP协议扩展计算机的ISA接口
简介:
摘要: 提出了用EPP协议和CPLD扩展笔记本电脑的ISA接口的方法,给出了详细的技术解决方案。扩展的ISA接口可以达到1310 KB/s的双向通讯速度,与ISA本身的速度相当。用户可以通过扩展的ISA接口直接使用市场上的基于ISA的接口卡。 关键词: ISA 标准并口 增强并口 复杂的可编程逻辑器件 ......
 

上一个:[另类其他]PC机和激光没距雷达双路高速数据通信接口卡

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒