新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410微處理器的觸摸屏設計

        基于S3C2410微處理器的觸摸屏設計

        作者: 時間:2013-02-19 來源:網絡 收藏

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

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

        module_exit()

        該函數調用s3c2410_ts_exit(),主要任務是撤銷驅動程序向內核的登記以及釋放申請的中斷資源。

        接口函數s3c2410_ts_read( )

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

        坐標讀取函數s3c2410_get_XY()

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

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

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

        基于S3C2410微處理器的觸摸屏設計
        圖6 X坐標采集流程

        結語

        的設計中,抗干擾設計是難點和重點,直接關系到觸摸屏的工作性能。實驗發現坐標采集時,丟棄第一次采集值讀取的坐標轉換值效果較好。本文所介紹的驅動程序已經在博創公司的教學實驗設備UP-NETARM2410-S平臺上經過實際驗證,從數據穩定性和系統負載的角度看,效果良好。同時通過修改程序內部的定時器時鐘頻率可以改變筆在屏上移動所產生的數據量。

        參考文獻:

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

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

        3. R Love. Linux內核設計與實現. 陳莉君,康華,張波等譯.北京:機械工業出版社,2006

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 靖宇县| 蓬溪县| 宝鸡市| 砚山县| 乌拉特后旗| 镇巴县| 哈巴河县| 娄烦县| 多伦县| 张家界市| 会泽县| 弥渡县| 栾川县| 扶余县| 乌兰县| 万州区| 朔州市| 张家口市| 怀集县| 黄山市| 壤塘县| 吴江市| 静海县| 萝北县| 鹤峰县| 略阳县| 朝阳区| 鄂托克前旗| 南投市| 托克托县| 蒙山县| 四川省| 正安县| 湟中县| 武山县| 敦煌市| 佛山市| 宜丰县| 四子王旗| 樟树市| 永和县|