Freescale公司的MC9328MXL通用I/O接口電路
1. 基本原理
Freescale 公司的MC9328MXL處理器是一款集低功耗、高度集成性、軟件兼容性、智能設(shè)計技術(shù)等優(yōu)勢于一體的CPU。處理器內(nèi)置支持LCD/觸摸屏接口、CMOS Sensor接口、SD卡、串口、I2C、I2S等,接口豐富,非常適合應(yīng)用于:手持設(shè)備、可視電話、樓宇的對講系統(tǒng)、VoIP、IPcamera、數(shù)碼產(chǎn)品、醫(yī)療電子設(shè)備和各種其它移動無線應(yīng)用。
MC9328Mxl提供了18個可編程的I/O端口GPIO,用戶可將每個端口配置為輸入模式、輸出模式或特殊功能模式,由片內(nèi)的特殊功能寄存器控制。
從圖1l-5中可以看出,通過配置MXl內(nèi)部GI[JS_x相應(yīng)的寄存器就可以將片外引腳連接(邏輯上的)到不同的功能線上。這樣就做到了引腳的復(fù)用。
當(dāng)引腳配置為GPIO后,還需要進一步配置該引腳作為輸入引腳還是作為輸出引腳,這將決定在邏輯上該引腳內(nèi)部連接到輸入數(shù)據(jù)寄存器還是輸出數(shù)據(jù)寄存器。如果作為輸入引腳,引腳上的電平狀態(tài)會即時被寫入輸入數(shù)據(jù)寄存器。如果作為輸出引腳,寫入輸出數(shù)據(jù)寄存器的內(nèi)容就會以邏輯電平的形式及時反映到引腳外部。
為了方便用戶的開發(fā),核心板和擴展板都設(shè)置了相應(yīng)的I/O接口,這些接口的設(shè)置極大地方便了用戶的開發(fā)工作,使開發(fā)者能夠比較方便地對系統(tǒng)進行信號輸入信號輸出。表10-11列舉了開發(fā)系統(tǒng)中所有的I/O的定義及其相應(yīng)的功能描述。
MC9328MXl各個GPIO作為輸入時,都可作為獨立中斷源使用。同時每個中斷源獨立的寄存器設(shè)置以配置相應(yīng)中斷的觸發(fā)方式以及是否屏蔽。系統(tǒng)中使用了14個外部申請:以太網(wǎng)卡中斷申請、A/D模塊中斷申請、鍵盤中斷申請及按鍵組中斷申請,如表11-2所示。
2. 硬件接口電路
1.開關(guān)量輸入和LED顯示接口
EMOTION ARM9 Linux開發(fā)系統(tǒng)的開關(guān)量模塊由8個帶LED指示燈的按鍵組成,如圖11-6所示。K2、K3、K4、K5按鍵為帶自鎖按鍵,K6、K7、K8、K9鍵為不帶
自鎖的按鍵。觸發(fā)K2、K3、K4、K5鍵后處于鎖定狀態(tài),輸出3.3V電平,LED處于點亮狀態(tài)。再次觸發(fā):K2、K3、K4、K5鍵,輸出低電平同時L,ED熄滅。觸發(fā)K6、K7、K8、K9鍵后輸出3.3V電平同時相應(yīng)LED點亮,釋放按鍵后輸出低電平,同時LED熄滅。
KEY2~KEY9按下的時候會在與之連接的MXl對應(yīng)的GPIO引腳上產(chǎn)生低電平,KEY2~KEY9抬起的時候會在與之連接的MXl對應(yīng)的GPIO引腳上產(chǎn)生高電平(見表1l-3)。經(jīng)過軟件配置后,MXl可以根據(jù)這個電平變化產(chǎn)生中斷。當(dāng)中斷產(chǎn)生后,軟件可以查詢是哪個引腳產(chǎn)生的中斷,并且驅(qū)動與LED相連的GPIO輸出高電平,點亮對應(yīng)的LED燈。我們將POART’A11~14,POARTC22~24,POARTC26這8個引腳配置為GPIO輸出引腳,用來控制IED的狀態(tài)。POART3~POART。A lO這8個引腳配置為GPIO輸入功能,并配置為低電平觸發(fā)中斷。當(dāng)這8個引腳的任意一個產(chǎn)生低電平都會產(chǎn)生一個中斷并進入中斷服務(wù)程序,在中斷服務(wù)程序中根據(jù)中斷狀態(tài)寄存器ISR,可以判斷是哪個引腳產(chǎn)生的中斷。然后我們向?qū)?yīng)的輸出引腳的DR寄存器寫入1,控制該輸出引腳輸出低電平,從而點亮對應(yīng)的LED。
實驗系統(tǒng)提供了8個GPIO端口??捎蛇@8個GPIO進行鍵盤掃描,根據(jù)獲得的GPIO端口狀態(tài)來判斷哪個鍵被觸發(fā)。最大掃描陣列為4x4。以MC9328MXl的PAl5、PAl6、PCI6、PCI7作為列輸出驅(qū)動COL-3,用MC9328MXl的PCI4、PCI5、PA0、PCI3作為行掃描線ROW0-3。鍵盤跳線兒l的短路子安裝應(yīng)跳在電源側(cè),如圖ll一7所示,就相當(dāng)于在KEYCOL0~KEYCOI。3上分別加了上拉電阻,則KEYROW0~KEYROW3在有鍵盤鍵按下時,會有相應(yīng)的電壓變化。靜態(tài)測試也可以,用萬用表的歐姆擋測量,一般按鍵按下時會有相應(yīng)的電壓變化。靜態(tài)測試也可以,用萬用表的歐姆擋測量,一般按鍵按下時會有幾Ω到幾百Ω的電阻,和鍵盤的材料有關(guān)。下面給出對應(yīng)測量KEYCOI。0~KEYCOI。3和KEYROW0~KEYROW3時,對應(yīng)按下鍵值:
例如鍵“1”按下,用萬用表測量KEYCOI_,0和KEYROW0之間電阻為O~幾百Q(mào)之間為正常,其他依此類推。
鍵盤引腳與MC9328MXl引腳的對應(yīng)如表l 1.5所示,4x4鍵盤接口電路如圖11.8所示。