第16章觸摸屏設(shè)備驅(qū)動程序_第1頁
第16章觸摸屏設(shè)備驅(qū)動程序_第2頁
第16章觸摸屏設(shè)備驅(qū)動程序_第3頁
第16章觸摸屏設(shè)備驅(qū)動程序_第4頁
第16章觸摸屏設(shè)備驅(qū)動程序_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第1616章章 觸摸屏設(shè)備驅(qū)動程序觸摸屏設(shè)備驅(qū)動程序由于觸摸屏設(shè)備使用簡單、價(jià)格相對低廉,它的應(yīng)用隨處由于觸摸屏設(shè)備使用簡單、價(jià)格相對低廉,它的應(yīng)用隨處可見。在消費(fèi)電子產(chǎn)品、工業(yè)控制系統(tǒng)、甚至航空領(lǐng)域都所有應(yīng)可見。在消費(fèi)電子產(chǎn)品、工業(yè)控制系統(tǒng)、甚至航空領(lǐng)域都所有應(yīng)用。隨著觸摸屏設(shè)備技術(shù)的成熟和價(jià)格的日益下降,在我們的日用。隨著觸摸屏設(shè)備技術(shù)的成熟和價(jià)格的日益下降,在我們的日常生活中也經(jīng)常使用帶觸摸屏的設(shè)備。例如銀行的常生活中也經(jīng)常使用帶觸摸屏的設(shè)備。例如銀行的ATM機(jī)、機(jī)機(jī)、機(jī)場的查詢等級系統(tǒng)、手機(jī)、場的查詢等級系統(tǒng)、手機(jī)、MP3、掌上電腦等。正因?yàn)橛|摸屏設(shè)、掌上電腦等。正因?yàn)橛|摸屏設(shè)備應(yīng)用

2、如此廣泛,所以掌握觸摸屏設(shè)備驅(qū)動程序的編寫對驅(qū)動開備應(yīng)用如此廣泛,所以掌握觸摸屏設(shè)備驅(qū)動程序的編寫對驅(qū)動開發(fā)者來說非常重要。本章將對觸摸屏設(shè)備驅(qū)動程序進(jìn)行詳細(xì)的介發(fā)者來說非常重要。本章將對觸摸屏設(shè)備驅(qū)動程序進(jìn)行詳細(xì)的介紹。紹。16.1 16.1 觸摸屏設(shè)備工作原理觸摸屏設(shè)備工作原理本節(jié)對觸摸屏設(shè)備的工作原理進(jìn)行了簡要的介紹,并本節(jié)對觸摸屏設(shè)備的工作原理進(jìn)行了簡要的介紹,并介紹了觸摸屏設(shè)備的主要類型。其中重點(diǎn)介紹了電阻式觸摸介紹了觸摸屏設(shè)備的主要類型。其中重點(diǎn)介紹了電阻式觸摸屏設(shè)備。這些都是寫觸摸屏設(shè)備驅(qū)動程序的基礎(chǔ),下面對這屏設(shè)備。這些都是寫觸摸屏設(shè)備驅(qū)動程序的基礎(chǔ),下面對這些主要內(nèi)容分別進(jìn)行

3、介紹。些主要內(nèi)容分別進(jìn)行介紹。16.1.1 16.1.1 觸摸屏設(shè)備概述觸摸屏設(shè)備概述觸摸屏作為一種最新的電腦輸入設(shè)備,它是目前最簡單、觸摸屏作為一種最新的電腦輸入設(shè)備,它是目前最簡單、方便、自然的一種人機(jī)交互方式。它具有堅(jiān)固耐用、反應(yīng)速度方便、自然的一種人機(jī)交互方式。它具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等許多優(yōu)點(diǎn)。利用這種技術(shù),用戶只快、節(jié)省空間、易于交流等許多優(yōu)點(diǎn)。利用這種技術(shù),用戶只要用手指輕輕地碰計(jì)算機(jī)顯示屏上的圖符或文字就能實(shí)現(xiàn)對主要用手指輕輕地碰計(jì)算機(jī)顯示屏上的圖符或文字就能實(shí)現(xiàn)對主機(jī)操作,從而使人機(jī)交互更為直截了當(dāng),機(jī)操作,從而使人機(jī)交互更為直截了當(dāng),這種技術(shù)大大方便了

4、這種技術(shù)大大方便了那些不懂電腦操作的用戶。事實(shí)上,觸摸屏是一個(gè)使多媒體信那些不懂電腦操作的用戶。事實(shí)上,觸摸屏是一個(gè)使多媒體信息系統(tǒng)改頭換面的設(shè)備。它賦予多媒體系統(tǒng)以嶄新的面貌,是息系統(tǒng)改頭換面的設(shè)備。它賦予多媒體系統(tǒng)以嶄新的面貌,是極富吸引力的全新多媒體交互設(shè)備。極富吸引力的全新多媒體交互設(shè)備。 16.1.2 16.1.2 觸摸屏設(shè)備的類型觸摸屏設(shè)備的類型從技術(shù)原理來區(qū)別觸摸屏,可分將觸摸屏分為五個(gè)種從技術(shù)原理來區(qū)別觸摸屏,可分將觸摸屏分為五個(gè)種類:矢量壓力傳感技術(shù)觸摸屏、電阻技術(shù)觸摸屏、電容技術(shù)類:矢量壓力傳感技術(shù)觸摸屏、電阻技術(shù)觸摸屏、電容技術(shù)觸摸屏、紅外線技術(shù)觸摸屏、表面聲波技術(shù)觸摸屏

5、。觸摸屏、紅外線技術(shù)觸摸屏、表面聲波技術(shù)觸摸屏。16.1.3 16.1.3 電阻式觸摸屏電阻式觸摸屏電阻觸摸屏的屏體部分是一塊與顯示器表面相匹配的電阻觸摸屏的屏體部分是一塊與顯示器表面相匹配的多層復(fù)合薄膜,由一層玻璃或有機(jī)玻璃作為基層,表面涂有多層復(fù)合薄膜,由一層玻璃或有機(jī)玻璃作為基層,表面涂有一層透明的導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑一層透明的導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防刮的塑料層,它的內(nèi)表面也涂有一層透明導(dǎo)電層,在兩層防刮的塑料層,它的內(nèi)表面也涂有一層透明導(dǎo)電層,在兩層導(dǎo)電層之間有許多細(xì)?。ㄐ∮谇Х种挥⒋纾┑耐该鞲綦x點(diǎn)導(dǎo)電層之間有許多細(xì)?。ㄐ∮谇Х种挥⒋纾┑耐?/p>

6、明隔離點(diǎn)把它們隔開絕緣。把它們隔開絕緣。16.2 16.2 觸摸屏設(shè)備硬件結(jié)構(gòu)觸摸屏設(shè)備硬件結(jié)構(gòu)要完全理解觸摸屏設(shè)備驅(qū)動程序,必須對觸摸屏接口要完全理解觸摸屏設(shè)備驅(qū)動程序,必須對觸摸屏接口有所了解。本節(jié)針對有所了解。本節(jié)針對S3C2440處理器的觸摸屏接口,對觸摸處理器的觸摸屏接口,對觸摸屏接口的硬件原理進(jìn)行詳細(xì)的講述。屏接口的硬件原理進(jìn)行詳細(xì)的講述。16.2.1 S3C244016.2.1 S3C2440觸摸屏接口概述觸摸屏接口概述S3C2440芯片支持觸摸屏接口。這個(gè)觸摸屏接口包括一芯片支持觸摸屏接口。這個(gè)觸摸屏接口包括一個(gè)外部晶體管控制邏輯和一個(gè)模數(shù)轉(zhuǎn)換器個(gè)外部晶體管控制邏輯和一個(gè)模數(shù)轉(zhuǎn)

7、換器ADC。S3C2440芯芯片具有一個(gè)片具有一個(gè)8通道的通道的10位位CMOS模數(shù)轉(zhuǎn)換器(模數(shù)轉(zhuǎn)換器(ADC)。它將)。它將輸入的模擬信號轉(zhuǎn)換為輸入的模擬信號轉(zhuǎn)換為10位的二進(jìn)制數(shù)字?jǐn)?shù)據(jù)。在位的二進(jìn)制數(shù)字?jǐn)?shù)據(jù)。在2.5MHz的的A/D轉(zhuǎn)換器頻率下,最大轉(zhuǎn)化速率可達(dá)到轉(zhuǎn)換器頻率下,最大轉(zhuǎn)化速率可達(dá)到500KSPS。A/D轉(zhuǎn)換器支持片上采樣和保持功能,并支持掉電模式。轉(zhuǎn)換器支持片上采樣和保持功能,并支持掉電模式。16.2.2 S3C244016.2.2 S3C2440觸摸屏接口的工作模式觸摸屏接口的工作模式S3C2440觸摸屏接口有觸摸屏接口有4種工作模式。在不同的工作模種工作模式。在不同的工作

8、模式下,觸摸屏設(shè)備完成不同的功能。在某些情況下,幾種工式下,觸摸屏設(shè)備完成不同的功能。在某些情況下,幾種工作模式需要互相配合,才能夠完成一定的功能。這作模式需要互相配合,才能夠完成一定的功能。這4種工作種工作模式分別是:模式分別是:1正常轉(zhuǎn)換模式正常轉(zhuǎn)換模式2等待中斷模式等待中斷模式3獨(dú)立的獨(dú)立的X/Y位置轉(zhuǎn)換模式位置轉(zhuǎn)換模式4自動自動X/Y位置轉(zhuǎn)換模式位置轉(zhuǎn)換模式16.2.3 S3C244016.2.3 S3C2440觸摸屏設(shè)備寄存器觸摸屏設(shè)備寄存器寄存器是主機(jī)控制設(shè)備的最主要方式之一。下面對觸寄存器是主機(jī)控制設(shè)備的最主要方式之一。下面對觸摸屏設(shè)備的相關(guān)寄存器進(jìn)行詳細(xì)的介紹,這些寄存器包括摸

9、屏設(shè)備的相關(guān)寄存器進(jìn)行詳細(xì)的介紹,這些寄存器包括ADC控制寄存器、控制寄存器、ADC觸摸屏控制寄存器、觸摸屏控制寄存器、ADC延時(shí)寄存延時(shí)寄存器、器、ADC轉(zhuǎn)換數(shù)據(jù)寄存器。在具體的代碼中,遇到對這些轉(zhuǎn)換數(shù)據(jù)寄存器。在具體的代碼中,遇到對這些寄存器的操作時(shí),讀者應(yīng)該會過來對照本節(jié)的知識,以完整寄存器的操作時(shí),讀者應(yīng)該會過來對照本節(jié)的知識,以完整的領(lǐng)會程序的功能。的領(lǐng)會程序的功能。16.3 16.3 觸摸屏設(shè)備驅(qū)動程序分析觸摸屏設(shè)備驅(qū)動程序分析Linux 2.6內(nèi)核中已經(jīng)實(shí)現(xiàn)了內(nèi)核中已經(jīng)實(shí)現(xiàn)了S3C2440處理器的觸摸屏驅(qū)處理器的觸摸屏驅(qū)動程序。由于動程序。由于S3C2440與與S3C2410的觸

10、摸屏硬件變化不大,的觸摸屏硬件變化不大,所以稍微對所以稍微對S3C2410的觸摸屏驅(qū)動進(jìn)行改寫,就能夠得到的觸摸屏驅(qū)動進(jìn)行改寫,就能夠得到S3C2440處理器的觸摸屏驅(qū)動程序。本節(jié)將對這個(gè)驅(qū)動程序處理器的觸摸屏驅(qū)動程序。本節(jié)將對這個(gè)驅(qū)動程序進(jìn)行詳細(xì)的分析,通過這個(gè)驅(qū)動程序的學(xué)習(xí),希望讀者能舉進(jìn)行詳細(xì)的分析,通過這個(gè)驅(qū)動程序的學(xué)習(xí),希望讀者能舉一反三,寫出其他更好的驅(qū)動。一反三,寫出其他更好的驅(qū)動。16.3.1 16.3.1 觸摸屏設(shè)備驅(qū)動程序組成觸摸屏設(shè)備驅(qū)動程序組成觸摸屏設(shè)備驅(qū)動程序的初始化函數(shù),退出函數(shù),中斷觸摸屏設(shè)備驅(qū)動程序的初始化函數(shù),退出函數(shù),中斷處理函數(shù)的關(guān)系如圖所示。處理函數(shù)的關(guān)

11、系如圖所示。16.3.2 S3C244016.3.2 S3C2440觸摸屏驅(qū)動模塊的加載和卸觸摸屏驅(qū)動模塊的加載和卸載函數(shù)載函數(shù)首先分析觸摸屏設(shè)備驅(qū)動程序的初始化和退出,了解首先分析觸摸屏設(shè)備驅(qū)動程序的初始化和退出,了解觸摸屏設(shè)備驅(qū)動程序的加載和卸載函數(shù)的實(shí)現(xiàn)。觸摸屏設(shè)備驅(qū)動程序的加載和卸載函數(shù)的實(shí)現(xiàn)。1加載和卸載函數(shù)加載和卸載函數(shù)2觸摸屏設(shè)備驅(qū)動驅(qū)動結(jié)構(gòu)體觸摸屏設(shè)備驅(qū)動驅(qū)動結(jié)構(gòu)體16.3.3 S3C244016.3.3 S3C2440觸摸屏驅(qū)動模塊的探測函數(shù)觸摸屏驅(qū)動模塊的探測函數(shù)當(dāng)調(diào)用當(dāng)調(diào)用driver_register()函數(shù)注冊成功驅(qū)動之后,內(nèi)核會以函數(shù)注冊成功驅(qū)動之后,內(nèi)核會以s3c

12、2410ts_driver中的中的name成員為依據(jù),在系統(tǒng)中查找已經(jīng)注成員為依據(jù),在系統(tǒng)中查找已經(jīng)注冊的具有相同冊的具有相同name的設(shè)備,如果找到相應(yīng)的設(shè)備,就調(diào)用的設(shè)備,如果找到相應(yīng)的設(shè)備,就調(diào)用s3c2410ts_driver中定義的探測函數(shù)中定義的探測函數(shù)probe()。這里的這里的probe()函數(shù)就是函數(shù)就是s3c2410ts_probe()。這個(gè)函數(shù)在觸。這個(gè)函數(shù)在觸摸屏設(shè)備的初始化過程中,檢查設(shè)備是否準(zhǔn)備就緒、映射物理摸屏設(shè)備的初始化過程中,檢查設(shè)備是否準(zhǔn)備就緒、映射物理地址到虛擬地址、配置地址到虛擬地址、配置GPIO引腳、注冊相應(yīng)的中斷等。引腳、注冊相應(yīng)的中斷等。16.3.

13、4 16.3.4 觸摸屏設(shè)備配置觸摸屏設(shè)備配置觸摸屏設(shè)備接口和處理器芯片的引腳連接如圖所示,從圖中觸摸屏設(shè)備接口和處理器芯片的引腳連接如圖所示,從圖中可以看出觸摸屏接口和處理器之間的關(guān)系。明白這些關(guān)系,是驅(qū)可以看出觸摸屏接口和處理器之間的關(guān)系。明白這些關(guān)系,是驅(qū)動程序設(shè)計(jì)的基礎(chǔ),下面對這些關(guān)系進(jìn)行詳細(xì)的分析。動程序設(shè)計(jì)的基礎(chǔ),下面對這些關(guān)系進(jìn)行詳細(xì)的分析。16.3.5 16.3.5 觸摸屏設(shè)備中斷處理函數(shù)觸摸屏設(shè)備中斷處理函數(shù)當(dāng)觸摸屏設(shè)備驅(qū)動的探測函數(shù)當(dāng)觸摸屏設(shè)備驅(qū)動的探測函數(shù)s3c2410ts_probe()執(zhí)行完執(zhí)行完成之后,驅(qū)動程序處于等待狀態(tài)。在等待狀態(tài)中,驅(qū)動程序成之后,驅(qū)動程序處于

14、等待狀態(tài)。在等待狀態(tài)中,驅(qū)動程序可以接收兩個(gè)中斷信號,并觸發(fā)中斷處理函數(shù)。這兩個(gè)中斷可以接收兩個(gè)中斷信號,并觸發(fā)中斷處理函數(shù)。這兩個(gè)中斷是觸摸屏中斷(是觸摸屏中斷(IRQ_TC)和)和ADC中斷(中斷(IRQ_ADC)。在)。在s3c2410ts_probe()函數(shù)中,調(diào)用函數(shù)中,調(diào)用request_irq()函數(shù)注冊了兩函數(shù)注冊了兩個(gè)中斷,現(xiàn)對這兩個(gè)中斷進(jìn)行詳細(xì)的講解。個(gè)中斷,現(xiàn)對這兩個(gè)中斷進(jìn)行詳細(xì)的講解。1stylus_updown()函數(shù)函數(shù)2touch_timer_fire()函數(shù)函數(shù)3stylus_action()函數(shù)函數(shù)4touch_timer定時(shí)器定時(shí)器16.3.6 S3C244

15、016.3.6 S3C2440觸摸屏驅(qū)動模塊的觸摸屏驅(qū)動模塊的removeremove函函數(shù)數(shù)remove()函數(shù)是函數(shù)是Linux設(shè)備驅(qū)動程序中一個(gè)非常重要的設(shè)備驅(qū)動程序中一個(gè)非常重要的函數(shù),這個(gè)函數(shù)實(shí)現(xiàn)了與函數(shù),這個(gè)函數(shù)實(shí)現(xiàn)了與probe()函數(shù)相反的功能。體現(xiàn)了函數(shù)相反的功能。體現(xiàn)了Linux內(nèi)核中,資源分配和釋放的思想。資源應(yīng)該在使用時(shí)內(nèi)核中,資源分配和釋放的思想。資源應(yīng)該在使用時(shí)分配,在不使用時(shí)釋放。觸摸屏設(shè)備驅(qū)動程序的分配,在不使用時(shí)釋放。觸摸屏設(shè)備驅(qū)動程序的remove()函函數(shù)由數(shù)由s3c2410ts_remove()函數(shù)來實(shí)現(xiàn)。這個(gè)函數(shù)中釋放了申函數(shù)來實(shí)現(xiàn)。這個(gè)函數(shù)中釋放了申

16、請的中斷、時(shí)鐘、內(nèi)存等。請的中斷、時(shí)鐘、內(nèi)存等。16.4 16.4 測試觸摸屏驅(qū)動程序測試觸摸屏驅(qū)動程序測試觸摸屏驅(qū)動程序是否工作正確,最簡單的一種方測試觸摸屏驅(qū)動程序是否工作正確,最簡單的一種方法是在驅(qū)動程序中加入一些打印坐標(biāo)的信息,從這些坐標(biāo)中法是在驅(qū)動程序中加入一些打印坐標(biāo)的信息,從這些坐標(biāo)中分析觸摸屏設(shè)備驅(qū)動程序是否工作正常。分析觸摸屏設(shè)備驅(qū)動程序是否工作正常。touch_timer_fire()函數(shù)會不斷的調(diào)用去讀輸入緩沖區(qū)中的數(shù)據(jù),在函數(shù)會不斷的調(diào)用去讀輸入緩沖區(qū)中的數(shù)據(jù),在touch_timer_fire()函數(shù)中加入第函數(shù)中加入第14到到21行,就能夠打印出調(diào)行,就能夠打印出調(diào)試信息。試信息。16.5 16.5 小結(jié)小結(jié)本章講解了觸摸屏設(shè)備驅(qū)動程序的實(shí)例。首先對觸摸本章講解了觸摸屏設(shè)備驅(qū)動程序的實(shí)例。首先對觸摸屏設(shè)備的硬件原型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論