新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于S3C2410微處理器的觸摸屏設(shè)計

基于S3C2410微處理器的觸摸屏設(shè)計

作者: 時間:2013-02-19 來源:網(wǎng)絡(luò) 收藏

基于S3C2410微處理器的觸摸屏設(shè)計
圖4 定時中斷服務(wù)程序流程圖

在s3c2410_ts_init()中的另一個重要任務(wù)是執(zhí)行接口函數(shù)s3c2410_ts_open(),在這個函數(shù)中初始化緩沖區(qū)的頭尾指針、狀態(tài)變量及事件等待隊列。

module_exit()

該函數(shù)調(diào)用s3c2410_ts_exit(),主要任務(wù)是撤銷驅(qū)動程序向內(nèi)核的登記以及釋放申請的中斷資源。

接口函數(shù)s3c2410_ts_read( )

這個函數(shù)實現(xiàn)的任務(wù)是將事件隊列從設(shè)備緩存中讀到用戶空間的數(shù)據(jù)緩存中。實現(xiàn)的過程主要是通過一個循環(huán),只有在事件隊列的頭、尾指針不重合時,才能成功的從tsdev.tail指向的隊列尾部讀取到一組觸摸信息數(shù)據(jù),并退出循環(huán)。否則調(diào)用讀取函數(shù)的進程就要進入睡眠。

坐標(biāo)讀取函數(shù)s3c2410_get_XY()

在定時器中斷處理程序中,當(dāng)查詢到與相連的EINT5/GPF5為低電平時,即表示有有效事件,應(yīng)該調(diào)用s3c2410_get_XY()函數(shù)采集筆觸信息。

ADS7843有多種轉(zhuǎn)換時序,時序規(guī)定了芯片與設(shè)備及CPU間是如何配合工作的。設(shè)計中采用16個時鐘周期啟動一次轉(zhuǎn)換的坐標(biāo)轉(zhuǎn)換方式。ADS7843的操作時序如圖5所示。坐標(biāo)的讀取是通過多次采集取平均值的方法,以X坐標(biāo)的讀取為例,其讀取過程如圖6所示。循環(huán)過程中的每一步都在8個時鐘周期內(nèi)完成,數(shù)據(jù)的處理嚴格按照時序進行,Y坐標(biāo)的采集與X坐標(biāo)類似。

基于S3C2410微處理器的觸摸屏設(shè)計
圖5 ADS7843操作時序

基于S3C2410微處理器的觸摸屏設(shè)計
圖6 X坐標(biāo)采集流程

結(jié)語

的設(shè)計中,抗干擾設(shè)計是難點和重點,直接關(guān)系到觸摸屏的工作性能。實驗發(fā)現(xiàn)坐標(biāo)采集時,丟棄第一次采集值讀取的坐標(biāo)轉(zhuǎn)換值效果較好。本文所介紹的驅(qū)動程序已經(jīng)在博創(chuàng)公司的教學(xué)實驗設(shè)備UP-NETARM2410-S平臺上經(jīng)過實際驗證,從數(shù)據(jù)穩(wěn)定性和系統(tǒng)負載的角度看,效果良好。同時通過修改程序內(nèi)部的定時器時鐘頻率可以改變筆在屏上移動所產(chǎn)生的數(shù)據(jù)量。

參考文獻:

1. 毛德操,胡希明著.Linux內(nèi)核源代碼情景分析.杭州:浙江大學(xué)出版社,2001

2. 孫天澤,袁文菊,張海峰等.嵌入式設(shè)計及Linux驅(qū)動開發(fā)指南.北京:電子工業(yè)出版社,2005

3. R Love. Linux內(nèi)核設(shè)計與實現(xiàn). 陳莉君,康華,張波等譯.北京:機械工業(yè)出版社,2006

4. 殷惠莉,劉少君,黃道平.基于uClinux觸摸屏的設(shè)計.電子工程師.2004(2) .


上一頁 1 2 3 下一頁

關(guān)鍵詞: S3C2410 微處理器 觸摸屏

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉