發(fā)布日期:2022-07-15 點擊率:73
本文以AD7843在觸摸屏系統(tǒng)中的一個實際應用為例,重點分析了在使用AD7843的過程中遇到系統(tǒng)資源占用、測量值偏差以及外部干擾等問題,并提出了相應的解決方法。
AD7843是ADI公司生產(chǎn)的一種四線式觸摸屏控制器,目前廣泛應用于電阻式觸摸屏輸入系統(tǒng)中。盡管ADI公司給出了相關(guān)的典型應用和應用注意,但是在實際使用過程中仍然會遇到一些問題,比如怎樣用硬件實現(xiàn)AD7843的時序邏輯、如何提高測量精度、如何抗干擾,以及提高測量可靠性等。
AD7843數(shù)字轉(zhuǎn)換器在一個12位逐次逼近式比較寄存器(SAR)ADC架構(gòu)上集成了用于驅(qū)動觸摸屏的低通阻抗開關(guān)。這些器件不使用內(nèi)部基準電壓,當以大于125kSaps的吞吐率運行時的最大功耗小于。它們還帶有10KeV到12KeV的模擬輸入ESD保護,增強了抗ESD能力,以避免關(guān)鍵的內(nèi)部系統(tǒng)元件損壞。使用單 到的電源工作。
AD7843串行接口的一次完整操作需要24個DCLK.,前8個脈沖接收8位的命令,并在第6個脈沖的上升沿開始采樣,從第9個脈沖開始進入轉(zhuǎn)換階段,輸出12位采樣值,轉(zhuǎn)換結(jié)束進入空閑階段。直到24個DCLK結(jié)束,CS置高電平,一次測量結(jié)束。此外,AD7843還支持其它的工作方式,這里不予詳述。
應用實例
圖1的硬件接口示意圖為一個驅(qū)動觸摸屏應用,我們的觸摸屏是四線電阻屏,它可以等效成水平方向和垂直方向的兩個線性電阻。當有鍵按下時,通過控制AD7843可以測量到觸摸位置對應的水平和垂直方向的電壓值,進而通過計算得到觸摸位置的坐標值。
AD7843的控制時序由386EX(屬Intel X86系列CPU) 產(chǎn)生。測量命令的發(fā)送和測量數(shù)據(jù)的接收由386EX的同步串口完成。圖1中DCLK信號是由386EX同步串口的發(fā)送時鐘TXCLK和接收時鐘RXCLK經(jīng)過邏輯轉(zhuǎn)換產(chǎn)生,SSIORX和SSIOTX分別是386EX同步串口的數(shù)據(jù)接收端和數(shù)據(jù)發(fā)送端。其一次測量周期的流程如圖2所示。
設(shè)計中的問題及解決方法
1. 占用系統(tǒng)資源問題
由上面的例子可知,AD7843的所有控制時序是由軟件完成的。而且為了保證時序不被影響,一次測量周期內(nèi)不應被中斷打斷,所以就必須屏蔽高級中斷。這樣在實際操作中就遇到了一個問題,在比較頻繁地操作觸摸屏時,會大量占用CPU的時間,從而影響系統(tǒng)其它任務的執(zhí)行,例如串口數(shù)據(jù)因來不及處理而造成數(shù)據(jù)的丟失甚至通訊中斷。為了解決這個問題,我們采用一個邏輯器件EPM7032,由硬件來生成AD7843的控制時序,從而大大減輕了CPU的負擔。下面介紹硬件邏輯如何實現(xiàn)。我們將這部分邏輯看作一個芯片,其引腳定義如下:
entity AD_ctrl_delay_cmp is
Port
(
clk:in std_logic;--時鐘輸入()
dout: out std_logic;--AD7843的DIN
clkout: out std_logic;--AD7843的DCLK信號
clkssio:out std_logic;--同步串口的接收時鐘
cs: in std_logic;--AD7843的片選信號
rst: in std_logic-上電復位信號
);
end AD_ctrl_delay_cmp;
其工作流程是:當有鍵按下時,CPU(386EX)會將cs置低,CPLD邏輯首先發(fā)8個clkout脈沖,在dout腳輸出測量X坐標的命令,然后再發(fā)16個脈沖,在clkssio腳輸出與clkout同步的16個脈沖到386EX的同步串口的接收時鐘引腳。386ex此時從同步串口接收到16位數(shù)據(jù),取前12位作為實際采樣值。然后產(chǎn)生測量Y坐標的時序,與測量X坐標的方法相同。完成一次測量,再延時一段時間,完成第二次測量,與第一次測量方法相同。測量兩次的目的是為了削除鍵抖動。386EX的同步串口接收到四次測量數(shù)據(jù)后將cs置低。
其內(nèi)部邏輯的VHDL完整代碼請參見《電子工程專輯》網(wǎng)站。
2. AD7843的測量值有偏差
在實際的使用過程還遇到另外一個問題,在按觸摸屏的過程中,有時測量出的按鍵位置有偏差,觀察AD7843相關(guān)引腳波形發(fā)現(xiàn)輸入電壓有抖動。分析后發(fā)現(xiàn)抖動可能由兩方面產(chǎn)生:
a. AD7843的模擬地與系統(tǒng)的數(shù)字地不是一點相連。數(shù)字地干擾由公共阻抗耦合到AD7843的模擬地,產(chǎn)生干擾造成抖動。解決辦法是模擬地與數(shù)字地一點連接。
b. 觸摸屏在按下和釋放過程中有抖動,所以要進行鍵削抖。采用兩次鍵值比較是一個較好的方法,具體工作原理是連續(xù)測量X 、Y坐標值兩次,然后進行比較,若相同或相差在允許的誤差范圍內(nèi)就認為是有效鍵,否則為無效鍵。
這里要十分注意的是為了有效地去除抖動,在第一次測量X、Y坐標和第二次測量X、Y坐標之間一定要有延時,延時應大于觸摸屏的抖動時間,抖動的時間在觸摸屏的性能指標中有說明。本文中的硬件CPLD邏輯已經(jīng)實現(xiàn)了兩次鍵值比較的鍵削抖功能。
3. 因外界干擾,觸摸屏按鍵無響應
觸摸屏在現(xiàn)場應用中有時會出現(xiàn)“死機”現(xiàn)象(觸摸屏按鍵無響應)。分析發(fā)現(xiàn)現(xiàn)場環(huán)境較惡劣,存在較強的電磁干擾,因此在觸摸屏的引腳疊加了高頻干擾脈沖,影響了AD7843的正常工作時序,造成AD芯片工作不正常。解決方法是在AD的關(guān)鍵引腳DCLK、DIN、DOUT對地接的高頻濾波電容。
將上述解決方法應用到觸摸屏系統(tǒng)后,在現(xiàn)場應用一年多,未出現(xiàn)按鍵無響應、按鍵坐標值錯誤等故障,運行良好。
作者:張井剛,鄭建幅
控制技術(shù)開發(fā)部
Email: buaazhangjg@
廣州愛斯佩克環(huán)境儀器有限公司