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