基于GAL6002芯片的去抖编码键盘电路的设计
GAL6002是LATTICE公司研制的电可擦除、可重复编程的高性能PLD器件,图1所示是其引脚排列。GAL6002具有78×64×36 FPLA结构,可提供78×64的可编程与阵列和64×36的可编程或阵列。它具有10个输出宏单元、8个隐埋宏单元及20个输入和I/O宏单元。它的两个独立输入时钟可分别用于输入和输出宏单元的控制。其输出宏单元和隐埋宏单元的寄存器共用一个高有效复位乘积项。每个寄存器复位为“0”。输出宏单元和输出脚之间均有一个反相缓冲器,每个输出缓冲器的使能可由单独的乘积项来控制。
2 设计原理
直接访问方式下的接口电路如图2所示。以下分别从去抖电路、自动扫描电路和接口电路三方面来描述该自动扫描去抖编码键盘电路的设计原理。
2.1去抖电路
去抖电路用来执行两个功能:其一是当按键按下时产生一个“冻结”信号FREZ,以用来停止并“冻结”扫描状态机直到按键被释放。它的ABEL方程为:
FREZ:=!(COL3COL2COL1COL0);
其二是当输出保持低电平达两个(或更多)相邻时钟周期时产生一个中断INT。其ABEL方程为:
INT:=FREZ!(COL3COL2COL1COL0);
评论