?? 嵌入式系統中的觸摸屏及其控制.htm
字號:
if(myweekday == 0)
weekday=" 星期日 ";
else if(myweekday == 1)
weekday=" 星期一 ";
else if(myweekday == 2)
weekday=" 星期二 ";
else if(myweekday == 3)
weekday=" 星期三 ";
else if(myweekday == 4)
weekday=" 星期四 ";
else if(myweekday == 5)
weekday=" 星期五 ";
else if(myweekday == 6)
weekday=" 星期六 ";
document.write(year+"年"+mymonth+"月"+myday+"日 "+weekday);
</SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 class=border2
width=760>
<TBODY>
<TR>
<TD vAlign=top>
<TABLE align=center border=0 cellPadding=2 cellSpacing=0 class=border
width="100%">
<TBODY>
<TR>
<TD class=title>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD class=title_maintxt vAlign=center width="82%"> <IMG
align=absMiddle height=14 src="嵌入式系統中的觸摸屏及其控制.files/arrow.gif"
width=11> 嵌入式系統中的觸摸屏及其控制 </TD>
<TD class=title_maintxt width="18%"> <FONT
color=red>熱</FONT> <FONT
color=#009900>★★★</FONT> </TD></TR></TBODY></TABLE></TD></TR>
<TR align=middle vAlign=center>
<TD colSpan=2 height=40><FONT
size=4><STRONG>嵌入式系統中的觸摸屏及其控制</STRONG></FONT> </TD></TR>
<TR align=middle class=tdbg_rightall>
<TD colSpan=2>[ 作者:龔雪容 馬鳴錦 蔣烈輝
杜威 轉貼自:本站原創 點擊數:1005 更新時間:2003-11-8 文章錄入:<A
href="http://www.membraneswitch.org/article/UserInfo.asp?UserID=4">mscn</A>
]</TD></TR>
<TR>
<TD colSpan=2>
<TABLE align=center border=0 cellPadding=0 cellSpacing=5
style="WORD-BREAK: break-all" width=740>
<TBODY>
<TR>
<TD height=200 vAlign=top>
<TABLE align=left border=0 cellPadding=10 cellSpacing=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE>
<P><B>摘要:</B>觸摸屏逐漸取代鍵盤成為嵌入式系統常選用的人機交互工具。本文以電阻式觸摸屏和觸摸屏控制器ADS7846為例介紹觸摸屏及其控制器的原理,并以一個應用實例說明如何用觸摸屏及其控制器構成嵌入式系統的輸入系統。
<BR><B>關鍵詞:</B>嵌入式系統、觸摸屏、觸摸屏控制器
<P>
<CENTER><FONT class=v20 color=#0000c0 size=3>Touch-screen and
its controller in the embedded system</FONT></CENTER>
<P><B>Abstract: </B>The touch-screen gradually replaces the
keyboard and becomes the input system of the embedded system.
This paper introduces the theory of the resistance
touch-screen and its controller ADS7846, and gives an example
to show how to form the input system of the embedded system
with them. <BR><B>Key word:</B> embedded system, touch-screen,
touch-screen controller.
<P>在便攜式的電子類產品中,觸摸屏由于其輕便、占用空間少、方便靈活等優點,已經逐漸取代鍵盤成為嵌入式計算機系統的輸入設備。基于觸摸屏的輸入系統實際上是由觸摸屏、觸摸屏控制器、微控制器及其相應軟件構成的,本文從系統的硬件組成入手,分析整個系統的硬軟件原理及其實現方法。
<P><B>一. 系統組成原理</B>
<P>觸摸屏輸入系統由觸摸屏、觸摸屏控制器和微控制器三部分組成。圖1示出了一個實際的觸摸屏輸入系統,在該系統中觸摸屏采用信利公司的四線電阻式觸摸屏,觸摸屏控制器采用BB公司的ADS7846,微控制器為Motorola
M·CORE系列的MMC2107。
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132050734.gif"><BR>圖1
觸摸屏輸入系統的組成
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051580.gif"><BR>圖2觸摸屏的觸摸示意圖
<P>1. 觸摸屏原理
<P>觸摸屏附著在顯示器的表面,與顯示器相配合使用,如果能測量出觸摸點在屏幕上的坐標位置,則可根據顯示屏上對應坐標點的顯示內容或圖符獲知觸摸者的意圖。觸摸屏按其技術原理可分為五類:矢量壓力傳感式、電阻式、電容式、紅外線式、表面聲波式,其中電阻式觸摸屏在嵌入式系統中用的較多。電阻觸摸屏是一塊4層的透明的復合薄膜屏,如圖2所示,最下面是玻璃或有機玻璃構成的基層,最上面是一層外表面經過硬化處理從而光滑防刮的塑料層,中間是兩層金屬導電層,分別在基層之上和塑料層內表面,在兩導電層之間有許多細小的透明隔離點把它們隔開。當手指觸摸屏幕時,兩導電層在觸摸點處接觸。
<P>觸摸屏的兩個金屬導電層是觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,稱為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續的平行電壓分布。如圖1所示,當在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時,在X平行電壓場中,觸點處的電壓值可以在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點的X坐標值。同理,當在Y電極對上加電壓,而X電極對上不加電壓時,通過測量X+電極的電壓,便可得知觸點的Y坐標。電阻式觸摸屏有四線和五線兩種。四線式觸摸屏的X工作面和Y工作面分別加在兩個導電層上,共有四根引出線,分別連到觸摸屏的X電極對和Y電極對上。五線式觸摸屏把X工作面和Y工作面都加在玻璃基層的導電涂層上,但工作時,仍是分時加電壓的,即讓兩個方向的電壓場分時工作在同一工作面上,而外導電層則僅僅用來充當導體和電壓測量電極。因此,五線式觸摸屏的引出線需為5根。
<P>2. ADS7846觸摸屏控制器的工作原理
<P>各種類型的觸摸屏均有其相應的控制器,如:ADS7846是四線式觸摸屏的控制器,而ADS7845是五線式觸摸屏的控制器。控制器的主要功能是分時向X、Y電極對施加電壓,并把測量電極上的電壓信號轉換為相應觸摸點的X、Y坐標。
<P>1).操作原理
<P>ADS7846內部有一個由多個模擬開關組成的供電-測量電路網絡和12位的A/D轉換器(參見圖3)。ADS7846根據微控制器發來的不同測量命令導通不同的模擬開關,以便向工作面電極對提供電壓,并把相應測量電極上的觸點坐標位置所對應的電壓模擬量引入A/D轉換器。在觸摸點X、Y坐標的測量過程中,測量電壓與測量點的等效電路如圖4所示,圖中P為測量點。
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051621.gif"><BR>圖3
ADS7846的功能框圖
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051360.gif"><BR>圖4 測量關系
<P>2).數字接口
<P>ADS7846與MMC2107之間通過標準的SPI口相連,由MMC2107啟動3次SPI傳送來完成轉換,如圖5所示。第一次SPI傳送由MMC2107向ADS846發控制字,包括起始位、通道選擇、8/12位模式、差分/單端選擇和掉電模式選擇,接下來的兩次SPI傳送則是MMC2107從ADS7846取A/D轉換結果數據(最后四位自動補零),完成觸摸屏控制器和微控制器之間的一次通信。
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051371.gif"><BR>圖5 轉換時序
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051797.gif"><BR>圖6筆中斷請求
<P>3).筆中斷(PENIRQ#)輸出
<P>ADS7846通過筆中斷請求向MMC2107表示有觸摸發生。如圖6所示,當沒有觸摸時,MOSFET①和②打開、③關閉,則筆中斷輸出引腳通過外加的上拉電阻輸出為高。當有觸摸時,①和③打開、②關閉,則筆中斷輸出引腳通過③內部連接到地而輸出為低,從而向MMC2107提中斷請求。
<P>二. 實際應用舉例
<P>觸摸屏輸入系統的硬件連線如圖1所示,當有觸摸時ADS7846向MMC2107提中斷請求,由MMC2107響應該中斷請求,啟動圖5所示的通信過程,讀取ADS7846的轉換結果,從而得到觸摸點的坐標,其軟件接口如圖7所示,包括系統初始化(圖中省略)、中斷服務程序和ADS7846測量程序三部分。在ADS7846測量程序中,完成一次MMC2107和ADS7846之間的通信過程。
<P>在測量過程中發現ADS7846的外時鐘為50KHz~60KHz時是比較適宜的。ADS7846只能作為SPI的從設備,各信號的時序是完全固定的,因此需要配置MMC2107
SPI接口信號的時序使之完全符合ADS7846的時序,尤其是從選擇信號SS#在一次通信過程中應一直為低(見圖5)。
<P align=center><IMG border=0
src="嵌入式系統中的觸摸屏及其控制.files/2003118132051112.gif"><BR>圖7 軟件接口流程圖
<P>實際測量結果如表1、表2所示:
表1是在一條基本豎直的直線上等距離測量的幾個點的坐標值,從表中可得X坐標的斜率為64.25/mm,表2是一條基本水平的直線上等距離測量的幾個點的坐標值,可知Y坐標變化斜率為46.33/mm。
<P>表1:
<TABLE bgColor=#000000 border=0 cellPadding=2 cellSpacing=1
class=v15 width=400>
<TBODY>
<TR bgColor=#ffffff>
<TD>X坐標</TD>
<TD>2223</TD>
<TD>2198</TD>
<TD>2192</TD>
<TD>2180</TD>
<TD>2182</TD>
<TD>2198</TD>
<TD>2173</TD>
<TD>2188</TD></TR>
<TR bgColor=#ffffff>
<TD>Y坐標 </TD>
<TD>157</TD>
<TD>380</TD>
<TD>620</TD>
<TD>849</TD>
<TD>1079</TD>
<TD>1326</TD>
<TD>1551</TD>
<TD>1801</TD></TR></TBODY></TABLE>
<P>表2:
<TABLE bgColor=#000000 border=0 cellPadding=2 cellSpacing=1
class=v15 width=400>
<TBODY>
<TR bgColor=#ffffff>
<TD>X坐標</TD>
<TD>3935</TD>
<TD>3621</TD>
<TD>3311</TD>
<TD>2999</TD>
<TD>2669</TD>
<TD>2327</TD>
<TD>2012</TD>
<TD>1701</TD>
<TD>1387</TD>
<TD>1055</TD></TR>
<TR bgColor=#ffffff>
<TD>Y坐標</TD>
<TD>2056</TD>
<TD>2059</TD>
<TD>2059</TD>
<TD>2062</TD>
<TD>2057</TD>
<TD>2057</TD>
<TD>2053</TD>
<TD>2086</TD>
<TD>2066</TD>
<TD>2032</TD></TR></TBODY></TABLE>
<P><B>參考文獻:</B>
<P>《觸摸屏技術發展簡介》<BR>楊國棟、沈培宏<BR>http://www.optoelectro.com<BR>地址:鄭州市1001信箱715號
450002<BR>e_mail:gongxuerong@163.com
</P></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD colSpan=2>
<TABLE border=0 cellPadding=0 cellSpacing=5 height=50
style="BORDER-BOTTOM: #6687ba 1px solid; BORDER-TOP: #6687ba 1px solid"
width="100%">
<TBODY>
<TR>
<TD>
<LI>上一篇文章: <A
href="http://www.membraneswitch.org/article/Article_Show.asp?ArticleID=676"
title="文章標題:EL背光技術的應用和發展 作 者:Sipex公司 更新時間:2003-11-7 13:49:20 點擊次數:138">EL背光技術的應用和發展</A>
<BR>
<LI>下一篇文章: <A
href="http://www.membraneswitch.org/article/Article_Show.asp?ArticleID=696"
title="文章標題:無機薄膜電致發光顯示器 作 者:華東電子集團 段 萍 更新時間:2003-11-8 13:21:15 點擊次數:582">無機薄膜電致發光顯示器</A>
</LI></TD></TR></TBODY></TABLE></TD></TR>
<TR align=right class=tdbg_leftall>
<TD colSpan=2>【<A
href="http://www.membraneswitch.org/article/Article_Comment.asp?ArticleID=695"
target=_blank>發表評論</A>】【<A
href="http://www.membraneswitch.org/article/SendMail.asp?ArticleID=695"
target=_blank>告訴好友</A>】【<A
href="http://www.membraneswitch.org/article/Article_Print.asp?ArticleID=695">打印此文</A>】【<A
href="javascript:window.close();">關閉窗口</A>】</TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD align=middle height=13 vAlign=top>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0
width="100%">
<TBODY>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -