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