觸摸屏的實現(xiàn)原理及在android上的實現(xiàn)_第1頁
觸摸屏的實現(xiàn)原理及在android上的實現(xiàn)_第2頁
觸摸屏的實現(xiàn)原理及在android上的實現(xiàn)_第3頁
觸摸屏的實現(xiàn)原理及在android上的實現(xiàn)_第4頁
觸摸屏的實現(xiàn)原理及在android上的實現(xiàn)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢工程大學(xué)郵電與信息工程學(xué)院武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)畢業(yè)設(shè)計(論文)觸摸屏的實現(xiàn)原理及在觸摸屏的實現(xiàn)原理及在 android 上的實現(xiàn)上的實現(xiàn)The Principle of the Touch Screen and the Realization of the Android學(xué)生姓名 學(xué) 號 專業(yè)班級 指導(dǎo)老師 2014 年年 5 月月武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)作者聲明作者聲明本人聲明所呈交的論文是我個人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果,除了文中特別加以標(biāo)注的地方外,沒有任何剽竊、抄襲、造假等違反學(xué)術(shù)道德、學(xué)術(shù)規(guī)范的行為,也沒有侵犯任何其

2、他人或組織的科研成果及專利。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示了謝意。如本畢業(yè)設(shè)計(論文)引起的法律結(jié)果完全由本人承擔(dān)。畢業(yè)設(shè)計(論文)成果歸武漢工程大學(xué)郵電與信息工程學(xué)院所有。特此聲明。 作者專業(yè): 作者學(xué)號: 作者簽名: _年_月_日武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)摘摘 要要觸摸屏作為一種新穎的且直接的輸入操作方式已經(jīng)在全球流行。Android 系統(tǒng)的移動設(shè)備(智能手機(jī)、平板電腦等)由于輸入操作的需要,均選用一塊全觸屏作為其主要輸入方式,而為了實現(xiàn)多點(diǎn)觸摸,幾乎都使用了電容式觸摸屏。觸摸屏的實現(xiàn)對屏功能的擴(kuò)展十分有利,應(yīng)用范圍因此大大擴(kuò)展

3、。更大的屏幕尺寸對觸摸屏開辟了更廣闊的市場空間,同時也提出了更高的要求。如何保證觸摸屏系統(tǒng)的穩(wěn)定性,如何提高系統(tǒng)的整體性能,如何增強(qiáng)用戶體驗,是此論文討論的重點(diǎn)。本人在論文研究階段,主要工作有以下幾點(diǎn):1認(rèn)真研究 Android 系統(tǒng)架構(gòu)和手機(jī)硬件結(jié)構(gòu)的基礎(chǔ)上,完成了 SPI 總線的觸摸屏系統(tǒng)硬件設(shè)計;2將觸摸屏設(shè)計為 A 區(qū)和 B 區(qū),A 區(qū)用于檢測觸摸點(diǎn)坐標(biāo),B 區(qū)用于檢測觸摸手勢,并且通過對 B 區(qū)一些相關(guān)參數(shù)的合理設(shè)定,提升了用戶體驗;3對 Android 的 Linux Kernel,特別是輸入子系統(tǒng)、SPI 子系統(tǒng)、工作隊列機(jī)制等模塊,進(jìn)行了深入研究;4對觸摸屏控制 IC 的數(shù)據(jù)傳

4、輸方式和協(xié)議進(jìn)行設(shè)計,編寫完成了融入系統(tǒng)內(nèi)核的觸摸屏驅(qū)動程序,使得觸摸屏控制 IC 的數(shù)據(jù)通過 SPI 總線快速準(zhǔn)確的傳輸?shù)讲僮飨到y(tǒng),順利實現(xiàn)了操作系統(tǒng)與觸摸屏硬件的交互;5在 Android 版本升級到 2.2 之后,完成了觸摸屏多點(diǎn)觸摸功能在驅(qū)動層上的摘要實現(xiàn),使得觸摸屏 IC 的多點(diǎn)數(shù)據(jù)同時成功上報,用戶可以在觸摸屏上體驗到兩點(diǎn)乃至五點(diǎn)同時觸摸的操作;6最后對觸摸屏模塊進(jìn)行了詳細(xì)測試,并解決了一些在測試過程中發(fā)現(xiàn)的問題,最終達(dá)到了系統(tǒng)穩(wěn)定、性能優(yōu)良、用戶體驗良好的理想效果。關(guān)鍵詞:關(guān)鍵詞:Android;觸摸屏;Linux武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)AbstractTo

5、uch screen as a novel and direct input mode of operation has been popular all over the world. Mobile Android system (intelligent mobile phone, tablet computer) because of the need to input operation, with a full touch screen as the primary input mode, in order to achieve multi touch, almost all of t

6、he use ofcapacitive touch screen. Touch screen to achieve the expansion screen function is very advantageous, thus greatly expanded scope of application.The larger screen size and open up a broader market space to the touch screen, and also put forward higher requirements. How to ensure the stabilit

7、y of the touch screen system, how to improve the overall performance of the system, how to enhance the user experience, is the focus of this paper.I study in this paper, the main work is as follows:1. serious research on the system architecture of Android and mobile phonehardware structure, complete

8、d the touch screen system hardware design of SPI bus;2. the touch screen is designed for A and B region, A region for detecting the touch point coordinate, B for the detection of touch gestures, and throughreasonable values for some parameters of the B area, and improve the user experience;3. on the

9、 Android Linux Kernel, especially the input subsystem, SPI subsystem,the work queue mechanism module, in-depth research;4. on the touch screen to control the data transmission in IC and protocoldesign, completed the touch screen into the system kernel driver, the touch screen control IC data through

10、 the SPI bus rapid and accurate transfer to theoperating system, the smooth realization of the interactive operating systemand touch screen hardware;5. After the Android version to upgrade to 2.2, completed the touch screenmulti touch function in driving the layer, the more data IC touch screen andr

11、eporting, the user can experience points and five points also touch on the touch screen operation;6. at the end of the touch screen module in detail and test, and solves somefo武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)und problems in the testing process, eventually reaching the system stability, excellent performance,

12、 user experience good ideal effect.Key Words: Android; Touch screen; Linux目錄目錄第第 1 章章 緒論緒論.1武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)1.1 Android 觸摸屏技術(shù)的現(xiàn)狀與發(fā)展趨勢.11.1.1 Android 發(fā)展現(xiàn)狀.11.1.2 觸摸屏發(fā)展現(xiàn)狀.11.2 本論文的研究內(nèi)容.2第第 2 章章 電容式觸摸屏工作原理電容式觸摸屏工作原理.42.1 觸摸屏簡介.42.2 電容式觸摸屏硬件工作原理.52.3 Linux SPI 子系統(tǒng).6第第 3 章章 Android 概述概述.93.1 Andro

13、id 簡介.93.2 Android 的特征.93.3 Android 的架構(gòu).113.3.1 應(yīng)用程序 Applications.113.3.2 應(yīng)用程序框架 Application Framework:.113.3.3 庫 Libraries:.123.3.4 Android RunTime:.133.3.5 Linux 內(nèi)核 Liuux Kernel.13第第 4 章章 Android 手機(jī)觸摸屏系統(tǒng)的硬件設(shè)計手機(jī)觸摸屏系統(tǒng)的硬件設(shè)計.144.1 觸摸屏系統(tǒng)的整體架構(gòu).144.2 觸摸屏模塊的硬件接口設(shè)計.15第第 5 章章 軟件設(shè)計方案軟件設(shè)計方案.175.1 觸摸屏的數(shù)據(jù)傳輸設(shè)計.1

14、75.1.1 觸摸屏模塊的串行數(shù)據(jù)接口.175.1.2 觸摸屏模塊的參數(shù)傳輸.175.1.3 觸摸結(jié)果數(shù)據(jù)的讀取.195.2 Android 系統(tǒng)多點(diǎn)觸摸的研究實現(xiàn).195.2.1 軟件結(jié)構(gòu).195.2.2 多點(diǎn)觸摸簡介.20武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)5.2.3 多點(diǎn)觸摸在 Android 驅(qū)動層的實現(xiàn)方式.21第第 6 章章 總結(jié)與展望總結(jié)與展望.236.1 總結(jié).236.2 展望.23參考文獻(xiàn)參考文獻(xiàn).25致致 謝謝.26附錄附錄 主要英文縮寫語對照表主要英文縮寫語對照表.27武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)1第第 1 章章 緒論緒論1.1 Android

15、 觸摸屏技術(shù)的現(xiàn)狀與發(fā)展趨勢觸摸屏技術(shù)的現(xiàn)狀與發(fā)展趨勢1.1.1 Android 發(fā)展現(xiàn)狀發(fā)展現(xiàn)狀A(yù)ndroid 是 Google 開發(fā)的基于 Linux 平臺的開源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序等移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。這使得全球運(yùn)營商、手機(jī)商紛紛加入。當(dāng)然,除了 Android 還有蘋果的平臺、諾基亞的 Symbian 以及微軟的移動操作系統(tǒng)。事實上,手機(jī)操作系統(tǒng)的競爭還非常強(qiáng)勁,不過近年蘋果和 Google 的崛起,讓原來波瀾不驚的手機(jī)操作系統(tǒng)進(jìn)入了一個戰(zhàn)國紛爭的年代。Android 是目前開放性最強(qiáng)的移動設(shè)備綜合平臺

16、,它使得電信運(yùn)營商、手機(jī)制造商以及產(chǎn)業(yè)鏈各環(huán)節(jié)能夠更好、更快地將創(chuàng)新性產(chǎn)品推向市場,同時能有效的降低成本。HTC 的多款手機(jī)都是使用 Android 系統(tǒng)平臺,Motorola、SonyEricsson、SAMSUNG 等公司也紛紛與各大運(yùn)營商合作,推出了自己的 Android 系統(tǒng)手機(jī)。Google 也一直致力于Android 的發(fā)展,Android 系統(tǒng)版本也已經(jīng)從 1.5 版 Cupcake(紙杯蛋糕),1.6 版Donut(甜甜圈)、2.0/2.1 版 Eclair(法式奶油夾心甜點(diǎn))、2.2 版 Froyo(凍酸奶)迅速升級到現(xiàn)在最新的 2.3 版 Gingerbread(姜餅)。很

17、顯然每一代的 Android 系統(tǒng)都按照英文字母順序在排列,且都是饞人的甜品。各大公司緊跟 Google 發(fā)布的各個Android 版本,紛紛推出相關(guān)電子產(chǎn)品。1.1.2 觸摸屏發(fā)展現(xiàn)狀觸摸屏發(fā)展現(xiàn)狀現(xiàn)今社會上很多人都頻繁地接觸到觸摸屏,這種裝置最常見于 PDA 和手機(jī)等手持設(shè)備中。觸摸屏輸入克服了鍵盤輸入繁瑣的缺點(diǎn),逐漸成為手持設(shè)備的主流人機(jī)交互接口。目前電子設(shè)備常用的觸摸屏技術(shù)共分五大類,即電阻式、表面電容式、投射電容式、表面聲波式與紅外線式等。前三種觸摸屏技術(shù)因為裝置體積較小,精密度相對可以做得更高,因此適用于體積小巧的便攜式裝置或者消費(fèi)武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)2性

18、電子產(chǎn)品。后兩種技術(shù)做出的觸摸屏不是太昂貴就是體積太大,因此不適合上述應(yīng)用。雖然觸摸屏技術(shù)應(yīng)用已經(jīng)行之有年,但長久以來觸摸屏應(yīng)用領(lǐng)域都是電阻式觸摸屏的天下,直到 iPhonc 的橫空出世將電容式觸摸屏的使用提升到一個全新的高度。電容式觸摸屏有出色的信噪比、高精度、無需用戶校正、可實現(xiàn)多點(diǎn)觸摸等優(yōu)點(diǎn),解決了之前各種觸摸屏的許多問題,已經(jīng)逐步成為了觸摸屏市場的主流。Android 系統(tǒng)的智能手機(jī)由于其輸入操作的需要,均選用一塊全觸屏作為其主要輸入方式,而為了實現(xiàn)多點(diǎn)觸摸,幾乎都使用了電容式觸摸屏。極大的市場需求刺激了電容式觸摸屏的快速發(fā)展,一些優(yōu)秀的電容式觸摸屏控制 IC 也隨之產(chǎn)生,如 Cypr

19、ess 公司的 TureTouch 系列芯片,F(xiàn)ocalTech 公司的 FT5201/5202 芯片。由于各個觸摸屏廠商的產(chǎn)品規(guī)格、性能等方面都大不相同,手機(jī)廠商在選定觸摸屏及觸摸屏控制 IC 之后,需要根據(jù)自身的產(chǎn)品需求跟觸摸屏廠商制定詳細(xì)的 spec,并在開發(fā)過程中不斷完善,以達(dá)到觸摸屏的完美用戶體驗。1.2 本論文的研究內(nèi)容本論文的研究內(nèi)容現(xiàn)今市場上,基于 Android 系統(tǒng)平臺的智能手機(jī)或平板電腦無一不使用一塊大尺寸的觸摸屏作為其設(shè)備的輸入方式,或加配側(cè)滑全鍵盤。觸摸屏有其方便靈活、節(jié)省空間、直觀等諸多特點(diǎn),已經(jīng)成為移動電子產(chǎn)品輸入方式的主流。從而,觸摸屏成為了這些 Android

20、 操作系統(tǒng)的電子產(chǎn)品中不可或缺的一種硬件之一。觸摸屏作為一種新穎的且直接的輸入操作方式已經(jīng)在全球流行。Android 系統(tǒng)的移動設(shè)備(智能手機(jī)、平板電腦等)由于輸入操作的需要,均選用一塊全觸屏作為其主要輸入方式,而為了實現(xiàn)多點(diǎn)觸摸,幾乎都使用了電容式觸摸屏。觸摸屏的實現(xiàn)對屏功能的擴(kuò)展十分有利,應(yīng)用范圍因此大大擴(kuò)展。更大的屏幕尺寸對觸摸屏開辟了更廣闊的市場空間,同時也提出了更高的要求。如何保證觸摸屏系統(tǒng)的穩(wěn)定性,如何提高系統(tǒng)的整體性能,如何增強(qiáng)用戶體驗,是此論文討論的重點(diǎn)。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)3本論文研究內(nèi)容主要有以下幾點(diǎn):1認(rèn)真研究 Android 系統(tǒng)架構(gòu)和手機(jī)硬件

21、結(jié)構(gòu)的基礎(chǔ)上,完成了 SPI 總線的觸摸屏系統(tǒng)硬件設(shè)計;2將觸摸屏設(shè)計為 A 區(qū)和 B 區(qū),A 區(qū)用于檢測觸摸點(diǎn)坐標(biāo),B 區(qū)用于檢測觸摸手勢,并且通過對 B 區(qū)一些相關(guān)參數(shù)的合理設(shè)定,提升了用戶體驗;3對 Android 的 Linux Kernel,特別是輸入子系統(tǒng)、SPI 子系統(tǒng)、工作隊列機(jī)制等模塊,進(jìn)行了深入研究;4對觸摸屏控制 IC 的數(shù)據(jù)傳輸方式和協(xié)議進(jìn)行設(shè)計,編寫完成了融入系統(tǒng)內(nèi)核的觸摸屏驅(qū)動程序,使得觸摸屏控制 IC 的數(shù)據(jù)通過 SPI 總線快速準(zhǔn)確的傳輸?shù)讲僮飨到y(tǒng),順利實現(xiàn)了操作系統(tǒng)與觸摸屏硬件的交互;5在 Android 版本升級到 2.2 之后,完成了觸摸屏多點(diǎn)觸摸功能在驅(qū)

22、動層上的摘要實現(xiàn),使得觸摸屏 IC 的多點(diǎn)數(shù)據(jù)同時成功上報,用戶可以在觸摸屏上體驗到兩點(diǎn)乃至五點(diǎn)同時觸摸的操作;6最后對觸摸屏模塊進(jìn)行了詳細(xì)測試,并解決了一些在測試過程中發(fā)現(xiàn)的問題,最終達(dá)到了系統(tǒng)穩(wěn)定、性能優(yōu)良、用戶體驗良好的理想效果。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)4第第 2 章章 電容式觸摸屏工作原理電容式觸摸屏工作原理2.1 觸摸屏簡介觸摸屏簡介現(xiàn)今社會上很多人都頻繁地接觸到觸摸屏,這種裝置最常見于 PDA 和手機(jī)等手持設(shè)備中。觸摸屏輸入克服了鍵盤輸入繁瑣的缺點(diǎn),逐漸成為手持設(shè)備的主流人機(jī)交互接口。觸摸屏的基本概念很簡單當(dāng)您將手指或者觸控筆放在屏幕上時,設(shè)備狀態(tài)隨之發(fā)生改變

23、。目前電子設(shè)備常用的觸摸屏技術(shù)共分五大類,即電阻式、表面電容式、投射電容式、表面聲波式與紅外線式等。前三種觸摸屏技術(shù)因為裝置體積較小,精密度相對可以做得更高,因此適用于體積小巧的便攜式裝置或者消費(fèi)性電子產(chǎn)品。電阻式觸摸屏和電容式觸摸屏的主要對比如表 2.1 所示。表表 2.12.1 電阻式和電容式觸摸屏對比電阻式和電容式觸摸屏對比 電阻式觸摸屏電容式觸摸屏使用壽命較短較長輸入方式需施力書寫輕輕碰觸書寫尖筆需要不需要尺寸中,小小受干擾問題不容易容易成本較低較高多手指操控?zé)o可以透光率小于 80%90%以上分辨率150DPI300DPI 以上使用者校正需要不需要電阻式方案已經(jīng)非常成熟,一般都是和液晶

24、屏打包配套,成本比較低。但是,由于先天結(jié)構(gòu)(原理)上的原因,使用一段時間后需要重新對觸摸屏進(jìn)行校正。低武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)5端的 4 線電阻式觸摸屏需要直接與指尖或筆接觸,所以在上蓋的設(shè)計上會有一個開孔,對外界的各種干擾(灰塵,濕氣,ESD 等等)都缺乏有效的防護(hù),所以可靠性和耐用性較差。高端的 5 線式電阻式觸摸屏可以通過改善結(jié)構(gòu)解決這個問題,但成本上已經(jīng)和電容式持平。且對一些復(fù)雜的手勢(特別是多點(diǎn)觸摸)缺乏有效的支持,而這恰恰就是電容式觸摸屏最大的賣點(diǎn)。電容式方案的結(jié)構(gòu)和實現(xiàn)原理和電阻式完全不一樣,主要是根據(jù)接觸區(qū)域的電容量來判斷手指的位置,所以目前只能通過手指來

25、感應(yīng),并且可以對多點(diǎn)觸摸等復(fù)雜的手勢可以提供完善的支持。由于對外界的感應(yīng)需要通過一層不導(dǎo)電的介電質(zhì)(塑膠,玻璃等),觸摸屏需要貼合在上蓋背面,所以對外界的抗干擾能力較強(qiáng),可靠性和耐用性高。由上表可知,電阻式觸摸屏和電容式觸摸屏各有優(yōu)劣,但是隨著多點(diǎn)觸摸操作在智能手機(jī)上的廣泛應(yīng)用,只能實現(xiàn)單點(diǎn)操作的電阻式觸摸屏已經(jīng)無法滿足用戶的需要,電容式觸摸屏已經(jīng)成為了 Android 操作系統(tǒng)智能手機(jī)的主流,幾乎每一款 Android 手機(jī)都是選用電容式觸摸屏。2.2 電容式觸摸屏硬件工作原理電容式觸摸屏硬件工作原理電容式觸摸技術(shù)是實現(xiàn)多點(diǎn)觸控的希望所在,它需要一個或多個精心設(shè)計的、被刻蝕的 ITO 層,這

26、些 ITO 層通過刻蝕形成多個水平和垂直電極,所有這些電極都由一個電容式感應(yīng)芯片來驅(qū)動。該芯片既能將數(shù)據(jù)傳送到一個主處理器,也能自己處理觸摸點(diǎn)的 XY 軸位置。投射電容屏可分為自電容屏和互電容屏兩種類型。在玻璃表面用 ITO 制作成橫向與縱向電極陣列,這些橫向和縱向的電極分別與地構(gòu)成電容,這個電容就是通常所說的自電容,也就是電極對地的電容。當(dāng)手指觸摸到電容屏?xí)r,手指的電容將會疊加到屏體電容上,使屏體電容量增加。在觸摸檢測時,自電容屏依次分別檢測橫向與縱向電極陣列,根據(jù)觸摸前后電容的變化,分別確定橫向坐標(biāo)和縱向坐標(biāo),然后組合成平面的觸摸坐標(biāo)。自電容的掃描方式,相當(dāng)于把觸摸屏上的觸摸點(diǎn)分別投影到

27、X 軸和 Y 軸方向,然后分別在 X 軸和 Y 軸方向計算出坐標(biāo),最后組合成觸摸點(diǎn)的坐標(biāo)。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)6如果是單點(diǎn)觸摸,則在 X 軸和 Y 軸方向的投影都是唯一的,組合出的坐標(biāo)也是唯一的;如果在觸摸屏上有兩點(diǎn)觸摸并且這兩點(diǎn)不在同一 X 方向或者同一Y 方向,則在 X 和 Y 方向分別有兩個投影,則組合出 4 個坐標(biāo)。顯然,只有兩個坐標(biāo)是真實的,另外兩個就是俗稱的“鬼點(diǎn)” 。因此,自電容屏無法實現(xiàn)真正的多點(diǎn)觸摸?;ル娙萜烈彩窃诓AП砻嬗?ITO 制作橫向電極與縱向電極,它與自電容屏的區(qū)別在于,兩組電極交叉的地方將會形成電容,也即這兩組電極分別構(gòu)成了電容的兩極。當(dāng)

28、手指觸摸到電容屏?xí)r,影響了觸摸點(diǎn)附近兩個電極之間的耦合,從而改變了這兩個電極之間的電容量。檢測互電容大小時,橫向的電極依次發(fā)出激勵信號,縱向的所有電極同時接收信號,這樣可以得到所有橫向和縱向電極交匯點(diǎn)的電容值大小,即整個觸摸屏的二維平面的電容大小。根據(jù)觸摸屏二維電容變化量數(shù)據(jù),可以計算出每一個觸摸點(diǎn)的坐標(biāo)。因此,屏上即使有多個觸摸點(diǎn),也能計算出每個觸摸點(diǎn)的真實坐標(biāo)。互電容屏的優(yōu)點(diǎn)是布線較少,而且能同時識別和區(qū)分多個觸點(diǎn)之間的差異,自電容屏也可感測多個觸點(diǎn),不過由于信號本身模糊,故不能區(qū)分。此外,互電容屏的感應(yīng)方案還有速度快和功耗低的優(yōu)勢,因為其能同時測量一條驅(qū)動線路上的所有節(jié)點(diǎn),所以可減少 5

29、0%的采集周期數(shù)。這種雙電極式結(jié)構(gòu)具有自我屏蔽外部噪聲的功能,在一定功率級上可提高信號穩(wěn)定性。在任何情況下,觸摸位置都是通過測量 X 電極和 Y 電極之間信號改變量的分配來確定的,隨后會使用數(shù)學(xué)算法處理這些己改變的信號電平,以確定觸摸點(diǎn)的 XY 坐標(biāo)。2.3 Linux SPI 子系統(tǒng)子系統(tǒng)SPI,是英語 Serial Peripheral interface 的縮寫,顧名思義就是串行外圍設(shè)備接口。是 Motorola 首先在其 MC68HCXX 系列處理器上定義的。SPI 接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實時時鐘,AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。SPI,是一種

30、高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用了四根線,節(jié)約了芯片的管腳,同時為 PCB 的布局上節(jié)省空間,提供武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)7方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議,比如 AT91RM9200。SPI 總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使 MCU 與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI 總線系統(tǒng)可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口。SPI 的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少 4 根線,事實上 3 根也可以(用于單向傳輸時,也就是半雙工方式)

31、,也是所有基于 SPI 的設(shè)備共有的,它們是 SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),CLK(時鐘),CS(片選)。SDO:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入SDI:主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出CLK:時鐘信號,由主設(shè)備產(chǎn)生CS:從設(shè)備使能信號,由主設(shè)備控制其中 CS 是控制芯片是否被選中的,也就是說只有片選信號為預(yù)先規(guī)定的使能信號時(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個 SPI 設(shè)備成為可能。接下來就負(fù)責(zé)通訊的 3 根線了。通訊是通過數(shù)據(jù)交換完成的,這里先要知道 SPI 是串行通訊協(xié)議,也就是說數(shù)據(jù)是一位一位的傳輸?shù)摹_@就是 SCK 時鐘線存在的原因,由 CLK

32、 提供時鐘脈沖,SDI,SDO 則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過 SDO 線,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少 8 次時鐘信號的改變(上沿和下沿為一次),就可以完成 8 位數(shù)據(jù)的傳輸。要注意的是,CLK 信號線只由主設(shè)備控制,從設(shè)備不能控制信號線。同樣,在一個基于 SPI 的設(shè)備中,至少有一個主控設(shè)備。這樣的傳輸方式有一個優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少 8 位數(shù)據(jù),而 SPI 允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因為 CLK 時鐘線由主控設(shè)備控制,當(dāng)沒有時鐘跳變時,從設(shè)備不采集

33、或傳送數(shù)據(jù)。也就是說,主設(shè)備通過對 CLK 時鐘線的控制可以完成對通訊的控制。SPI 還是一個數(shù)據(jù)交換協(xié)議:因為 SPI 的數(shù)武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)8據(jù)輸入和輸出線獨(dú)立,所以允許同時完成數(shù)據(jù)的輸入和輸出。不同的 SPI 設(shè)備的實現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時間不同,在時鐘信號上沿或下沿采集有不同定義。在點(diǎn)對點(diǎn)的通信中,SPI 接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡單高效。在多個從設(shè)備的系統(tǒng)中,每個從設(shè)備需要獨(dú)立的使能信號,硬件上比I2C 系統(tǒng)要稍微復(fù)雜一些。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)9第第 3 章章 Android 概述概述3.1

34、Android 簡介簡介Android 是 Google 于 2007 年 11 月 05 日宣布的基于 Linux 平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。它采用軟件堆層(Software Stack,又名軟件疊層)的架構(gòu),主要分為三部分:底層以 Linux內(nèi)核工作為基礎(chǔ),由 C 語言開發(fā),只提供基本功能;中間層包括函數(shù)庫 Library和虛擬機(jī) Virtual Machine,由 C+開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以 Java 作為編寫程序的一部分。Android 不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專

35、有權(quán)障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Google 通過與軟、硬件開發(fā)商、設(shè)備制造商、電信運(yùn)營商等其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。Android 作為 Google 企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時隨地為每個人提供信息這一企業(yè)目標(biāo)的實現(xiàn)。全球為數(shù)眾多的移動電話用戶正在使用各種基于 Android 的電話。Google 的目標(biāo)是讓移動通訊不依賴于設(shè)備甚至平臺。出于這個目的,Android 將補(bǔ)充,而不會替代 Google 長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機(jī)制造

36、商和移動運(yùn)營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。3.2 Android 的特征的特征應(yīng)用框架:用于開發(fā)可重用可替代的組件。Dalvik 虛擬機(jī):Android 采用的Java 虛擬機(jī)并不是 SUN 公司的 JME 引擎,而是自主開發(fā)的代號為 Dalvik 的虛擬機(jī)技術(shù),在保證 API 方面的兼容的同時 Dalvik 針對移動手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。集成的瀏覽器:基于開源的 WebKit 引擎。WebKit 是一個開源瀏覽器網(wǎng)頁排武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)10版引擎,目前使用 WebKit 引擎的瀏覽器主要有:Safari,

37、Midori,Epiphany 等。優(yōu)化的圖形:強(qiáng)大的自定義二維圖形庫;基于 OpenGLES 1.0 標(biāo)準(zhǔn)的 3D 圖形功能(使用硬件加速)。SQLite:SQLite 提供結(jié)構(gòu)化的數(shù)據(jù)存貯。SQLite 是一款輕型的數(shù)據(jù)庫,它的設(shè)計目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低,在嵌入式設(shè)備中,可能只需要幾百 K 的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix 等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 PHP、Java 等,還有 ODBC 接口,同樣比起 Mysql、PostgreSQL 來講,它的處理速度更快。SQLite 雖然很小

38、巧,但是支持的 SQL 語句不會遜色于其它開源數(shù)據(jù)庫。同時它還支持事務(wù)處理功能等等。提供媒體功能:支持各種通用的音視頻和靜態(tài)圖像格式 (MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF) 。 GSM 技術(shù):(依賴硬件)Global System for Mobile Communications,全球移動通訊系統(tǒng),俗稱“全球通” ,是一種起源于歐洲的移動通信技術(shù)標(biāo)準(zhǔn),是第二代移動通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個移動電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。藍(lán)牙,EDGE,3G,WiFi:(依賴硬件)藍(lán)牙(Bluetooth)是一種新型、開放、低成本、短

39、距離的無線連接技術(shù),可取代短距離的電纜,實現(xiàn)話音和數(shù)據(jù)的無線傳輸。EDGE(Enhanced Data Rate for GSM Evolution),即增強(qiáng)型數(shù)據(jù)速率 GSM 演進(jìn)技術(shù)。EDGE 是一種從 GSM 到 3G 的過渡技術(shù),它主要是在 GSM 系統(tǒng)中采用了一種新的調(diào)制方法,即最先進(jìn)的多時隙操作和 8PSK 調(diào)制技術(shù)。由于 8PSK 可將現(xiàn)有 GSM 網(wǎng)絡(luò)采用的 GMSK 調(diào)制技術(shù)的信號空間從 2 擴(kuò)展到 8,從而使每個符號所包含的信息是原來的 4 倍。WiFi(WirelessFidelity),無線保真技術(shù),與藍(lán)牙技術(shù)一樣,同屬于在辦公室和家庭中使用的短距離無線技術(shù)。該技術(shù)使用

40、的是24GHz 附近的頻段,該頻段目前尚屬沒用許可的無線頻段。其目前可使用的標(biāo)準(zhǔn)有兩個,分別是 IEEE802.11a 和 IEEE802.11b。Camera,GPS,compass,accelerometer:(依賴硬件)GPS(Global PositioningSystem),即全球定位系統(tǒng)。它是一個由覆蓋全球的 24 顆衛(wèi)星組成的衛(wèi)武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)11星系統(tǒng)。這個系統(tǒng)可以保證在任意時刻,地球上任意一點(diǎn)都可以同時觀測到 4 顆衛(wèi)星,以保證衛(wèi)星可以采集到該觀測點(diǎn)的經(jīng)緯度和高度,以便實現(xiàn)導(dǎo)航、定位、授時等功能。這項技術(shù)可以用來引導(dǎo)飛機(jī)、船舶、車輛以及個人,安全

41、、準(zhǔn)確地沿著選定的路線,準(zhǔn)時到達(dá)目的地。GPS 全球衛(wèi)星定位系統(tǒng)由三部分組成:空間部分GPS 星座;地面控制部分地面監(jiān)控系統(tǒng);用戶設(shè)備部分GPS 信號接收機(jī)。Compass 是一個開放源碼 JAVA 搜索引擎框架。強(qiáng)大的開發(fā)環(huán)境:包括一個設(shè)備模擬器,調(diào)試工具,內(nèi)存和性能檢測,以及Eclipse IDE 的開發(fā)插件。Eclipse 是以個集成開發(fā)環(huán)境(Integrated Development Environment)。3.3 Android 的架構(gòu)的架構(gòu)Android 平臺從上層到底層由以下五部分組成架構(gòu)分成:應(yīng)用程序、應(yīng)用程序框架、庫、Android Runtime 及 Linux 內(nèi)核。

42、 3.3.1 應(yīng)用程序應(yīng)用程序 ApplicationsAndroid 的配置搭載它的核心應(yīng)用,包括 email 客戶端,SMS 程序,日歷,地圖,瀏覽器,contacts 以及其它一些應(yīng)用。所有的應(yīng)用都是用 java 語言編寫的。3.3.2 應(yīng)用程序框架應(yīng)用程序框架 Application Framework:開發(fā)人員具有和核心應(yīng)用相同的框架 API 訪問權(quán)限。應(yīng)用程序的構(gòu)建模式被設(shè)計成簡單的可重用的組件。所有應(yīng)用能夠分享他的能力,所有應(yīng)用都是如此(這是被框架強(qiáng)迫的安全約束)。這樣允許用戶在相同的機(jī)器上替換組件。一套用于支撐應(yīng)用的服務(wù)和系統(tǒng),包括:一套強(qiáng)大和可擴(kuò)展的視圖,用于構(gòu)建應(yīng)用,包括列

43、表,網(wǎng)格,文本框,按鈕,甚至內(nèi)嵌的 Web 瀏覽器;內(nèi)容提供,用于應(yīng)用間的數(shù)據(jù)提供和數(shù)據(jù)共享;武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)12一個資源管理器,提供非代碼的資源支持,包括本地字符串,圖像文件,和布局文件;一個 Notification 管理器,用于應(yīng)用程序在狀態(tài)欄顯示告警信息;一個 Activity 管理器,用于管理應(yīng)用的生命周期,以及提供通用的導(dǎo)航輔助。3.3.3 庫庫 Libraries:Android 包含一整套 C/C+庫,用于構(gòu)建 Android 系統(tǒng)的大量不同的組件。這些能力通過 Android 應(yīng)用程序框架暴露給開發(fā)人員。部分核心庫如下:系統(tǒng) C 庫,一個由 BS

44、D 發(fā)起的標(biāo)準(zhǔn) C 庫實現(xiàn),專門為基于 Linux 的嵌入式設(shè)備作了調(diào)整:媒體庫,基于 PacketVideos OpenCORE;該庫支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片,包括 MPEG4、H.264、MP3、AAC、AMR、JPG 和PNG;Surface 管理,用于管理顯示子系統(tǒng)和無縫合成不同應(yīng)用的 2D 和 3D 圖形層;LibWebCore,先進(jìn)的 web 瀏覽器引擎。被用來構(gòu)建 Android 瀏覽器和內(nèi)嵌的web 視圖;SGL,底層的 2D 圖形引擎;3D 庫,一套 OpenGLES 1.0APIs 的實現(xiàn);該庫使用硬件加速(當(dāng)硬件可用時)或者高度優(yōu)化的 3D 軟件光柵;

45、FreeType,用于點(diǎn)陣和矢量字體渲染;SQLite,能夠被所有應(yīng)用使用的強(qiáng)大的輕量級的關(guān)系數(shù)據(jù)庫引擎;SSL,(Secure Sockets Layer),中文名為“安全套接層協(xié)議層” ,它是網(wǎng)景(Netscape)公司提出的基于 WEB 應(yīng)用的安全協(xié)議,當(dāng)前版本為 30。SSL 協(xié)議指定了一種在應(yīng)用程序協(xié)議(如 HTTP、Telenet、NMTP 和 FTP 等)和 TCP/IP 協(xié)議之間提供數(shù)據(jù)安全性分層的機(jī)制,它為 TCP/IP 連接提供數(shù)據(jù)加密、服務(wù)器認(rèn)證、消息完整性以及可選的客戶機(jī)認(rèn)證。它已被廣泛地用于 Web 瀏覽器與服務(wù)器之間武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)13

46、的身份認(rèn)證和加密數(shù)據(jù)傳輸。SSL 協(xié)議位于 TCP/IP 協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL 協(xié)議可分為兩層:SSL 記錄協(xié)議(SSLRecord Protoc01):它建立在可靠的傳輸協(xié)議(如 TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL 握手協(xié)議(SSL HandshakeProtoc01):它建立在 SSL 記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。SSL 協(xié)議提供的服務(wù)主要有:一、認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;二、加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊?。蝗?、維護(hù)數(shù)據(jù)的完整

47、性,確保數(shù)據(jù)在傳輸過程中不被改變。3.3.4 Android RunTime:Android 包含了一整套核心庫,它為 Java 語言提供了很多有用的功能。所有的 Android 應(yīng)用都運(yùn)行在它自己的進(jìn)程里,該進(jìn)程是一個 Dalvik 虛擬機(jī)的實例,Dalvik 被設(shè)計成能在一臺設(shè)備上高效的運(yùn)行多個虛擬機(jī)實例。Dalvik 虛擬機(jī)的可執(zhí)行文件被封裝成 Dalvik 可執(zhí)行格式(.dex)。這是被優(yōu)化過的最小內(nèi)存依賴的格式,Java 編譯器(dx 工具)將注冊了的和運(yùn)行時用到的類編譯成.dex 格式。3.3.5 Linux 內(nèi)核內(nèi)核 Liuux KernelAndroid 依賴 Linux 版本

48、 2.6 提供的核心系統(tǒng)服務(wù),如安全,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)堆棧和驅(qū)動模型。該內(nèi)核另一個作用是提供一個屏蔽層用于屏蔽硬件和上層軟件。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)14第第 4 章章 Android 手機(jī)觸摸屏系統(tǒng)的硬件設(shè)計手機(jī)觸摸屏系統(tǒng)的硬件設(shè)計4.1 觸摸屏系統(tǒng)的整體架構(gòu)觸摸屏系統(tǒng)的整體架構(gòu)每個手機(jī)廠商在開發(fā)一款 Android 系統(tǒng)平臺的手機(jī)時,最主要的工作是硬件系統(tǒng)的設(shè)計、各個驅(qū)動程序的編寫以及 UI 層的設(shè)計美化,Android 系統(tǒng)的framework 則一般不需要太大的改動。硬件系統(tǒng)的設(shè)計是保證產(chǎn)品穩(wěn)定運(yùn)行的基礎(chǔ),而優(yōu)秀的驅(qū)動程序則是軟硬件順利工作的保證。ipho

49、ne 手機(jī)正面的顯示區(qū)域是一塊全觸屏,在全觸屏的下方是一個單獨(dú)HOME 鍵,用于返回主菜單。同是 Android 系統(tǒng)的 HTC Desire 則是在全觸屏下方配置了光學(xué)觸控板和四個物理按鍵,分別為主頁、菜單、返回、搜索。為了進(jìn)一步簡化和優(yōu)化用戶操作,我們將觸摸屏設(shè)計為 A 區(qū)和 B 區(qū),A 區(qū)用于檢測觸摸點(diǎn)坐標(biāo),B 區(qū)用于檢測觸摸手勢。B 區(qū)的手勢數(shù)據(jù)可以代替手機(jī)的一些按鍵,如剛提到的主頁、菜單、返回,從而簡化了用戶的使用操作,并且通過對 B 區(qū)一些相關(guān)參數(shù)的合理設(shè)定,提升了用戶體驗。如圖 4.1 所示,觸摸屏分為 A 區(qū)和 B 區(qū)兩個區(qū)域,A 區(qū)用于檢測觸摸點(diǎn)坐標(biāo),設(shè)計尺寸為 48.24m

50、m*80.4mm,B 區(qū)用于檢測觸摸手勢,設(shè)計尺寸為48.24mm*14.63mm。當(dāng)用戶手指接觸到觸摸屏后,影響了觸摸點(diǎn)附近兩個電極之間的耦合,從而改變了這兩個電極之間的電容量,這樣驅(qū)動電路根據(jù)檢測到信號變化量計算出 A區(qū)觸摸點(diǎn)的坐標(biāo)或者 B 區(qū)的觸摸手勢。數(shù)據(jù)經(jīng)觸摸屏 IC 處理后,通過 SPI 接口傳到主機(jī),由主機(jī)的觸摸屏驅(qū)動負(fù)責(zé)接收。一旦其發(fā)生,觸摸屏驅(qū)動發(fā)送讀/寫命令給觸摸屏模塊,以得到觸摸數(shù)據(jù)。這些數(shù)據(jù)再傳到 input device gore 所在的上層,也就是先前觸摸屏注冊為一個輸入設(shè)備的地方。最后,數(shù)據(jù)傳給 Android 上層應(yīng)用,MMI 層實現(xiàn) UI 上的點(diǎn)擊、拖動以及各

51、種手勢操作。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)15 圖圖 4.14.1 觸摸屏的觸摸屏的 A A 區(qū)和區(qū)和 B B 區(qū)區(qū)可見觸摸屏驅(qū)動在整個系統(tǒng)中起著至關(guān)重要的中間作用,是主機(jī)系統(tǒng)內(nèi)核和觸摸屏交互的模塊。我們需要將觸摸屏驅(qū)動融入系統(tǒng)內(nèi)核,從而觸摸屏可以被Linux Kernel 所檢測到。4.2 觸摸屏模塊的硬件接口設(shè)計觸摸屏模塊的硬件接口設(shè)計如圖 4.2 所示,TP Module 為電容式多點(diǎn)感應(yīng)觸摸屏模塊(以下簡稱 TPM),包含 2 個部分:電容式觸摸屏 TP,及 MCU/TP controller。Host 為主機(jī)。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)16 4.2

52、4.2 觸摸屏模塊和主機(jī)的連接觸摸屏模塊和主機(jī)的連接起初,考慮使用 I2C 接口與 TPM 進(jìn)行通訊,由于 Camera,G-sensor 等設(shè)備都是使用 12C 接口,接在一起之后,當(dāng) I2C 同時有信號傳送時就是靠 device ID來區(qū)別這是要送給哪個裝置。但在 I2C 上接那么多裝置之后,可能會互相干擾,導(dǎo)致數(shù)據(jù)傳輸?shù)牟环€(wěn)定性。觸摸屏是需要高速實時響應(yīng)的器件,當(dāng)硬件支持多點(diǎn)觸摸之后對傳輸速度提出了更高的要求。12C 最快可到 400KHz,但 SPI 速度更快,目前速度可以達(dá)到 960KHz,因此把觸摸屏的傳輸方式由 12C 換成 SPI 可以達(dá)到更好的用戶體驗,是一種不錯的選擇方案。

53、武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)17第第 5 章章 軟件設(shè)計方案軟件設(shè)計方案5.1 觸摸屏的數(shù)據(jù)傳輸設(shè)計觸摸屏的數(shù)據(jù)傳輸設(shè)計觸摸屏模塊為用戶開放了兩類數(shù)據(jù)的交互:觸摸屏模塊參數(shù)和觸摸結(jié)果數(shù)據(jù)包。這兩類數(shù)據(jù)的格式和數(shù)據(jù)包大小均不相同,故需要設(shè)計兩套協(xié)議分別對應(yīng)觸摸屏模塊參數(shù)和觸摸結(jié)果數(shù)據(jù)包。系統(tǒng)定義 SPI 為通訊物理層,但是上層數(shù)據(jù)傳輸與物理層無關(guān)。5.1.1 觸摸屏模塊的串行數(shù)據(jù)接口觸摸屏模塊的串行數(shù)據(jù)接口觸摸系統(tǒng)采用 SPI 接口與 Host 通訊。Host 為主機(jī),MCU/Controllcr 為從機(jī)。Master 的 SPI clock SCK 最大速率 l Mbits/

54、sec。SS 為主機(jī)發(fā)出的片選信號,從 SS置低到 SCK 的 active edge 之間至少要有 10uS 的間隔時間。系統(tǒng)采用 MODE3(CPOL=1,CPHA=1)作為通信設(shè)定,即:上升沿讀取數(shù)據(jù),下降沿改變數(shù)據(jù),CLK 常態(tài)為高電平。MISO 空閑狀態(tài)為高電平,SS 在主機(jī)訪問TPM 過程中,保持為低(即字節(jié)之間不改變 SS 狀態(tài))。但仍可支持送/收之間在不同一次 SS 為低電平時完成。5.1.2 觸摸屏模塊的參數(shù)傳輸觸摸屏模塊的參數(shù)傳輸觸摸屏模塊有一組參數(shù)可供用戶讀取或者配置,這些寄存器可以通過特定的協(xié)議來訪問,觸摸屏模塊參數(shù)的地址和描述將在 6.1.4 詳述。Host 可在正常

55、工作狀態(tài)下的任意時間讀取 TPM 的參數(shù),并不限定 INT 要在何種電平。一個寄存器讀寫數(shù)據(jù)包包含 4 個數(shù)據(jù) Byte,該 4 個 Byte 以 STARTREG 開始,以 ECC 校驗字節(jié)結(jié)束。參數(shù)讀寫協(xié)議組成如表 5.1。第一個 Byte 為數(shù)據(jù)包指令,參數(shù)讀寫數(shù)據(jù)包必須以 STARTREG 作為開始,STARTREG=0 xFC。第二個 Byte 為讀寫地址,MSB 為 O,6為 R/W 位,l 表示讀,0 表示寫,低 6bit 為寄存器地址。武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)18第三個 Byte 為數(shù)據(jù),當(dāng)進(jìn)行寫操作時,DATA 為 Host 發(fā)出,TP 模塊讀入;當(dāng)進(jìn)行

56、讀操作時,DATA 為 Host 讀入,TPM 發(fā)出。第四個 Byte 為 ECC 校驗,ECC 等于本資料包的前 2 個 Byte 的各個 bit 相異或(XOR)。對于寫 TPM 操作,R/W DATA 和 ECC 為 Host 發(fā)出;對于讀 TPM 操作,R/W DATA 和 ECC 為 TPM 發(fā)出。表表 5.15.1 參數(shù)讀寫協(xié)議組成參數(shù)讀寫協(xié)議組成SymbolValueDescriptionSTARTREG0 xFCTPM 參數(shù)讀寫數(shù)據(jù)包指令,Host 在開始一個參數(shù)的訪問的時候,必須以 STARTREG作為起始字節(jié)。RW1-ReadTPM 參數(shù);0-WriteTPM 參數(shù)ADDR

57、0-0 x3F待訪問參數(shù)對應(yīng)的地址,容量視最終緩存器數(shù)目而定。R/W DATA讀/寫數(shù)據(jù)ECC校驗字節(jié),其值等于前面 2個 Byte 做 XOR 運(yùn)算的結(jié)果。如同 STARTTCH 數(shù)據(jù)包中ECC 并沒有包括 STARTTCH字節(jié),因此也不要將STARTREG 字節(jié)包入此 ECC中武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)195.1.3 觸摸結(jié)果數(shù)據(jù)的讀取觸摸結(jié)果數(shù)據(jù)的讀取每進(jìn)行一次完整觸摸屏處理過程,TPM 會得到這一幀的結(jié)果。當(dāng)觸摸屏 A區(qū)有觸摸或 B 區(qū)有手勢發(fā)生的時候,TPM 會產(chǎn)生這一幀的觸摸結(jié)果數(shù)據(jù)包,Host可以讀取數(shù)據(jù)包的數(shù)據(jù)。中斷信號配合串行數(shù)據(jù),可以使 Host 及時獲

58、得觸摸的信息。5.2 Android 系統(tǒng)多點(diǎn)觸摸的研究實現(xiàn)系統(tǒng)多點(diǎn)觸摸的研究實現(xiàn)驅(qū)動程序是硬件和軟件之間的紐帶。我們需要根據(jù)硬件設(shè)備和產(chǎn)品需要,在短周期內(nèi)開發(fā)出優(yōu)秀的基于 Android 系統(tǒng)的觸摸屏驅(qū)動程序,負(fù)責(zé)把主機(jī)和觸摸屏 IC 的溝通建立好,保證讀/寫數(shù)據(jù)正確,以實現(xiàn)用戶在使用 Android 系統(tǒng)手機(jī)進(jìn)行觸摸屏操作時良好的用戶體驗。5.2.1 軟件結(jié)構(gòu)軟件結(jié)構(gòu)Android 觸摸屏驅(qū)動的軟件整體結(jié)構(gòu)如圖 5.1 所示。qsd8x50_ init():平臺初始化武漢工程大學(xué)郵電與信息工程學(xué)院畢業(yè)設(shè)計(論文)20platform_device_register():平臺設(shè)備注冊w88_

59、touch_panel_init():觸摸屏驅(qū)動初始化platform_driver_register():平臺驅(qū)動注冊W88_CTP_probe():設(shè)備的探測函數(shù)vreg_enable_adapt():電源適配Input_allocate_device():分配輸入設(shè)備Input_register_device():注冊成系統(tǒng)的輸入設(shè)備W88_CTP_INT_TRIGGER_TYPE_work_f():純中斷的工作函數(shù)圖圖 5.1 Android 觸摸屏驅(qū)動的軟件整體結(jié)構(gòu)圖觸摸屏驅(qū)動的軟件整體結(jié)構(gòu)圖5.2.2 多點(diǎn)觸摸簡介多點(diǎn)觸摸簡介在觸摸屏的硬件方面,市場上最常見的是電阻式和電容式這兩大

60、類。雖然電阻式觸摸屏也可以實現(xiàn)多點(diǎn)觸摸,但是應(yīng)用并不廣泛?,F(xiàn)今,電容式觸摸屏已經(jīng)成為了多點(diǎn)觸摸的發(fā)展方向。電容式觸摸屏又可分為兩類,一種是自電容型(selfcapacitance,也稱absolutecapacitance),另一種為互電容型(mutual capacitance,也稱 transcapacitance)。自電容型是指觸控物與電極間產(chǎn)生電容耦合,并量測電極的電容變化確定觸碰發(fā)生:互電容型則是當(dāng)觸碰發(fā)生,會在鄰近 2 層電極間產(chǎn)生電容耦合現(xiàn)象。根據(jù)這兩種原理,可以設(shè)計不同的投射電容式架構(gòu),不同架構(gòu)能做到的多點(diǎn)觸控功能也就不同。自電容式觸摸屏實現(xiàn)的多點(diǎn)觸摸由于信號模糊,會產(chǎn)生鬼點(diǎn),所以只能識別手勢

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論