DM642和CPLD外部中斷的寄存器式鍵盤(pán)設(shè)計(jì)
2 外部中斷的寄存器式鍵盤(pán)
2.1 系統(tǒng)總體結(jié)構(gòu)
鍵盤(pán)系統(tǒng)中CPLD選用EPM7128AET芯片,能提供多路輸入/輸出引腳,輸出邏輯電平為3.3 V,輸入邏輯電平兼容3.3 V和5 V兩種,共100個(gè)輸入/輸出引腳。CPLD在邏輯控制和時(shí)序控制方面具有很多優(yōu)勢(shì),它的內(nèi)部擁有大量的邏輯門(mén),可以在軟件環(huán)境中巧妙地利用這些門(mén)電路,對(duì)輸入引腳信號(hào)進(jìn)行各種邏輯組合設(shè)計(jì),將邏輯組合信號(hào)再提供給輸出引腳。CPLD器件內(nèi)部還提供了大量標(biāo)準(zhǔn)的邏輯電路模塊,如譯碼電路、地址鎖存電路等,這些電路模塊代替了傳統(tǒng)電路中需要的譯碼芯片、地址鎖存芯片等,不僅為電路板設(shè)計(jì)節(jié)省空間,而且使電路設(shè)計(jì)流程更加靈活和方便。DSP選用TMS320DM642芯片,為了擴(kuò)展DM642的GPIO輸入/輸出引腳而設(shè)計(jì)成16按鍵的鍵盤(pán),CPLD需使用DM642的低8位數(shù)據(jù)總線(xiàn)D[7:0]、地址總線(xiàn)EA[10:3]、EA22和讀寫(xiě)控制信號(hào)線(xiàn),CPLD才能在內(nèi)部產(chǎn)生所需的擴(kuò)展寄存器。CPLD豐富的輸入/輸出引腳和大量的邏輯門(mén)管理鍵盤(pán)系統(tǒng)中的芯片邏輯。如圖3所示,按鍵的16個(gè)輸入端接地,輸出端KEY[1:16]與CPLD芯片的輸人引腳I[1:16]連接,輸出端接上拉電阻,DM642的低8位數(shù)據(jù)總線(xiàn)D[7:0]、地址總線(xiàn)EA[10:3]及EA22與CPLD器件的輸入/輸出引腳I/O[1:18]連接,DM642的RE和WE信號(hào)是寄存器擴(kuò)展用的讀/寫(xiě)使能信號(hào),空間片選信號(hào)CE1和地址信號(hào)EA22作為寄存器端口片選信號(hào),把按鍵狀態(tài)讀端口映射到DM642的CE1空間。當(dāng)有按鍵按下時(shí),產(chǎn)生一個(gè)上升沿脈沖觸發(fā)信號(hào),該信號(hào)可以認(rèn)為是一個(gè)外部中斷事件,那么可以通過(guò)DM642的外部中斷EXINT4響應(yīng)該中斷事件,而在DM642內(nèi)部EXINT4可以映射為中斷INT4,DM642在INT4對(duì)應(yīng)的中斷函數(shù)中通過(guò)數(shù)據(jù)地址總線(xiàn)讀取按鍵的鍵值并進(jìn)行分析。在程序?qū)用?,該按鍵的觸發(fā)信號(hào)和程序中INT4的中斷服務(wù)函數(shù)相對(duì)應(yīng),同時(shí)INT4的中斷服務(wù)函數(shù)與中斷向量表中的中斷編號(hào)聯(lián)系起來(lái)。本文引用地址:http://www.ex-cimer.com/article/191054.htm
CPLD芯片內(nèi)部擴(kuò)展按鍵狀態(tài)的16位輸入端口控制寄存器邏輯圖如圖4所示,DM642通過(guò)操作寄存器讀端口實(shí)現(xiàn)讀取按鍵的鍵值并進(jìn)行分析。在圖4中,DM642的空間片選信號(hào)CE1和地址信號(hào)EA22作為寄存器端口片選信號(hào),當(dāng)CE1信號(hào)低電平有效時(shí),與鍵盤(pán)狀態(tài)有關(guān)的寄存器地址被映射到CE1空間,地址線(xiàn)EA22在映射關(guān)系中低電平有效。CE1空間地址有效范圍為0x90000000~0x9FFFFFFF,按鍵KEY1~KEY8的寄存器端口地址為0x90080019,KEY9~KEY16的寄存器端口地址為0x9008001A。KEYCS[2:1]為輸入端口的片選信號(hào)線(xiàn),兩路輸入片選信號(hào)分別對(duì)應(yīng)I[1:8]和I[9:16]輸入引腳。芯片74138是CPLD內(nèi)部提供的一種譯碼器,芯片74373是CPLD內(nèi)部提供的一種地址鎖存器,用于鎖存按鍵按下時(shí)的電平狀態(tài)。
評(píng)論