新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux系統(tǒng)中觸摸屏驅(qū)動(dòng)的研究

嵌入式Linux系統(tǒng)中觸摸屏驅(qū)動(dòng)的研究

作者: 時(shí)間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

3.4 對(duì)得到的觸摸屏的數(shù)據(jù)進(jìn)行處理

是調(diào)用data_processing()函數(shù)來實(shí)現(xiàn)的。根據(jù)采用下面介紹的中值濾波法來對(duì)采樣數(shù)據(jù)進(jìn)行處理。針對(duì)坐標(biāo)點(diǎn)采樣過程中產(chǎn)生的噪聲,一般是采用平均法來去除噪聲,但是這種方法對(duì)于采樣數(shù)較少,并且個(gè)別噪聲采樣點(diǎn)比較大的時(shí)候,取平均值會(huì)使最后的結(jié)果誤差較大,達(dá)不到數(shù)據(jù)處理的要求。故本文采用中值濾波法濾除干擾噪聲,進(jìn)一步地提高采樣精度。

中值濾波法的原理如下:首先取奇數(shù)個(gè)觸摸采樣數(shù)據(jù);之后根據(jù)采樣數(shù)據(jù)的大小按照從小到大的順序進(jìn)行排列;最后取中間位置的值。此種方法一般在采樣點(diǎn)不多,個(gè)別采樣數(shù)據(jù)誤差又較大的情況下,可以有效地減少誤差。具體的過程見圖2。

3.5觸摸屏的

在實(shí)際的應(yīng)用中,通常觸摸屏是作為與顯示屏配合使用的輸入設(shè)備,需要從觸摸屏采樣得到的坐標(biāo)與屏幕的顯示坐標(biāo)做一個(gè)映射。觸摸屏和顯示屏都是標(biāo)準(zhǔn)的矩形,見3所示。觸摸屏的X方向坐標(biāo)只與顯示屏的X方向有關(guān),Y方向只與顯示屏的Y方向相關(guān)。

假設(shè)顯示屏的分辨率是W×H,顯示區(qū)域的左上角對(duì)應(yīng)的觸摸屏采樣坐標(biāo)是(x1,y1),右下角對(duì)應(yīng)的坐標(biāo)是(x2,y2),那么觸摸屏上的任意一點(diǎn)采用坐標(biāo)(x,y)與顯示屏坐標(biāo)(xd,yd)的對(duì)應(yīng)關(guān)系可按照如下公式計(jì)算:

根據(jù)上述的公式計(jì)算出實(shí)際觸摸屏對(duì)應(yīng)的顯示坐標(biāo),之后就是一個(gè)觸摸屏的過程,本文采用三點(diǎn)的方法,與兩點(diǎn)校準(zhǔn)相比,三點(diǎn)校準(zhǔn)的模型考慮到變相和旋轉(zhuǎn),更接近實(shí)際情況。首先選取3個(gè)相距較遠(yuǎn)的3個(gè)作為校準(zhǔn)輸入的采樣點(diǎn),它們相應(yīng)的觸摸屏采樣坐標(biāo)是P0(x0,y0)、P1(x1,y1)、P2(x2,y2),顯示坐標(biāo)是PD0(xD0,yD0)、PD1(xD1,yD1)、PD2(xD2,yD2)。直角坐標(biāo)平面的兩個(gè)點(diǎn)P和PD,定義P為觸摸屏空間的坐標(biāo)點(diǎn), PD為顯示屏空間的坐標(biāo)點(diǎn),P可以經(jīng)過旋轉(zhuǎn)、比例和平移得到PD坐標(biāo)?;?jiǎn)得:

通過上式可以說明PD和P點(diǎn)之間存在一次線性關(guān)系滿足:xD=Ax+By+C yD=Dx+Ey+F

對(duì)于同一個(gè)設(shè)備,其中的A、B、C、D、E、F為常數(shù),稱為校準(zhǔn)常數(shù),故只需在觸摸屏校準(zhǔn)時(shí),解出這6個(gè)常數(shù),就可以實(shí)現(xiàn)觸摸屏空間到顯示空間的轉(zhuǎn)換。

3.6 中斷的釋放和注冊(cè)模塊的卸載

是調(diào)用s3c2410_ts_cleanup_module()來實(shí)現(xiàn)的,分別釋放在初始化過程中,申請(qǐng)的IRQ_TIMER1、IRQ_ADC_DONE、IRQ_TC的中斷和字符設(shè)備的接口函數(shù)devfs_register_chrdev(),具體如下:

free_irq(IRQ_TIMER1,g_ts_id);

free_irq(IRQ_ADC_DONE,g_ts_id);

free_irq(IRQ_TC,g_ts_timer_id);

devfs_unregister_chrdev(gMajor, H3600_TS_MODULE_NAME); //卸載字符設(shè)備

4結(jié)束語

本文作者創(chuàng)新點(diǎn): 結(jié)合實(shí)際的硬件平臺(tái),詳細(xì)地介紹基于嵌入式操作系統(tǒng)下觸摸屏的開發(fā)過程,改進(jìn)了處理采樣數(shù)據(jù)的方法,最后改進(jìn)了常用的校準(zhǔn)方法。使該觸摸屏驅(qū)動(dòng)更能滿足實(shí)際的要求,該觸摸屏已用于實(shí)際的嵌入式產(chǎn)品中,運(yùn)行穩(wěn)定可靠,具有很好的發(fā)展前景和社會(huì)經(jīng)濟(jì)效益。

參考文獻(xiàn):

[1]劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與開發(fā)[M].北京航空航天大學(xué)出版社.2006.5

[2]魏永明等譯.LINUX設(shè)備驅(qū)動(dòng)程序[M].中國(guó)電力出版社.2006

[3]張曉林等.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)踐[M]. 北京航空航天大學(xué)出版社.2006

[4]周紅波.基于嵌入式操作系統(tǒng)的開發(fā)方法[J].微計(jì)算機(jī)信息.2006年 第7-2期;55-57

[5]Samsung Electronics.S3C2410X 32-Bit RISC Microprocessor User’s manual.2003

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉