觸摸屏驅動總結_第1頁
觸摸屏驅動總結_第2頁
觸摸屏驅動總結_第3頁
觸摸屏驅動總結_第4頁
觸摸屏驅動總結_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、觸摸屏驅動總結觸摸屏工作原理觸摸屏的工作原理概括來說就是上報坐標值,X軸、Y軸的值。電容式觸摸屏不依靠手 指按力創(chuàng)造、改變電壓值來檢測坐標的,電容屏通過任何持有電荷的物體包括人體皮膚工作 (人體所帶的電荷)。電容式觸摸屏是由諸如合金或是金因金易氧化物(ITO )這樣的材料構成, 電荷存儲在一根根比頭發(fā)還要細的微型靜電網中。當手指點擊屏幕,會從接觸點吸收小量電 流,造成角落電極的壓降,利用感應人體微弱電流的方式來達到觸控的目的。(這是為什么 當你帶上手套觸摸屏幕時,沒有反應的原因),下圖可以清晰的說明電容屏的工作原理。上圖顯示了觸摸屏的組成,可以看到觸摸屏由IC控制電路、接口電路、觸摸屏感應區(qū)

2、組合而成。當然觸摸屏的工作原理我們并不需要去詳細了解,我們僅需要知道如何從接口電路獲取 輸入信號、向接口電路輸出信號即可。SPI總線總結SPI是串行外設接口(Serial Peripheral Interface)的縮寫。SPI,是一種高速的,全雙工, 同步的通信總線。SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個 從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基于SPI的設備共 有的,它們是SDI (數(shù)據(jù)輸入)、SDO (數(shù)據(jù)輸出)、SCLK(時鐘)、CS(片選)。(1)SDO -主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入;(2)SDI -主設備數(shù)據(jù)輸入

3、,從設備數(shù)據(jù)輸出;(3)SCLK-時鐘信號,由主設備產生;(4)CS-從設備使能信號,由主設備控制。其中,CS是控制芯片是否被選中的,也就是說只有片選信號為預先規(guī)定的使能信號時 (高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設備成 為可能。structboardinfo structlist_head list;用于掛接到鏈表頭 board_list 上unsigned n_board_info;設備信息號,spi_board_info成員的編號structspi_board_infoboard_info0;內嵌的 spi_board_info 結構;其中內嵌的描

4、述spi設備的具體信息的結構structspi_board_info為:structspi_board_info /* the device name and module name are coupled, like platform_bus;modalias is normally the driver name.* platform_data goes to spi_device.dev.platform_data,controller_data goes to spi_device.controller_data,irq is copied too*/charmodaliasSPI_N

5、AME_SIZE; /名字const void *platform_data如同注釋寫的指向 spi_device.dev.platform_datavoid*controller_data;指向 spi_device.controller_dataintirq;中斷號/* slower signaling on noisy or low voltage boards */u32max_speed_hz;時鐘速率/* bus_num is board specific and matches the bus_num of somespi_master that will probably be

6、 registered later.*chip_select reflects how this chip is wired to that master;its less than num_chipselect.*/u16bus_num;所在的spi總線編號u16chip_select;/* mode becomes spi_device.mode, and is essential for chipswhere the default of SPI_CS_HIGH = 0 is wrong.*/u8 mode;模式/* . may need additional spi_device ch

7、ip config data here.avoid stuff protocol drivers can set; but include stuffneeded to behave without being bound to a driver:-quirks like clock rate mattering when not selected*/;2.6內核典型的做法,不直接使用原始設備驅動,而是使用包裝后的抽象設備驅動 spi_driver,間接與原始設備驅動建立聯(lián)系,并最終通過調用driver_register來注冊原始設備 驅動。以后也不會直接與原始設備打交道,而是通過spi_de

8、vice來間接操作設備。Touch Screen總體結構框架圖觸摸屏驅動軟件結構觸摸屏驅動的軟件架構如下圖所示:1.21.2.3.4.5.6.7.8.9.平臺設備注冊觸摸屏驅動初始化平臺驅動注冊設備的探測函數(shù)電源適配分配輸入設備注冊成系統(tǒng)的輸入設備 純中斷的工作函數(shù)驅動初始化的流程驅動初始化流程如下圖所示:我們根據(jù)流程圖可以看到驅動初始化時也同時啟動電源,為觸摸屏注冊SPI接口。驅動的 suspend 和 resume休眠/喚醒是Android中非常重要的部分,Android手持設備盡可能的進入休眠狀態(tài)來延 長電池的續(xù)航時間在Android中,休眠時會凍結用戶態(tài)進程和內核態(tài)任務,調用注冊設備的suspend的回 調函數(shù),順序是按照注冊順序。休眠核心設備和使CPU進入休眠凍結進程是內核把進程列表中所有的進程狀態(tài)都設為 停止,并且保存下所有進程的上下文,當這些進程被解凍的時候,他們不知道自己被凍結過, 只是簡單的繼續(xù)執(zhí)行。因此,在觸摸屏驅動中首先需要suspend和resume兩個函數(shù)。在suspend中用vreg_disable_adapt()來關閉電源,在 resume 中用 vreg_enable_adapt()來開啟電源。Early suspend是Android引進

溫馨提示

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

評論

0/150

提交評論