基于uPSD323X的EPP增强并口的接口技术
在PSDsoft EXPRESS工具中,将PA端口(EPPD0~EPPD7)配置成带有时钟上升沿触发的寄存器类型(PT clocked register)的输入宏,PB0(nWait)配置成上升沿触发的D类型寄存器(D-type register)的输出宏,PB3(nWrite)、PB4(nDstrb)、PB2(nAstrb)配置成CPLD逻辑输入(logic input)口。NDstrb信号和nAstrb信号各自取反再相与后的值作为输入宏单元和输出宏单元的时钟。上述对PA、PB端口的配置用方程式表示如下:
PORTA EQUATIONS:
=======================
!EPPD7_LD_0=nAstrb & nDstrb;
EPPD0.LD=EPPD3_LD_0.FB;
!EPPD3_LD_0=nAstrb & nDstrb;
EPPD1.LD=EPPD3_LD_0.FB;
!nWait_C_0=nAstrb & nDstrb;
EPPD2.LD=EPPD3_LD_0.FB;
EPPD3.LD=EPPD3_LD_0.FB;
EPPD4.LD=FPPD7_LD_0.FB;
EPPD5.LD=EPPD7_LD_0.FB;
EPPD6.LD=EPPD7_LD_0.FB;
EPPD7.LD=EPPD7_LD_0.FB;
PORTB EQUATIONS:
=======================
nWait.D:=1;
nWait.PR=0;
nWait.C=nWait_C_0.FB;
nWait.OE=1;
nDstrb.LE=1;
nAstrb.LE=1;
EPP数据的锁存过程如下:以计算机向外设传输数据(即EPP数据写周期)为例子,计算机首先检测nWait信号,如果nWait为低计算机把nWrite信号置为低,表明是写周期,同时将数据放到数据总线上,然后置低nDstrb信号。此时,nDstrb信号会出现一个上升沿,此上升沿会将PA端口的数据锁存到输入宏;同时,此上升沿使nWait信号变高,表示外设正忙阻计算机发数年。当计算机检测到nWait信号为高后就会将数据握手信号nDstrb变高,EPP数据写周期结束。上述EPP数据的锁存和nWait握手信号的产生都由硬件产生,因此数据传输速度快。整个数据传输过程可以在一个I/O周期内完成,锁存到输入宏的数据的读取和nWait信号的清除则在外部中断0服务程序软件完成。
3.3 中断服务程序的功能描述及流程
由硬件原理图可以看出,EPP并口的nDstrb和nAstrb信号线分别连到uPSD323X的外部中断定和外部中断1引脚。当发生EPP数据读写时,nDstrb信号就会产生一个下降沿,引起外中断定中断。当发生EPP地址读写时,nAstrb信号就会产生一个下降沿,引起外中断1中断。外部中断0和外部中断1的中断服务程序的功能是相同的,只不过前者接收或发送的是数据而后者是地址、命令等。以外部中断0的中断服务程序为例,详细介绍数据正向传输(计算机向外设发送数据)和反向传输(外设向计算机传送数据)时中断服务程序的功能。外部中断0中断服务程序流程如图4所示。javascript:window.open(this.src);" style="cursor:pointer;"/>
(1)数据正向传输
当发生EPP数据写周期时,即数据正向传输时,计算机首先检测nWait信号。如果nWait为低,表示外设已准备好接收数据。计算机把nWrite信号置为低,表明是写周期,同时将数据放到数据总线上,然后置低nDstrb。NDstrb信号就会产生一个下降沿,此下降沿一方面将PA端口的数据锁存到输入宏并使nWait信号变高,表示外设正忙另一方面引起外部中断0中断,在外部中断0的中断服务程序中读取输入宏锁存的数据,然后将nWait信号清零通知计算机现在外设已经准备好可以再次接收数据了。
(2)数据反向传输
外设准备好数据需要上传到计算机时,uPSD323X就会将数据放到PA端口,同时置低Intr信号线,向计算机申请一个中断,计算机中由一个硬件驱动程序来处理并口的硬件中断。驱动程序在并口中断服务程序中,通过读取EPP数据口获得外设上传的数据。由于EPP接口的握手信号由硬件产生,当计算机读取EPP数据口时同样会检测nWait信号。如果nWait为低,计算机把nWrite信号置高,表明是读周期,然后置低nDstrb,nDstrb信号就会产生一个下降沿。此下降沿使nWait信号变高,同时引起uPSD323X外部中断定中断。在外部中断0的中断服务程序中,为确保计算机将PA端口的数据取走,需不断检测nDstrb是否为高。当nDstrb为高时,表示计算机已将PA端口听数据读走,然后中断服务程序将nWait置低,EPP数据读周期结束。
结语
本文系统地介绍了EPP增强并口协议,并给出使用ST公司的uPSD323X系列器件实现EPP增强并口的接口方法。此方案不需要外接门电路,保密性好,成本低。