-
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.
-
Kapazitive 2D-Touchpanels, die in der Lage sind, mehrfache gleichzeitige Berührungen zu erfassen, sind beispielsweise aus der Druckschrift
US 2006 / 0 097 991 A1 oder der
US 6 993 607 B2 bekannt. Zur Trennung der einzelnen Berührungen werden verschiedene Algorithmen eingesetzt, wie z.B. der aus der
US 2006 / 0 097 991 A1 bekannte „Wasserscheiden-Algorithmus“.
-
1 fasst das Touchpanel nach dem Stand der Technik gemäß US-Patent
US 5 825 352 A [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 x 10 Leitungen wären erforderlich, um zwei gleichzeitige Berührungen aufzulösen. In der Regel würden vielleicht mindestens 20 x 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.
-
Der vorliegenden Erfindung liegt daher das Problem zugrunde, einen Matrixsensor für mehrfache Berührungen zu schaffen, der mit einer reduzierten Anzahl von Sensorleitungen aufgebaut sein kann. Dieses Problem wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
-
Zusammenfassung der Erfindung
-
Gemäß der Erfindung wird ein berührungsempfindlicher kapazitiver 2D-Positionssensor mit den Merkmalen des unabhängigen Anspruchs 1 geschaffen.
-
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
US 6 993 607 B2 [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
US 5 825 352 A , 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
US 5 825 352 A 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 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 mit den Merkmalen des unabhängigen Anspruchs 8 zum Verarbeiten von Signalen von einem berührungsempfindlichen kapazitiven 2D-Positionssensor denkbar.
-
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
US 5 730 165 A [Verweisquelle 6] und US-Patent
US 6 466 036 B1 [Verweisquelle 7] beschrieben. Der Inhalt von US-Patent
US 5 730 165 A und US-Patent
US 6 466 036 B1 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
US 5 730 165 A und US-Patent
US 6 466 036 B1 sind primär auf diskrete (Einzeltasten-) Messungen ausgerichtet und nicht auf Anwendungen für 2D-Positionssensoren. Jedoch sind die in US-Patent
US 5 730 165 A und US-Patent
US 6 466 036 B1 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
US 6 452 514 B1 [Verweisquelle 5] beschrieben. Der Inhalt von US-Patent
US 6 452 514 B1 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.
-
Figurenliste
-
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 X1 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
US 5 463 388 A [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 3x5-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 3x5-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
US 6 993 607 B2 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.
Zeitinterv all | 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 5x7-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 YD4 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, YD2, YD3 und YD4 ü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
US 6 452 514 B1 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 4x6-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 4x6-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 Touchpanel-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
US 5 825 352 A 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.
-
Verweisquellen
-