浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 其它綜合

觸摸屏系統(tǒng)應(yīng)用中的問(wèn)題及解決方法

發(fā)布時(shí)間:2008/6/5 0:00:00 訪問(wèn)次數(shù):541

本文以ad7843在觸摸屏系統(tǒng)中的一個(gè)實(shí)際應(yīng)用為例,重點(diǎn)分析了在使用ad7843的過(guò)程中遇到系統(tǒng)資源占用、測(cè)量值偏差以及外部干擾等問(wèn)題,并提出了相應(yīng)的解決方法。

ad7843是adi公司生產(chǎn)的一種四線式觸摸屏控制器,目前廣泛應(yīng)用于電阻式觸摸屏輸入系統(tǒng)中。盡管adi公司給出了相關(guān)的典型應(yīng)用和應(yīng)用注意,但是在實(shí)際使用過(guò)程中仍然會(huì)遇到一些問(wèn)題,比如怎樣用硬件實(shí)現(xiàn)ad7843的時(shí)序邏輯、如何提高測(cè)量精度、如何抗干擾,以及提高測(cè)量可靠性等。

ad7843數(shù)字轉(zhuǎn)換器在一個(gè)12位逐次逼近式比較寄存器(sar)adc架構(gòu)上集成了用于驅(qū)動(dòng)觸摸屏的低通阻抗開關(guān)。這些器件不使用內(nèi)部基準(zhǔn)電壓,當(dāng)以大于125ksaps的吞吐率運(yùn)行時(shí)的最大功耗小于1.4mw。它們還帶有10kev到12kev的模擬輸入esd保護(hù),增強(qiáng)了抗esd能力,以避免關(guān)鍵的內(nèi)部系統(tǒng)元件損壞。使用單2.2v到5.25v的電源工作。ad7843串行接口的一次完整操作需要24個(gè)dclk.,前8個(gè)脈沖接收8位的命令,并在第6個(gè)脈沖的上升沿開始采樣,從第9個(gè)脈沖開始進(jìn)入轉(zhuǎn)換階段,輸出12位采樣值,轉(zhuǎn)換結(jié)束進(jìn)入空閑階段。直到24個(gè)dclk結(jié)束,cs置高電平,一次測(cè)量結(jié)束。此外,ad7843還支持其它的工作方式,這里不予詳述。

應(yīng)用實(shí)例

圖1的硬件接口示意圖為一個(gè)驅(qū)動(dòng)觸摸屏應(yīng)用,我們的觸摸屏是四線電阻屏,它可以等效成水平方向和垂直方向的兩個(gè)線性電阻。當(dāng)有鍵按下時(shí),通過(guò)控制ad7843可以測(cè)量到觸摸位置對(duì)應(yīng)的水平和垂直方向的電壓值,進(jìn)而通過(guò)計(jì)算得到觸摸位置的坐標(biāo)值。

ad7843的控制時(shí)序由386ex(屬intelx86系列cpu)產(chǎn)生。測(cè)量命令的發(fā)送和測(cè)量數(shù)據(jù)的接收由386ex的同步串口完成。圖1中dclk信號(hào)是由386ex同步串口的發(fā)送時(shí)鐘txclk和接收時(shí)鐘rxclk經(jīng)過(guò)邏輯轉(zhuǎn)換產(chǎn)生,ssiorx和ssiotx分別是386ex同步串口的數(shù)據(jù)接收端和數(shù)據(jù)發(fā)送端。其一次測(cè)量周期的流程如圖2所示。

設(shè)計(jì)中的問(wèn)題及解決方法

1.占用系統(tǒng)資源問(wèn)題由上面的例子可知,ad7843的所有控制時(shí)序是由軟件完成的。而且為了保證時(shí)序不被影響,一次測(cè)量周期內(nèi)不應(yīng)被中斷打斷,所以就必須屏蔽高級(jí)中斷。這樣在實(shí)際操作中就遇到了一個(gè)問(wèn)題,在比較頻繁地操作觸摸屏?xí)r,會(huì)大量占用cpu的時(shí)間,從而影響系統(tǒng)其它任務(wù)的執(zhí)行,例如串口數(shù)據(jù)因來(lái)不及處理而造成數(shù)據(jù)的丟失甚至通訊中斷。為了解決這個(gè)問(wèn)題,我們采用一個(gè)邏輯器件epm7032,由硬件來(lái)生成ad7843的控制時(shí)序,從而大大減輕了cpu的負(fù)擔(dān)。下面介紹硬件邏輯如何實(shí)現(xiàn)。我們將這部分邏輯看作一個(gè)芯片,其引腳定義如下:
entityad_ctrl_delay_cmpis
port
(
clk:instd_logic;--時(shí)鐘輸入(1.8432mhz)
dout:outstd_logic;--ad7843的din
clkout:outstd_logic;--ad7843的dclk信號(hào)
clkssio:outstd_logic;--同步串口的接收時(shí)鐘
cs:instd_logic;--ad7843的片選信號(hào)
rst:instd_logic-上電復(fù)位信號(hào)
);
endad_ctrl_delay_cmp;

其工作流程是:當(dāng)有鍵按下時(shí),cpu(386ex)會(huì)將cs置低,cpld邏輯首先發(fā)8個(gè)clkout脈沖,在dout腳輸出測(cè)量x坐標(biāo)的命令,然后再發(fā)16個(gè)脈沖,在clkssio腳輸出與clkout同步的16個(gè)脈沖到386ex的同步串口的接收時(shí)鐘引腳。386ex此時(shí)從同步串口接收到16位數(shù)據(jù),取前12位作為實(shí)際采樣值。然后產(chǎn)生測(cè)量y坐標(biāo)的時(shí)序,與測(cè)量x坐標(biāo)的方法相同。完成一次測(cè)量,再延時(shí)一段時(shí)間,完成第二次測(cè)量,與第一次測(cè)量方法相同。測(cè)量?jī)纱蔚哪康氖菫榱讼鞒I抖動(dòng)。386ex的同步串口接收到四次測(cè)量數(shù)據(jù)后將cs置低。

其內(nèi)部邏輯的vhdl完整代碼請(qǐng)參見《電子工程專輯》網(wǎng)www.eetchina.com。

2.ad7843的測(cè)量值有偏差

在實(shí)際的使用過(guò)程還遇到另外一個(gè)問(wèn)題,在按觸摸屏的過(guò)程中,有時(shí)測(cè)量出的按鍵位置有偏差,觀察ad7843相關(guān)引腳波形發(fā)現(xiàn)輸入電壓有抖動(dòng)。分析后發(fā)現(xiàn)抖動(dòng)可能由兩方面產(chǎn)生:
a.ad7843的模擬地與系統(tǒng)的數(shù)字地不是一點(diǎn)相連。數(shù)字地干擾由公共阻抗耦合到ad7843的模擬地,產(chǎn)生干擾造成抖動(dòng)。解決辦法是模擬地與數(shù)字地一點(diǎn)連接。
b.觸摸屏在按下和釋放過(guò)程中有抖動(dòng),所以要進(jìn)行鍵削抖。采用兩次鍵值比較是一個(gè)較好的方法,具體工作原理是連續(xù)測(cè)量x、y坐標(biāo)值兩次,然后進(jìn)行比較,若相同或相差在允許的誤差范圍內(nèi)就認(rèn)為是有效鍵,否則為無(wú)效鍵。這里要十分注意的是為了有效地去除抖動(dòng),在第一次測(cè)量x、y坐標(biāo)和第二次測(cè)量x、y坐標(biāo)之間一定要有延時(shí),延時(shí)應(yīng)大于觸摸屏的抖動(dòng)時(shí)間,抖動(dòng)的時(shí)間在觸摸屏的性能指標(biāo)中有說(shuō)明。本文中的硬件cpld邏輯已經(jīng)實(shí)現(xiàn)了兩次鍵值比較的鍵削抖功能。

3.因外界干擾,觸摸屏按鍵無(wú)響應(yīng)觸摸屏在現(xiàn)場(chǎng)應(yīng)用中有時(shí)會(huì)出現(xiàn)“死機(jī)”現(xiàn)象(觸摸屏按鍵無(wú)響應(yīng))。分析發(fā)現(xiàn)現(xiàn)場(chǎng)環(huán)境較惡劣,存在較強(qiáng)的電磁干擾,因此在觸摸屏的引腳疊加了高頻干擾脈沖,影響了ad7843的正常工作時(shí)序,造成ad芯片工作不正常。解決方法是在ad的關(guān)鍵引腳dclk、din、dout對(duì)地接0.001u的高頻濾波電容。

本文以ad7843在觸摸屏系統(tǒng)中的一個(gè)實(shí)際應(yīng)用為例,重點(diǎn)分析了在使用ad7843的過(guò)程中遇到系統(tǒng)資源占用、測(cè)量值偏差以及外部干擾等問(wèn)題,并提出了相應(yīng)的解決方法。

ad7843是adi公司生產(chǎn)的一種四線式觸摸屏控制器,目前廣泛應(yīng)用于電阻式觸摸屏輸入系統(tǒng)中。盡管adi公司給出了相關(guān)的典型應(yīng)用和應(yīng)用注意,但是在實(shí)際使用過(guò)程中仍然會(huì)遇到一些問(wèn)題,比如怎樣用硬件實(shí)現(xiàn)ad7843的時(shí)序邏輯、如何提高測(cè)量精度、如何抗干擾,以及提高測(cè)量可靠性等。

ad7843數(shù)字轉(zhuǎn)換器在一個(gè)12位逐次逼近式比較寄存器(sar)adc架構(gòu)上集成了用于驅(qū)動(dòng)觸摸屏的低通阻抗開關(guān)。這些器件不使用內(nèi)部基準(zhǔn)電壓,當(dāng)以大于125ksaps的吞吐率運(yùn)行時(shí)的最大功耗小于1.4mw。它們還帶有10kev到12kev的模擬輸入esd保護(hù),增強(qiáng)了抗esd能力,以避免關(guān)鍵的內(nèi)部系統(tǒng)元件損壞。使用單2.2v到5.25v的電源工作。ad7843串行接口的一次完整操作需要24個(gè)dclk.,前8個(gè)脈沖接收8位的命令,并在第6個(gè)脈沖的上升沿開始采樣,從第9個(gè)脈沖開始進(jìn)入轉(zhuǎn)換階段,輸出12位采樣值,轉(zhuǎn)換結(jié)束進(jìn)入空閑階段。直到24個(gè)dclk結(jié)束,cs置高電平,一次測(cè)量結(jié)束。此外,ad7843還支持其它的工作方式,這里不予詳述。

應(yīng)用實(shí)例

圖1的硬件接口示意圖為一個(gè)驅(qū)動(dòng)觸摸屏應(yīng)用,我們的觸摸屏是四線電阻屏,它可以等效成水平方向和垂直方向的兩個(gè)線性電阻。當(dāng)有鍵按下時(shí),通過(guò)控制ad7843可以測(cè)量到觸摸位置對(duì)應(yīng)的水平和垂直方向的電壓值,進(jìn)而通過(guò)計(jì)算得到觸摸位置的坐標(biāo)值。

ad7843的控制時(shí)序由386ex(屬intelx86系列cpu)產(chǎn)生。測(cè)量命令的發(fā)送和測(cè)量數(shù)據(jù)的接收由386ex的同步串口完成。圖1中dclk信號(hào)是由386ex同步串口的發(fā)送時(shí)鐘txclk和接收時(shí)鐘rxclk經(jīng)過(guò)邏輯轉(zhuǎn)換產(chǎn)生,ssiorx和ssiotx分別是386ex同步串口的數(shù)據(jù)接收端和數(shù)據(jù)發(fā)送端。其一次測(cè)量周期的流程如圖2所示。

設(shè)計(jì)中的問(wèn)題及解決方法

1.占用系統(tǒng)資源問(wèn)題由上面的例子可知,ad7843的所有控制時(shí)序是由軟件完成的。而且為了保證時(shí)序不被影響,一次測(cè)量周期內(nèi)不應(yīng)被中斷打斷,所以就必須屏蔽高級(jí)中斷。這樣在實(shí)際操作中就遇到了一個(gè)問(wèn)題,在比較頻繁地操作觸摸屏?xí)r,會(huì)大量占用cpu的時(shí)間,從而影響系統(tǒng)其它任務(wù)的執(zhí)行,例如串口數(shù)據(jù)因來(lái)不及處理而造成數(shù)據(jù)的丟失甚至通訊中斷。為了解決這個(gè)問(wèn)題,我們采用一個(gè)邏輯器件epm7032,由硬件來(lái)生成ad7843的控制時(shí)序,從而大大減輕了cpu的負(fù)擔(dān)。下面介紹硬件邏輯如何實(shí)現(xiàn)。我們將這部分邏輯看作一個(gè)芯片,其引腳定義如下:
entityad_ctrl_delay_cmpis
port
(
clk:instd_logic;--時(shí)鐘輸入(1.8432mhz)
dout:outstd_logic;--ad7843的din
clkout:outstd_logic;--ad7843的dclk信號(hào)
clkssio:outstd_logic;--同步串口的接收時(shí)鐘
cs:instd_logic;--ad7843的片選信號(hào)
rst:instd_logic-上電復(fù)位信號(hào)
);
endad_ctrl_delay_cmp;

其工作流程是:當(dāng)有鍵按下時(shí),cpu(386ex)會(huì)將cs置低,cpld邏輯首先發(fā)8個(gè)clkout脈沖,在dout腳輸出測(cè)量x坐標(biāo)的命令,然后再發(fā)16個(gè)脈沖,在clkssio腳輸出與clkout同步的16個(gè)脈沖到386ex的同步串口的接收時(shí)鐘引腳。386ex此時(shí)從同步串口接收到16位數(shù)據(jù),取前12位作為實(shí)際采樣值。然后產(chǎn)生測(cè)量y坐標(biāo)的時(shí)序,與測(cè)量x坐標(biāo)的方法相同。完成一次測(cè)量,再延時(shí)一段時(shí)間,完成第二次測(cè)量,與第一次測(cè)量方法相同。測(cè)量?jī)纱蔚哪康氖菫榱讼鞒I抖動(dòng)。386ex的同步串口接收到四次測(cè)量數(shù)據(jù)后將cs置低。

其內(nèi)部邏輯的vhdl完整代碼請(qǐng)參見《電子工程專輯》網(wǎng)www.eetchina.com。

2.ad7843的測(cè)量值有偏差

在實(shí)際的使用過(guò)程還遇到另外一個(gè)問(wèn)題,在按觸摸屏的過(guò)程中,有時(shí)測(cè)量出的按鍵位置有偏差,觀察ad7843相關(guān)引腳波形發(fā)現(xiàn)輸入電壓有抖動(dòng)。分析后發(fā)現(xiàn)抖動(dòng)可能由兩方面產(chǎn)生:
a.ad7843的模擬地與系統(tǒng)的數(shù)字地不是一點(diǎn)相連。數(shù)字地干擾由公共阻抗耦合到ad7843的模擬地,產(chǎn)生干擾造成抖動(dòng)。解決辦法是模擬地與數(shù)字地一點(diǎn)連接。
b.觸摸屏在按下和釋放過(guò)程中有抖動(dòng),所以要進(jìn)行鍵削抖。采用兩次鍵值比較是一個(gè)較好的方法,具體工作原理是連續(xù)測(cè)量x、y坐標(biāo)值兩次,然后進(jìn)行比較,若相同或相差在允許的誤差范圍內(nèi)就認(rèn)為是有效鍵,否則為無(wú)效鍵。這里要十分注意的是為了有效地去除抖動(dòng),在第一次測(cè)量x、y坐標(biāo)和第二次測(cè)量x、y坐標(biāo)之間一定要有延時(shí),延時(shí)應(yīng)大于觸摸屏的抖動(dòng)時(shí)間,抖動(dòng)的時(shí)間在觸摸屏的性能指標(biāo)中有說(shuō)明。本文中的硬件cpld邏輯已經(jīng)實(shí)現(xiàn)了兩次鍵值比較的鍵削抖功能。

3.因外界干擾,觸摸屏按鍵無(wú)響應(yīng)觸摸屏在現(xiàn)場(chǎng)應(yīng)用中有時(shí)會(huì)出現(xiàn)“死機(jī)”現(xiàn)象(觸摸屏按鍵無(wú)響應(yīng))。分析發(fā)現(xiàn)現(xiàn)場(chǎng)環(huán)境較惡劣,存在較強(qiáng)的電磁干擾,因此在觸摸屏的引腳疊加了高頻干擾脈沖,影響了ad7843的正常工作時(shí)序,造成ad芯片工作不正常。解決方法是在ad的關(guān)鍵引腳dclk、din、dout對(duì)地接0.001u的高頻濾波電容。

相關(guān)IC型號(hào)
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!