ARM嵌入式系統(tǒng)中觸摸屏的中斷控制方法
隨著嵌入式微處理器性能的提高,集成的外圍接口設(shè)備越來(lái)越多,而外圍設(shè)備與處理器之間多采用中斷方式進(jìn)行通信,即使在沒(méi)有操作系統(tǒng)的情況下,也常需要對(duì)多個(gè)外圍設(shè)備的中斷處理例程進(jìn)行動(dòng)態(tài)加載,從而實(shí)現(xiàn)對(duì)多個(gè)外圍設(shè)備的集中動(dòng)態(tài)管理。同時(shí),中斷功能可以解決CPU內(nèi)部運(yùn)行速度遠(yuǎn)遠(yuǎn)快于外部總線速度而產(chǎn)生的等待延時(shí)問(wèn)題。因此,嵌入式微處理器的應(yīng)用設(shè)計(jì)中,中斷處理通常是系統(tǒng)的核心任務(wù)之一。
本文引用地址:http://butianyuan.cn/article/195384.htm1 觸摸屏
(1)觸摸屏簡(jiǎn)介
隨著多媒體信息查詢的與日俱增,人們?cè)絹?lái)越關(guān)注觸摸屏。觸摸屏具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等許多優(yōu)點(diǎn),作為一種最新的電腦輸入設(shè)備,它是目前最簡(jiǎn)單、方便、自然的人機(jī)交互方式。它賦予多媒體嶄新的面貌,是極富吸引力的全新多媒體交互設(shè)備。觸摸屏由觸摸檢測(cè)部件和觸摸屏控制器組成。觸摸檢測(cè)部件安裝在顯示器屏幕前面,用于檢測(cè)用戶觸摸位置,接收信息后送至觸摸屏控制器;觸摸屏控制器的主要作用是從觸摸點(diǎn)檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo)后送給CPU,同時(shí)能接收CPU發(fā)來(lái)的命令并加以執(zhí)行。按照觸摸屏的工作原理和傳輸信息的介質(zhì),觸摸屏可以分為4種,即電阻式、電容感應(yīng)式、紅外線式以及表面聲波式。這里采用的是四線電阻屏。
(2)S3C2410A觸摸屏控制器
S3C2410A觸摸屏的外接電路主要是控制上下兩層導(dǎo)電層的通斷情況以及取電壓,取電壓之后還需要將這個(gè)模擬量轉(zhuǎn)換成數(shù)字量,這部分工作主要是靠S3C2410A芯片中的模數(shù)轉(zhuǎn)換器來(lái)實(shí)現(xiàn)的。即觸摸屏的功能實(shí)現(xiàn)實(shí)際上分兩部分,分別是觸摸屏的外接電路部分和S3C2410A芯片自帶的A/D轉(zhuǎn)換控制部分。
2 ARM嵌入式操作系統(tǒng)中斷處理方法
在嵌入式系統(tǒng)中外部設(shè)備的功能主要是靠中斷機(jī)制來(lái)實(shí)現(xiàn)的。因此,ARM作為嵌入式微處理器的典型代表,為保證系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性,建立了一套完整的異常處理機(jī)制。
2.1 S3C2410A中斷寄存器
每個(gè)寄存器在中斷處理流程中所扮演的角色是不同的,中斷流程如圖1所示。
2.2 中斷與中斷服務(wù)程序
中斷的硬件邏輯將檢測(cè)到的中斷,以某種方式指向中斷服務(wù)程序的地址,該地址在頭文件中以宏定義的形式出現(xiàn)。用戶在自己的程序中,將中斷服務(wù)程序的地址賦給該指針,從而將中斷與中斷服務(wù)程序聯(lián)系起來(lái)。
為了方便使用高級(jí)語(yǔ)言編寫(xiě)異常處理函數(shù),ARM編譯器對(duì)異常處理函數(shù)作了特定的擴(kuò)展,只要使用關(guān)鍵字__irq,編譯出來(lái)的函數(shù)就滿足異常響應(yīng)對(duì)現(xiàn)場(chǎng)保護(hù)和恢復(fù)的需要。
在ADS編譯器中,__irq專門用來(lái)聲明IRQ中斷服務(wù)程序。如果用__irq來(lái)聲明一個(gè)函數(shù),那么該函數(shù)就是IRQ中斷服務(wù)程序,編譯器會(huì)自動(dòng)在函數(shù)內(nèi)部增加中斷現(xiàn)場(chǎng)保護(hù)代碼。
3 中斷方式實(shí)現(xiàn)觸摸屏驅(qū)動(dòng)
3.1 中斷寄存器的設(shè)置與使能
S3C2410A的觸摸屏是帶子中斷的內(nèi)部中斷。當(dāng)中斷發(fā)生后,SUBSRCPND相應(yīng)位置1,如果沒(méi)有被INTSUBMSK屏蔽,那么SRCPND相應(yīng)位置1,如果沒(méi)有被INTMSK屏蔽,就進(jìn)一步設(shè)置INTMOD。這里采用IRQ中斷方式,所以SRCPND可以有多位置1(FIQ只能有1位),經(jīng)過(guò)PRIORITY選出一個(gè)優(yōu)先級(jí)高的,然后把INTPND相應(yīng)位置1(只能選出1位),進(jìn)入IRQ,讓CPU處理。
評(píng)論