-
Hintergrund der Erfindung
-
Die
Erfindung bezieht sich auf ein zweidimensionales (2D) Touchpanel,
insbesondere auf ein Touchpanel, das mit kapazitiver Berührungssensortechnik
arbeitet.
-
Auf
kapazitiver Berührungssensortechnik beruhende 2D-Touchpanels
sind in einer Vielzahl von Anwendungen weit verbreitet im Gebrauch.
Typischerweise werden die 2D-Touchpanels mit einem Finger betätigt,
entweder im direkten Kontakt oder durch Annäherung (d.
h. ohne Kontakt). Zum Beispiel werden sie als Touchpads von Laptop-Computern,
in Bedienungsfeldern von Haushaltsgeräten, wie etwa Mikrowellengeräten und
Kochfeldern, sowie als Auflage für Displays von Handgeräten,
wie etwa Mobiltelefonen, verwendet. Viele andere Anwendungen sind
in der Technik bekannt.
-
Die
meisten herkömmlichen Bauformen des 2D-Touchpanels sind
auf eine Weise gestaltet, die bedeutet, dass das Touchpanel zu einem
Zeitpunkt nur eine einzige Berührung erfassen kann. Dies
genügt für einen großen Bereich von Anwendungen.
Für einige Anwendungen ist es jedoch wünschenswert,
dass ein 2D-Touchpanel in der Lage ist, zwei oder mehr Berührungen
gleichzeitig zu erfassen.
-
Zum
Beispiel werden Computer bekanntlich herkömmlich durch
eine Maus gesteuert, in der zwei oder mehr Sensoren kombiniert sind,
nämlich die Rollkugel für die Cursorbewegung und
zwei Tasten zur Auswahl von Symbolen an der Cursorposition. Eine
Maus kombiniert so die Cursorbewegung durch Bewegen des Mausgeräts
sowie zwei Fingeraktivitäten zum Betätigen der
linken und der rechten Maustaste. Bei einem Laptop stehen die Mausfunktionen über
ein Touchpad mit benachbarten Tasten zur Verfügung. Ein
Benutzer bewegt den Cursor durch Gleiten eines Fingers über
die Touchpadfläche und wählt Symbole und dergleichen durch
Betätigen der beiden „Maus”-Tasten mit
seinem Daumen oder einem oder zwei anderen Fingern.
-
Ein
weiteres Beispiel für ein Gerät, das mehrere gleichzeitige
Fingereingaben erfordert, ist eine handgehaltene Spielekonsole,
wo typischerweise der rechte und der linke Daumen benutzt werden,
um verschiedene Funktionen des Geräts oder gemeinsam dieselbe
Funktion zu steuern. Steuerungen für Flugunterhaltungssysteme
weisen oft eine ähnliche Betriebsweise auf.
-
Ein
kapazitives 2D-Touchpanel, das in der Lage ist, mehrfache gleichzeitige
Berührungen zu erfassen, ist nach dem Stand der Technik
bekannt und wird nun beschrieben.
-
1 fasst
das Touchpanel nach dem Stand der Technik gemäß
US-Patent 5,825,352 [Verweisquelle 1]
zusammen, das in der Lage ist, mehrfache Berührungen gleichzeitig
zu erfassen. Ein Matrixsensor wird durch eine Touchpad-Matrix
101 mit
einer Vielzahl von Drähten gebildet, die sich jeweils in
x- und y-Richtung erstrecken, um Sensorzeilen bzw. -spalten zu bilden.
Der Matrixsensor wird unter Verwendung eines Multiplexers
102 abgetastet,
der mit dem Matrixsensor
101 verbunden ist, der durch einen
Mikrocontroller
105 gesteuert wird. Die Kapazität
jedes der abgetasteten x- und y-Drähte wird dann unter
Verwendung einer Kapazitätsmessschaltung
103 gemessen.
Zu Kalibrierungszwecken tastet sich der Sensor während
eines Zeitraums selbst ab, in dem keine Fingerbetätigungen
vorhanden sind, um einen Hintergrundsignalpegel zu bestimmen. Der
Hintergrundsignalpegel wird gemessen und gespeichert und dann von
jeder Abtastung des Matrixsensors subtrahiert, um die Finger-induzierte
Kapazität zu bestimmen. Die abgetasteten Ausgänge
von jeder Sensorzeile und -spalte in der Sensormatrix werden unter
Verwendung eines Analog-Digitalwandlers (ADC)
104 in eine
digitale Darstellung umgewandelt, der die digitalisierten Signale
dem Mikrocontroller
105 zuführt. Die abgetasteten
Daten werden in der x-Richtung und der y-Richtung der Matrix analysiert,
entweder sequentiell oder nebeneinander. In der Figur sind das x-Profil
107 und
das y-Profil
106 schematisch für eine gleichzeitige
Berührung zweier Finger dargestellt, wie auf dem Matrixsensor
101 angedeutet.
Bezüglich des x-Profils
107 sind zwei Maxima
108 und
110 ersichtlich,
eines für jeden Fingerdruck. Die beiden Maxima sind durch
ein Minimum
109 getrennt. Bezüglich des y-Profils
106 ist
nur ein Maximum ersichtlich, was darauf zurückzuführen
ist, dass die beiden Fingerdrücke in der y-Richtung nah
beieinander liegen.
-
Bei
dieser Einrichtung nach dem Stand der Technik werden die Signale
von den x-Leitungen getrennt von den Signalen von den y-Leitungen
analysiert. Sowohl bei x als auch bei y werden Maxima und Minima
erkannt, wobei Maxima als Fingerberührungen zugeordnet
werden. Ein zweites Maximum macht es erforderlich, dass ein auf
das erste Maximum folgendes Minimum erkannt wird. Maxima werden
als die größte lokale Veränderung in
einem Signal erkannt. Minima werden als ein lokales, einer Spitze
benachbartes Minimum erkannt. Nachdem jeweils die Maxima in der
x- und der y-Richtung erkannt wurden, wird der Wert jeder Spitze mit
einem Schwellwert verglichen. Wenn der Wert der Spitze geringer
ist als der Schwellwert, wird sie nicht mehr als Spitze betrachtet.
Eine ähnliche Funktion kann auf die Minima angewandt werden,
wobei der Wert geringer sein muss als ein gegebener Schwellwert.
Die Spitzen- und Tiefpunktdaten in x- und y-Richtung werden dann
interpoliert, um die Stelle eines oder mehrerer Finger auf der Sensormatrix
zu erkennen. Diese Technik wird zum Erkennen und Verarbeiten mehrfacher
gleichzeitiger Berührungen auf einer Sensormatrix benutzt,
sodass ein erster Finger zum Steuern eines Cursors (ähnlich einem
herkömmlichen Touchpad bei einem Laptop-Computer) und ein
zweiter Finger für Betätigungen benutzt werden
kann (ähnlich einer herkömmlichen mechanischen
Taste, die in der Nachbarschaft eines Touchpads angebracht ist).
-
Während
diese Bauform nach dem Stand der Technik eine ausgereifte Lösung
zum Verarbeiten gleichzeitiger mehrfacher Berührungen vorsieht,
erfordert sie eine große Anzahl von Sensorleitungen sowohl
in x- als auch y-Richtung, um eine ausreichende räumliche
Auflösung vorzusehen. Mindestens 10 × 10 Leitungen wären
erforderlich, um zwei gleichzeitige Berührungen aufzulösen.
In der Regel würden vielleicht mindestens 20 × 20
Leitungen für ausreichende Zuverlässigkeit und
Genauigkeit benötigt, und um mehr als zwei gleichzeitige
Berührungen zu verarbeiten. Bei Geräten aus der
Massenproduktion steigen jedoch die Kosten mit der Anzahl der erforderlichen
Verarbeitungsleitungen, d. h. der Anzahl der Leitungen in der Kapazitätsmessschaltung,
im ADC und im digitalen Signalprozessor.
-
Es
wäre daher wünschenswert, einen Matrixsensor für
mehrfache Berührungen zu schaffen, der mit einer reduzierten
Anzahl von Sensorleitungen aufgebaut sein könnte.
-
Zusammenfassung der Erfindung
-
Gemäß der
Erfindung wird ein berührungsempfindlicher kapazitiver
2D-Positionssensor geschaffen, umfassend:
- (a)
ein Touchpanel, das eine Vielzahl von über seine Fläche
verteilten Erfassungselementen aufweist;
- (b) einen Kapazitätsmesskreis, der an die Erfassungselemente
angeschlossen ist und dazu dient, wiederholt Mengen von Kapazitätssignalwerten
zu erfassen, wobei jede Menge aus einem Kapazitätssignalwert von
jedem der Erfassungselemente besteht; und
- (c) einen zum Empfangen der Mengen von Kapazitätssignalwerten
angeschlossenen Prozessor, der dazu dient, jede Menge zu verarbeiten,
um Koordinaten einzelner oder mehrfacher Berührungsstellen
auf dem Touchpanel zu berechnen und auszugeben, wobei das Verarbeiten
jeder Menge durchgeführt wird durch:
(i) Erkennen
des Erfassungselements, das den größten Kapazitätssignalwert
aufweist;
(ii) Festlegen eines Bereichs des Touchpanels, der
das Erfassungselement, das den größten Kapazitätssignalwert
aufweist, sowie ausgewählte seiner Nachbarn enthält;
(iii)
Erkennen und Festlegen eines oder mehrerer weiterer Erfassungselemente
bzw. Bereiche, wobei jede Iteration Kapazitätssignalwerte
aus der Betrachtung ausschließt, wenn sie in zuvor festgelegten
Bereichen des Touchpanels liegen; und
(iv) Ausgeben von Daten,
welche die Koordinaten der Berührungsstelle in jedem erkannten
Bereich angeben.
-
Auf
diese Weise wird ein einfacher und zuverlässiger Sensor
für mehrfache Berührungen geschaffen, bei dem
die Signalverarbeitung auf schrittweiser Festlegung von Bereichen
oder Unterblöcken im Touchpanel beruht, wobei Signale in aufeinanderfolgenden
Erkennungsschritten ausgeschlossen werden. Dieser Ansatz kann als
Adaptation des Verfahrens der Unterdrückung benachbarter
Tasten (AKS) nach
US-Patent 6,993,607 [Verweisquelle
4] angesehen werden. AKS wurde ursprünglich zum Abtasten
einer gesamten Touchpanelfläche in jedem Datenerfassungszyklus
entwickelt. Das aktuelle Verfahren unterscheidet sich von der herkömmlichen
AKS darin, dass AKS nicht einmal auf die gesamte Tastenmatrix angewendet
wird, sondern iterativ auf Unterblöcke des Touchpanels,
um in jedem Verarbeitungsschritt einige Tasten auszufiltern, d.
h. diejenigen, die einer erkannten Berührungsstelle benachbart
sind. Der Zweck dieser lokalisierten Form von AKS ist es, Tasten
aus der Suche nach weiteren gültigen Berührungen
auszuschließen, die einer bereits erkannten Berührung
benachbart sind. Dies ist ein zuverlässiger und einfacher
Verarbeitungsansatz, der beide Dimensionen, d. h. x und y, zusammen
behandelt. Insbesondere vermeidet die Verarbeitung gemäß der
Erfindung das Ausführen der komplexen Signalverarbeitungsverfahren
nach
US-Patent 5,825,352 ,
die effektiv auf das Vorsehen einer Kurvenanpassungsanalyse zum
Erkennen sowohl von Maxima als auch von Minima hinauslaufen. Insbesondere
ist das Erkennen von Minima kein Merkmal der vorliegenden Erfindung,
während es im
US-Patent 5,825,352 ein
wesentliches Erfordernis zum Auflösen mehrfacher Berührungen
ist. Darüber hinaus wird durch das Verarbeiten gemäß der
Erfindung vermieden, dass Daten von jeder der beiden Dimensionen
separat verarbeitet werden müssen.
-
Die
Erkennungsschritte schließen vorzugsweise alle Erfassungselemente
mit Kapazitätssignalwerten aus, die nicht oberhalb eines
Schwellwerts liegen. Die iterative Erkennung einer oder mehrerer
Berührungsstellen beschränkt sich so auf höhere
Kapazitätssignalwerte. Der Schwellwert kann fest oder variabel
sein. Ein geeigneter Schwellwert kann zum Beispiel während
einer Messsequenz oder beim Hochfahren des Geräts neu berechnet
werden, das den Touchpanelsensor enthält.
-
In
einigen Umsetzungen wird das Erfassungselement in jedem Bereich,
das den größten Kapazitätswert aufweist,
als das hauptsächlich betätigte Erfassungselement
dieses Bereichs angenommen. In anderen Umsetzungen wird das Erfassungselement
in jedem Bereich, das auf dem Touchpanel an der höchsten
Position unter denjenigen Erfassungselementen ist, die einen Kapazitätssignalwert
oberhalb eines Schwellwerts aufweisen, als das hauptsächlich
betätigte Erfassungselement dieses Bereichs angenommen.
Andere Algorithmen können angewendet werden, um zu bestimmen,
welches der Erfassungselemente als das hauptsächliche anzunehmen
ist. Weiterhin erfordert das Verfahren in einigen Ausführungsformen
nicht das Erkennen eines hauptsächlichen Erfassungselements.
-
In
einer einfachen Version der Erfindung wird die Berührungsstelle
in jedem Bereich als bei dem hauptsächlich betätigten
Erfassungselement befindlich angenommen.
-
In
der besten Form der Erfindung wird die Berührungsstelle
in jedem Bereich durch Anwenden einer Interpolation zwischen den
Kapazitätssignalwerten zumindest einiger der Erfassungselemente
in dem betreffenden Bereich bestimmt. Dies erlaubt eine bessere
Positionsauflösung im Ausgang, als es aus den Erfassungselementen
allein möglich ist. Als Ergebnis ist ein relativ grobes
Gitternetz von Erfassungselementen in der Lage, eine Positionsauflösung
in einer feineren Aufteilung zu liefern als die Teilung des Gitternetzes.
So wird ein einfacher und zuverlässiger Sensor für
mehrfache Berührungen vorgesehen, der mit einer relativ
geringen Anzahl von Erfassungselementen umgesetzt werden kann. Daher
muss der Kapazitätsmesskreis nur eine relativ geringe Anzahl
von Erfassungskanälen umfassen.
-
Verschiedene
Formen der Interpolation sind möglich. Zum Beispiel kann
die Interpolation auf das Erfassungselement, das als das hauptsächlich
betätigte Erfassungselement des Bereichs erkannt wurde,
und seine Nachbarn beschränkt sein. Eine weitere Alternative
ist es, dass die Interpolation alle Erfassungselemente in jedem
Bereich einschließt.
-
Bei
der Erfindung ist auch ein Verfahren zum Verarbeiten von Signalen
von einem berührungsempfindlichen kapazitiven 2D-Positionssensor
denkbar, umfassend: (a) ein Touchpanel, das eine Vielzahl von über
seine Fläche verteilten Erfassungselementen aufweist; (b)
einen Kapazitätsmesskreis, der an die Erfassungselemente
angeschlossen ist und dazu dient, wiederholt Mengen von Kapazitätssignalwerten
zu erfassen, wobei jede Menge aus einem Kapazitätssignalwert
von jedem der Erfassungselemente besteht; und (c) einen zum Empfangen
der Mengen von Kapazitätssignalwerten angeschlossenen Prozessor,
der dazu dient, jede Menge zu verarbeiten, um Koordinaten einzelner
oder mehrfacher Berührungsstellen auf dem Touchpanel zu
berechnen und auszugeben, wobei das Verfahren zum Verarbeiten jeder
Menge umfasst:
- (i) Erkennen des Erfassungselements,
das den größten Kapazitätssignalwert
aufweist;
- (ii) Festlegen eines Bereichs des Touchpanels, der das Erfassungselement,
das den größten Kapazitätssignalwert
aufweist, sowie ausgewählte seiner Nachbarn enthält;
- (iii) Erkennen und Festlegen eines oder mehrerer weiterer Erfassungselemente
bzw. Bereiche, wobei jede Iteration Kapazitätssignalwerte
aus der Betrachtung ausschließt, wenn sie in zuvor festgelegten
Bereichen des Touchpanels liegen; und
- (iv) Ausgeben von Daten, welche die Koordinaten der Berührungsstelle
in jedem erkannten Bereich angeben.
-
Die
Erfindung kann unter Verwendung entweder von passiven oder von aktiven
kapazitiven Erfassungstechniken umgesetzt werden.
-
Passive
kapazitive Erfassungseinrichtungen beruhen auf dem Messen der Kapazität
einer Erfassungselektrode gegenüber einem System-Bezugspotential
(Erde). Die dieser Technik zugrunde. liegenden Prinzipien sind zum
Beispiel in
US-Patent 5,730,165 [Verweisquelle
6] und US-Patent
6,466,036 [Verweisquelle
7] beschrieben. Der Inhalt von
US-Patent
5,730,165 und
US-Patent
6,466,036 ist hierin in seiner Gesamtheit durch Verweis
als erläuterndes Hintergrundmaterial für die Erfindung
aufgenommen. In einer weitläufigen Zusammenfassung verwenden
passive kapazitive Sensoren Erfassungselektroden, die mit Kapazitätsmesskreisen
gekoppelt sind. Jeder Kapazitätsmesskreis misst die Kapazität
(kapazitive Kopplung) seiner zugehörigen Erfassungselektroden
gegenüber einer Systemmasse. Wenn sich kein zeigendes Objekt
nahe der Erfassungselektrode befindet, weist die gemessene Kapazität
einen Hintergrund- oder Ruhewert auf. Dieser Wert hängt von
der Geometrie und Gestaltung der Erfassungselektrode und der Verbindungsleitungen
dorthin usw. sowie von der Art und Lage benachbarter Objekte ab,
z. B. der Nähe der Erfassungselektroden zu naheliegenden Masseplatten.
Wenn sich ein zeigendes Objekt, z. B. der Finger eines Benutzers,
der Erfassungselektrode nähert, erscheint das zeigende
Objekt als virtuelle Masse. Dies dient dazu, die gemessene Kapazität
der Erfassungselektrode nach Masse zu erhöhen. So wird
ein Ansteigen der gemessenen Kapazität benutzt, um das Vorhandensein
eines zeigenden Objekts anzuzeigen.
-
US-Patent 5,730,165 und
US-Patent 6,466,036 sind
primär auf diskrete (Einzeltasten-)Messungen ausgerichtet
und nicht auf Anwendungen für 2D-Positionssensoren. Jedoch
sind die in
US-Patent 5,730,165 und
US-Patent 6,466,036 beschriebenen
Prinzipien leicht auf kapazitive 2D-Berührungssensoren
(2DCTs) anwendbar, indem z. B. Elektroden vorgesehen werden, um
entweder eine 2D-Anordnung diskreter Erfassungsflächen
oder Reihen und Spalten von Elektroden in einer Matrix-Anordnung
zu definieren.
-
Aktive
2DCT-Sensoren beruhen auf dem Messen der kapazitiven Kopplung zwischen
zwei Elektroden (statt zwischen einer einzelnen Erfassungselektrode
und einer Systemmasse). Die Prinzipien, die aktiven kapazitiven
Erfassungstechniken zugrunde liegen, sind in
US-Patent 6,452,514 [Verweisquelle
5] beschrieben. Der Inhalt von
US-Patent
6,452,514 ist hierin in seiner Gesamtheit durch Verweis
als erläuterndes Hintergrundmaterial für die Erfindung
aufgenommen. Bei einem Sensor des aktiven Typs wird an die so genannte
Treiberelektrode ein Wechsel-Treibersignal angelegt. Das Ausmaß kapazitiver
Kopplung des Treibersignals zur Erfassungselektrode wird durch Messen
der durch das Wechsel-Treibersignal auf die Erfassungselektrode übertragenen
Ladungsmenge bestimmt. Die übertragene Ladungsmenge, d.
h. die Stärke des an der Erfassungselektrode erscheinenden
Signals, ist ein Maß für die kapazitive Kopplung
zwischen den Elektroden. Wenn sich kein zeigendes Objekt nahe den
Elektroden befindet, weist das an der Erfassungselektrode gemessene
Signal einen Hintergrund- oder Ruhewert auf. Wenn sich jedoch ein
zeigendes Objekt, z. B. ein Finger des Benutzers, den Elektroden
nähert (oder genauer, sich dem Bereich nähert,
der die Elektroden trennt), wirkt das zeigende Objekt als virtuelle
Masse und leitet einen Teil des Treibersignals (Ladung) von der
Treiberelektrode ab. Dies wirkt sich als Reduzierung der Stärke
der auf die Erfassungselektrode gekoppelten Komponente des Treibersignals
aus. So wird ein Verringern des gemessenen Signals an der Erfassungselektrode
benutzt, um das Vorhandensein eines zeigenden Objekts anzuzeigen.
-
Kurze Beschreibung der Zeichnung
-
Zum
besseren Verständnis der Erfindung und um zu zeigen, wie
diese verwirklicht werden kann, wird nun beispielhaft Bezug auf
die begleitende Zeichnung genommen.
-
1 ist
eine schematische Ansicht einer kapazitiven Positionssensormatrix
nach dem Stand der Technik.
-
2 ist
eine schematische Ansicht einer kapazitiven Positionssensormatrix
und der zugehörigen Schaltung gemäß einem
ersten Ausführungsbeispiel der Erfindung.
-
3 ist
ein Flussdiagramm des Signalverarbeitungsverfahrens des ersten Ausführungsbeispiels.
-
Die 4A bis 4H sind
eine Folge von schematischen Ansichten der Sensormatrix, die benutzt werden,
um ein spezifisches Beispiel des Signalverarbeitungsverfahrens von 3 zu
erläutern.
-
5 ist
eine schematische Zeichnung, die das Aufspüren mehrfacher
Objekte in der Nähe der Sensormatrix nach dem ersten Ausführungsbeispiel
erläutert.
-
6A ist
eine schematische Ansicht der Oberseite einer kapazitiven Positionssensormatrix
und der zugehörigen Schaltung gemäß einem
zweiten Ausführungsbeispiel der Erfindung.
-
Die 6B und 6C stellen
schematisch die Elektrodenmusterlagen dar, welche die X- und Y-Leitungen
in der Sensormatrix von 6A vorsehen.
-
7 ist
ein Flussdiagramm des Signalverarbeitungsverfahrens des zweiten
Ausführungsbeispiels.
-
Die 8A bis 8D sind
eine Folge von schematischen Ansichten der Sensormatrix, die benutzt werden,
um ein spezifisches Beispiel des Signalverarbeitungsverfahrens von 7 zu
erläutern.
-
9A zeigt
schematisch einen Anzeigemonitor und eine Eingabevorrichtung, die
einen Sensor gemäß der vorliegenden Erfindung
enthält.
-
9B zeigt
schematisch ein Mobiltelefon, in das ein Sensor gemäß der
vorliegenden Erfindung eingebaut ist.
-
Genaue Beschreibung
-
2 zeigt
schematisch in der Draufsicht einen berührungsempfindlichen
kapazitiven 2D-Positionssensor 201 gemäß einem
ersten Ausführungsbeispiel der Erfindung. Der berührungsempfindliche
kapazitive 2D-Positionssensor wird benutzt, um zu beschreiben, wie
der in 3 gezeigte Algorithmus verwendet wird, um die
Position mehrerer Objekte in der Nähe des Positionssensors
zu berechnen.
-
Der
berührungsempfindliche kapazitive 2D-Positionssensor 201 dient
dazu, die Position von Objekten entlang einer ersten (x) und einer
zweiten Richtung (y) zu bestimmen, deren Ausrichtung oben links
in der Zeichnung gezeigt ist. Der Sensor 201 umfasst ein
Substrat 202, auf dem Erfassungselektroden 203 angeordnet
sind. Die Erfassungselektroden 203 legen eine Erfassungsfläche
fest, innerhalb der die Position eines Objekts (z. B. eines Fingers
oder Stifts) zum Sensor bestimmt werden kann. Das Substrat 202 besteht
aus einem transparenten Kunststoffmaterial, und die Elektroden sind
aus einer transparenten Schicht aus Indium-Zinn-Oxid (ITO) ausgebildet,
die unter Verwendung herkömmlicher Techniken auf dem Substrat 202 aufgebracht
ist. Daher ist der Erfassungsbereich des Sensors transparent und
kann über einen Anzeigebildschirm gelegt werden, ohne abzudecken,
was hinter der Erfassungsfläche angezeigt wird. In anderen
Beispielen soll der Positionssensor möglicherweise nicht über
ein Display gelegt werden und braucht nicht transparent zu sein;
in diesen Fällen kann die ITO-Schicht durch ein preiswerteres
Material, wie zum Beispiel eine Leiterplatte (PCB) aus Kupferlaminat,
ersetzt werden.
-
Das
Muster der Erfassungselektroden auf dem Substrat 202 ist
so gestaltet, dass es die Erfassungsfläche in eine Matrix (ein
Gitter) von Erfassungszellen 204 aufteilt, die in Zeilen
und Spalten angeordnet sind. (Es sei bemerkt, dass die Begriffe „Zeile” und „Spalte” hier
benutzt werden, um bequem zwischen zwei Richtungen zu unterscheiden;
sie sollten nicht so interpretiert werden, dass sie entweder eine
vertikale oder eine horizontale Ausrichtung andeuteten.) Bei diesem
Positionssensor gibt es drei Spalten von Erfassungszellen, die zur
x-Richtung ausgerichtet sind, und fünf Zeilen von Erfassungszellen,
die zur y-Richtung ausgerichtet sind (insgesamt fünfzehn
Erfassungszellen). Die oberste Zeile von Erfassungszellen bei der
in 2 gezeigten Ausrichtung wird als Zeile Y1 bezeichnet,
die nächste nach unten als Zeile Y2 und so weiter bis hinunter zu
Zeile Y5. Die Spalten von Erfassungszellen werden ähnlich
von links nach rechts als Spalten Xi bis X3 bezeichnet.
-
Jede
Erfassungszelle enthält eine Zeilen-Erfassungselektrode 205 und
eine Spalten-Erfassungselektrode 206. Die Zeilen-Erfassungselektroden 205 und
die Spalten-Erfassungselektroden 206 sind innerhalb jeder
Erfassungszelle 204 so angeordnet, dass sie ineinander
verschachtelt (in diesem Fall in umeinander gewundenen quadratischen
Spiralen), jedoch nicht galvanisch verbunden sind. Weil die Zeilen-
und Spalten-Erfassungselektroden verschachtelt (verflochten) sind,
kann ein nahe an einer gegebenen Erfassungszelle befindliches Objekt
eine erhebliche kapazitive Kopplung zu beiden Erfassungselektroden
bilden, unabhängig davon, wo das Objekt in der Erfassungszelle
positioniert ist. Das charakteristische Verschachtelungsmaß kann in
der Größenordnung des kapazitiven Abdrucks des
Fingers, Stifts oder anderen Betätigungsgegenstands oder
kleiner sein, um die besten Ergebnisse zu erbringen. Die Größe
und Form der Erfassungszelle 204 kann mit derjenigen des
zu erfassenden Objekts vergleichbar oder (innerhalb praktischer
Grenzen) größer sein.
-
Die
Zeilen-Erfassungselektroden 205 aller Erfassungszellen
in derselben Zeile sind elektrisch miteinander verbunden und bilden
fünf getrennte Zeilen von Zeilen-Erfassungselektroden. Ähnlich
sind die Spalten-Erfassungselektroden 206 aller Erfassungszellen
in derselben Spalte elektrisch miteinander verbunden und bilden
drei getrennte Spalten von Spalten-Erfassungselektroden.
-
Der
Positionssensor
201 umfasst weiter eine Reihe von Kapazitätsmesskanälen
207,
die mit jeweiligen der Zeilen von Zeilen-Erfassungselektroden und
der Spalten von Spalten-Erfassungselektroden gekoppelt sind. Jeder
Messkanal dient dazu, ein Signal zu erzeugen, das einen Kapazitätswert
zwischen der zugehörigen Spalte oder Zeile von Erfassungselektroden
und einer Systemmasse angibt. Die Kapazitätsmesskanäle
207 werden
in
2 als zwei getrennte Blöcke gezeigt,
wobei ein Block mit den Zeilen von Zeilen-Erfassungselektroden (mit
Y1 bis Y5 bezeichnete Messkanäle) gekoppelt ist und ein
Block mit den Spalten von Spalten-Erfassungselektroden (mit X1 bis
X3 bezeichnete Messkanäle) gekoppelt ist. Es sollte jedoch
klar sein, dass in der Praxis die gesamte Messkanalschaltung höchstwahrscheinlich
in einer einzigen Einheit, wie etwa einem programmierbaren oder
anwendungsspezifischen integrierten Schaltkreis vorgesehen sein
wird. Weiterhin könnten, obwohl in
2 acht getrennte
Messkanäle gezeigt sind, die Kapazitätsmesskanäle
alternativ durch einen einzelnen Kapazitätsmesskanal mit
geeignetem Multiplexen vorgesehen sein, obwohl dies keine bevorzugte
Betriebsweise ist. Darüber hinaus kann eine Schaltung der
Art, wie sie in
US-Patent 5,463,388 [Verweisquelle
2] beschrieben ist, oder eine ähnliche verwendet werden,
die alle Zeilen und Spalten mit einem einzigen Oszillator gleichzeitig
ansteuert, um eine laminare Menge von Erfassungsfeldern durch das
aufliegende Substrat auszubreiten.
-
Die
Signale, welche die durch die Messkanäle 207 gemessenen
Kapazitätswerte angeben, werden einem Prozessor 208 zugeführt,
der eine Verarbeitungsschaltung umfasst. Der Positionssensor wird
als eine Reihe diskreter Tasten behandelt. Die Position jeder diskreten
Taste ist der Schnittpunkt der x- und y-Leitungen. Die Verarbeitungsschaltung
ist ausgelegt, zu bestimmen, welche der diskreten Tasten ein Signal
aufweist, das eine mit ihr verknüpfte Kapazität
angibt. Ein Host-Controller 209 ist angeschlossen, um die
vom Prozessor 208 ausgegebenen Signale zu empfangen, d.
h. Signale von jeder der diskreten Tasten, die eine angelegte kapazitive
Last angeben. Der Host-Controller 209 dient dazu, die x-
und y-Stellen einer oder mehrerer gleichzeitiger Berührungen
des Positionssensors 201 zu berechnen und an einem Ausgangsanschluss 210 auszugeben.
-
Der
Host-Controller 209 kann ein einzelner Logikbaustein sein,
wie etwa ein Mikrocontroller. Der Mikrocontroller kann vorzugsweise
einen CMOS-Anschlussaufbau vom Gegentakttyp aufweisen, sowie einen Eingang,
der als Spannungskomparator eingesetzt werden kann. Die meisten üblichen
Mikrocontroller-E/A-Anschlüsse sind dazu in der Lage, da
sie eine relativ feste Eingangsschwellenspannung sowie fast ideale
MOSFET-Schalter aufweisen. Die erforderlichen Funktionen kann ein
einzelner programmierbarer Allzweck-Mikroprozessor, Mikrocontroller
oder eine andere integrierte Schaltung, zum Beispiel ein Field Programmable
Gate Array (FPGA) oder Application Specific Integrated Chip (ASIC)
ausführen.
-
Die
Gestaltung und die Funktion des berührungsempfindlichen
kapazitiven 2D-Positionssensors 201 in 2 wurde
beschrieben. Nun werden 3 und die 4A bis 4H benutzt,
um das Verfahren zu beschreiben, das der Prozessor 209 anwendet,
um die berührten Positionen am berührungsempfindlichen
kapazitiven 2D-Positionssensor 201 zu bestimmen.
-
3 ist
ein Flussdiagramm, das Schritte des in Hardware, Firmware oder Software
im Host-Controller 209 verkörperten Signalverarbeitungsverfahrens
zeigt. Die 4A bis 4H zeigen
die 3×5-Matrix von Berührungstasten im Touchpanel
nach dem ersten Ausführungsbeispiel nacheinander an verschiedenen Punkten
der Verarbeitung bei einer beispielhaften Menge von Berührungseingaben.
-
4A zeigt
ein 3×5-Gitternetz mit den Rohdatenwerten der bei einer
einzelnen Erfassung in Schritt S301 von 3 erfassten
Signale. Jedes der Gitterfelder stellt eine der diskreten Tasten
des kapazitiven Positionssensors 201 dar. Zwei gleichzeitige
Fingerberührungen liegen an den durch gestrichelte Linien
angegebenen Positionen vor. Die Rohdatenwerte sind in willkürlichen
Einheiten angegeben. Ein Fingerdruck liegt nahe der oberen linken
Ecke des Panels und ein weiterer Fingerdruck nahe der unteren rechten
Ecke des Panels.
-
4B zeigt
die Signalwerte nach einem Vorverarbeitungsschritt des Subtrahierens
eines Hintergrundsignalwerts VB von den
Rohsignalwerten. In diesem Beispiel hat das Hintergrundsignal einen
Wert von VB = 3. In diesem Beispiel wird
der Schwellsignalwert nach Subtraktion des Hintergrundsignalpegels
mit Vt = 12 angenommen.
-
4C zeigt
als schattierte Felder die Positionen derjenigen fünf Tasten,
die Signale oberhalb der Schwelle abgegeben haben, d. h. der „wahrgenommenen” Tasten.
Jede der diskreten Tasten wird mit K(a, b) bezeichnet, wobei „a” die
Spalten-Position ist, beginnend mit „1” links
im Gitter, und wobei „b” die Zeilen-Position ist,
beginnend mit „1” oben im Gitter. (D. h. das schattierte
Element 402 in 4A ist
K(3, 4).) Die Stellen der „wahrgenommenen” Tasten
sind K(1, 1), K(2, 2), K(2, 5), K(3, 4) und K(3, 5).
-
Es
ist einzusehen, dass die Erfassungszeit fest oder variabel sein
kann. Eine feste Erfassungszeit würde vom Host-Controller
oder Prozessor eingestellt werden. Ein Beispiel einer variablen
Erfassungszeit wäre es, wenn die Ladungsansammlung für
das gesamte Panel abgeschlossen wird, wenn einer der Erfassungskanäle
bis zu einer bestimmten Schwelle akkumuliert hat, die ein Vielfaches
der Wahrnehmungsschwelle, zum Beispiel das Doppelte der Wahrnehmungsschwelle,
betragen kann.
-
In
Schritt S301 werden die Signalwerte jeder der diskreten Tasten von
der Verarbeitungsschaltung 208 erfasst, die eine am Positionssensor 201 anliegende
kapazitive Last angeben.
-
In
Schritt S302 wird bestimmt, ob Signale oberhalb des Schwellwerts
vorliegen. Wenn keines der von der Verarbeitungsschaltung 208 erfassten
Signale „wahrgenommen” ist, kehrt der Algorithmus
zu Schritt S301 zurück und erfasst eine neue Menge diskreter
Tastensignalwerte.
-
Das
setzt sich fort, bis entweder mindestens einer der diskreten Tastensignalwerte
größer oder gleich Vt ist oder die Schleife durch
ein entsprechendes Steuersignal beendet wird. Es ist einzusehen,
dass das Zeitintervall zwischen Signalerfassungen über
die Zeit erhöht werden kann, um Energie zu sparen, wenn
keine Signale oberhalb der Schwelle empfangen werden. Eine weitere
Option ist es, die Touchpanel-Einrichtung nach einem bestimmten
Zeitraum ohne Empfang von Signalen oberhalb des Schwellwerts vollständig
zu deaktivieren, d. h. in einen Schlafmodus eintreten zu lassen,
was zur Reaktivierung eine separate Steuereingabe erfordert.
-
In
Schritt 303 wird geprüft, ob mindestens ein Signal
in der erfassten Menge von Signalen bei oder unter dem Hintergrundpegel
liegt. Um dieses Kriterium zu erreichen, muss es mindestens einen
der diskreten Tastensignalwerte geben, der geringer oder gleich
dem vorgegebenen Hintergrundpegelsignal oder „Null”-Signal
ist. Der Nullsignalwert stellt den Hintergrundsignalpegel dar, wenn
sich kein Objekt in der Nähe des Positionssensors 201 befindet.
Jeder der diskreten Tastensignalwerte des Positionssensors 201 wird
in Schritt S303 mit dem vorgegebenen Nullsignalwert verglichen.
Das Ergebnis dieser Prüfung wird benutzt, um später im
Prozessablauf eine Entscheidung zu treffen.
-
In
Schritt S304 werden alle wahrgenommenen Signalwerte miteinander
verglichen, um die Taste mit dem höchsten Signalwert zu
finden. Der höchste wahrgenommene Signalwert ist derjenige
der diskreten Taste an der Stelle K(1, 1)
403. Um die Stelle
des Objekts bei oder nahe der diskreten Taste bei der Stelle K(1,
1)
403 (d. h. dem höchsten wahrgenommenen Tastensignalwert)
zu finden, wird eine abgeänderte Umsetzung der Unterdrückung
benachbarter Tasten (AKS) benutzt. Herkömmliche AKS ist
im
US-Patent 6,993,607 beschrieben.
Das hier benutzte abgeänderte AKS-Verfahren wird im Folgenden
als lokalisierte AKS (LAKS) bezeichnet. Bei der herkömmlichen
AKS werden alle Tasten in die Analyse einbezogen. Bei der vorliegenden
Version von AKS wird jedoch ein iterativer Ansatz auf die Sensormatrix
angewendet, bei dem AKS örtlich auf eine Abfolge von Unterblöcken
oder Bereichen der Sensormatrix angewendet wird. Die Position jedes
Unterblocks ist in Relation zu einem ausgewählten wahrgenommenen
Element festgelegt und enthält nächste Nachbar- und übernächste
Nachbarelemente, d. h. unmittelbar an die gewählten wahrgenommenen
Positionen angrenzende Positionen diskreter Tasten und die Positionen
diskreter Tasten, die an die unmittelbar angrenzenden angrenzen.
Die Umgrenzung, innerhalb welcher der LAKS-Algorithmus im vorliegenden
Beispiel durchgeführt wird, ist in
4D durch
die gestrichelte Grenzlinie
404 dargestellt. Die Größe
des Unterblocks für dieses Beispiel ist durch die Größe
der Sensormatrix beschränkt. Wenn die Sensormatrix jedoch
mehr diskrete Tasten enthielte, hätte der Unterblock gemäß der
obigen Definition einen größeren Umfang.
-
In
Schritt S305 wird AKS innerhalb des durch die Umgrenzung
404 festgelegten
Unterblocks von Tasten angewendet, um zu bestimmen, welche der Tasten
in dem Unterblock diejenige ist, die der Berührung zugeordnet
werden sollte, d. h. an das Objekt angrenzt. Es ist anzumerken,
dass dies oft diejenige Taste mit dem höchsten Signalwert
sein wird, jedoch ist dies nicht unbedingt der Fall. Ein Beispiel
für eine Situation, in der eine andere Taste gewählt
sein könnte, ist eine Situation, in der das AKS-Verfahren
den Handschatteneffekt berücksichtigt, wie in
EP 1335318A1 [Verweisquelle
3] beschrieben. Wenn zum Beispiel eine vertikale Reihe von Tasten „wahrgenommen” ist,
ist die durch das AKS-Verfahren ausgegebene Taste die oberste Taste,
selbst wenn diese Taste nicht diejenige mit dem höchsten
Signalwert ist. Im dargestellten Beispiel ermittelt AKS, dass die
diskrete Taste an der Stelle K(1, 1) diejenige Taste ist, die an
die Berührung angrenzt, wobei diese Taste auch diejenige
mit dem höchsten Signal ist. Diese ausgewählte
Taste
405 ist mit T1 bezeichnet.
-
In
Schritt S306 wird die andere „wahrgenommene” Taste
K(2, 2), die innerhalb der Umgrenzung des LAKS-Unterblocks (d. h.
der gestrichelten Linie) liegt, nun in aufeinanderfolgenden Schritten
des LAKS eigenen Verfahrens ignoriert, d. h. ihr Signal wird in
nachfolgenden LAKS-Schritten unterdrückt. Sie kann so als aus
der Wahrnehmung „hinausgeworfen” betrachtet werden.
Dies wird in 4E durch das Aufheben der Schattierung
des Gitterfelds 406 dargestellt. Obwohl wahrgenommene Tasten,
die durch die LAKS aus der Wahrnehmung „hinausgeworfen” sind,
in diesen Teil des Erfassungsalgorithmus nicht mehr einbezogen sind, können
sie in einen späteren Teil des Verfahrens einbezogen werden,
wie weiter unten zu verstehen ist.
-
In
Schritt S307 springt der Verfahrensablauf dann zu Schritt S313,
wenn in Schritt S303 ermittelt wurde, dass es keine Taste mit einem
Null-Signal gibt. Dieser Sprung schließt die Möglichkeit
der Wahrnehmung weiterer Berührungen auf Grund der Tatsache
aus, dass es, wenn es keine Taste mit Nullsignal gibt, kein zuverlässiges
Minimum gibt und dass daher mehrfache Berührungen nicht
zuverlässig von einer Situation unterschieden werden können,
bei der eine einzige Berührung über eine große
Fläche, vielleicht über das gesamte Panel, vorliegt.
Wenn andererseits in Schritt S303 ermittelt wurde, dass es mindestens
eine Taste oberhalb des Hintergrundpegels gibt, geht der Prozessablauf
zum Schritt S308 über, da die Möglichkeit bleibt,
dass man in der Lage ist, mehrere Berührungen zuverlässig
aufzulösen.
-
In
Schritt S308 werden die Signalwerte der übrigen diskreten
Tasten mit dem Schwellwert Vt verglichen. Wenn keins der übrigen
Tastensignale größer als der oder gleich dem Schwellwert
Vt ist, springt der Prozessablauf zu Schritt S313. Wenn es andererseits
wahrgenommene Matrixtasten mit einem Signalwert gibt, der größer
als der oder gleich dem Schwellwert Vt ist, wird der LAKS-Prozess
auf Grundlage der Taste mit dem nächsthöheren
Signalwert wiederholt. Bei dem in 4 gezeigten
Beispiel liegen die übrigen wahrgenommenen diskreten Tastensignalwerte
an den Stellen K(2, 5), K(3, 4) und K(3, 5).
-
In
Schritt S309 werden die Signalwerte von den übrigen wahrgenommenen
Tasten miteinander verglichen, um den höchsten zu finden.
Der höchste Signalwert ist im Beispiel bei der diskreten
Taste an der Stelle K(3, 5) 407.
-
In
Schritt S310 wird LAKS an den diskreten Tasten ausgeführt,
die in dem LAKS-Unterblock liegen, der um die Taste K(3, 5) gebildet
ist, d. h. den Tasten, die innerhalb der in 4F gezeigten
Umgrenzung in der gestrichelten Grenzlinie 408 enthalten
sind. Der LAKS-Bereich enthält alle innerhalb der gestrichelten
Grenzlinie 408 enthaltenen Tasten. Die LAKS-Verarbeitung
entscheidet, welche der Tasten in dem Unterblock am wahrscheinlichsten
der Berührung am nächsten liegt. Im Folgenden
nehmen wir an, dass die diskrete Taste an der Stelle K(3, 5) diejenige
ist, die durch die AKS gewählt wurde. Diese Taste ist mit
T2 bezeichnet, da sie die in der zweiten Iteration der LAKS-Verarbeitung
gewählte Taste ist.
-
In
Schritt S311 werden alle anderen wahrgenommenen Tasten innerhalb
der durch die LAKS festgelegten Umgrenzung (d. h. der gestrichelten
Linie 408) aus der Wahrnehmung hinausgeworfen, wie in 4G durch
die nun unschattierten diskreten Stellen K(2, 5) und K(3, 4) 410 gezeigt.
-
In
Schritt S312 werden Signalwerte aller verbleibenden diskreten Tasten
mit dem Schwellwert Vt verglichen. Wenn keine der übrigen
Tastensignale größer als der oder gleich dem Schwellwert
Vt sind (wie im dargestellten Beispiel), wird Schritt S313 des Algorithmus
ausgeführt. Wenn jedoch Tasten mit Signalwerten oberhalb
der Schwelle verbleiben, wird der Algorithmus von Schritt S309 bis
S312 wiederholt, um eine weitere diskrete Taste T3 zuzuordnen. Dieses
Verfahren wird wiederholt, bis Schritt S312 einen Nullwert ausgibt.
-
An
diesem Punkt im Verfahren ist die LAKS-Verarbeitung beendet, und
das Verfahren geht zu einem weiteren Stadium über, nämlich
Schritt S313.
-
In
Schritt S313 werden die Koordinaten jeder der Berührungen
T1, T2 ... TN bestimmt, wobei N eine (eine einzelne) Berührung
oder mehr als eine (mehrfache Berührungen) sein kann. Die
Koordinaten jeder Berührung werden unter Verwendung eines
Interpolationsverfahrens bestimmt. Die Interpolation hat Zugriff
auf alle Signalwerte, ob oberhalb oder unterhalb des Schwellwerts.
Mit anderen Worten, die Signalwerte aller Tasten, die während
der LAKS-Verarbeitung unterdrückt wurden, werden bei Bedarf
verwendet. In dem Beispiel sind die für die Interpolation
verfügbaren Signalwerte die in 4B gezeigten
Signalwerte, d. h. die Roh-Signalwerte nach Hintergrund-Subtraktion.
Bei jeder Berührung Tn interpoliert das Verfahren unter
Verwendung der Signalwerte der Taste Tn und der ihr benachbarten
Tasten. Es gibt verschiedene mögliche Interpolationsverfahren,
die benutzt werden können, jedoch beschreiben wir im Folgenden
nur eins.
-
Zwei
verschiedene Gleichungen werden zum Berechnen der x- und y-Koordinaten
der zugeordneten Berührungen benutzt. Dies sind die unten
gezeigte Gleichung 1 und Gleichung 2. Die Ausdrücke in
beiden dieser Gleichungen haben die folgende Definition. „Max” ist
der Signalwert der als T1 ... Tn festgelegten diskreten Tasten. „Mid” ist
der Signalwert der diskreten Taste mit dem höchsten Signalwert,
die an „Max” angrenzt. „Min” ist
der „Null”-Signalwert, der zuvor festgelegt wurde.
Pn ist der Offset, welcher der nächsten x- oder y-leitenden Leitung
entspricht. Für die x-Koordinate ist P0 =
0 für X1 und P0 = 1 für
X2. Für die y-Koordinate ist P0 =
0 für Y1, P0 = 1 für Y2,
P0 = 2 für Y3 und P0 =
3 für Y4. Q ist eine Zahl, die eine Anzahl vorgegebener
diskreter Positionen innerhalb jeder der diskreten Tasten darstellt.
-
Gleichung
1 wird benutzt, wenn der „Mid”-Signalwert links
oder unterhalb des „Max”-Signalwerts liegt. Gleichung
2 wird benutzt, wenn der „Mid”-Signalwert rechts
oder oberhalb des „Max”-Signalwerts liegt.
-
-
Das
zum Interpolieren der Position der ersten zugeordneten Berührung
T1 benutzte Verfahren ist das Folgende. Um die x- und y-Koordinaten
von T1 zu interpolieren, wird Gleichung 2 benutzt, weil der „Mid”-Signalwert
im Falle der x-Koordinate rechts vom „Max”-Signalwert
liegt und der „Mid”-Signalwert im Falle der y-Koordinate
oberhalb des „Max”-Signalwerts liegt.
-
4B zeigt
die Signalwerte von den diskreten Tasten, nachdem der Hintergrundsignalpegel
VB (VB = 3) subtrahiert
wurde. Die Signalwerte in 4B werden
benutzt, um die x- und y-Koordinaten von T1 (Stelle der diskreten
Taste K(1, 1)) zu finden. Die folgenden diskreten Tastensignalwerte
werden benutzt, um die x-Koordinate der an den Positionssensor 201 angrenzenden
Berührung zu finden. Der „Max”-Wert ist
gleich dem Signalwert der diskreten Taste an der Stelle K(1, 1),
Max = 22. Der „Mid”-Wert ist gleich dem Signalwert
der diskreten Taste an der Stelle K(2, 1), Mid = 8. Der „Min”-Wert
ist gleich dem Signalwert der diskreten Taste an der Stelle K(3,
3), Min = 0. In dem Beispiel von T1 ist jede der diskreten Tasten
in 10 (Q = 10) diskrete Positionen aufgetrennt. In dem Beispiel
von T1 ist P0 = 0, weil die wahrgenommene
Berührung rechts von der ersten x-leitenden Leitung X1
liegt. Die berechnete x-Koordinate für T1 ist „2,
6”. Dies wird nun wiederholt, um die y-Koordinate der wahrgenommenen
Berührung nahe dem Positionssensor 201 zu finden.
-
Die
folgenden Signalwerte der diskreten Tasten werden benutzt, um die
y-Koordinate der Berührung nahe dem Positionssensor 201 finden.
Der „Max”-Wert ist gleich dem Signalwert der diskreten
Taste an der Stelle K(1, 1), Max = 22. Der „Mid”-Wert
ist gleich dem Signalwert der diskreten Taste an der Stelle K(1,
2), Mid = 6. Der „Min”-Wert ist gleich dem Signalwert
der diskreten Taste an der Stelle K(3, 3), Min = 0. In dem Beispiel von
T1 ist jede der diskreten Tasten in 10 (Q = 10) diskrete Positionen
aufgetrennt. In dem Beispiel von T1 ist P0 =
0, weil die wahrgenommene Berührung unterhalb der ersten
y-leitenden Leitung Y1 liegt. Die berechnete y-Koordinate für
T1 ist „2, 1”. Daher sind die Koordinaten der
zugeordneten Berührung (2, 6; 2, 1) oder (3, 2), wenn sie
auf den nächsten ganzzahligen Wert von Q gerundet werden.
-
Die
verbleibende, in 4G gezeigte Berührungsposition
T2 wird unter Benutzung des oben beschriebenen Interpolationsverfahrens
berechnet. Jedoch wird Gleichung 1 benutzt, weil der „Mid”-Signalwert
für die x-Koordinate links von dem „Max”-Signalwert
und der „Mid”-Signalwert für die y-Koordinate
oberhalb des „Max”-Signalwerts liegt. Die berechneten
Koordinaten für die zugeordnete Berührung T2 sind
(16, 35).
-
4H zeigt
die interpolierten Positionen der beiden Berührungen T1
und T2 auf dem Positionssensor. In diesem Beispiel wurde der Positionssensor
in 80 mögliche Positionen aufgeteilt.
-
Alternative
Interpolationsverfahren können Gewichtungsfaktoren einschließen,
wobei zum Beispiel die benachbarten Tasten eine niedrigere Gewichtung
als die Tasten Tn aufweisen. Ein weiteres Beispiel könnte
es sein, gemäß erwarteter Handschatteneffekte
zu gewichten. Die Interpolation braucht nicht zeilenweise und spaltenweise
wie oben beschrieben zu erfolgen. Zum Beispiel könnte die
Interpolation innerhalb aller nächsten Nachbartasten oder
aller Tasten in dem zuvor für die Taste Tn definierten
LAKS-Unterblock geschehen. Viele andere Variationen von Interpolationsverfahren
sind denkbar.
-
Aus
dem Obigen ist so zu verstehen, wie in der ersten Ausführungsform
gleichzeitige Mehrfachberührungen durch Verarbeiten einer
einzelnen Menge von Signalen zuverlässig erkannt werden
können, die von einem kapazitiven 2D-Berührungssensor
aufgenommen wurden. Insbesondere erlauben es die kombinierte Verwendung
einer lokalisierten Version des AKS-Verfahrens und der Interpolation,
Koordinaten gleichzeitiger mehrfacher Berührungen zu bestimmen.
Darüber hinaus geschieht dies unter Verwendung eines relativ
groben Gitters von Fühlerelementen, wobei die Interpolation
eine Auflösung in feinerem Maßstab bietet, als
sie durch die Fühlerelemente festgelegt ist. Auf diese
Weise wird ein relativ genaues Erfassen mehrfacher Berührungen
mit einer relativ geringen Anzahl von Erfassungskanälen
durchgeführt. In dem dargestellten Beispiel werden nur
8 Erfassungskanäle benutzt.
-
Das
Verfahren nach der ersten Ausführungsform kann ausgeweitet
werden, indem die zeitliche Entwicklung der Signale berücksichtigt
wird, sodass sich bewegende Berührungen verfolgt werden.
-
5 zeigt
ein Beispiel, bei dem zwei Berührungen verfolgt werden.
Es könnte mehr als zwei zu verfolgende Objekte geben. Das
hier beschriebene Verfahren kann auf eine beliebige Anzahl von Objekten
angewandt werden.
-
Zum
Zeitpunkt t1 werden zwei Berührungen an den Positionen 501 und 502 erfasst.
Die Stelle dieser Berührungen zum Zeitpunkt t1 wurde unter
Benutzung des oben beschriebenen Verfahrens gefunden. Nach einem
gegebenen Zeitintervall wird der Sensor zu einem Zeitpunkt t2 erneut
abgefragt. Wieder werden zwei Berührungen erkannt. Diese
befinden sich an den Positionen 503 und 504. Um
zu bestimmen, welche Berührung (d. h. 501 oder 502)
zum Zeitpunkt t1 sich zu welcher Berührung (503 oder 504)
zum Zeitpunkt t2 verschiebt, wird die Weglänge aller möglichen
Wege zwischen den Berührungsstellen berechnet. In dem Beispiel in 5 gibt
es vier mögliche Wege, die in 5 als P(1,
1), P(1, 2), P(2, 1) und P(2,2) bezeichnet sind. Für dieses
Beispiel gibt es jedoch nur zwei mögliche Kombinationen
zum Verschieben von Positionen 501 und 502 zu
Positionen 503 und 504, nämlich:
- 501 verschiebt
sich zu 503, und 502 verschiebt sich zu 504 (Kombination
1)
- 501 verschiebt sich zu 504, und 502 verschiebt
sich zu 503 (Kombination 2)
-
Die
Gesamtstrecke für jede der Kombinationen wird durch Benutzen
der x- und y-Koordinaten der vier Berührungspositionen
gefunden. Die Kombination mit dem niedrigsten Streckenwert stellt
die kürzeste Verschiebungsstrecke für die beiden
Objekte und daher die wahrscheinlichste Verschiebungskombination
für die beiden Objekte dar. Wenn zum Beispiel die Kombination 1 den
niedrigsten Streckenwert aufweist, dann verschiebt sich die Berührung 501 zur
Berührung 503, und die Berührung 502 verschiebt
sich zur Berührung 504.
-
Der
Host-Controller 209 gibt zu diskreten Zeitpunkten t1, t2
... auf der Ausgangsleitung 210 eine Reihe von Positionskoordinaten
von Objekten T1 bis Tn aus. Der Host-Controller 209 fragt
den Positionssensor in festen oder variablen Zeitintervallen ab.
Nach dem Abfragen des Positionssensors berechnet der Host-Controller,
ob das erfasste Objekt ein neues Objekt ist oder nicht, oder ob
es dasselbe Objekt ist, das sich zu einer anderen Position auf dem
Positionssensor bewegt hat. Um zu bestimmen, welches dieser beiden
Szenarien wahr ist (d. h. ein neues Objekt oder ein altes Objekt,
das seine Stelle geändert hat), könnte der Host-Controller die
Daten aus aufeinanderfolgenden Abfragezyklen benutzen. Wenn ein
Objekt zum Beispiel in zwei aufeinanderfolgenden Abfragezyklen vorhanden
ist, betrachtet der Host-Controller dies als dasselbe Objekt, das
sich zu einer anderen Stelle bewegt. Damit wird das Verfolgen dieses
Objekts ausgelöst. Wenn das Objekt jedoch im nächsten
Abfragezyklus nicht erfasst wird, dann würde die Berührung
ignoriert werden. Wenn darüber hinaus nach weiteren zwei
aufeinanderfolgenden Abfragezyklen ein neues Objekt auf dem Positionssensor
entdeckt würde, würde es auf die oben beschriebene
Weise verfolgt werden.
-
Um
das Verfolgen von Objekten über einen Zeitraum von 10 Zeitintervallen
zu erläutern, ist in der nachstehenden Tabelle eine Reihe
von Koordinaten wahrgenommener, auf der Leitung
210 ausgegebener
Berührungen gezeigt. Die beiden erfassten Berührungen
in
4H werden als Ausgangspunkt benutzt. Bei diesem
Beispiel können zu einem gegebenen Zeitpunkt nur zwei Berührungen
am Berührungssensor wahrgenommen werden. Die Tabelle zeigt
sowohl diskrete (d. h. nicht verfolgte) Berührungen als
auch verfolgte Berührungen.
Zeitintervall | T1
diskret | T2
diskret | T1
verfolgt | T2
verfolgt |
T1 | (3,
2) | (16,
35) | - | - |
T2 | (4,
2) | (18,
35) | (4,
2) | (18,
35) |
T3 | | - | (5,
10) | (20,
30) |
T4 | | - | (10,
15) | (18,
26) |
T5 | | | (15,
15,) | - |
T6 | | (0,
40) | (15,
20) | - |
T7 | | (5,
36) | (10,
20) | (5,
36) |
T8 | | | | (10,
36) |
T9 | | | | (15,
36) |
T10 | (5,
12) | | | (15,
30) |
-
Alternativ
könnte der Host-Controller zum Berechnen des Verfolgens
von Objekten eine maximal zulässige Verschiebungsstrecke
benutzen, über die sich ein Objekt von einer Position zu
einer anderen verschieben kann. Wenn zum Beispiel zu einem Zeitintervall
eine einzelne Berührung am Positionssensor wahrgenommen
würde und dann eine zweite Berührung zum nächsten
Zeitintervall wahrgenommen würde, aber der Abstand zwischen
den beiden Berührungen über dem vorgegebenen maximalen
Abstand läge, würde dies als neues Objekt und
nicht als dasselbe, sich zu einer anderen Position bewegendes Objekt
behandelt werden. Außerdem könnte das Verfolgungsverfahren
eine Kombination des weiter oben beschriebenen Verfahrens und des
hier beschriebenen Verfahrens sein.
-
Es
wurde ein Verfahren zum Erfassen mehrfacher Berührungen
gemäß der ersten Ausführungsform beschrieben.
Nun wird eine weitere Ausführungsform der vorliegenden
Erfindung beschrieben.
-
6A zeigt
schematisch in der Draufsicht einen berührungsempfindlichen
kapazitiven 2D-Positionssensor 601 gemäß einem
weiteren Ausführungsbeispiel der Erfindung. Der berührungsempfindliche
kapazitive 2D-Positionssensor wird benutzt, um zu beschreiben, wie
der in 7 gezeigte Algorithmus benutzt wird, um die Position
mehrerer Objekte in der Nähe des Positionssensors zu berechnen.
-
Der
berührungsempfindliche kapazitive 2D-Positionssensor 601 dient
dazu, die Position eines Objekts entlang einer ersten (x) und einer
zweiten (y) Richtung zu bestimmen. Der Sensor 601 umfasst
ein Substrat 602, das ein eine empfindliche Fläche
des Sensors festlegendes Elektrodenmuster 603 trägt,
sowie eine Steuerung 604. In dieser Ausführungsform
befindet sich das Elektrodenmuster auf beiden Seiten des Substrats.
In anderen Ausführungsformen kann das Elektrodenmuster 603 auf
einer Seite des Substrats angeordnet sein.
-
Das
Elektrodenmuster 603 auf dem Substrat 602 kann
unter Verwendung herkömmlicher Techniken (z. B. Lithografie,
Abscheidung oder Ätztechnik) erstellt werden. Das Substrat 603 in
diesem Beispiel besteht aus einem transparenten Kunststoffmaterial,
in diesem Fall Polyethylenterephthalat (PET). Die Elektroden, aus denen
das Elektrodenmuster besteht, bestehen aus einem transparenten leitfähigen
Material, in diesem Fall aus Indiumzinnoxid (ITO). Daher ist die
empfindliche Fläche des Sensors als Ganzes transparent.
Dies bedeutet, dass der Sensor ohne Sichteinschränkung über
einer darunter liegenden Anzeige benutzt werden kann. In anderen
Ausführungsformen könnte der Sensor jedoch undurchsichtig
sein, z. B. ein Substrat aus einer herkömmlichen Leiterplatte
oder ein anderes Substrat mit einem Kupferelektrodenmuster umfassen,
z. B. zur Verwendung in einer Tastatur für ein Mobiltelefon.
-
Die
Steuerung 604 sieht die Funktionalität von Treibereinheiten 605 zum
Speisen von Treibersignalen in Teilbereiche des Elektrodenmusters 603 vor,
eine Erfassungseinheit 606 zum Erfassen von Signalen von anderen
Teilbereichen des Elektrodenmusters 603 sowie eine Verarbeitungseinheit 607 zum
Berechnen der Position von Objekten in der Nähe des Positionssensors
auf Grundlage der verschiedenen Erfassungssignale, die für
Treibersignale gesehen werden, welche an verschiedene Teilbereiche
des Elektrodenmusters angelegt werden. Die Steuerung 604 steuert
auf diese Weise den Betrieb der Treiber- und Erfassungseinheiten
sowie das Verarbeiten von Antworten von der Erfassungseinheit 606 in
der Verarbeitungseinheit 607, um die Position von Objekten,
z. B. eines Fingers oder Stifts, in der Nähe des Positionssensors 601 zu
bestimmen. Die Treibereinheit 605, die Erfassungseinheit 606 und
die Verarbeitungseinheit 607 sind in 6A schematisch
als separate Elemente innerhalb der Steuerung gezeigt. Im Allgemeinen
werden jedoch die Funktionalitäten all dieser Elemente
durch eine einzige integrierte Schaltung vorgesehen sein, zum Beispiel
einen geeignet programmierten Allzweck-Mikroprozessor, ein Field
Programmable Gate Array oder einen Application Specific Integrated
Circuit.
-
Die 6B und 6C zeigen
schematisch jeweilige Ansichten von Elektrodenmustern auf einer
Vorderfläche und einer Rückfläche eines
Substrats eines kapazitiven 2D-Positionssensors 601.
-
Es
sei bemerkt, dass 6B als Vorderansicht und 6C als
Rückansicht bezeichnet wird. Es ist jedoch einzusehen,
dass die Begriffe „Vorder-” und „Rück-” aus
Zweckmäßigkeit benutzt werden, um sich auf gegenüberliegende
Seiten (Flächen) des Sensorsubstrats zu beziehen. Die Begriffe
sollen keine besondere räumliche Ausrichtung des Sensors
oder seines Substrats angeben. Der Begriff „vorn” wird
im Allgemeinen benutzt, um die Seite eines Sensors zu bezeichnen,
die typischerweise zu einem zu erfassenden Objekt gerichtet ist,
wenn sich der Sensor im normalen Gebrauch befindet. Der Begriff „hinten” wird
im Allgemeinen benutzt, um die gegenüberliegende Seite
zu bezeichnen (d. h. die Seite, die typischerweise im normalen Gebrauch
von einem zu erfassenden Objekt weg gerichtet ist). Auch dann ist
einzusehen, dass das Sensorsubstrat in vielen, wenn nicht in allen
Fällen vollständig umkehrbar ist, da der Sensor
funktioniert, gleichgültig von welcher Seite sich ein zeigendes
Objekt nähert (d. h. gleichgültig, welche Seite
als Vorderseite und welche Seite als Rückseite betrachtet
wird).
-
Das
Elektrodenmuster auf der Vorderseite des Substrats (6B)
umfasst eine Vielzahl von miteinander verbundenen Erfassungselementen 609 (schwarz
dargestellt) und eine Vielzahl von Treiberelementen 610 (mittelgrau
dargestellt).
-
Die
Erfassungselemente 609 weisen eine allgemein kreisförmige
Form auf und sind in einer regelmäßigen 5×7-Matrix über
das gesamte Sensorsubstrat angeordnet. Die Erfassungselemente 609 sind
durch eine geeignete Anordnung von Erfassungselement-Verbindungsbahnen 611 (in 6B ebenfalls
schwarz dargestellt) miteinander verbunden. Dies wird in diesem
Beispiel durch direktes Verbinden jedes Erfassungselements mit seinen
Nachbarn in horizontalen Zeilen erreicht. Die horizontalen Zeilen
direkt verbundener Erfassungselemente sind dann untereinander durch
eine Verbindungsbahn verbunden, die an der linken Seite des in 6B gezeigten
Elektrodenmusters herabläuft. Auf diese Weise sind alle
Erfassungselemente miteinander verbunden, um eine einzige Erfassungselektrode
vorzusehen, die miteinander verbundene, in beiden Dimensionen über
die empfindliche 2D-Fläche des Sensors verteilte Erfassungselemente
umfasst. Die Erfassungselektrode ist über Erfassungselektroden-Verdrahtung
mit einem Erfassungskanal S in einer Erfassungseinheit innerhalb
der Steuerung des Sensors (z. B. einer Steuerung wie in 6A gezeigt)
gekoppelt. Der Erfassungskanal S wird durch die Steuerung gesteuert,
um eine in die miteinander verbundene Gruppe von Erfassungselementen
gekoppelte Ladungsmenge zu bestimmen.
-
Die
in 6B gezeigten Treiberelemente 610 an der
Seite des Substrats sind in einer regelmäßigen 5-mal-6-Matrix über
das Sensorsubstrat angeordnet. Jeweilige der Treiberelemente befinden
sich nahe und zwischen jeweiligen der Erfassungselemente 609.
Diese Anordnung ergibt so Spalten von alternierenden Erfassungs-
und Treiberelementen. Die Treiberelemente und die Erfassungselemente
weisen einen engen Abstand zueinander auf. Die Treiberelemente 610 sind
allgemein sechseckig (in diesem Beispiel unregelmäßig), jedoch
mit nach innen gekrümmten Kanten an Seiten, die an die
Erfassungselemente 609 angrenzen, um sich an die Kreisform
der Erfassungselemente anzupassen. Die Treiberelemente in jeder
Zeile sind durch eine geeignete Anordnung von Treiberelement-Verbindungsbahnen 612 (in 6B ebenfalls
mittelgrau dargestellt) miteinander verbunden.
-
So
kann die Vielzahl von Treiberelementen 610 an der Seite
des in 6B gezeigten Sensorsubstrats als
in sechs Zeilenelektroden X1, X2,
X3, X4, X5 und X6 angeordnet
betrachtet werden. Bei der in 6B gezeigten
Ausrichtung verlaufen diese Zeilen horizontal und haben vertikal
einen Abstand zueinander. Die Begriffe vertikal und horizontal,
oben und unten und so weiter werden hierin allgemein benutzt, um
sich auf die Ausrichtung von Sensoren zu beziehen, wie sie in der
Zeichnung gezeigt werden, sofern der Kontext nichts Anderes erfordert.
Es ist einzusehen, dass die Begriffe sich auf keine besondere Ausrichtung
für einen Sensor beziehen sollen, wenn er sich im normalen
Gebrauch befindet. Weiter ist einzusehen, dass die Begriffe Spalte und
Zeile nur als Bezeichnungen benutzt werden, um eine einfache Unterscheidung
zwischen zwei verschiedenen beliebigen Richtungen zu erlauben, in
diesem Fall zwischen einer vertikalen und einer horizontalen Richtung,
aber im Allgemeinen brauchen die Zeilen und Spalten nicht rechtwinklig
zu sein.
-
Jede
Zeile von Treiberelementen (d. h. jede Zeilenelektrode) ist über
die Zeilentreiberverdrahtung mit einem jeweiligen Treiberkanal XD1, XD2, XD3, XD4, XD5 und XD6 innerhalb
der Treibereinheit der Steuerung des Sensors gekoppelt. In diesem
Beispiel ist für jede Zeilenelektrode ein separater Treiberkanal
vorgesehen. Jedoch kann auch ein einziger Treiberkanal mit geeignetem
Multiplexen benutzt werden. Die Treiberkanäle werden durch
die Steuerung gesteuert, um Treibersignale an entsprechende der
Zeilen von Treiberelementen (Zeilenelektroden) anzulegen, wie weiter
unten beschrieben.
-
Das
Elektrodenmuster der Rückseite des Substrats (6C)
umfasst eine weitere Vielzahl von Treiberelementen 613 (in
der Figur wieder mittelgrau dargestellt). Diese Treiberelemente 613 sind
in einer regelmäßigen 4-mal-7-Matrix über
das Sensorsubstrat angeordnet. Die Lage der Treiberelemente 613 auf
dieser Seite des Substrats bezüglich des in 6B gezeigten
Elektrodenmusters auf der Vorderseite des Substrats ist in 6C aus
der hellgrauen Darstellung des in 6B gezeigten
Elektrodenmusters zu ersehen. So liegen die Treiberelemente 613 auf
der Rückseite des Substrats (in der projizierten Draufsicht)
zwischen den Erfassungselementen 609, sodass sich Zeilen
alternierender Erfassungs- und Treiberelemente ergeben. Die Treiberelemente 613 und
die Erfassungselemente (in der Projektion) überlappen sich
nicht. Die Treiberelemente 613 sind allgemein sechseckig, aber
mit nach innen gekrümmten Ausschnitten an Ecken, die an
die Projektion der Erfassungselemente 609 auf die Rückseite
des Substrats angrenzen, um sich ohne Überlappung an die
Kreisform der Erfassungselemente anzupassen. Die Treiberelemente 613 in
jeder Spalte sind durch eine geeignete Anordnung von Treiberelementspalten-Verbindungsbahnen 614 (in 6B ebenfalls
mittelgrau dargestellt) miteinander verbunden.
-
So
kann die Vielzahl von Treiberelementen 613 auf der Rückseite
des in 6C gezeigten Sensorsubstrats
als in vier Spaltenelektroden Y1, Y2, Y3 und Y4 angeordnet betrachtet werden. Bei der in 6C gezeigten
Ausrichtung verlaufen diese Spaltenelektroden vertikal und weisen
horizontal einen Abstand zueinander auf.
-
Jede
Spalte von Treiberelementen 613 ist über eine
Spaltentreiberverdrahtung mit einem jeweiligen Treiberkanal YD1, YD2, YD3 und YD9 innerhalb
der Steuerung des Sensors gekoppelt. Diese Treiberkanäle
können mit den Treiberkanälen XD1,
XD2, XD3, XD4, XD5 und XD6 identisch sein, die mit den Zeilenelektroden
gekoppelt sind. In diesem Beispiel ist für jede Spaltenelektrode
ein separater Treiberkanal vorgesehen. Jedoch kann auch ein einziger
Treiberkanal mit geeignetem Multiplexen benutzt werden. Die Treiberkanäle
werden durch die Steuerung gesteuert, um entsprechende der Spalten
von Treiberelementen 613 mit Treibersignalen zu beaufschlagen,
wie weiter unten beschrieben. (Ein einzelner Treiberkanal mit geeignetem
Multiplexen kann die Funktionalität aller Treiberkanäle
XD1, XD2, XD3, XD4, XD5, XD6, YD1, XD2, YD3 und YD9 übernehmen.)
-
6A zeigt
schematisch eine Vorder-Draufsicht des in den 6B und 6C gezeigten
Sensors 608, in der die Elektrodenmuster sowohl auf der
Vorderseite (6B) als auch der Rückseite
(6C) zusammen gezeigt sind.
-
So
umfasst der Sensor
608 eine Vielzahl von angesteuerten
Zeilenelektroden, eine Vielzahl von angesteuerten Spaltenelektroden
und eine einzelne Erfassungselektrode, die ein Netzwerk miteinander
verbundener Erfassungselemente umfasst, die zwischen den angesteuerten
Zeilenelektroden und Spaltenelektroden über die empfindliche
Fläche des Positionssensors eingefügt sind. Jede
benachbarte Paarung eines Treiberelements
610,
613 und
eines Erfassungselements
609 (in der Projektion gesehen,
d. h. unabhängig davon, ob sich das Treiber- und das Erfassungselement
auf derselben Seite des Substrats befinden) kann als einer diskreten
Positionssensorfläche entsprechend betrachtet werden. Im
Gebrauch wird die Position eines Objekts in einem Messerfassungszyklus
bestimmt, bei dem die Spalten- und Zeilenelektroden sequentiell
durch ihre jeweiligen Treiberkanäle angesteuert werden
und die auf die Erfassungselektrode von jeder angesteuerten Zeilen-
und Spaltenelektrode übertragene Ladungsmenge durch den
Erfassungskanal ermittelt wird, wie im
US-Patent 6,452,514 beschrieben.
-
Die
Signalwerte, welche eine durch die Erfassungseinheit 606 gemessene
anliegende kapazitive Last angeben, werden der Verarbeitungsschaltung 607 zugeführt.
Der Positionssensor wird als eine Reihe diskreter Tasten behandelt.
Die Positionen der diskreten Tasten befinden sich an den Schnittpunkten
der x- und y-Treiberelemente. Die Verarbeitungsschaltung 607 ist
eingerichtet, einen Signalwert zu bestimmen, der für jede
der diskreten Tasten eine mit ihr verknüpfte anliegende
kapazitive Last angibt. Die Positionen der diskreten Tasten und
die zugehörigen Signalwerte, die eine anliegende kapazitive
Last angeben, werden einem Host-Controller 615 gemeldet.
Der Host- Controller 615 berechnet, wie viele Berührungen
am Positionssensor vorliegen und interpoliert die Positionen der
mehrfachen Berührungen. Der Host-Controller kann ein einzelner
Logikbaustein sein, wie etwa ein Mikrocontroller. Der Mikrocontroller
kann vorzugsweise einen CMOS-Anschlussaufbau vom Gegentakttyp sowie
einen Eingang aufweisen, der als Spannungskomparator eingesetzt
werden kann. Die meisten üblichen Mikrocontroller-E/A-Anschlüsse
sind dazu in der Lage, da sie eine relativ feste Eingangsschwellenspannung
sowie fast ideale MOSFET-Schalter aufweisen. Die erforderlichen
Funktionen kann ein einzelner programmierbarer Allzweck-Mikroprozessor,
Mikrocontroller oder eine andere integrierte Schaltung, zum Beispiel
ein Field Programmable Gate Array (FPGA) oder Application Specific
Integrated Chip (ASIC) ausführen.
-
Es
wurde die Gestaltung und die Funktion des berührungsempfindlichen
kapazitiven 2D-Positionssensors 601 in 6A beschrieben.
Nun wird auf 7 und 8 Bezug
genommen, um die Erläuterung zu unterstützen,
wie der berührungsempfindliche kapazitive 2D-Positionssensor 601 von 6A benutzt
wird, um die Position von einzelnen oder mehrfachen Berührungen
des Positionssensors zu finden.
-
7 ist
ein Flussdiagramm, das Schritte des in Hardware, Firmware oder Software
im Host-Controller 615 verkörperten Signalverarbeitungsverfahrens
zeigt. Die 8A bis 8E zeigen
die 4×6-Matrix von Berührungstasten im Touchpanel
nach dem zweiten Ausführungsbeispiel nacheinander an verschiedenen
Punkten der Verarbeitung der beispielhaften Menge von Berührungseingaben.
-
8A zeigt
ein 4×6-Gitternetz mit den Rohdatenwerten der bei einer
einzelnen Erfassung in Schritt S701 von 7 erfassten
Signale. Jedes der Gitterfelder stellt eine der diskreten Tasten
des kapazitiven Positionssensors 601 dar. Zwei gleichzeitige
Fingerberührungen liegen an den durch gestrichelte Linien
angegebenen Positionen vor. Die Rohdatenwerte sind in willkürlichen
Einheiten angegeben. Eine Fingerberührung liegt nahe der
oberen linken Ecke des Panels und eine weitere Fingerberührung
nahe der unteren rechten Ecke des Panels.
-
8B zeigt
als schattierte Felder die Positionen derjenigen fünf Tasten,
die Signale oberhalb der Schwelle abgegeben haben, d. h. der „wahrgenommenen” Tasten.
Jede der diskreten Tasten wird durch K(a, b) bezeichnet, wobei „a” die
Spalten-Position ist, beginnend mit „1” links
im Gitter, und wobei „b” die Zeilen-Position ist,
beginnend mit „1” oben im Gitter. (D. h. das schattierte
Element 802 in 8B ist
K(1, 1).) Die Stellen der „wahrgenommenen” Tasten
sind K(1, 1), K(2, 2), K(3, 3), K(3, 5) und K(4, 5).
-
In
Schritt S701 werden die Signalwerte jeder der diskreten Tasten von
der Verarbeitungsschaltung 607 erfasst, die eine am Positionssensor 601 anliegende
kapazitive Last angeben.
-
In
Schritt S702 wird bestimmt, ob Signale oberhalb des Schwellwerts
vorliegen. Wenn keines der von der Verarbeitungsschaltung 607 erfassten
Signale „wahrgenommen” ist, kehrt der Algorithmus
zu Schritt S701 zurück und erfasst eine neue Menge diskreter
Tastensignalwerte. Das setzt sich fort, bis entweder mindestens einer
der diskreten Tastensignalwerte größer oder gleich
Vt ist oder die Schleife durch ein entsprechendes Steuersignal beendet
wird. Es ist einzusehen, dass der Zeitraum zwischen Signalerfassungen über
die Zeit erhöht werden kann, um Energie zu sparen, wenn
keine Signale oberhalb der Schwelle empfangen werden. Eine weitere
Option ist es, die Tauchpanel-Einrichtung nach einem bestimmten
Zeitraum ohne Empfang von Signalen oberhalb des Schwellwerts vollständig
zu deaktivieren, d. h. in einen Schlafmodus zu versetzen, was zur
Reaktivierung eine separate Steuereingabe erfordert.
-
In
Schritt S703 werden alle wahrgenommenen Signalwerte miteinander
verglichen, um die diskrete Taste mit dem höchsten Signalwert
zu finden. Der höchste wahrgenommene Signalwert ist derjenige
der diskreten Taste an der Stelle K(2, 2) 803. Die Taste
mit dem höchsten Signalwert aus den wahrgenommenen diskreten
Tasten ist als T1 803 gekennzeichnet.
-
In
Schritt 704 werden alle Tasten unterdrückt, die
an die zugeordnete Taste T1 803 angrenzen, sodass diese
Tasten in weiteren Verarbeitungsschritten ignoriert werden. Der
Bereich des Positionssensors, der an die zugeordnete Taste T1 803 angrenzt,
ist in 8C durch eine gestrichelte Umgrenzung 804 gezeigt.
-
8C zeigt
die Position zweier Tasten, die in Schritt S704 unterdrückt
wurden, durch die jetzt unschattierten Gitterfelder 805.
Die unterdrückten Tasten befinden sich an den Gitterstellen
K(1, 1) und K(3, 3).
-
In
Schritt S705 werden die Signalwerte der übrigen diskreten
Tasten mit dem Schwellwert Vt verglichen. Wenn keines der übrigen
Tastensignale größer als der oder gleich dem Schwellwert
Vt ist, springt der Prozessablauf zu Schritt S709. Wenn es andererseits
wahrgenommene Matrixtasten mit einem Signalwert gibt, der größer
als der oder gleich dem Schwellwert Vt ist, wird die Zuordnung einer
Berührungsposition auf Grundlage der Taste mit dem nächsthöchsten
Signalwert wiederholt. Bei den in 8C gezeigten
Beispiel-Eingaben liegen die übrigen wahrgenommenen diskreten
Tastensignalwerte an den Stellen K(3, 5) und K(4, 5).
-
In
Schritt S706 werden die Signalwerte von den übrigen wahrgenommenen
Tasten miteinander verglichen, um den höchsten zu finden.
Der höchste Signalwert befindet sich im Beispiel bei der
diskreten Tastenstelle K(4, 5) 806, die mit T2 bezeichnet
ist.
-
In
Schritt 707 werden alle Tasten unterdrückt, die
an die zugeordnete Taste T2 806 angrenzen, sodass diese
Tasten in weiteren Verarbeitungsschritten ignoriert werden. Der
Bereich des Positionssensors, der an die zugeordnete Taste T2 806 angrenzt,
ist in 8C durch eine gestrichelte Umgrenzung 807 gezeigt.
-
8D zeigt
die Stelle der Taste, die unterdrückt ist, durch die nun
unschattierte diskrete Stelle K(4, 5) 808.
-
In
Schritt S708 werden Signalwerte verbleibender diskreter Tasten mit
dem Schwellwert Vt verglichen. Wenn keine der übrigen Tastensignale
größer als der oder gleich dem Schwellwert Vt
sind (wie im dargestellten Beispiel), wird Schritt S709 des Algorithmus
ausgeführt. Wenn jedoch Tasten mit Signalwerten oberhalb
der Schwelle verbleiben, wird der Algorithmus von Schritt S706 bis
S708 wiederholt, um eine weitere diskrete Taste T3 zuzuordnen. Dieses
Verfahren wird wiederholt, bis Schritt S708 einen Nullwert ausgibt.
-
An
diesem Punkt im Verfahren ist die Zuordnung der Position der Berührungen
auf dem Positionssensor beendet, und das Verfahren geht zu einem
weiteren Stadium über, nämlich einem Interpolationsschritt.
-
In
Schritt S709 wird eine Interpolation ausgeführt. Das Interpolationsverfahren
ist dasselbe wie bereits oben für die erste Ausführungsform
beschrieben.
-
Weiter
kann auch das Verfolgen von Berührungen ausgeführt
werden, um eine geordnete Ausgabe aus dem Prozessor vorzusehen,
wobei Koordinaten von aufeinanderfolgenden Datenabtastungen in Datenketten
ausgegeben werden, wenn angenommen wird, dass sie von demselben
Objekt stammen, das sich über das Touchpanel bewegt. Das
Verfolgen kann auf dieselbe Weise ausgeführt werden, wie
bereits oben in Verbindung mit der ersten Ausführungsform
beschrieben.
-
Der
Host-Controller 615 gibt zu diskreten Zeitpunkten t1, t2
... auf der Ausgangsleitung 616 eine Reihe von Positionskoordinaten
von Objekten T1 bis Tn aus. Der Host-Controller 616 fragt
den Positionssensor 601 in festen Zeitintervallen ab.
-
Es
ist anzumerken, dass es bei der zweiten Ausführungsform
möglich ist, mehrfache Berührungen am Positionssensor
zu erkennen, die einen Trennabstand von nur einer diskreten Taste
aufweisen. Der Signalwert von der diskreten Taste wird während
der Berechnung der Koordinaten der Berührungen am Positionssensor mitbenutzt.
Vorzugsweise in dieser Situation wird der Interpolationsalgorithmus
gewichtet, sodass mitbenutzten Tasten eine reduzierte Gewichtung
gegeben wird, zum Beispiel die halbe Gewichtung. Obwohl es im Prinzip
wünschenswert ist, mehrfache Berührungen erkennen
zu können, die dicht beieinander liegen, sei bemerkt, dass
dies bei der zweiten Ausführungsform möglicherweise
zu Lasten eines Verlusts an Zuverlässigkeit geht, indem
die beiden engen, durch den Prozessor bei der zweiten Ausführungsform
ausgegebenen Berührungen in Wirklichkeit möglicherweise
nicht zwei getrennte Betätigungen, sondern eine einzelne
Betätigung durch ein größeres Objekt
sein könnten, und diese beiden Möglichkeiten nicht
unterscheidbar sind.
-
Die
zweite Ausführungsform kann so als eine vereinfachte Form
der ersten Ausführungsform betrachtet werden. Es gibt zwei
Haupt-Vereinfachungen. Erstens besteht kein Erfordernis, dass einer
der Kapazitätssignalwerte unterhalb eines Minimalwerts
liegen muss (d. h. kein Analogon zu Schritt S303 der ersten Ausführungsform).
Zweitens ist die Form der in der zweiten Ausführungsform
ausgeführten lokalisierten AKS insofern primitiv, als die
Taste mit dem höchsten Signalwert in dem Bereich diejenige
ist, die ausgewählt wird. Es ist einzusehen, dass Merkmale
aus den beiden Ausführungsformen untereinander ausgetauscht
werden können. Zum Beispiel könnte die erste Ausführungsform
vereinfacht werden, indem das Erfordernis wegfällt, dass
einer der Kapazitätssignalwerte unterhalb eines Minimalwerts
liegen muss.
-
Es
ist einzusehen, dass an den beiden obigen Ausführungsformen
viele Variationen möglich sind.
-
Zum
Beispiel kann die Größe der LAKS-Bereiche so variiert
werden, dass sie einschließen: nur die 4 direkt oberhalb
und unterhalb angrenzenden Nachbarn; alle 8 direkt angrenzenden
Nachbarn (wie in den Beispielen dargestellt); oder die übernächsten
Nachbarn sowie die nächsten Nachbarn.
-
Eine
weitere Variation wäre es, das Erkennen der gewählten
Tasten T1, T2, ...
Tn zu iterieren, bis alle Erfassungselemente am Touchpanel durch
mindestens einen LAKS-Bereich abgedeckt sind, und erst danach eine
Schwellenprüfung anzuwenden.
-
Eine
weitere Variation bezieht sich auf die Interpolation, wobei die
Berührungsstelle durch Interpolieren zwischen allen Signalwerten
in dem LAKS-Bereich bestimmt wird. Damit wird die Notwendigkeit
vermieden, einen Verfahrensschritt zur Auswahl eines bestimmten
Elements innerhalb des LAKS-Bereichs als das Hauptelement durchzuführen,
auf dem die nachfolgende Interpolation beruht.
-
Es
sei auch bemerkt, dass bei den Verfahren der ersten und der zweiten
Ausführungsform die Interpolationsschritte weggelassen
werden könnten; in diesem Fall würde die Berührungsstelle
in jedem Bereich als Grund-Ausgabe des LAKS-Algorithmus genommen
werden. Dies wäre die bevorzugte Option, wenn es, wie z.
B. bei der Emulation einer Tastatur durch die „Soft”-Tasten,
eine Eins-Zu-Eins-Zuordnung zwischen den „Soft”-Tasten
des Touchpanels und den Erfassungselementen gäbe, d. h.
den durch das Elektrodenmuster festgelegen Sensorpositionen.
-
Es
ist auch einzusehen, dass, obwohl der Positionssensor 201 zum
Beschreiben der ersten Ausführungsform der vorliegenden
Erfindung benutzt wurde und der Positionssensor 601 zum
Beschreiben der zweiten Ausführungsform der vorliegenden
Erfindung benutzt wurde, diese untereinander austauschbar sind.
Der Positionssensor 201 ist ein Beispiel eines so genannten
passiven Sensors, bei dem der Kapazitätswert ein Wert ist,
der zwischen der Erfassungselektrode und einem Bezugspotential,
wie etwa der elektrischen Masse, auftritt, während der
Positionssensor 601 ein Beispiel eines so genannten aktiven
Sensors ist, bei dem der Kapazitätswert ein Maß für
die kapazitive Kopplung zwischen einer Abfrageleitung und einer
Erfassungsleitung ist, wobei das Ausmaß der Kopplung durch
ein Betätigungsobjekt beeinflusst wird und daher ein Maß für
letzteres ist. Es ist einzusehen, dass jede Form von passivem oder
aktivem Sensor für das Touchpanel benutzt werden kann,
nicht nur die beiden oben beschriebenen spezifischen Beispiele.
Weiterhin wäre es, obwohl rechteckige oder quadratische
Matrizen von Erfassungselementen weit verbreitet und praktisch sind,
technisch machbar, andere Verteilungen von Erfassungselementen vorzusehen.
Weiterhin brauchen die Erfassungselemente nicht aus Matrizen von
x- und y-Gitterlinien gebildet zu sein. Sie können aus
diskreten Tasten gebildet sein. Weiterhin können die Erfassungselemente
in gleichen oder ungleichen Abständen verteilt sein.
-
Es
ist einzusehen, dass die Erfindung in Anwendungen vom Maus-Typ eingesetzt
werden kann, d. h. bei Touchpads, die eine Mausbetätigung
emulieren, einschließlich der im
US-Patent 5,825,352 beschriebenen Betriebsweisen,
die hierin durch Verweis mit aufgenommen sind, wie etwa „zeigen
und klicken”, „zeigen und doppelklicken”, „ziehen”, „ziehen
und klicken”, „ziehen und fixieren” und „ink”,
wie dort definiert.
-
9A zeigt
schematisch den Anzeigemonitor 901 und eine Eingabeeinrichtung 902 eines
Personal Computers. In diesem Beispiel umfasst die Eingabeeinrichtung 902 eine
alphanumerische Tastatur 903, über die der Benutzer
Zeichen in den Personal Computer eingeben kann, und ein Touchpad 904,
das einer der in der vorliegenden Erfindung beschriebenen kapazitiven
Sensoren sein könnte. Es ist einzusehen, dass das Touchpad 904 eine
von der Tastatur 903 getrennte Einrichtung sein könnte.
Ein herkömmliches Computer-Touchpad könnte auch
eine Anzahl von „Maustasten” enthalten, sodass
der Benutzer einen Cursor bedienen und Objekte durch Klicken mit
einer der Maustasten auswählen kann. Obwohl ein herkömmliches
Touchpad die Möglichkeit zum Bewegen eines Cursors auf
dem Anzeigemonitor durch Bewegen eines Fingers über die
Fläche des Touchpads oder zum Betätigen als Maustaste
durch Antippen der Fläche des Touchpads mit einem Finger
bietet, kann das herkömmliche Touchpad nicht zum Durchführen
dieser beiden Funktionen gleichzeitig benutzt werden. Es ist einzusehen,
dass der Personal Computer innerhalb des Anzeigemonitors 901 enthalten
sein könnte, oder dass das Touchpad 904 eine der
Eingabeeinrichtungen eines Laptop-Computers sein könnte.
-
Das
in der vorliegenden Erfindung beschriebene Touchpad 904 erlaubt
dem Benutzer, zwei getrennte Finger zum Bedienen zweier verschiedener
Funktionen des Personal Computers zu benutzen. Zum Beispiel kann
der Benutzer einen auf dem Anzeigemonitor 901 dargestellten
Cursor unter Verwendung eines Fingers auf der Fläche des
Touchpads bewegen, während er einen anderen Finger benutzt,
um die Fläche des Touchpads 904 wie eine Maustaste
anzutippen, um Objekte auszuwählen. Dies könnte
benutzt werden, um Dateien zu organisieren, indem zuerst der auf
dem Anzeigemonitor 901 dargestellte Cursor mit einem ersten
Finger auf der Fläche des Touchpads bewegt wird, bis er über
der gewünschten Datei steht. Die Datei wird durch Setzen
eines zweiten Fingers auf die Fläche des Touchpads ausgewählt.
Die Datei wird dann durch Bewegen des ersten Fingers über
die Fläche des Touchpads zu einer anderen Stelle verschoben,
während der zweite Finger in Kontakt mit der Fläche
des Touchpads gehalten wird. Wenn sich die Datei an der neuen gewünschten
Stelle befindet, wird der zweite Finger von der Fläche
des Touchpads genommen, und die Auswahl der Datei ist aufgehoben.
Es ist einzusehen, dass in der obigen Beschreibung der zweite Finger
auch gleichzeitig mit dem ersten Finger bewegt werden könnte,
was dem Benutzer erlaubt, diese Funktion mit einer Hand auszuführen.
-
Eine
weitere Funktion, die mit der vorliegenden Erfindung umgesetzt werden
könnte, ist die Fähigkeit, unter Verwendung eines
Personal Computers zu „malen”, indem ein erster
Finger als Pinsel und ein zweiter Finger zum Auswählen
der gewünschten Farbe aus einer Palette auf dem Bildschirm
benutzt wird. Der erste Finger wird auf der Fläche des
Touchpads 904 benutzt, um einen herkömmlichen
primären Cursor zu steuern und damit ein Bild auf dem Computer
zu zeichnen, das auf dem Anzeigemonitor 901 dargestellt
wird. Innerhalb der Software realisiert und auf dem Anzeigemonitor 901 dargestellt
wäre eine Farbpalette, die einfach ausgewählt
werden kann. Der Benutzer würde einen sekundären
Cursor über die gewünschte Farbe der Palette bewegen,
die durch „Tippen” mit dem zweiten Finger auf
das Touchpad 904 gewählt würde. Der Benutzer
könnte den sekundären Cursor auch benutzen, um
zusätzlich zur Farbe in dem oben beschriebenen Verfahren
den Typ oder die Größe des Pinsels zu ändern.
Dies gäbe dem Benutzer mehr Freiheit beim Zeichnen eines
Bildes, weil der Benutzer den primären Cursor (Pinsel)
ständig auf dem Bild halten könnte.
-
9B zeigt
schematisch ein Mobiltelefon 905, in das ein Touchpad-Sensor 907 gemäß der
vorliegenden Erfindung eingebaut ist. Der Touchpad-Sensor ist vor
dem Anzeigebildschirm 906 eingebaut, sodass der Anzeigebildschirm
vom Benutzer immer noch betrachtet werden kann, während
er eine kapazitive Kopplung zwischen dem Finger oder Stift des Benutzers
und dem Touchpad-Sensor 907 erlaubt. In diesem Beispiel der
vorliegenden Erfindung kann der Benutzer auf dem Anzeigebildschirm
dargestellte Objekte unter Verwendung eines Fingers oder Stifts
auf dem Touchpad auswählen und bewegen. Das Touchpad ist
in den Anzeigebildschirm eingebaut; daher folgt der „Cursor” der
Bewegung des Fingers oder des Stifts des Benutzers. Dieselben Funktionen
wie diejenigen, die oben für 9A beschrieben
wurden, könnten auf dieses in 9B gezeigte
Beispiel der vorliegenden Erfindung angewandt werden.
-
Alternativ
könnte die Fläche des Touchpads 907 aufgeteilt
sein, sodass eine Fläche des Sensors nur zum Anschauen
des Anzeigebildschirms 906 benutzt würde und eine
Fläche des Sensors nur als herkömmlicher Touchpadsensor
benutzt würde, wodurch der Benutzer auf dieselbe Weise
wie oben beschrieben einen Cursor bewegen und Objekte anwählen
könnte.
-
Eine
weitere Funktion, die mit der vorliegenden Erfindung umgesetzt werden
könnte, ist die Steuerung eines Spiels auf dem Mobiltelefon 905.
Obwohl das Touchpad 907 die gesamte Fläche als
Anzeigebildschirm 906 bedeckt, könnte es so aufgeteilt
sein, dass sich Benutzerbedienungen links und rechts von einer mittleren Anzeigefläche
befinden. Der Benutzer wäre in der Lage, zwei Finger oder
Daumen zu benutzen, einen an jeder der linken und der rechten Seite
des Touchpads 907, sodass er zwei verschiedene Funktionen
eines Spiels steuern könnte. Zum Beispiel könnte
der linke Teilbereich des Touchpads 907 eine Bewegungssteuerung
sein, die „auf”, „ab”, „links” und „rechts” umfasste,
und der rechte Bedienungsbereich des Touchpads 907 könnte eine
Reihe von Schaltflächen sein. Zum Beispiel könnte
dies in einem Fahrspiel benutzt werden, in dem die Steuerungen für
linke und rechte Bewegung links auf dem Touchpad 907 benutzt
werden, um zu lenken, und die Schaltflächen rechts auf
dem Touchpad 907 benutzt werden, um das Fahrzeug in dem
Spiel zu beschleunigen und abzubremsen.
-
Zusammengefasst
ist aus dem Obigen zu verstehen, dass ein kapazitives Touchpanel
geschaffen werden kann, das in der Lage ist, mehrfache gleichzeitige
Berührungen zu erkennen. Das Touchpanel liefert Mengen
von Kapazitätssignalwerten an einen Prozessor, der die
Koordinaten einzelner oder mehrfacher Berührungsstellen
auf dem Touchpanel berechnet. Das Verarbeiten jeder Menge wird durchgeführt
durch (i) Erkennen des Erfassungselements, das den größten
Kapazitätssignalwert aufweist; (ii) Festlegen eines Bereichs
um dieses Erfassungselement; und (iii) Wiederholen des Verfahrens
iterativ, wobei jeder nachfolgende Erkennungsschritt Signale ausschließt,
die in zuvor festgelegten Bereichen liegen. Es wird so ein Sensor
für mehrfache Berührungen geschaffen, bei dem
die Signalverarbeitung auf aufeinanderfolgender Festlegung von Bereichen
oder Unterblöcken im Touchpanel beruht. Die Berührungsstelle
in jedem Bereich kann genauer festgelegt werden, indem dann eine
Interpolation zwischen den angrenzenden Signalwerten vorgenommen
wird. Dies ermöglicht eine Positionsauflösung
in feinerem Maßstab als durch das Elektrodenmuster des
Touchpanels vorgegeben.
-
Zusammenfassung:
-
Es
wird ein kapazitives Touchpanel geschaffen, das in der Lage ist,
mehrfache gleichzeitige Berührungen zu erkennen. Das Touchpanel
liefert Mengen von Kapazitätssignalwerten an einen Prozessor,
der die Koordinaten einzelner oder mehrfacher Berührungsstellen
auf dem Touchpanel berechnet. Das Verarbeiten jeder Menge wird durchgeführt
durch (i) Erkennen des Erfassungselements, das den größten
Kapazitätssignalwert aufweist; (ii) Festlegen eines Bereichs
um dieses Erfassungselement; und (iii) iteratives Wiederholen des
Verfahrens, wobei jeder nachfolgende Erkennungsschritt Signale ausschließt,
die in zuvor festgelegten Bereichen liegen. Es wird so ein Sensor
für mehrfache Berührungen geschaffen, bei dem
die Signalverarbeitung auf aufeinanderfolgender Festlegung von Bereichen
oder Unterblöcken im Touchpanel beruht. Die Berührungsstelle in
jedem Bereich kann genauer ermittelt werden, indem dann eine Interpolation
zwischen den angrenzenden Signalwerten angewandt wird. Dies ermöglicht
eine Positionsauflösung in feinerem Maßstab als
durch das Elektrodenmuster des Touchpanels vorgegeben.
-
Verweisquellen
-
- [1] US-Patent 5,825,352
- [2] US-Patent 5,463,388
- [3] EP 1335318
A1
- [4] US-Patent 6,993,607
- [5] US-Patent 6,452,514
- [6] US-Patent 5,730,165
- [7] US-Patent 6,466,036
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - US 5825352 [0007, 0012, 0012, 0124]
- - US 6993607 [0012, 0053]
- - US 5730165 [0020, 0020, 0021, 0021]
- - US 6466036 [0020, 0020, 0021, 0021]
- - US 6452514 [0022, 0022, 0096]
- - US 5463388 [0040]
- - EP 1335318 A1 [0054]