ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2010年11月23日 星期二

Detecting the Tocuh Screen

電阻式 touch screen 是由兩片導電透明塑膠重疊而成。
中間會用另一種半導電層隔開。

上面的一片,在上下兩側年上 Y+, Y- 電極。
下面的一片,在左右兩側黏上 X+, X- 電極。

由於有中間的半導電層隔開,所以上下兩層是絕緣的。

但是一旦touch 到,適當設計的半導電層,就會在touch 的位置導通。讓上下層導通。

一般的 touch controller,會配合驅動電路,供給電壓。
和 ADC 電路,量測電壓。

以下面這個 controller 來看,他是在 X+, X- 給 3.3V。
然後由 ADC 量 Y+ 的電壓,來找出 touch X 的位置。

然後再由 Y+,Y- 給 3.3V。
ADC 量 X+ 的電壓,找出 touch Y 的位置。

最後再由 X+ 給一個小電流,Y+接地,量 X+ 電壓,這樣就知道 touch 的電阻。
(用手指或是pen touch 會造成 電阻的不同)

所以由示波器量 X+ , Y+ 都會出現3 個 "pulse".

下面兩張示量 Y+ 的波型,分別是 touch 在 panel 左邊和右邊的結果,可以看到 第一個 pulse 大小有改變。
xleft
.
xright

下面兩張是量 X+,分別 touch panel 上面和下面,可以看到第二個 pulse的大小有改變:
ytop
..
ydown

最後一個 pulse 就是利用 小 current 量電阻。可以知道這個是輕輕的 touch 還是..



另外,由於 touch 屬於 UI,所以使用 polling 的方式來偵測沒有效率。
所以 controller 通常會提供 interrupt 模式,來偵測有 touch。

以這一個 controller 為例,就是在 X+ 提供 一個小電流,Y+接地。
未接觸時是 open,所以 X+ 會是 3.3V。
當 touch 時,weak current source 的電壓就會降下來。
這樣 controller 就偵測到 interrupt。

之後才開始進入剛剛說明的 X-Y 量測模式。

沒有留言:

標籤

網誌存檔