| 一种基于W91284PIC的外设端双向并口设计 |
| 类别:接口电路 |
|         作者:山东威海北洋电气集团公司技术开发中心      徐发荣 张 涛 高建卫           来源:《国外电子元器件》      摘要: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传输的系统中稍有不便。另外,该芯片对信号时序要求较为严格,应用中应注意。      |
- 基于PDIUSBD..
- 2007-11-5
- 基于μC/OS-I..
- 2007-11-1
- LW6-220断路..
- 2007-10-27
- 环氧线路板废料处理..
- 2007-8-30
- PCI设备Wind..
- 2007-8-9
- TMS320C80..
- 2007-8-7
- PSD8xxF的在..
- 2007-8-9
- 8x930Ax/H..
- 2007-8-9
- 机械传动间隙的实时..
- 2007-8-9
- 智能寻位加工技术中..
- 2007-8-9
- 增强型并行口EPP..
- 2007-8-9
- 交直流数据采集系统..
- 2007-8-9
- USB在数据采集系..
- 2007-8-9
- Bt8510在V5..
- 2007-8-9
- Windows98..
- 2007-8-9
- RS-232至RS..
- 2007-8-9
- 电流/电压转换芯片..
- 2007-8-9
- 20位Σ-Δ立体声..
- 2007-8-9
- 用增强并口EPP协..
- 2007-8-9
- FX909在无线高..
- 2007-7-29



