基于GAL6002芯片的去抖編碼鍵盤電路的設(shè)計
GAL6002是LATTICE公司研制的電可擦除、可重復(fù)編程的高性能PLD器件,圖1所示是其引腳排列。GAL6002具有78×64×36 FPLA結(jié)構(gòu),可提供78×64的可編程與陣列和64×36的可編程或陣列。它具有10個輸出宏單元、8個隱埋宏單元及20個輸入和I/O宏單元。它的兩個獨立輸入時鐘可分別用于輸入和輸出宏單元的控制。其輸出宏單元和隱埋宏單元的寄存器共用一個高有效復(fù)位乘積項。每個寄存器復(fù)位為“0”。輸出宏單元和輸出腳之間均有一個反相緩沖器,每個輸出緩沖器的使能可由單獨的乘積項來控制。
2 設(shè)計原理
直接訪問方式下的接口電路如圖2所示。以下分別從去抖電路、自動掃描電路和接口電路三方面來描述該自動掃描去抖編碼鍵盤電路的設(shè)計原理。
2.1去抖電路
去抖電路用來執(zhí)行兩個功能:其一是當按鍵按下時產(chǎn)生一個“凍結(jié)”信號FREZ,以用來停止并“凍結(jié)”掃描狀態(tài)機直到按鍵被釋放。它的ABEL方程為:
FREZ:=!(COL3COL2COL1COL0);
其二是當輸出保持低電平達兩個(或更多)相鄰時鐘周期時產(chǎn)生一個中斷INT。其ABEL方程為:
INT:=FREZ!(COL3COL2COL1COL0);
評論