内江瓷蛋医疗科技有限公司

觸摸屏系統應用中的題目及解決方法

當前位置:首頁(yè) >> 儀器儀表技術(shù)文章

觸摸屏系統應用中的題目及解決方法
本文以AD7843在觸摸屏系統中的一個(gè)實(shí)際應用為例,重點(diǎn)分析了在使用AD7843的過(guò)程中碰到系統資源占用、丈量值偏差以及外部干擾等題目,并提出了相應的解決方法。  
    AD7843是ADI公司生產(chǎn)的一種四線(xiàn)式觸摸屏控制器,目前廣泛應用于電阻式觸摸屏輸進(jìn)系統中。盡管ADI公司給出了相關(guān)的典型應用和應用留意,但是在實(shí)際使用過(guò)程中仍然會(huì )碰到一些題目,比如怎樣用硬件實(shí)現AD7843的時(shí)序邏輯、如何進(jìn)步丈量精度、如何抗干擾,以及進(jìn)步丈量可靠性等。 
    AD7843數字轉換器在一個(gè)12位逐次逼近式比較寄存器(SAR)ADC架構上集成了用于驅動(dòng)觸摸屏的低通阻抗開(kāi)關(guān)。這些器件不使用內部基準電壓,當以大于125kSaps的吞吐率運行時(shí)的最大功耗小于1.4mW。它們還帶有10KeV到12KeV的模擬輸進(jìn)ESD保護,增強了抗ESD能力,以避免關(guān)鍵的內部系統元件損壞。使用單2.2V 到5.25V的電源工作。 AD7843串行接口的一次完整操縱需要24個(gè)DCLK.,前8個(gè)脈沖接收8位的命令,并在第6個(gè)脈沖的上升沿開(kāi)始采樣,從第9個(gè)脈沖開(kāi)始進(jìn)進(jìn)轉換階段,輸出12位采樣值,轉換結束進(jìn)進(jìn)空閑階段。直到24個(gè)DCLK結束,CS置高電平,一次丈量結束。此外,AD7843還支持其它的工作方式,這里不予詳述。濃度計 | 扭力計 | 電容表 | 工具箱 | 管鉗 | 頻閃儀 | 采樣儀 | 測厚儀 | 溫度記錄儀 | 功率計 | 記錄儀 | 鉤表 | 溫度表 | 色度計 | 硬度計 | 萬(wàn)能鉗  
    應用實(shí)例 
    圖1的硬件接口示意圖為一個(gè)驅動(dòng)觸摸屏應用,我們的觸摸屏是四線(xiàn)電阻屏,它可以等效成水平方向和垂直方向的兩個(gè)線(xiàn)性電阻。當有鍵按下時(shí),通過(guò)控制AD7843可以丈量到觸摸位置對應的水平和垂直方向的電壓值,進(jìn)而通過(guò)計算得到觸摸位置的坐標值。 
    AD7843的控制時(shí)序由386EX(屬I(mǎi)ntel X86系列CPU) 產(chǎn)生。丈量命令的發(fā)送和丈量數據的接收由386EX的同步串口完成。圖1中DCLK信號是由386EX同步串口的發(fā)送時(shí)鐘TXCLK和接收時(shí)鐘RXCLK經(jīng)過(guò)邏輯轉換產(chǎn)生,SSIORX和SSIOTX分別是386EX同步串口的數據接收端和數據發(fā)送端。其一次丈量周期的流程如圖2所示。 
    設計中的題目及解決方法 
    1. 占用系統資源題目由上面的例子可知,AD7843的所有控制時(shí)序是由軟件完成的。而且為了保證時(shí)序不被影響,一次丈量周期內不應被中斷打斷,所以就必須屏蔽高級中斷。這樣在實(shí)際操縱中就碰到了一個(gè)題目,在比較頻繁地操縱觸摸屏時(shí),會(huì )大量占用CPU的時(shí)間,從而影響系統其它任務(wù)的執行,例如串口數據因來(lái)不及處理而造成數據的丟失甚至通訊中斷。為了解決這個(gè)題目,我們采用一個(gè)邏輯器件EPM7032,由硬件來(lái)天生AD7843的控制時(shí)序,從而大大減輕了CPU的負擔。下面先容硬件邏輯如何實(shí)現。我們將這部分邏輯看作一個(gè)芯片,其引腳定義如下: 
    entity AD_ctrl_delay_cmp is 
    Port 
    ( 
    clk:in std_logic;--時(shí)鐘輸進(jìn)(1.8432MHz) 
    dout: out std_logic;--AD7843的DIN 
    clkout: out std_logic;--AD7843的DCLK信號 
    clkssio:out std_logic;--同步串口的接收時(shí)鐘 
    cs: in std_logic;--AD7843的片選信號 
    rst: in std_logic-上電復位信號 
    ); 
    end AD_ctrl_delay_cmp; 
    其工作流程是:當有鍵按下時(shí),CPU(386EX)會(huì )將cs置低,CPLD邏輯首先發(fā)8個(gè)clkout脈沖,在dout腳輸出丈量X坐標的命令,然后再發(fā)16個(gè)脈沖,在clkssio腳輸出與clkout同步的16個(gè)脈沖到386EX的同步串口的接收時(shí)鐘引腳。386ex此時(shí)從同步串口接收到16位數據,取前12位作為實(shí)際采樣值。然后產(chǎn)生丈量Y坐標的時(shí)序,與丈量X坐標的方法相同。完成一次丈量,再延時(shí)一段時(shí)間,完成第二次丈量,與第一次丈量方法相同。丈量?jì)纱蔚哪康氖菫榱讼鞒I抖動(dòng)。386EX的同步串口接收到四次丈量數據后將cs置低。 
    其內部邏輯的VHDL完整代碼請參見(jiàn)。 
    2. AD7843的丈量值有偏差 
    在實(shí)際的使用過(guò)程還碰到另外一個(gè)題目,在按觸摸屏的過(guò)程中,有時(shí)丈量出的按鍵位置有偏差,觀(guān)察AD7843相關(guān)引腳波形發(fā)現輸進(jìn)電壓有抖動(dòng)。分析后發(fā)現抖動(dòng)可能由兩方面產(chǎn)生: 
    a. AD7843的模擬地與系統的數字地不是一點(diǎn)相連。數字地干擾由公共阻抗耦合到AD7843的模擬地,產(chǎn)生干擾造成抖動(dòng)。解決辦法是模擬地與數字地一點(diǎn)連接。 
    b. 觸摸屏在按下和開(kāi)釋過(guò)程中有抖動(dòng),所以要進(jìn)行鍵削抖。采用兩次鍵值比較是一個(gè)較好的方法,具體工作原理是連續丈量X 、Y坐標值兩次,然后進(jìn)行比較,若相同或相差在答應的誤差范圍內就以為是有效鍵,否則為無(wú)效鍵。這里要十分留意的是為了有效地往除抖動(dòng),在第一次丈量X、Y坐標和第二次丈量X、Y坐標之間一定要有延時(shí),延時(shí)應大于觸摸屏的抖動(dòng)時(shí)間,抖動(dòng)的時(shí)間在觸摸屏的性能指標中有說(shuō)明。本文中的硬件CPLD邏輯已經(jīng)實(shí)現了兩次鍵值比較的鍵削抖功能。 
    3. 因外界干擾,觸摸屏按鍵無(wú)響應觸摸屏在現場(chǎng)應用中有時(shí)會(huì )出現“死機”現象(觸摸屏按鍵無(wú)響應)。分析發(fā)現現場(chǎng)環(huán)境較惡劣,存在較強的電磁干擾,因此在觸摸屏的引腳疊加了高頻干擾脈沖,影響了AD7843的正常工作時(shí)序,造成AD芯片工作不正常。解決方法是在A(yíng)D的關(guān)鍵引腳DCLK、DIN、DOUT對地接0.001u的高頻濾波電容。 
    將上述解決方法應用到觸摸屏系統后,在現場(chǎng)應用一年多,未出現按鍵無(wú)響應、按鍵坐標值錯誤等故障,運行良好。
發(fā)布人:2012/8/10 11:28:001036 發(fā)布時(shí)間:2012/8/10 11:28:00 此新聞已被瀏覽:1036次