-
PRIORITÄTSANSPRUCH
-
Es wird hiermit die Priorität der US-Patentanmeldung, lfd. Nr. 12/255 616, eingereicht am 21. Oktober 2008, beansprucht, wobei diese Anmeldung durch Bezugnahme mit aufgenommen ist.
-
HINTERGRUND DER ERFINDUNG
-
Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Berechnen der Position einer Berührung auf einem Berührungssensor.
-
Zweidimensionale (2D) Berührungsbildschirme weisen im Allgemeinen ungeachtet dessen, welche Technologie verwendet wird, eine Konstruktion auf der Basis einer Matrix von Sensorknoten auf, die eine 2D-Matrix in Kartesischen Koordinaten bilden, d. h. ein Gitter.
-
In einem kapazitiven Sensor wird beispielsweise jeder Knoten in jedem Abtastintervall geprüft, um das Signal an diesem Knoten oder in der Praxis eine Signaländerung von einem vorbestimmten Hintergrundpegel zu erhalten. Diese Signale werden dann mit einem vorbestimmten Schwellenwert verglichen und jene uber dem Schwellenwert werden als beruhrt erachtet und werden als Basis für die weitere numerische Verarbeitung verwendet.
-
Die einfachste Situation für einen solchen Berührungsbildschirm besteht darin, dass eine Berührung durch ein Signal detektiert wird, das nur an einem einzelnen Knoten in der Matrix auftritt. Diese Situation tritt auf, wenn die Große des Betätigungselements in Bezug auf den Abstand zwischen den Knoten klein ist. Dies konnte in der Praxis stattfinden, wenn ein Stift verwendet wird. Ein weiteres Beispiel könnte sein, wenn eine Tafel mit niedriger Auflösung fur die Fingererfassung vorgesehen ist, beispielsweise eine Matrix mit 4×4 Tasten, die mit 120 mm×120 mm bemessen ist.
-
Häufig ist die Situation nicht so einfach und ein Signal, das durch eine Berührung entsteht, erzeugt ein signifikantes Signal an mehreren Knoten in der Matrix, wobei diese Knoten eine zusammenhängende Gruppe bilden. Diese Situation tritt ein, wenn die Große des Betätigungselements in Bezug auf den Abstand zwischen den Knoten groß ist. In der Praxis ist dies ein typisches Szenario, wenn ein Berührungsbildschirm mit relativ hoher Auflosung durch einen menschlichen Finger (oder Daumen) betatigt wird, da sich die Fingerberührung über mehrere Knoten erstreckt.
-
Eine wichtige anfängliche Aufgabe der Datenverarbeitung besteht darin, diese Rohdaten zu verarbeiten, um einen Ort für jede Berührung, d. h. die x,y-Koordinaten jeder Berührung, zu berechnen. Der Berührungsort ist natürlich fur Datenverarbeitungsaufgaben hoherer Ebene, wie z. B. Verfolgen der Bewegung von Berührungen uber die Zeit, erforderlich, was wiederum als Eingabe in einen Gestenerkennungsalgorithmus verwendet werden könnte.
-
Es gibt verschiedene bekannte oder unkomplizierte Losungen fur dieses Problem, die nun kurz zusammengefasst werden.
-
3A zeigt einen Bildschirm mit einer quadratischen empfindlichen Fläche 10, die durch eine Matrix von 5 Zeilenelektroden und 3 Spaltenelektroden definiert ist, die sich mit einem Gitterabstand von 20 mm erstrecken, um 15 Erfassungsknoten zu definieren.
-
Wie vorstehend hingewiesen, kann die Berührungskoordinate zuerst einfach als mit dem Knoten mit dem maximalen Signal übereinstimmend genommen werden. Mit Bezug auf die Figur liegt das maximale Signal bei 26, das am Knoten (2,2) registriert wird, und der Berührungsort (x,y) wird als an diesem Punkt angenommen.
-
Eine raffiniertere Vorgehensweise besteht darin, Signalwerte in den Knoten, die zum Knoten mit dem maximalen Signal unmittelbar benachbart sind, zu berucksichtigen, wenn der Berührungsort berechnet wird. Fur die x-Koordinate konnte ein Mittelwert unter Berücksichtigung der unmittelbar links und rechts angeordneten Knoten berechnet werden. Es wird nämlich der niedrigste von diesen drei Werten von den anderen zwei Werten subtrahiert und dann eine lineare Interpolation zwischen den restlichen zwei Werten durchgeführt, um die x-Position zu bestimmen. Mit Bezug auf die Figur subtrahieren wir 18 von 20 und 26, um 2 und 8 zu erhalten. Die x-Position wird dann als 1/5 des Abstandes von 2 zu 1 berechnet, d. h. 1,8. Eine ahnliche Berechnung wird dann für die y-Koordinate durchgefuhrt, d. h. wir subtrahieren 14 von 26 und 18, um 12 und 4 zu erhalten. Die y-Position ist dann 4/16 des Abstandes von 2 zu 3, d. h. 2,25. Der Beruhrungsort ist daher (1,8, 2,25). Wie zu erkennen ist, funktioniert diese Vorgehensweise auch bei einer Berührung, die aus nur zwei Knoten besteht, die über dem Detektionsschwellenwert liegen, aber natürlich werden die anfanglichen Schritte ausgelassen.
-
Eine weitere numerische Standardmethode würde darin bestehen, eine Schwerpunktberechnung an den Signalen von allen Knoten, die zur betreffenden Berührung ”gehören”, durchzuführen, wie in
US 2006/0097991 [1] offenbart. Diese wären alle Knoten mit Signalen über einem Schwellenwert, die in einer zusammenhängenden Gruppe um den Knoten mit maximalem Signal liegen. In der Figur sind diese Werte schraffiert.
-
Die Berührungskoordinate R kann gemäß der Schwerpunktformel
berechnet werden, wobei I
n der Signalwert des n-ten Knotens ist und r
n der Ort des n-ten Knotens ist. Diese Gleichung kann in x- und y-Komponenten aufgetrennt werden, um die X- und Y-Koordinaten der Berührung aus den Koordinaten x
n und y
n der einzelnen Knoten zu bestimmen.
-
In dem dargestellten Beispiel ergibt dies
-
Der Berührungsort wird daher als (2,18, 2,03) berechnet.
-
Ein Nachteil einer Schwerpunktberechnungsmethode besteht darin, dass sie relativ rechenaufwändig ist. Wie aus dem obigen einfachen Beispiel zu sehen ist, besteht eine signifikante Anzahl von Berechnungen, einschließlich Gleitkommadivisionen. Unter Verwendung eines Mikrocontrollers kann es mehrere Millisekunden dauern, um den Berührungsort eines Rahmens zu berechnen, was unannehmbar langsam ist.
-
Ein weiterer durch die Erfinder festgestellter Nachteil besteht darin, dass, wenn eine Flächenschwerpunktberechnung angewendet wird, kleine Änderungen im Signal, die vom fur die Schwerpunktberechnung gewählten Ursprung relativ entfernt sind, signifikante Änderungen im berechneten Berührungsort verursachen. Dieser Effekt wird für Berührungen mit größerer Fläche, bei denen der maximale Abstand zwischen Knoten, die ein Teil einer einzigen Berührung sind, groß wird, besonders problematisch. Wenn in Erwagung gezogen wird, dass der Berührungsort für jede Abtastung berechnet wird, ist es sehr unerwünscht, dass der berechnete Berührungsort einer statischen Berührung sich in dieser Weise von Abtastung zu Abtastung bewegt. Dieser Effekt wird bei einem kapazitiven Berührungssensor weiter verschlimmert, da die Signalwerte im Allgemeinen ganzzahlig und klein sind. Wenn beispielsweise ein Signalwert an einem Knoten nahe der Kante einer Berührungsflache sich zwischen 11 und 12 von Abtastung zu Abtastung andert, kann dies allein verursachen, dass der berechnete Beruhrungsort sich signifikant bewegt, was Zittern verursacht.
-
Das obige Beispiel hat nur eine einzelne Berührung am Bildschirm betrachtet. Es ist jedoch zu erkennen, dass für eine zunehmende Anzahl von Anwendungen es erforderlich ist, dass der Berührungsbildschirm mehrere gleichzeitige Berührungen detektieren kann, eine so genannte Mehrfachberührungsdetektion. Beispielsweise ist es haufig erforderlich, dass der Beruhrungsbildschirm Gesten wie z. B. eine Kneifbewegung zwischen dem Daumen und dem Zeigefinger detektieren kann. Die obigen Verfahren konnen erweitert werden, um fur eine Mehrfachberührungsdetektion zu sorgen.
-
US 5 825 352 [2] offenbart eine andere Methode, um dasselbe Endergebnis zu erreichen.
1 stellt diese Methode in einer schematischen Weise dar. In diesem Beispiel wird eine Interpolation verwendet, um eine Kurve in x, f(x) und eine weitere Kurve in y, f(y) zu erzeugen, wobei die jeweiligen Kurven die Veränderung der Signalstärke entlang jeder Achse abbilden. Jede detektierte Spitze wird dann als Beruhrung an diesem Ort definiert. In dem dargestellten Beispiel sind zwei Spitzen in x und eine in y vorhanden, was zu einer Ausgabe von zwei Beruhrungen bei (x1, y1) und (x2, y2) führt. Wie das Beispiel zeigt, sorgt diese Methode von Natur aus fur eine Mehrfachberuhrungs- sowie Einzelberührungsdetektion. Die mehreren Beruhrungen werden auf der Basis der Detektion eines Minimums zwischen zwei Maxima im x-Profil unterschieden. Diese Methode ist für Bildschirme mit hoher Auflösung gut geeignet, erfordert jedoch eine beträchtliche Verarbeitungsleistung und einen beträchtlichen Speicher, um sie zu implementieren, so dass sie für Mikrocontroller im Allgemeinen ungeeignet ist.
-
Es wird angemerkt, dass die obigen Bezugnahmen auf ”eine beträchtliche Verarbeitungsleistung und einen beträchtlichen Speicher” die Tatsache widerspiegeln, dass in vielen kommerziellen Anwendungen mit hohem Volumen, z. B. für Verbraucherprodukte, bei denen die Kosten ein wichtiger Faktor sind, es erwunscht ist, die Berührungsdetektionsverarbeitung in einer Hardware mit geringer Komplexität, insbesondere Mikrocontrollern, zu implementieren. Obwohl die Art von Verarbeitungsleistung, die betrachtet wird, im Zusammenhang mit einem Mikroprozessor oder Digitalsignalprozessor äußerst maßvoll ist, ist sie daher für einen Mikrocontroller oder einen anderen Gegenstand mit niedriger Spezifikation, der Speicher- sowie numerische Verarbeitungseinschrankungen aufweist, nicht unbedeutend.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß der Erfindung wird ein Verfahren zum Bestimmen eines Berührungsorts aus einem Datensatz, der aus einem Berührungsbildschirm mit einer Matrix von Erfassungsknoten ausgegeben wird, geschaffen, wobei der Datensatz Signalwerte fur jeden der Erfassungsknoten umfasst, wobei das Verfahren umfasst:
- a) Empfangen des Datensatzes als Eingabe;
- b) Identifizieren einer Berührung im Datensatz, wobei eine Beruhrung durch eine Teilmenge des Datensatzes, die aus einer zusammenhängenden Gruppe von Knoten besteht, definiert ist;
- c) Bestimmen des Beruhrungsorts in jeder Dimension als an oder benachbart zu dem Knoten, an dem die Summe der Signalwerte, die der Berührung zugewiesen sind, auf beiden Seiten des Knotens gleich oder ungefahr gleich ist.
-
Die Teilmenge kann durch Ersetzen zumindest des Erfassungsknotens, der an oder benachbart zu dem Berührungsort liegt, durch mehrere fiktive Erfassungsknoten, die um den Erfassungsknoten verteilt sind, modifiziert werden. In einigen Ausführungsformen wird die Teilmenge durch Ersetzen von jedem der Erfassungsknoten durch mehrere fiktive Erfassungsknoten, die um ihren jeweiligen Erfassungsknoten verteilt sind, modifiziert. Die fiktiven Erfassungsknoten konnen über eine Strecke oder eine Flache entsprechend einem Abstand zwischen Knoten verteilt sein. Die Strecke bezieht sich auf einen eindimensionalen Abstand, der in einem eindimensionalen Berührungssensor, z. B. einem linearen Schieber oder einem Rollrad, sowie in einem zweidimensionalen Berührungssensor und im Prinzip in einem dreidimensionalen Beruhrungssensor verwendet werden kann. Die Flache bezieht sich auf eine zweidimensionale Verteilung, die in einem zweidimensionalen oder hoherdimensionalen Berührungssensor verwendet werden kann.
-
Die Signalwerte können ganze Zahlen sein und die mehreren fiktiven Erfassungsknoten sind gleich dem ganzzahligen Signalwert an jedem Erfassungsknoten, so dass der Signalwert an jedem fiktiven Erfassungsknoten eins ist. Alternativ kann das Verfahren auf Sensoren angewendet werden, die nicht ganzzahlige Signalwerte ausgeben.
-
Das Verfahren kann ferner das Wiederholen der Schritte b) und c) umfassen, um den Berührungsort von einer oder mehreren weiteren Berührungen zu bestimmen.
-
Der in Schritt c) bestimmte Berührungsort kann mit einem weiteren Berührungsort kombiniert werden, der durch ein Verfahren der Interpolation zwischen Knoten im Beruhrungsdatensatz bestimmt wird. Schritt c) kann bedingt am Berührungsdatensatz mit mindestens einer Schwellenanzahl von Knoten durchgeführt werden, und wenn nicht, wird der Beruhrungsort durch ein anderes Verfahren bestimmt. Wenn beispielsweise nur ein Knoten im Berührungsdatensatz vorliegt, wird der Berührungsort als Koordinaten dieses Knotens genommen. Ein weiteres Beispiel bestünde darin, dass der Berührungsort gemaß einem Verfahren der Interpolation zwischen Knoten im Berührungsdatensatz bestimmt wird, wenn sich zwei Knoten im Berührungsdatensatz oder vielleicht zwischen 2 und der Schwellenanzahl von Knoten, die beispielsweise 3, 4, 5, 6, 7, 8, 9 oder mehr sein kann, befinden.
-
Jede Dimension kann aus nur einer Dimension bestehen. Dies kann fur einen eindimensionalen Berührungssensor, einschließlich einer geschlossenen Schleife sowie eines Balken- oder Streifendetektors, und auch einen zweidimensionaler Beruhrungssensor, der nur verwendet wird, um die Position in einer Dimension zu detektieren, der Fall sein. In anderen Implementierungen umfasst jede Dimension eine erste und eine zweite Dimension, die für einen zweidimensionalen Sensor typisch waren, der zum Auflösen der Berührungsposition in zwei Dimensionen arbeitet.
-
Selbstverstandlich wird der gemaß den obigen Verfahren berechnete Berührungsort an Prozesse höherer Ebene ausgegeben.
-
Die Erfindung bezieht sich auch auf einen beruhrungsempfindlichen Positionssensor, der umfasst: eine Berührungstafel mit mehreren Erfassungsknoten oder -elementen, die uber seine Fläche verteilt sind, um eine Matrix von Erfassungsknoten zu bilden, von denen jeder dazu konfiguriert ist, ein ortsspezifisches Erfassungssignal zu sammeln, das eine Beruhrung angibt; eine Messschaltung, die mit den Erfassungselementen verbunden ist und wiederholt betriebsfahig ist, um einen Satz von Signalwerten zu erfassen, wobei jeder Datensatz aus einem Signalwert von jedem der Knoten besteht; und einen Prozessor, der zum Empfangen der Datensätze verbunden ist und betriebsfähig ist, um jeden Datensatz gemäß dem Verfahren der Erfindung zu verarbeiten. Die Matrix kann eine eindimensionale Matrix im Fall eines eindimensionalen Sensors sein, ist jedoch typischerweise eine zweidimensionale Matrix fur einen zweidimensionalen Sensor. Der Prozessor ist vorzugsweise ein Mikrocontroller.
-
Schließlich ist es selbstverständlich, dass die Bezugnahme auf die Berührung in diesem Dokument der Verwendung auf dem Fachgebiet folgt und eine Näheerfassung umfassen soll. Bei der kapazitiven Erfassung ist es beispielsweise gut bekannt, dass Signale ohne den Bedarf an einer physikalischen Beruhrung eines Fingers oder anderen Aktuators an einer Erfassungsoberflache erhalten werden, und die vorliegende Erfindung ist auf Sensoren anwendbar, die in dieser Betriebsart arbeiten, d. h. Nähesensoren.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Fur ein besseres Verständnis der Erfindung und um zu zeigen, wie diese verwirklicht werden kann, wird nun beispielhaft auf die begleitenden Zeichnungen Bezug genommen, in denen:
-
1 schematisch eine Methode des Standes der Technik zum Identifizieren von mehreren Beruhrungen auf einer Beruhrungstafel zeigt;
-
2 schematisch in einer Draufsicht einen beruhrungsempfindiichen kapazitiven 2D-Positionssensor und eine zugehorige Hardware einer Ausführungsform der Erfindung zeigt;
-
3A einen Beispiel-Ausgangsdatensatz aus der in 2 gezeigten Berührungstafel darstellt;
-
3B schematisch das der Berechnung des Koordinatenorts einer Berührung zugrundeliegende Prinzip gemaß der Erfindung darstellt;
-
4 ein Ablaufdiagramm ist, das ein Verfahren zur Berechnung eines Berührungsorts auf der höchsten Ebene zeigt;
-
5 ein Ablaufdiagramm ist, das die Berechnung der x-Koordinate unter Verwendung eines ersten Beispielverfahrens der Erfindung zeigt;
-
6 in Ablaufdiagramm ist, das die Berechnung der y-Koordinate unter Verwendung des ersten Beispielverfahrens der Erfindung zeigt;
-
7 ein Ablaufdiagramm zeigt, das die Berechnung der x-Koordinate unter Verwendung eines zweiten Beispielverfahrens der Erfindung zeigt;
-
8 ein Ablaufdiagramm zeigt, das die Berechnung der y-Koordinate unter Verwendung des zweiten Beispielverfahrens der Erfindung zeigt;
-
9 einen Ablaufplan eines weiteren Beruhrungsverarbeitungsverfahrens gemäß der Erfindung zeigt; und
-
10 schematisch in einer Draufsicht einen berührungsempfindlichen kapazitiven 2D-Positionssensor und eine zugehörige Hardware einer weiteren Ausführungsform der Erfindung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die Verfahren der Erfindung werden auf Sätze von Daten angewendet, die aus einem Berührungsbildschirm ausgegeben werden. Ein 2D-Berührungsbildschirm wird in der folgenden ausführlichen Beschreibung verwendet. Es wird jedoch angemerkt, dass die Verfahren auf ID-Beruhrungssensoren und auch im Prinzip auf die 3D-Sensor-Technologie anwendbar sind, obwohl die letzteren nicht gut entwickelt sind. Es wird angenommen, dass der 2D-Berührungsbildschirm aus einem quadratischen Gitter von Erfassungsknoten besteht, die durch denselben Abstand zwischen den Knoten in beiden orthogonalen Achsen ausgezeichnet sind, die im Folgenden als x und y bezeichnet werden. Selbstverstandlich sind jedoch andere Knotenanordnungen möglich, beispielsweise könnte ein rechteckiges Gitter verwendet werden. Ferner könnten andere regelmäßige Gittermuster oder beliebige Knotenverteilungen vorgesehen sein, die in Abhangigkeit davon, welcher Typ von Berührungsbildschirm betrachtet wird, d. h. kapazitiv, widerstandbehaftet, akustisch usw., mehr oder weniger praktisch sein können. Ein dreieckiges Gitter könnte beispielsweise vorgesehen sein.
-
Wenn er abgetastet wird, wird angenommen, dass der Beruhrungsbildschirm einen Satz von Daten mit einem Skalarwert fur jeden Erfassungsknoten ausgibt, wobei der Skalarwert eine Große des Signals an diesem Knoten angibt und als Signalwert bezeichnet wird. In den betrachteten spezifischen Beispielen ist dieser Skalarwert eine positive ganze Zahl, die für kapazitive Berührungssensoren typisch ist.
-
2 ist ein Schaltplan, der eine berührungsempfindliche Matrix darstellt, die eine zweidimensionale kapazitive Wandlersensoranordnung gemäß einer Ausführungsform der Erfindung vorsieht. Die in 1 gezeigte Berührungstafel umfasst drei Spaltenelektroden und fünf Zeilenelektroden, wohingegen jene von 2 eine 4×4-Matrix aufweist. Es ist zu erkennen, dass die Anzahl von Spalten und Zeilen nach Wunsch gewahlt werden kann, wobei ein anderes Beispiel zwölf Spalten und acht Zeilen oder irgendeine andere praktische Anzahl von Spalten und Zeilen ist.
-
Die Matrix von Erfassungsknoten ist in oder unter einem Substrat untergebracht, wie z. B. einer Glasplatte, indem geeignet geformte und bemessene Elektroden ausgebreitet sind. Die Erfassungselektroden definieren eine Erfassungsfläche, in der die Position eines Objekts (z. B. eines Fingers oder Stifts) zum Sensor bestimmt werden kann. Fur Anwendungen, in denen der Sensor uber einer Anzeige wie z. B. einer Flüssigkristallanzeige (LCD) liegt, kann das Substrat aus einem transparenten Kunststoffmaterial bestehen und die Elektroden sind aus einem transparenten Film von Indiumzinnoxid (ITO) ausgebildet, der auf dem Substrat unter Verwendung von herkömmlichen Verfahren abgeschieden wird. Folglich ist die Erfassungsfläche des Sensors transparent und kann über einem Anzeigebildschirm angeordnet werden, ohne das zu verdecken, was hinter der Erfassungsflache angezeigt wird. In anderen Beispielen kann der Positionssensor nicht dazu bestimmt sein, über einer Anzeige angeordnet zu sein, und kann nicht transparent sein; in diesen Fällen kann die ITO-Schicht durch ein wirtschaftlicheres Material wie beispielsweise eine Kupferlaminat-Leiterplatte (PCB) ersetzt werden.
-
Es besteht eine betrachtliche Konstruktionsfreiheit in Bezug auf das Muster der Erfassungselektroden auf dem Substrat. Alles was wichtig ist, besteht darin, dass sie die Erfassungsfläche in eine Matrix (Gitter) von Erfassungszellen unterteilen, die in Zeilen und Spalten angeordnet sind. (Es wird angemerkt, dass die Begriffe ”Zeile” und ”Spalte” hier verwendet werden, um zweckmäßig zwischen zwei Richtungen zu unterscheiden, und nicht so interpretiert werden sollten, dass sie entweder eine vertikale oder eine horizontale Orientierung implizieren.) Einige Beispielelektrodenmuster sind beispielsweise in
US 2008/0246496 A1 [6] offenbart, deren Inhalt in seiner Gesamtheit aufgenommen wird.
-
Für den sachkundigen Leser ist zu erkennen, dass der in
2 dargestellte Sensor vom aktiven oder Querelektrodentyp ist, d. h. auf der Basis der Messung der kapazitiven Kopplung zwischen zwei Elektroden (anstatt zwischen einer einzelnen Erfassungselektrode und einer Systemerdung). Die aktiven kapazitiven Erfassungsverfahren zugrundeliegenden Prinzipien sind in
US 6 452 514 [5] beschrieben. In einem Sensor vom aktiven oder Querelektrodentyp wird eine Elektrode, die so genannte Ansteuerelektrode, mit einem oszillierenden Ansteuersignal beliefert. Der Grad der kapazitiven Kopplung des Ansteuersignals mit der Erfassungselektrode wird durch Messen der Menge an Ladung, die durch das oszillierende Ansteuersignal zur Erfassungselektrode übertragen wird, bestimmt. Die Menge an übertragener Ladung, d. h. die Stärke des Signals, die an der Erfassungselektrode zu sehen ist, ist ein Maß der kapazitiven Kopplung zwischen den Elektroden. Wenn kein Zeigeobjekt nahe den Elektroden vorhanden ist, weist das gemessene Signal an der Erfassungselektrode einen Hintergrund- oder Ruhewert auf. Wenn jedoch ein Zeigeobjekt, z. B. ein Finger eines Benutzers, sich den Elektroden nähert (oder spezieller sich an die Nähe des Bereichs, der die Elektroden trennt, annähert), wirkt das Zeigeobjekt als virtuelle Erdung und senkt einiges des Ansteuersignals (Ladung) von der Ansteuerelektrode. Dies wirkt zum Verringern der Starke der Komponente des Ansteuersignals, die mit der Erfassungselektrode gekoppelt ist. Folglich wird eine Verringerung des gemessenen Signals an der Erfassungselektrode genommen, um die Anwesenheit eines Zeigeobjekts anzugeben.
-
Die dargestellte m×n-Matrix ist eine 4×4-Matrix mit 4 Ansteuerleitungen, die im Folgenden als X-Leitungen bezeichnet werden, und vier Erfassungsleitungen, die im Folgenden als Y-Leitungen bezeichnet werden. Dort, wo sich die X- und Y-Leitungen in der Darstellung kreuzen, befindet sich ein Erfassungsknoten 205. In der Realität befinden sich die X- und Y-Leitungen auf verschiedenen Schichten der Berührungstafel, die durch ein Dielektrikum getrennt sind, so dass sie kapazitiv gekoppelt sind, d. h. nicht in ohmschem Kontakt. An jedem Knoten 205 ist eine Kapazität zwischen benachbarten Abschnitten der X- und Y-Leitungen gebildet, wobei diese Kapazität gewohnlich als CE oder CX auf dem Fachgebiet bezeichnet wird, die effektiv ein Kopplungskondensator ist. Die Anwesenheit eines Betätigungskörpers wie z. B. eines Fingers oder Stifts hat den Effekt, Nebenschlusskapazitaten einzufuhren, die dann über den Korper durch einen Ersatzerdungskondensator zur Erdung oder Masse geerdet werden. Folglich wirkt sich die Anwesenheit des Körpers auf die Menge an Ladung aus, die vom Kopplungskondensator ubertragen wird, und schafft daher eine Möglichkeit zum Detektieren der Anwesenheit des Körpers. Deshalb verringert sich die Kapazität zwischen den X- und Y-”Platten” jedes Erfassungsknotens, wenn die Erdungskapazitäten, die durch eine Beruhrung verursacht werden, zunehmen. Dies ist auf dem Fachgebiet gut bekannt.
-
Bei der Verwendung wird jede der X-Leitungen der Reihe nach angesteuert, um einen vollständigen Rahmen von Daten von der Sensormatrix zu erfassen. Dazu betatigt eine Steuereinheit 118 die Ansteuerschaltungen 101.1, 101.2, 101.3, 101.4 über Steuerleitungen 103.1, 103.2, 103.3 und 103.4, um jede der X-Leitungen der Reihe nach anzusteuern. Eine weitere Steuerleitung 107 fur die Ansteuerschaltungen liefert eine Ausgabefreigabe, um die Ausgabe an die X-Platte der relevanten X-Leitung freizugeben.
-
Fur jede X-Leitung wird die Ladung zu einem jeweiligen Ladungsmesskondensator Cs
112.1,
112.2,
112.3,
112.4 ubertragen, der mit jeweiligen der Y-Leitungen verbunden ist. Die Übertragung von Ladung von den Kopplungskondensatoren
205 zu den Ladungsmesskondensatoren Cs findet unter der Wirkung von Schaltern statt, die durch die Steuereinheit gesteuert werden. Der Einfachheit halber sind weder die Schalter noch ihre Steuerleitungen dargestellt. Weitere Details sind in
US 6 452 514 [5] und
WO-00/44018 [7] zu finden.
-
Die am Ladungsmesskondensator Cs 112.1, 112.2, 112.3, 112.4 gehaltene Ladung ist durch die Steuereinheit 118 über jeweilige Verbindungsleitungen 116.1, 116.2, 116.3, 116.4 durch einen Analog-Digital-Umsetzer (nicht dargestellt) innerhalb der Steuereinheit 118 messbar.
-
Mehr Details für den Betrieb einer solchen Matrixschaltung sind in
US 6 452 514 [5] und
WO-00/44018 [7] offenbart.
-
Die Steuereinheit arbeitet, wie vorstehend erlautert, um die Anwesenheit eines Objekts über einer der Matrix von Tasten 205 aus einer Änderung der Kapazität der Tasten, durch eine Änderung einer Menge an Ladung, die an der Taste eingeführt wird, während eines Bündels von Messzyklen zu detektieren.
-
Die Steuereinheit ist betriebsfähig, um die Anzahl von gleichzeitigen Beruhrungen am Positionssensor zu berechnen und die diskreten Tasten einer der gleichzeitigen Berührungen unter Verwendung des vorstehend beschriebenen Algorithmus zuzuweisen. Die diskreten Tasten, die jeder der Beruhrungen zugewiesen werden, werden aus der Steuereinheit an eine Systemkomponente hoherer Ebene auf einer Ausgangsverbindung ausgegeben. Alternativ interpoliert die Hauptsteuereinheit jeden der Knoten, der jeder der Beruhrungen zugewiesen ist, um die Koordinaten der Berührung zu erhalten.
-
Die Steuereinheit kann eine einzelne Logikvorrichtung wie z. B. ein Mikrocontroller sein. Der Mikrocontroller kann vorzugsweise eine CMOS-Stiftstruktur vom Gegentakttyp aufweisen. Die erforderlichen Funktionen können durch einen einzelnen programmierbaren Universallmikroprozessor, Mikrocontroller oder einen anderen integrierten Chip, beispielsweise ein frei programmierbares Verknupfungsfeld (FPGA) oder einen anwendungsspezifischen integrierten Chip (ASIC), geschaffen werden.
-
3A stellt einen Beispiel-Ausgangsdatensatz von einer Berührungssensormatrix, wie z. B. in 2 gezeigt, dar, obwohl das Beispiel von 3A eine 3×5-Matrix ist, wohingegen 2 eine 4×4-Matrix zeigt.
-
Wie vorstehend beschrieben, wird der Ausgangsdatensatz vorzugsweise vorverarbeitet, um festzustellen, wie viele Beruhrungen, falls uberhaupt, im Ausgangsdatensatz existieren. Es können keine Berührungen oder eine Berührung vorliegen. Wenn die Vorrichtung so konfiguriert ist, dass sie für die Möglichkeit sorgt, können außerdem mehrere Beruhrungen vorhanden sein.
-
Eine Beruhrung wird im Ausgangsdatensatz durch eine zusammenhangende Gruppe von Knoten mit Signalwerten uber einem Schwellenwert identifiziert. Jede Berührung wird daher durch eine Teilmenge des Datensatzes definiert, wobei diese Teilmenge im Folgenden als Berührungsdatensatz bezeichnet wird. Die Gruppe kann nur ein Element oder irgendeine andere ganze Zahl aufweisen.
-
In dem in 3A gezeigten Ausgangsdatensatz ist beispielsweise eine Berührung vorhanden, wobei die Elemente der Gruppe schraffiert sind. Hier ist der Detektionsschwellenwert 10.
-
Für eine Datenverarbeitung höherer Ebene ist es erwunscht, dass jeder Berührung ein spezifischer Berührungsort gegeben wird, d. h. eine x,y-Koordinate.
-
Die Verfahren der Erfindung beziehen sich auf die Berechnung der Koordinaten des Berührungsorts des Berührungsdatensatzes insbesondere im Fall von Beruhrungen, die aus beliebigen Zahlen von Knoten bestehen. Da 2D-Berührungsbildschirme mit Gittern mit immer höherer Dichte versehen werden, wenn sich die Technologie entwickelt, wird erwartet, dass die Anzahl von Knoten pro Berührung ansteigt. Derzeit ist es nicht unublich, dass eine Berührung beispielsweise 1–10 Knoten umfasst. 4 ist ein Ablaufdiagramm, das ein Verfahren zum Berechnen des Berührungsorts auf der hochsten Ebene zeigt. Dies ist für den nachstehend beschriebenen ersten und zweiten Aspekt exemplarisch. Das Verfahren beginnt mit der Eingabe eines Beruhrungsdatensatzes. Der Ablauf schreitet dann zu jeweiligen Schritten zum Berechnen der x- und y-Koordinaten der Beruhrung fort. Schließlich werden diese Koordinaten zur Verwendung durch eine Verarbeitung höherer Ebene ausgegeben.
-
Verfahren 1
-
Ein erstes Verfahren zum Berechnen des Berührungsorts wird nun mit Bezug auf 4, 5 und 6 und auch 3A, die ein spezifisches Beispiel bereitstellt, beschrieben. Dieses Verfahren ist die beste Betriebsart.
-
Vor dem Beschreiben des Verfahrens 1 mit Bezug auf ein spezifisches Beispiel erörtern wir zuerst das der Berechnung des Koordinatenorts einer Berührung zugrundeliegende Prinzip gemäß der Erfindung.
-
3B stellt schematisch das Prinzip dar. Das Prinzip kann als analog zur Berechnung eines Mittelwerts unter Verwendung des Mittels betrachtet werden. Dagegen kann die Schwerpunktmethode des Standes der Technik als analog zum Berechnen eines Mittelwerts durch das arithmetische Mittel betrachtet werden.
-
Gemäß dem Erfindungsprinzip wird der Berührungsort in jeder Dimension von dem Knoten erhalten, an dem die Summe der Signalwerte, die der Beruhrung zugewiesen sind, auf beiden Seiten des Knotens gleich oder ungefahr gleich ist. Um eine feinere Auflosung innerhalb dieser Methode zu erhalten, wird jeder der Erfassungsknoten durch mehrere fiktive Erfassungsknoten ersetzt, die um ihren jeweiligen Erfassungsknoten über eine Strecke entsprechend einem Abstand zwischen Knoten verteilt sind. Dieses Prinzip ist mit einem Beispielsatz von Zahlen in 3B dargestellt, der auf eine einzige Dimension eingeschränkt ist, die wir als x-Koordinate annehmen. Signalwerte 2, 6, 11, 5 und 2 (untere Reihe von Zahlen in der Figur) wurden fur die Verteilung des Signals uber den Berührungsbildschirm erhalten, die aus den Spalten 1 bis 5 erhalten wurde, die jeweils an den x-Koordinaten 1 bis 5 angeordnet sind (obere Reihe von Zahlen in der Figur). Wenn die Spalte x = 1 als erstes genommen wird, hat diese einen Signalwert von 2 und dieses Signal wird fiktiv in zwei Signalwerte von 1, die in gleichen Abständen im x-Bereich 0,5 bis 1,5 angeordnet sind, aufgeteilt, wobei der Abstand zwischen Knoten 1 ist. Die 2 fiktiven Signale sind mit vertikalen Zählstrichen gezeigt. Die Spalte x = 2 weist einen Signalwert von 6 auf und dieser wird in 6 fiktive Signale von 1 aufgeteilt, die von x = 1,5 bis 2,5 verteilt sind. Die dickeren Zahlstriche geben schematisch an, dass sich zwei Striche an derselben x-Koordinate von benachbarten Knoten befinden.
-
Die x-Berührungskoordinate wird dann durch Auffinden der Position des mittleren Zählstriches bestimmt. Da 26 fiktive Signale vorhanden sind (jeweils mit einem Signalwert von 1), d. h. die Summe aller Signalwerte 26 ist, liegt die Position des mittleren Signals zwischen dem 13. und dem 14. Zahlstrich oder fiktiven Signal. Dies ist die durch den dicken Pfeil angegebene Position und wird im Folgenden als mittlere Position bezeichnet. In diesem Beispiel ist eine gerade Anzahl von fiktiven Signalen vorhanden. Wenn jedoch eine ungerade Anzahl von fiktiven Signalen vorhanden wäre, wurde das Mittel mit einem eindeutigen der fiktiven Signale übereinstimmen. Um eine Berechnung des Mittelwerts zwischen zwei Positionen im Fall von geraden Zahlen zu vermeiden, kann ein beliebiger der zwei, z. B. der am weitesten links liegende, genommen werden.
-
Dies ist ein numerisch sehr einfaches Verfahren zum Erhalten einer x-Koordinate mit einer weitaus hoheren Auflosung als die Auflosung der Spaltenelektroden, ohne auf eine komplexere Algebra zurückzugreifen, wie es z. B. bei einer Schwerpunktberechnung erforderlich wäre.
-
Dieselbe Methode kann natürlich für die y-Koordinate oder irgendeine andere Koordinate verwendet werden.
-
Dieselbe Methode kann auch für zwei Dimensionen verallgemeinert werden, wobei die Signale vielmehr fiktiv uber eine Fläche als entlang einer Dimension verteilt werden. Wenn beispielsweise der Signalwert angenommen 64 ist, könnte das Signal fiktiv in 64 Einzelwertsignale aufgeteilt werden, die über ein zweidimensionales 8×8-Gitter verteilt sind, das die Fläche bedeckt, die dem xy-Elektrodenschnittpunkt, der die Knoten definiert, zugewiesen ist.
-
Im Gedanken an dieses Prinzip wird nun das Verfahren 1 beschrieben. Im Voraus sollte beachtet werden, dass das mit Bezug auf 3B beschriebene Prinzip auch für das Verfahren 2 und die anderen Ausfuhrungsformen gilt.
-
Eine endgultige allgemeine Beobachtung besteht darin, dass zu erkennen ist, dass der fiktive Austausch jedes Rohsignals gegen mehrere Signale nur für den Signalwert ausgefuhrt werden muss, der am nächsten zum Beruhrungsort liegt, da nur hier die zusätzliche Auflösung erforderlich ist. Mit Bezug auf das Beispiel von 3B muss daher nur der Signalwert 11 zwischen 2,5 und 3,5 aufgeteilt werden und dasselbe Ergebnis kann erreicht werden. Dies kann als alternative Methode betrachtet werden, die innerhalb des Schutzbereichs der Erfindung liegt. Mit anderen Worten, es ist nur erforderlich, den Erfassungsknoten, der am nächsten zum Berührungsort liegt, durch mehrere fiktive Erfassungsknoten zu ersetzen, die um den Erfassungsknoten verteilt sind.
-
4 ist ein Ablaufdiagramm, das die Berechnung der x-Koordinate zeigt. Die im Ablaufdiagramm in 4 gezeigten Schritte werden nun in Verbindung mit dem in 3A gezeigten Ausgangsdatensatz verwendet.
-
Die Signale in jeder der Spalten werden summiert. Unter Verwendung des Ausgangsdatensatzes von 3A werden die drei Spalten von links nach rechts zu 20, 58 bzw. 41 summiert.
-
Jede der Spaltensummen wird miteinander summiert. Unter Verwendung des Ausgangsdatensatzes von 3A werden die summierten Spalten von oben summiert, d. h. 20 + 58 + 41 = 119.
-
Die mittlere Position der Summe aller Signale wird gefunden. Unter Verwendung des Ausgangsdatensatzes von 3A ist die mittlere Position 60.
-
Die Spalte, die die mittlere Position enthält, wird durch Hochzählen von 1, wobei links außen im Ausgangsdatensatz begonnen wird, identifiziert. Unter Verwendung des Ausgangsdatensatzes von 3A wird der Ausgangsdatensatz wie folgt gezahlt:
Spalte 1 zahlt von 1 bis 20
Spalte 2 zahlt von 21 bis 78
Spalte 3 zahlt von 79 bis 119
-
Daher liegt die mittlere Position von 60 in Spalte 2. Dies wird als x-Koordinate interpretiert, die in der zweiten Spalte oder an einer Koordinate zwischen 1,5 und 2,5 liegt.
-
Um zu berechnen, wo die x-Koordinate zwischen 1,5 und 2,5 liegt, werden die mittlere Position und der summierte Spaltenwert der mittleren Spalte verwendet. Die summierten Spaltensignale links von der mittleren Spalte werden summiert und von der mittleren Position subtrahiert. Dies wird unter Verwendung des in 3A gezeigten Datensatzes und der vorstehend berechneten mittleren Position als 60 – 20 = 40 berechnet. Dieses Ergebnis wird dann durch den summierten Signalwert der vorstehend berechneten mittleren Spalte dividiert, d. h. 40/58 = 0,69. Das Ergebnis dessen wird dann mit 1,5 summiert, was die x-Koordinate an der linken Kante der mittleren Spalte ist. Daher wird die x-Koordinate als 2,19 berechnet.
-
Im obigen Verfahren zum Berechnen der x-Koordinate wird das Mittel der gesamten summierten Signalwerte verwendet. Wenn jedoch das Mittel zwischen zwei der Spalten liegt, beispielsweise bei 1,5, dann konnte der Mittelwert verwendet werden oder eine Spalte könnte willkürlich gewählt werden.
-
6 ist ein Ablaufdiagramm, das die Berechnung der y-Koordinate zeigt. Die im Ablaufdiagramm in 6 gezeigten Schritte werden nun in Verbindung mit dem in 3A gezeigten Ausgangsdatensatz verwendet.
-
Die Signale in jeder der Zeilen werden summiert. Unter Verwendung des Ausgangsdatensatzes von 3A werden die drei Zeilen von oben nach unten zu 26, 64 bzw. 29 summiert.
-
Jede der Zeilensummen wird miteinander summiert. Unter Verwendung des Ausgangsdatensatzes von 3A werden die summierten Zeilen von oben summiert, d. h. 26 + 64 + 29 = 119. Es wird angemerkt, dass das Ergebnis von diesem Schritt dasselbe wie das Ergebnis ist, das erhalten wird, wenn die Spaltensummen summiert werden.
-
Das Mittel der Summe aller Signale wird gefunden. Unter Verwendung des Ausgangsdatensatzes von 3A ist die mittlere Position 60. Es wird angemerkt, dass das Ergebnis von diesem Schritt dasselbe wie das Ergebnis ist, das erhalten wird, wenn das Mittel der summierten Spaltensummen gefunden wird.
-
Die Zeile, die die mittlere Position enthält, wird durch Hochzählen von 1 identifiziert, wobei an der Oberseite des Ausgangsdatensatzes begonnen wird. Unter Verwendung des Ausgangsdatensatzes von 3A wird der Ausgangsdatensatz wie folgt gezählt:
Zeile 1 zahlt von 1 bis 26
Zeile 2 zählt von 27 bis 90
Zeile 3 zählt von 91 bis 119
-
Daher liegt die mittlere Position von 60 in der Zeile 2. Dies wird als y-Koordinate interpretiert, die in der zweiten Zeile oder an einer Koordinate zwischen 1,5 und 2,5 liegt.
-
Um zu berechnen, wo die y-Koordinate zwischen 1,5 und 2,5 liegt, werden die mittlere Position und der summierte Zeilenwert der mittleren Zeile verwendet. Die summierten Zeilensignale uber der mittleren Zeile werden summiert und von der mittleren Position subtrahiert. Dies wird unter Verwendung des in 3A gezeigten Datensatzes und der vorstehend berechneten mittleren Position als 60 – 26 = 34 berechnet. Dieses Ergebnis wird dann durch den summierten Signalwert der mittleren Zeile dividiert, der vorstehend berechnet wurde, d. h. 34/64 = 0,53. Das Ergebnis dessen wird dann mit 1,5 summiert, was die y-Koordinate an der oberen Kante der mittleren Zeile ist. Daher wird die y-Koordinate als 2,03 berechnet.
-
Die Koordinate einer Berührung benachbart zur in 3A gezeigten Beruhrungstafel mit den in 3A gezeigten Signalwerten wurde als (2,19, 2,03) berechnet.
-
Verfahren 2
-
Ein zweites Verfahren fur die Berechnung eines Berührungsorts wird nun mit Bezug auf 7 und 8 und auch 3A beschrieben, die ein spezifisches Beispiel vorsieht.
-
7 ist ein Ablaufdiagramm, das die Berechnung der x-Koordinate zeigt. Die im Ablaufdiagramm in 7 gezeigten Schritte werden nun in Verbindung mit dem in 3A gezeigten Ausgangsdatensatz verwendet.
-
In Schritt 702 wird die erste Zeile ausgewahlt. Unter Verwendung des in 3A gezeigten Datensatzes wird die oberste Zeile ausgewahlt. Es ist jedoch zu erkennen, dass irgendeine Zeile ausgewählt werden kann. Für ein leichtes Verstandnis des Vorangehenden wird die erste ausgewahlte Zeile als X1 bezeichnet, die zweite ausgewählte Zeile wird als X2 bezeichnet und die dritte ausgewählte Zeile wird als X3 bezeichnet.
-
In Schritt 704 wird die ausgewählte Zeile geprüft, um zu identifizieren, wie viele Signalwerte in dem Datensatz für die ausgewählte Zeile X1 enthalten sind. Wenn nur ein Zeilensignal vorhanden ist, dann geht der Prozess zu Schritt 714. Dies wird so interpretiert, dass es bedeutet, dass es nicht erforderlich ist, die Schritte 706 bis 712 an der ausgewählten Zeile auszuführen.
-
In Schritt 706 werden die Signale in der ausgewählten Zeile X1 summiert. Unter Verwendung des Ausgangsdatensatzes von 3A wird die ausgewahlte Zeile zu 26 summiert. Wie nachstehend gezeigt wird, wird der Prozess fur jede der Zeilen wiederholt. Daher werden die zweite Zeile X2 und die dritte Zeile X3 des in 3A gezeigten Datensatzes zu 64 bzw. 29 summiert.
-
In Schritt 708 wird das Mittel der summierten ausgewahlten Zeile X1 berechnet. Unter Verwendung des Ausgangsdatensatzes von 3A wird die mittlere Position der ausgewahlten Zeile X1 als 13,5 berechnet. Wie nachstehend gezeigt wird, wird der Prozess für jede der Zeilen wiederholt. Daher sind das Mittel der zweiten Zeile X2 und der dritten Zeile X3 des in 3A gezeigten Datensatzes 32,5 bzw. 15.
-
In Schritt 710 wird die Spalte, die die mittlere Position für die ausgewahlte Zeile X1 enthält, durch Hochzählen von 1 identifiziert, wobei links außen im Ausgangsdatensatz begonnen wird. Unter Verwendung des Ausgangsdatensatzes von 3A wird der Ausgangsdatensatz wie folgt gezahlt:
Spalte 1 zahlt von –
Spalte 2 zählt von 1 bis 14
Spalte 3 zählt von 15 bis 26
-
Es ist kein Zählwert in der Spalte 1 für die ausgewählte Zeile X1 vorhanden, da in der Spalte 1 des Ausgangsdatensatzes für die ausgewählte Zeile X1 kein Signal detektiert wird.
-
Daher liegt die mittlere Position für die ausgewählte Zeile X1 in der Spalte 2.
-
Wie nachstehend gezeigt wird, wird der Prozess für jede der Zeilen wiederholt.
-
Daher wird die Spalte, die die mittlere Position für die zweite Zeile X2 und die dritte Zeile X3 enthält, auch identifiziert. Unter Verwendung des Ausgangsdatensatzes von 3A für die zweite Zeile X2 wird der Ausgangsdatensatz wie folgt gezählt:
Spalte 1 zahlt von 1 bis 20
Spalte 2 zählt von 21 bis 46
Spalte 3 zählt von 47 bis 64
-
Unter Verwendung des Ausgangsdatensatzes von 3A für die dritte Zeile X3 wird der Ausgangsdatensatz wie folgt gezählt:
Spalte 1 zahlt von –
Spalte 2 zählt von 1 bis 18
Spalte 3 zählt von 19 bis 29
-
Daher liegt die mittlere Position fur die zweite Zeile X2 und die dritte Zeile X3 auch in der Spalte 2. Dies wird so interpretiert, dass es bedeutet, dass die x-Koordinate in der zweiten Spalte oder an einer Koordinate zwischen 1,5 und 2,5 für jede der Zeilen X1, X2 und X3 liegt.
-
In Schritt 712 wird die x-Koordinate für die ausgewahlte Zeile X1 unter Verwendung der mittleren Position für die Zeile X1 und des Signalwerts der ausgewählten Zeile in der mittleren Spalte berechnet. Die Signale links von der mittleren Spalte in der ausgewählten Zeile werden summiert und von der mittleren Position subtrahiert, d. h. 13,5 – 0 = 13,5. Das Ergebnis wird dann durch das Signal der mittleren Spalte in der ausgewählten Zeile X1 dividiert. Unter Verwendung des in 3A gezeigten Datensatzes wird dies als 13,5/14 = 0,96 berechnet. Das Ergebnis dessen wird dann mit 1,5 summiert, was die x-Koordinate an der linken Kante der mittleren Spalte ist. Daher wird die x-Koordinate der ausgewahlten Zeile X1 als 2,46 berechnet.
-
Wie nachstehend gezeigt wird, wird der Prozess für jede der Zeilen wiederholt. Daher werden die Koordinaten fur die zweite Zeile X2 (1,5 + 12,5/26 = 1,98) und die dritte Zeile X3 (1,5 + 15/18 = 2,33) als 1,98 bzw. 2,33 berechnet.
-
In Schritt 714 geht, wenn restliche unverarbeitete Zeilen vorhanden sind, der Prozess zu Schritt 716, in dem die nachste Zeile ausgewählt wird und der Prozess in den Schritten 704–714 wiederholt wird. Für eine leichte Erläuterung wurde dies bereits fur jede der drei Zeilen des in 1 gezeigten Datensatzes gezeigt.
-
In Schritt
718 wird jede der x-Koordinate fur jede der Zeilen verwendet, um die tatsächliche x-Koordinate unter Verwendung eines gewichteten Mittelwerts zu berechnen, wie nachstehend gezeigt:
-
Unter Verwendung der x-Koordinaten für die Zeilen X1 (2,46), X2 (1,98) und X3 (2,33) und der Signalwerte von dem in
3A gezeigten Datensatz wird die x-Koordinate wie folgt berechnet:
-
Daher wird die x-Koordinate als 2,16 berechnet.
-
8 ist ein Ablaufdiagramm, das die Berechnung der y-Koordinate zeigt. Die im Ablaufdiagramm in 8 gezeigten Schritte werden nun in Verbindung mit dem in 3A gezeigten Ausgangsdatensatz verwendet.
-
In Schritt 802 wird die erste Spalte ausgewahlt. Unter Verwendung des in 3A gezeigten Datensatzes wird die am weitesten links liegende Spalte ausgewählt. Es ist jedoch zu erkennen, dass irgendeine Spalte ausgewählt werden kann. Für ein leichtes Verstandnis des Vorangehenden wird die erste ausgewahlte Spalte als Y1 bezeichnet, die zweite ausgewählte Spalte wird als Y2 bezeichnet und die dritte ausgewählte Spalte wird als Y3 bezeichnet.
-
In Schritt 804 wird die ausgewählte Spalte geprüft, um zu identifizieren, wie viele Signalwerte im Datensatz fur die ausgewählte Spalte Y1 enthalten sind. Wenn nur ein Spaltensignal vorhanden ist, dann geht der Prozess zu Schritt 814. Dies wird so interpretiert, dass es bedeutet, dass es nicht erforderlich ist, die Schritte 806 bis 812 an der ausgewahlten Zeile auszufuhren. Unter Verwendung des Ausgangsdatensatzes von 3A ist nur ein Signalwert in der ausgewählten Spalte Y1 vorhanden. Daher geht der Prozess zu Schritt 814. Der Signalwert für die ausgewahlte Spalte Y1 wird in der Berechnung des gewichteten Mittelwerts am Ende des Prozesses in Schritt 814 verwendet. Fur die Berechnung des gewichteten Mittelwerts der Koordinate fur die Spalte Y1 wird 2 genommen, da dies auf der Elektrode an der Koordinate 2 in dem in 3A gezeigten Ausgangsdatensatz liegt.
-
In Schritt 814 geht, wenn restliche unverarbeitete Spalten vorhanden sind, der Prozess zu Schritt 816, in dem die nächste Spalte ausgewählt wird und der Prozess in den Schritten 804–814 wiederholt wird. Da die erste ausgewählte Spalte Y1 nur einen Signalwert enthält, wird die nächste Spalte ausgewählt (Spalte Y2) und der Prozess in den Schritten 804 bis 814 wird angewendet, um darzustellen, wie der Prozess verwendet wird, um die Koordinate von einer der Saplten zu berechnen. Daher werden die folgenden Prozessschritte auf die Spalte Y2 angewendet, da sie mehr als einen Signalwert enthalt.
-
In Schritt 806 werden die Signale in der ausgewählten Spalte Y2 summiert. Unter Verwendung des Ausgangsdatensatzes von 3A wird die ausgewählte Spalte zu 58 summiert. Wie nachstehend gezeigt wird, wird der Prozess für die dritte Spalte Y3 wiederholt. Daher wird die dritte Spalte Y3 des in 3A gezeigten Datensatzes zu 41 summiert.
-
In Schritt 808 wird das Mittel der summierten ausgewahlten Spalte Y2 berechnet. Unter Verwendung des Ausgangsdatensatzes von 3A wird die mittlere Position der ausgewählten Spalte Y2 als 29,5 berechnet. Wie nachstehend gezeigt wird, wird der Prozess für die Spalte Y3 wiederholt. Daher ist das Mittel der dritten Spalte Y3 des in 3A gezeigten Datensatzes 21.
-
In Schritt 810 werden die Zeilen, die die mittlere Position für die ausgewählte Spalte Y2 enthalten, durch Hochzählen von 1 identifiziert, wobei ganz oben im Ausgangsdatensatz begonnen wird. Unter Verwendung des Ausgangsdatensatzes von 3A wird der Ausgangsdatensatz wie folgt gezahlt:
Zeile 1 zählt von 1 bis 14
Zeile 2 zählt von 15 bis 40
Zeile 3 zählt von 41 bis 58
-
Daher liegt die mittlere Position fur die ausgewählte Zeile Y2 in der Zeile 2.
-
Wie nachstehend gezeigt wird, wird der Prozess fur die Spalte Y3 wiederholt. Daher wird die Zeile, die die mittlere Position fur die dritte Spalte Y3 enthalt, auch identifiziert. Unter Verwendung des Ausgangsdatensatzes von 3A für die dritte Spalte Y3 wird der Ausgangsdatensatz wie folgt gezählt:
Zeile 1 zählt von 1–12
Zeile 2 zahlt von 13 bis 30
Zeile 3 zählt von 31 bis 41
-
Daher liegt die mittlere Position für die dritte Spalte Y3 auch in Zeile 2. Dies wird so interpretiert, dass es bedeutet, dass die y-Koordinate in der zweiten Zeile oder an einer Koordinate zwischen 1,5 und 2,5 für jede der Spalten Y2 und Y3 liegt.
-
In Schritt 812 wird die Y-Koordinate für die ausgewählte Spalte Y2 unter Verwendung der mittleren Position für die Spalte Y2 und des Signalwerts der ausgewahlten Spalte in der mittleren Zeile berechnet. Die Signale über der mittleren Zeile in der ausgewählten Spalte werden summiert und vom mittleren Mittel subtrahiert, d. h. 29,5 – 14 = 15,5. Dieses Ergebnis wird dann durch das Signal der mittleren Zeile in der ausgewählten Spalte Y2 dividiert. Unter Verwendung des in 3A gezeigten Datensatzes wird dies als 15,5/26 = 0,6 berechnet. Das Ergebnis dessen wird dann mit 1,5 summiert, was die y-Koordinate an der oberen Kante der mittleren Zeile ist. Daher wird die y-Koordinate der ausgewählten Zeile Y2 als 2,1 berechnet.
-
Wie nachstehend gezeigt wird, wird der Prozess für jede Spalte Y3 wiederholt. Daher werden die Koordinaten für die dritte Spalte Y3 (1,5 + 9/18 = 2) als 2 berechnet.
-
In Schritt 814 geht, wenn restliche unverarbeitete Zeilen vorhanden sind, der Prozess zu Schritt 816, in dem die nachste Spalte ausgewählt wird und der Prozess in den Schritten 804–814 wiederholt wird. Für eine leichte Erläuterung wurde dies bereits für jede der drei Spalten des in 3A gezeigten Datensatzes gezeigt.
-
In Schritt
818 wird jede der y-Koordinate für jede der Spalten verwendet, um die tatsächliche Y-Koordinate unter Verwendung des gewichteten Mittelwerts zu berechnen, wie nachstehend gezeigt:
-
Unter Verwendung der Y-Koordinaten für die Zeilen Y1 (2), Y2 (2,1) und Y3 (2) und der Signalwerte aus dem in
-
3A gezeigten Datensatz wird die y-Koordinate wie folgt berechnet:
-
Daher wird die y-Koordinate als 2,05 berechnet.
-
Die Koordinate einer Berührung benachbart zur Berührungstafel, die in 3A gezeigt ist, mit den in 3A gezeigten Signalwerten wurde als (2,16, 2,05) berechnet.
-
Es ist zu erkennen, dass im Verfahren 2 oder Verfahren 1 die Signalwerte vor der Anwendung eines Verfahrens modifiziert werden können. Beispielsweise könnte der Schwellenwert von den Signalwerten subtrahiert werden oder eine Zahl gleich oder geringfügig kleiner als, z. B. 1 kleiner als, der Signalwert des niedrigsten Signals über dem Schwellenwert. In den obigen Beispielen ist der Schwellenwert 10, so dass dieser Wert vor der Anwendung der vorstehend beschriebenen Prozessabläufe subtrahiert werden könnte.
-
Variantenverfahren
-
Nachdem nun zwei Verfahren zum Bestimmen des Berührungsorts beschrieben wurden, nämlich Verfahren 1 und Verfahren 2, ist zu erkennen, dass diese Verfahren idealerweise zum Handhaben von Berührungsdatensatzen, die aus mehreren Knoten bestehen, geeignet sind. Andererseits sind diese Verfahren etwas uberkomplex, wenn der Berührungsdatensatz nur einen einzelnen Knoten oder vielleicht auch nur 2 oder 3 Knoten enthält.
-
In dem nun beschriebenen Variantenverfahren wird der Beruhrungsort durch Anwenden eines Prozessablaufs höherer Ebene berechnet, der eines von mehreren Berechnungsverfahren in Abhängigkeit von der Anzahl von Knoten im Beruhrungsdatensatz auswählt.
-
Entweder das Verfahren 1 oder Verfahren 2 kann einen Teil des Variantenverfahrens bilden, aber wir nehmen es im Folgenden als Verfahren 1 an.
-
9 zeigt einen Ablaufplan, der verwendet wird, um zu bestimmen, welches Koordinatenberechnungsverfahren verwendet wird. Es ist zu erkennen, dass mehrere Berührungen im Datensatz, der aus einer Berührungstafel ausgegeben wird, vorliegen könnten. Wenn mehrere Berührungen im Datensatz vorhanden sind, dann wird jeder Berührungsort individuell berechnet. Die folgenden Schritte werden verwendet, um zu bestimmen, welches Verfahren für die Berechnung des Orts der Beruhrung angewendet werden soll.
-
Die Anzahl von Knoten im Datensatz für jede Berührung wird bestimmt. Dies wird verwendet, um das geeignetste Koordinatenberechnungsverfahren zu identifizieren.
-
Wenn sich nur 1 Knoten in einem Berührungsdatensatz befindet, werden die Koordinaten dieses Knotens als Koordinaten des Beruhrungsorts genommen.
-
Wenn 2 oder 3 Knoten vorhanden sind, dann wird ein Interpolationsverfahren verwendet. Um zu erläutern, wie das Interpolationsverfahren verwendet wird, wird eine Berührung mit drei Knoten verwendet. Die Knoten liegen an den Koordinaten (1,2), (2,2) und (2,3) mit Signalwerten von 20, 26 bzw. 18. Um die x-Koordinate zu berechnen, werden die Knoten an der Koordinate (1,2) und (2,2) verwendet, d. h. die zwei Knoten in der x-Richtung. Um die x-Koordinate zu berechnen, wird der Signalwert an der Koordinate (1,2), die die am weitesten links liegende Koordinate ist, durch die Summe der zwei Signalwerte dividiert, d. h. 20/(20 + 26) = 0,43. Das Ergebnis wird dann zu 1 addiert, da die Berührung zwischen den Koordinaten 1 und 2 liegt. Daher ist die x-Koordinate 1,43.
-
Ein ahnliches Verfahren wird auf die Signalwerte in der y-Richtung angewendet, nämlich die Koordinaten (2,3) und (2,2) mit Signalwerten 26 bzw. 18. Um die y-Koordinate zu berechnen, wird der Signalwert an der Koordinate (2,2), die die oberste Koordinate ist, durch die Summe der zwei Signalwerte dividiert, 26/(26 + 18) = 0,59. Das Ergebnis wird dann zu 2 addiert, da die Berührung zwischen den Koordinaten 2 und 3 liegt. Daher ist die y-Koordinate 2,59. Folglich sind die Koordinaten der Berührung (1,43, 2,59), die unter Verwendung des Interpolationsverfahrens berechnet werden.
-
Wenn sich 4, 5 oder 6 Knoten im Berührungsdatensatz befinden, wird ein Hybridverfahren verwendet. Das Hybridverfahren berechnet die Koordinaten gemaß sowohl dem Verfahren 1 als auch dem vorstehend beschriebenen Interpolationsverfahren und die Ergebnisse der zwei Verfahren werden unter Verwendung eines gewichteten Mittelwerts gemittelt, wobei die Gewichtung gemäß der Anzahl von Knoten variiert, um sich allmahlich von einer Situation, in der der Interpolationsbeitrag die hochste Gewichtung für die niedrigeren Zahlen von Knoten aufweist, zu einer Situation, in der der Mittelverfahrensbeitrag die höchste Gewichtung für die höheren Zahlen von Knoten aufweist, zu begeben. Dies stellt einen glatten Übergang in den Berührungskoordinaten sicher, wenn die Anzahl von Knoten zwischen den Abtastungen variiert, wodurch Zittern vermieden wird.
-
Mit anderen Worten, wenn das Interpolationsverfahren für mehr als drei Knoten verwendet wird, werden die detektierte Taste mit dem hochsten Wert und ihre angrenzenden Nachbarn in der Interpolationsberechnung verwendet. Sobald die zwei Sätze von Koordinaten berechnet sind, wird dann der Berührungsort als Mittelwert, vorzugsweise gedichteter Mittelwert, oder die durch diese zwei Verfahren erhaltenen Berührungsorte genommen. Wenn beispielsweise 4 Knoten vorhanden sind, konnte die verwendete Gewichtung 75% der Interpolationsverfahrenskoordinaten und 25% der Koordinaten des Verfahrens 1 sein.
-
Alternative Ausfuhrungsform
-
Es ist zu erkennen, dass der Berührungssensor, der die Basis fur die vorstehend beschriebene Ausführungsform bildet, ein Beispiel eines so genannten kapazitiven Sensors vom aktiven oder Quertyp ist. Die Erfindung ist jedoch auch auf so genannte passive kapazitive Sensormatrizes anwendbar. Passive oder unsymmetrische kapazitive Erfassungsvorrichtungen beruhen auf dem Messen der Kapazitat einer Erfassungselektrode zu einem Systemreferenzpotential (Masse). Die diesem Verfahren zugrundeliegenden Prinzipien sind in
US 5 730 165 und
US 6 466 036 , beispielsweise im Zusammenhang mit diskreten (Einzelknoten) Messungen, beschrieben.
-
10 zeigt schematisch in einer Draufsicht einen beruhrungsempfindlichen kapazitiven 2D-Positionssensor 301 und eine begleitende Schaltungsanordnung gemaß einer Ausführungsform eines Sensors vom passiven Typ der Erfindung.
-
Der beruhrungsempfindliche kapazitive 2D-Positionssensor 301 ist betriebsfähig, um die Position von Objekten entlang einer ersten (x) und einer zweiten (y) Richtung zu bestimmen, deren Orientierung oben links in der Zeichnung gezeigt ist. Der Sensor 301 umfasst ein Substrat 302 mit Erfassungselektroden 303, die daran angeordnet sind. Die Erfassungselektroden 303 definieren eine Erfassungsflache, in der die Position eines Objekts (z. B. eines Fingers oder Stifts) zum Sensor bestimmt werden kann. Das Substrat 302 besteht aus einem transparenten Kunststoffmaterial und die Elektroden sind aus einem transparenten Film aus Indiumzinnoxid (ITO) ausgebildet, der auf dem Substrat 302 unter Verwendung von herkömmlichen Verfahren abgeschieden wird. Folglich ist die Erfassungsfläche des Sensors transparent und kann über einem Anzeigebildschirm angeordnet werden, ohne das zu verdecken, was hinter der Erfassungsfläche angezeigt wird. In anderen Beispielen kann der Positionssensor nicht dazu bestimmt sein, über einer Anzeige angeordnet zu sein, und kann nicht transparent sein; in diesen Fallen kann die ITO-Schicht durch ein wirtschaftlicheres Material wie beispielsweise eine Kupferlaminat-Leiterplatte (PCB) ersetzt werden.
-
Das Muster der Erfassungselektroden auf dem Substrat 302 ist derart, dass die Erfassungsfläche in eine Matrix (Gitter) von Erfassungszellen 304 unterteilt ist, die in Zeilen und Spalten angeordnet sind. (Es wird angemerkt, dass die Begriffe ”Zeile” und ”Spalte” hier verwendet werden, um zweckmaßig zwischen zwei Richtungen zu unterscheiden, und nicht so interpretiert werden sollten, dass sie entweder eine vertikale oder eine horizontale Orientierung implizieren.) In diesem Positionssensor sind drei Spalten von Erfassungszellen, die auf die x-Richtung ausgerichtet sind, und fünf Zeilen von Erfassungszellen, die auf die y-Richtung ausgerichtet sind, vorhanden (fünfzehn Erfassungszellen insgesamt). Die oberste Zeile von Erfassungszellen wird als Zeile Y1 bezeichnet, die nächstuntere als Zeile Y2 und so weiter bis zur Zeile Y5 hinab. Die Spalten von Erfassungszellen werden ähnlich von links nach rechts als Spalten X1 bis X3 bezeichnet.
-
Jede Erfassungszelle umfasst eine Zeilenerfassungselektrode 305 und eine Spaltenerfassungselektrode 306. Die Zeilenerfassungselektroden 305 und Spaltenerfassungselektroden 306 sind innerhalb jeder Erfassungszelle 304 so angeordnet dass sie miteinander verschachteln (in diesem Fall durch quadratische Spiralanordnung umeinander), aber sind nicht galvanisch verbunden. Da die Zeilen- und die Spaltenerfassungselektroden verschachtelt (ineinandergreifend) sind, kann ein Objekt benachbart zu einer gegebenen Erfassungszelle eine signifikante kapazitive Kopplung mit beiden Erfassungselektroden ungeachtet dessen, wo das Objekt in der Erfassungszelle angeordnet ist, schaffen. Der charakteristische Maßstab der Verschachtelung kann in der Größenordnung von oder kleiner als die kapazitive Grundfläche des Fingers, Stifts oder eines anderen Betatigungsobjekts sein, um die besten Ergebnisse zu liefern. Die Größe und Form der Erfassungszelle 304 können mit jenen des zu detektierenden Objekts vergleichbar oder größer (innerhalb praktischer Grenzen) sein.
-
Die Zeilenerfassungselektroden 305 aller Erfassungszellen in derselben Zeile sind elektrisch miteinander verbunden, um funf separate Zeilen von Zeilenerfassungszellen zu bilden. Ebenso sind die Spaltenerfassungselektroden 306 aller Erfassungszellen in derselben Spalte elektrisch miteinander verbunden, um drei separate Spalten von Spaltenerfassungselektroden zu bilden.
-
Der Positionssensor
301 umfasst ferner eine Reihe von Kapazitätsmesskanalen
307, die mit jeweiligen der Zeilen von Zeilenerfassungselektroden und der Spalten von Spaltenerfassungselektroden gekoppelt sind. Jeder Messkanal ist betriebsfähig, um ein Signal zu erzeugen, das einen Wert der Kapazität zwischen der zugehörigen Spalte oder Zeile von Erfassungselektroden und einer Systemerdung angibt. Die Kapazitätsmesskanäle
307 sind in
10 als zwei separate Gruppen gezeigt, wobei eine Gruppe mit den Zeilen von Zeilenerfassungselektroden gekoppelt ist (mit Y1 bis Y5 bezeichnete Messkanale) und eine Gruppe mit den Spalten von Spaltenerfassungselektroden gekoppelt ist (mit X1 bis X3 bezeichnete Messkanale). Es ist jedoch zu erkennen, dass in der Praxis die ganze Messkanalschaltungsanordnung sehr wahrscheinlich in einer einzigen Einheit wie z. B. einer programmierbaren oder anwendungsspezifischen integrierten Schaltung vorgesehen ist. Obwohl acht separate Messkanäle in
10 gezeigt sind, konnten die Kapazitätsmesskanäle ferner alternativ durch einen einzelnen Kapazitatsmesskanal mit geeignetem Multiplexen vorgesehen sein, obwohl dies keine bevorzugte Betriebsart ist. Überdies kann die Schaltungsanordnung der Art, die in
US 5,463,388 [2] beschrieben ist, oder dergleichen verwendet werden, die alle Zeilen und Spalten mit einem einzelnen Oszillator gleichzeitig ansteuert, um einen flächenhaften Satz von Erfassungsfeldern durch das daruberliegende Substrat auszubreiten.
-
Die Signale, die die Kapazitätswerte angeben, die durch die Messkanäle 307 gemessen werden, werden zu einem Prozessor 308 mit der Verarbeitungsschaltungsanordnung geliefert. Der Positionssensor wird als Reihe von diskreten Tasten oder Knoten behandelt. Die Position jeder diskreten Taste oder der Knoten ist der Schnittpunkt der stromführenden x- und y-Leitungen. Die Verarbeitungsschaltung ist dazu konfiguriert, zu bestimmen, welche(r) der diskreten Tasten oder Knoten ein Signal aufweist, das eine Kapazitat angibt, die ihr (ihm) zugeordnet ist. Eine Hauptsteuereinheit 309 ist zum Empfangen der aus dem Prozessor 308 ausgegebenen Signale angeordnet, d. h. Signale von jeder (jedem) der diskreten Tasten oder Knoten, die eine angelegte kapazitive Last angeben. Die verarbeiteten Daten können dann durch die Steuereinheit 309 an andere Systemkomponenten auf einer Ausgangsleitung 310 ausgegeben werden.
-
Die Hauptsteuereinheit ist betriebsfähig, um die Anzahl von Berührungen, die zur Beruhrungstafel benachbart sind, zu berechnen und die detektierten diskreten Tasten jeder Berührung, die identifiziert wird, zuzuordnen. Gleichzeitige Berührungen benachbart zum Positionssensor konnten unter Verwendung von einer der Verfahrensoffenbarungen beispielsweise in den Dokumenten des Standes der Technik
US 6 888 536 [1],
US 5 825 352 [2] oder
US 2006/0097991 A1 [4] oder irgendeines anderen bekannten Verfahrens zum Berechnen von mehreren Berührungen an einer Berührungstafel identifiziert werden. Sobald die Hauptsteuereinheit die Berührungen und die jeder dieser Berührungen zugeordneten diskreten Tasten identifiziert hat, ist die Hauptsteuereinheit betriebsfähig, um die Koordinaten der Beruhrung oder von gleichzeitigen Berührungen unter Verwendung der vorstehend für die andere Ausführungsform der Erfindung beschriebenen Verfahren zu berechnen. Die Hauptsteuereinheit ist betriebsfähig, um die Koordinaten auf der Ausgangsverbindung auszugeben.
-
Die Hauptsteuereinheit kann eine einzelne Logikvorrichtung wie z. B. ein Mikrocontroller sein. Der Mikrocontroller kann vorzugsweise eine CMOS-Stiftstruktur vom Gegentakttyp und einen Eingang, der veranlasst werden kann, als Spannungskomparator zu wirken, aufweisen. Die meisten üblichen Mikrocontroller-E/A-Anschlüsse sind dazu in der Lage, da sie eine relativ feste Eingangsschwellenspannung sowie nahezu ideale MOSFET-Schalter aufweisen. Die erforderlichen Funktionen konnen durch einen einzelnen programmierbaren Universalmikroprozessor, Mikrocontroller oder einen anderen integrierten Chip, beispielsweise ein frei programmierbares Verknüpfungsfeld (FPGA) oder einen anwendungsspezifischen integrierten Chip (ASIC), bereitgestellt werden.
-
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 2006/0097991 [0012]
- US 5825352 [0019, 0144]
- US 2008/0246496 A1 [0046]
- US 6452514 [0047, 0050, 0052]
- WO 00/44018 [0050, 0052]
- US 5730165 [0136]
- US 6466036 [0136]
- US 5463388 [0142]
- US 6888536 [0144]
- US 2006/0097991 A1 [0144]