freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

觸摸屏控制實(shí)驗(yàn)設(shè)計(jì)報(bào)告-在線瀏覽

2024-09-13 07:08本頁(yè)面
  

【正文】 置接收到的信號(hào)就急劇下降,這樣就完成對(duì)觸摸點(diǎn)坐標(biāo)的探測(cè)。這種觸摸屏價(jià)錢較高,不受電流、靜電干擾,安裝方便。這種觸摸屏包括聲波發(fā)生、接受裝置。玻璃屏的四個(gè)周邊刻有45度角由疏到密間隔非常精密的反射條紋。接受信號(hào)集合了所有在X軸方向歷經(jīng)長(zhǎng)短不同路徑回歸的聲波信號(hào)。發(fā)射信號(hào)與接受信號(hào)波形沒(méi)有觸摸的時(shí)候,接受信號(hào)的波形與參照波形完全一樣。這樣就可以確定觸摸位置的X軸坐標(biāo),同理可以得到相應(yīng)的Y軸坐標(biāo)。這種觸摸屏具有分辨率高、防刮擦、使用壽命長(zhǎng)、透光率高、只需要安裝時(shí)進(jìn)行一次校對(duì)的優(yōu)點(diǎn),適用安裝在公共場(chǎng)合。首先介紹觸摸屏控制器的硬件結(jié)構(gòu),固件編程,獲取觸摸點(diǎn)的數(shù)據(jù)之后,進(jìn)行對(duì)數(shù)據(jù)信息采用模式識(shí)別的方法進(jìn)行處理,判斷在觸摸屏上所寫的字符。 第二章 觸摸屏控制器的硬件設(shè)計(jì)2 . 1 硬件設(shè)計(jì) 本設(shè)計(jì)中硬件平臺(tái)微處理器選用MOTOROLA公司的MC68VZ328,它是一款M68k體系的32位低功耗微處理器,采用SoC技術(shù)設(shè)計(jì),具有典型的嵌入式微處理器的特征;觸摸屏選用TI(原為BurrBrown公司的產(chǎn)品,由于該公司已被TI公司收購(gòu),所以下文均用TI公司)公司的ADS7843。本設(shè)計(jì)中硬件電路不同于傳統(tǒng)設(shè)計(jì),而是充分利用了ADS7843中的BUSY信號(hào)線,如圖1所示。它由兩層透明的阻性導(dǎo)體層組成,在導(dǎo)體層中間充滿了用粘性絕緣液體材料做成的隔離層和由導(dǎo)電性能極好的材料構(gòu)成的電極。當(dāng)某一層電極加上電壓時(shí),會(huì)在該網(wǎng)絡(luò)上形成電壓梯度。比如,若在頂層的電極(X+、X)上加上電壓,則在頂層導(dǎo)體層上形成電壓梯度;當(dāng)有外力使得上下兩層在某一點(diǎn)接觸,在底層就可以測(cè)得接觸點(diǎn)處的電壓,再根據(jù)該電壓與電極(X+)之間的距離關(guān)系,知道該處的X坐標(biāo)。對(duì)電壓在橫向和縱向?qū)w層之間的切換以及A/D轉(zhuǎn)換,需要先通過(guò)串行外設(shè)接口(SPI)往ADS7843發(fā)送控制字,轉(zhuǎn)換完成后再通過(guò)SPI讀出電壓轉(zhuǎn)換值。許多不同的觸摸技術(shù)會(huì)把屏幕某個(gè)位置的壓力或接觸轉(zhuǎn)換成有意義的數(shù)字坐標(biāo)。如果想詳細(xì)了解這些技術(shù)。電阻觸摸屏非常普及,你會(huì)發(fā)現(xiàn)許多評(píng)估板和開發(fā)套件中都集成了電阻觸摸屏。 之所以叫電阻觸摸屏,是因?yàn)樗鼈儽举|(zhì)上就是電阻分壓器。當(dāng)你觸摸屏幕時(shí),會(huì)使兩個(gè)電阻薄層變形到足以使它們之間發(fā)生電氣連接。 電阻觸摸屏分為幾種類型,比如四線,五線和八線。在最簡(jiǎn)單的四線設(shè)計(jì)中,有一層稱為X軸的電阻層,上面加有一定的電壓,另一個(gè)稱為Y軸的電阻層作為接受層測(cè)量對(duì)應(yīng)X軸位置的電壓值。 圖2是電阻觸摸屏的簡(jiǎn)單等效電路。這些數(shù)據(jù)在四線或五線電阻觸摸屏中是無(wú)法同時(shí)讀取的。讀取的順序則無(wú)關(guān)緊要。直到不久前這個(gè)ADC幾乎一直是主CPU的外圍器件。制器。雖然可以使用諸如GPIO之類的信號(hào)線來(lái)完成薄層加電的切換,但該器件能夠分擔(dān)許多任務(wù),還能提供產(chǎn)生觸摸或筆壓中斷的方式。該評(píng)估板可以直接從飛思卡爾的分銷商處定購(gòu)。 第二塊板采用了夏普LH79524 ARM處理器。有幾種可更換的顯示套件供選擇,分辨率范圍從QVGA到800x600像素不等。讀者可以從ftp://。對(duì)這些集成控制器來(lái)說(shuō),這意味著通過(guò)向映射到存儲(chǔ)器的寄存器中寫入數(shù)據(jù)將控制器配置成某個(gè)確定狀態(tài)。 關(guān)于觸摸驅(qū)動(dòng)程序是否應(yīng)該使用中斷驅(qū)動(dòng),事實(shí)上在范例的驅(qū)動(dòng)程序中用的就是中斷驅(qū)動(dòng)方式。千萬(wàn)不要由這個(gè)例子推斷出采用中斷永遠(yuǎn)是最好或最正確的設(shè)計(jì)方式,也不要聽信別人說(shuō)不采用中斷驅(qū)動(dòng)方式的觸摸驅(qū)動(dòng)程序就是錯(cuò)誤的。我曾經(jīng)問(wèn)過(guò)一位客戶,他的輸入設(shè)備采用的是輪詢還是中斷服務(wù)方式。我當(dāng)時(shí)感覺(jué)問(wèn)這個(gè)問(wèn)題時(shí)我就像一個(gè)傻瓜,但進(jìn)一步探討后發(fā)現(xiàn)查詢其實(shí)也是一種合理且值得考慮的方式。這種情況下使用空閑任務(wù)查詢觸摸屏上的輸入也許是更好的設(shè)計(jì)方式。 配置中斷的方法因具體操作系統(tǒng)而異。在所有情況下驅(qū)動(dòng)程序?qū)嶋H會(huì)使用二種不同的中斷: 1 、當(dāng)屏幕被初次觸摸時(shí)喚醒主機(jī)的中斷,稱為PEN_DOWN中斷 2 、當(dāng)完成一組模數(shù)數(shù)據(jù)轉(zhuǎn)換時(shí)的第二種中斷信號(hào) 接下來(lái)的問(wèn)題是我們希望以多快的速度從ADC接收采樣輸入讀數(shù)。我們希望時(shí)鐘有足夠快的速度來(lái)提供可響應(yīng)的輸入和實(shí)現(xiàn)精確的跟蹤,但也不要太快,以至于影響轉(zhuǎn)換精度,或讓系統(tǒng)消耗超過(guò)所需的功率。如果觸摸輸入響應(yīng)比這慢得多,那么在用戶的觸摸輸入和顯示屏上可觀察到的響應(yīng)之間會(huì)出現(xiàn)明顯和煩人的遲滯現(xiàn)象。為了去抖動(dòng)和對(duì)觸摸輸入位置值進(jìn)行平均,我們需要進(jìn)行過(guò)采樣。 圖3:X軸移動(dòng)時(shí)Y軸上的偏移。我們提供的驅(qū)動(dòng)程序默認(rèn)情況下將以最少200Hz(5ms)的采樣速率配置各自處理器上的ADC時(shí)鐘。本文提供的驅(qū)動(dòng)程序完全符合該應(yīng)用指南對(duì)如何配置夏普ADC序列控制器提出的建議。該ADC無(wú)需核心CPU的任何干預(yù)就可以通過(guò)編程完成:驅(qū)動(dòng)一個(gè)觸摸層;延時(shí);進(jìn)行測(cè)量;驅(qū)動(dòng)另一層;延時(shí);進(jìn)行測(cè)量等操作。如果用戶沒(méi)有觸摸屏幕,那么運(yùn)行ADC獲得轉(zhuǎn)換后的讀數(shù)毫無(wú)意義。判斷屏幕是否被觸摸的驅(qū)動(dòng)程序的函數(shù)名叫WaitForTouchState()。當(dāng)用戶觸摸屏幕的任何地方時(shí),這兩層就發(fā)生短接,Y軸層被拉到低電平。 在正常工作期間,當(dāng)觸摸事件發(fā)生時(shí)驅(qū)動(dòng)程序利用PEN_DOWN IRQ喚醒觸摸驅(qū)動(dòng)任務(wù)。我們也可以在轉(zhuǎn)換模式?jīng)]被激活時(shí)停止(disable)ADC時(shí)鐘來(lái)節(jié)省功耗。該過(guò)程在兩個(gè)驅(qū)動(dòng)程序中都叫TouchScan()。 在執(zhí)行模數(shù)轉(zhuǎn)換時(shí),兩個(gè)控制器都提供了由編程產(chǎn)生延遲的方法,以在給觸摸層加電和開始實(shí)際的模數(shù)轉(zhuǎn)換之間插入一段時(shí)延。夏普把這段時(shí)延稱為預(yù)充時(shí)延。當(dāng)從將要執(zhí)行模數(shù)轉(zhuǎn)換的層切換到正在加電的層時(shí),需要一定的延時(shí)才能保證電容達(dá)到穩(wěn)定狀態(tài)。由于我們通常會(huì)做多次讀取,因此驅(qū)動(dòng)程序一般會(huì)在FIFO裝滿時(shí)產(chǎn)生中斷。 一旦序列器控制字在LH79524上被編好程,驅(qū)動(dòng)程序獲取原始讀數(shù)所需要做的就是命令序列器執(zhí)行。序列器可以被配置為當(dāng)屏幕被觸摸時(shí)自動(dòng)觸發(fā)、根據(jù)軟件命令觸發(fā)或連續(xù)觸發(fā)三種模式。如果我們要求較窄的穩(wěn)定窗口,那么驅(qū)動(dòng)程序?qū)o(wú)法跟蹤快速的拖曳操作。如果我們加寬穩(wěn)定窗口,我們就可能面臨著風(fēng)險(xiǎn),這些風(fēng)險(xiǎn)包括接收到不精確的觸摸數(shù)據(jù)和上文描述過(guò)的處于臨界狀態(tài)的層連接結(jié)果。智能化的觸摸控制器同樣允許你通過(guò)軟件命令調(diào)整這些參數(shù)??梢酝ㄟ^(guò)defines調(diào)整這些參數(shù)以便在你的系統(tǒng)上產(chǎn)生最佳結(jié)果。由于我們是用核心CPU完成這種過(guò)濾,因此我們需要確定有多少時(shí)間可以合理地分配給觸摸采樣任務(wù)。 2 . 4 . 2觸摸屏的校準(zhǔn) 電阻觸摸屏需要校準(zhǔn),我們需要一些參考值,以便我們能夠?qū)⒔邮盏降脑寄?shù)轉(zhuǎn)換值轉(zhuǎn)換成高層軟件所需的屏幕像素坐標(biāo)。我已經(jīng)安排好讓觸摸驅(qū)動(dòng)程序在一啟動(dòng)時(shí)就運(yùn)行校準(zhǔn)程序,但要記住,你要把參考值保存起來(lái),以免讓用戶在以后的加電啟動(dòng)期間再做校準(zhǔn)。 校準(zhǔn)例程的名稱是CalibrateTouchScreen(),它是一個(gè)簡(jiǎn)單的逐步操作過(guò)程,會(huì)在屏幕上向用戶提供圖形目標(biāo),并要求用戶觸摸目標(biāo),然后記錄下原始的ADC讀數(shù),該讀數(shù)將用于后面的原始數(shù)據(jù)轉(zhuǎn)換到像素位置的調(diào)整例程。 在理想情況下你只需兩組(X和Y)原始數(shù)據(jù),即在屏幕對(duì)角讀取的最小和最大值。 非線性意味著在屏幕上的等距物理移動(dòng)會(huì)導(dǎo)致原始數(shù)據(jù)的增量不等。 得出的結(jié)論是采用的校準(zhǔn)點(diǎn)越多越好,盡量減小內(nèi)插窗口的間距,才能產(chǎn)生可能的最佳精度。如果無(wú)法在工廠完成校準(zhǔn),那你必須確定用戶需要輸入多少個(gè)點(diǎn)才能產(chǎn)生足夠精確的校準(zhǔn)。對(duì)于參考板上的VGA分辨率(640x480)顯示屏幕來(lái)說(shuō),這樣做的精度可達(dá)到一個(gè)或二個(gè)像素之內(nèi)。做出準(zhǔn)確判定的唯一途徑只能是對(duì)具體的硬件進(jìn)行大量反復(fù)測(cè)試。我把提供的每個(gè)觸摸驅(qū)動(dòng)程序在每種支持的RTOS環(huán)境中都作為低優(yōu)先級(jí)任務(wù)加以執(zhí)行。這些驅(qū)動(dòng)程序修改后,可與其它圖形軟件甚至你自己編寫的用戶接口環(huán)境協(xié)同工作。 LH79524驅(qū)動(dòng)程序以相似的方式工作。驅(qū)動(dòng)程序以20Hz的速度工作,檢查位置的變化,直到屏幕不再處于被觸摸的狀態(tài)。如果任何兩個(gè)連續(xù)讀數(shù)中的增量或變化超出defined定義的噪聲窗口范圍,我們就要重新開始。當(dāng)屏幕不再被觸摸時(shí),我們又可以中斷此任務(wù),等待觸摸輸入事件的發(fā)生。我們不希望向更高層的軟件報(bào)告實(shí)際上是處于開路狀態(tài)的穩(wěn)定讀數(shù)。不過(guò)對(duì)于這兩塊參考電路板,我沒(méi)有發(fā)現(xiàn)忽略掉一定數(shù)量的初始讀數(shù)是有必要或有益的。Linux的設(shè)備治理是和文件系統(tǒng)緊密結(jié)合的,各種設(shè)備都以文件的形式存放在/dev目錄下,成為設(shè)備文件。為開發(fā)便利、提高效率,本設(shè)計(jì)采用可安裝模塊方式開發(fā)調(diào)試觸摸屏驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)模塊的功能就是擴(kuò)展內(nèi)核的功能,主要完成兩部分任務(wù):一個(gè)是系統(tǒng)調(diào)用,另一個(gè)是處理中斷。系統(tǒng)調(diào)用部分則是對(duì)設(shè)備的操作過(guò)程,比如 open,read,write,ioctl等操作,設(shè)備驅(qū)動(dòng)程序所提供的這組入口點(diǎn)由幾個(gè)結(jié)構(gòu)向系統(tǒng)進(jìn)行說(shuō)明,分別是file_operations數(shù)據(jù)結(jié)構(gòu)、inode數(shù)據(jù)結(jié)構(gòu)和file 數(shù)據(jù)結(jié)構(gòu)。在嵌入式系統(tǒng)的開發(fā)中,我們一般僅僅實(shí)現(xiàn)其中幾個(gè)接口函數(shù):read、write、open、ioctl及 release就可以完成應(yīng)用系統(tǒng)需要的功能。所以在Clinux的框架結(jié)構(gòu)中,和設(shè)備相關(guān)的處理可以分為兩個(gè)層次――文件系統(tǒng)層和設(shè)備驅(qū)動(dòng)層。這種設(shè)備管理方法可以很好地做到“與設(shè)備無(wú)關(guān)性”,使Clinux可以根據(jù)硬件外設(shè)的發(fā)展進(jìn)行方便的擴(kuò)展,比如要實(shí)現(xiàn)一個(gè)設(shè)備驅(qū)動(dòng)程序,只要根據(jù)具體的硬件特性向文件系統(tǒng)提供一組訪問(wèn)接口即可。對(duì)于觸摸屏這種基本的輸入工具,建議采取直接編譯進(jìn)內(nèi)核的方式,這樣系統(tǒng)一啟動(dòng)就可以
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1