-
Hintergrund der Erfindung
-
Die
vorliegende Erfindung ist auf einen implantierbaren, induktiv programmierbaren
Transponder zur Temperaturerfassung gerichtet und insbesondere auf
einen Transponder, der Betriebsabläufe hat, die durch Softwaresteuerung
modifiziert werden können.
-
Implantierbare
programmierbare Temperaturtransponder sind passive Vorrichtungen,
die unter die Haut von Labortieren implantiert werden, beispielsweise
zur sicheren Identifizierung von Tieren. Wie nach dem Stand der
Technik bekannt, enthalten herkömmliche
Transponder, wie etwa die von Bio Medic Data Systems, Inc. vertriebenen,
eine Spulenantenne, die mit einem integrierten Schaltungs-Chip (IC)
gekoppelt ist. Der Chip enthält
einen Speicher und einen Thermistor. Schaltungen zum Empfangen eines
Abfragesignals, zum Beziehen von Leistung aus dem Abfragesignal,
zum Beziehen von Zeitgebungs-Taktsignalen
aus dem Abfragesignal und zur Steuerung des Speichers und des Thermistors
zur Ausgabe von in dem Speicher gespeicherten Daten oder von durch
den Thermistor erfassten Temperaturinformationen an das Abfragegerät sind vorgesehen.
Ferner ist es nach dem Stand der Technik bekannt, Eingabedaten in
den integrierten Speicher des Transponders zu programmieren.
-
Dieser
Transponder nach dem Stand der Technik arbeitet zufriedenstellend.
Er hat jedoch den Nachteil, dass die integrierten Schaltungen für den Betrieb
im LESEMODUS zu viel Leistung benötigten. Dies führte zu
einer verminderten Lesedistanz zwischen dem Transponder und dem
Abfragegerät.
Der Speicher, der ein EEPROM enthielt, war zu klein und die Temperaturdaten
benötigten
mehr als 16 Speicherbits für
die Übertragung,
was sie unbrauchbar machte. Obgleich nach dem Stand der Technik
das Sperren von Daten in dem Speicher gelehrt wurde, um die Integrität des Speichers
zu bewahren, war diese Sperrung permanent und konnte nicht vom Benutzer
des Transponders nach Bedarf selektiv beendet werden. Ferner wurde
nach dem Stand der Technik die Synchronisierung zwischen dem Transponder und
dem Abfragegerät
unter Verwendung eines Dateianfangsetiketts des Datensignals des
Transponders durchgeführt.
Da das gesamte Datensignal ebenso wie das Dateianfangsetikett während jedes Synchronisierungsprozesses übertragen
werden mussten, wurde Zeit verloren, was den gesamten Programmierungs- und/oder Lesezyklus
verlangsamte. Ferner hatte das Abfragegerät einen einzelnen Temperaturablesewert
und verwendete diesen als die Temperatur. Viele Faktoren können sich
auf das Lesen und die Aufzeichnung der Temperatur in einem Transponder
auswirken, so dass Schwankungen zwischen aufeinanderfolgenden Temperaturablesewerten
vorhanden sind. Tatsächlich
trat ein schwankender Temperaturwert auf, was die Präzision der
Temperaturablesung vermindert. Schließlich war während der Programmierung unter
Verwendung von herkömmlichen
Signalcodiertechniken die Zeitgebung des zwischen dem Transponder
und dem Abfragegerät übertragenen
Signals kritisch. Da jedoch die Zeitgebung so kritisch war, konnten
Rauschen oder andere Umgebungsfaktoren ohne weiteres das Signal
unterbrechen und die Ergebnisse beschädigen.
-
Das
Dokument GB-A-2297225 zeigt einen Transponder auf, welcher Transponder
einen Speicher, einen kombinierten Adress- und Zeitgebungsgenerator
und ein Schieberegister enthält,
das Daten während
des Betriebes in dem LESEMODUS und dem PROGRAMMIERMODUS ausgibt.
Der Transponder ist in einem AUS-Zustand, bis von der Abfrageeinrichtung
ein Leistungssignal empfangen wird. Dann wird der Transponder von
dem Taktgenerator EIN geschaltet und erneut AUS geschaltet, nachdem die
Daten aus dem Speicher ausgelesen oder in den Speicher programmiert
wurden.
-
Demgemäß ist ein
implantierbarer programmierbarer Temperaturtransponder wünschenswert, bei
dem die Nachteile gemäß dem Stand
der Technik vermieden werden.
-
Kurzbeschreibung der Erfindung
-
Ein
implantierbarer programmierbarer Temperaturtransponder enthält einen
Empfänger
zum Empfangen eines Programmiersignals. Ein Speicher hat eine Vielzahl
von Adressen darin. Die Daten sind in zwei Abschnitte geteilt, einen
Datenspeicherabschnitt und einen Sperrabschnitt, wobei der Datenabschnitt
in der Lage ist, eine Vielzahl von Untergruppen von Bits zu speichern,
wobei jede Untergruppe von Bits einem Zeichen entspricht. Der Sperrabschnitt
speichert eine Vielzahl von Sperren, wobei jede Sperre einer jeweiligen
Untergruppe von Bits entsprechend jedem Zeichen entspricht. Ein
Adressmodul adressiert jede Adresse innerhalb des Speichers. Ein
Datenmodul empfängt
zu programmierende Daten und speichert Daten in dem Speicher an der
von dem Adressmodul ausgewählten
Adresse; wobei der Sperrabschnitt das Speichern von Daten in dem
Speicher an der ausgewählten
Adresse zulässt, wenn
die entsprechende Sperre frei ist, und das Speichern von Daten in
dem Speicher verhindert, wenn die entsprechende Sperre gesetzt ist.
In einer bevorzugten Ausführungsform
enthält
der implantierbare programmierbare Temperaturtransponder einen Komparator
zum Vergleichen eines Programmiersignals mit einer Referenzspannung
und zum Ausgeben eines Vergleichssignals ansprechend darauf.
-
Ein
Sender empfängt
das Vergleichssignal und gibt das erste Indikatorsignal aus, wenn
die empfangene Spannung geringer als eine Referenzspannung ist,
und gibt ein zweites Signal aus, wenn die Eingangsspannung größer als
die Referenzspannung ist; wobei das erste Signal die Umkehrung des zweiten
Signals ist, um dem Abfragegerät
die ausreichende Qualität
des Eingangsprogrammiersignals anzuzeigen. Das Programmiersignal
kann impulsabstandsmoduliert sein.
-
In
einer bevorzugten Ausführungsform
enthält
der implantierbare programmierbare Temperaturtransponder einen Taktgenerator,
um die Zufuhr von Strom zu dem Speicher während des Programmierens zu
ermöglichen,
wobei die Stromversorgung für
den Speicher abgeschaltet wird, nachdem jede aufeinanderfolgende
Adresse adressiert wurde.
-
Ein
einen Thermistor enthaltendes Temperaturmodul ist mit dem Datenmodul
gekoppelt. Das Temperaturmodul enthält einen frei laufenden Zähler, der
kontinuierlich den Ausgang des Thermistors zählt. Ein Taktgenerator zählt vorbestimmte
Perioden, wobei der gegenwärtige
Zählwert
des Temperaturmodulzählers
verriegelt wird und am Ende jeder Periode an das Abfragegerät ausgegeben
wird. Das Abfragegerät
empfängt
eine Anzahl dieser Zählwerte und
bestimmt den Unterschied zwischen aufeinanderfolgenden Zählwerten,
um eine Vielzahl von tatsächlichen
Zählwerten
zu erhalten, die in jeder verstrichenen Zeitperiode aufgetreten
sind. Diese tatsächlichen
Zählwerte
werden anschließend
zu einem Aggregat zusammengefasst. Der Aggregatwert der Unterschiede
wird durch die Gesamtzeit für
das Erhalten der Anzahl der Werte geteilt, um einen Durchschnittzählwert pro
Zeiteinheit oder Frequenz zu erhalten. Da die dem Thermistor eigene
Beziehung zwischen Frequenz und Temperatur bekannt ist, ist die
dieser Frequenz entsprechende Temperatur bekannt und wird durch
das Abfragegerät
als die Temperatur ausgegeben.
-
Demgemäß ist es
eine Aufgabe der Erfindung, einen verbesserten implantierbaren Temperaturtransponder
zu schaffen.
-
Es
ist eine weitere Aufgabe der Erfindung, einen Transponder zu schaffen,
bei dem die während der
Programmierung und dem Lesen des Transponders verwendete Leistung
minimiert ist.
-
Es
ist eine weitere Aufgabe der Erfindung, einen Transponder zu schaffen,
der den Spannungssynchronisierungsprozess mit einem Abfragegerät beschleunigt.
-
Es
ist eine weitere Aufgabe der Erfindung, einen Transponder mit einem
erweiterten Speicher und der Fähigkeit
zu schaffen, Temperaturdaten getrennt von den im Speicher gespeicherten
Daten zu übertragen,
so dass alle Speicheradressen verwendet werden können.
-
Es
ist eine weitere Aufgabe der Erfindung, eine präzisere Temperaturablesung zu
schaffen.
-
Eine
weitere Aufgabe der Erfindung ist es, einen Speicher zu schaffen,
der variierende Niveaus des Speicherschutzes einschließlich der
Möglichkeit für den Transponderbenutzer
bietet, die in dem Speicher gespeicherten Daten selektiv zu sperren.
-
Weitere
Aufgaben und Vorteile der Erfindung sind teilweise offensichtlich
und werden teilweise aus der Beschreibung und den Zeichnungen deutlich.
-
Die
Erfindung umfasst demgemäß die Konstruktionsmerkmale,
Kombinationen von Elementen, Kombinationen von Schritten und die
Anordnung von Teilen, die beispielhaft in der nachfolgend dargelegten
Konstruktion aufgezeigt werden, und der Schutzumfang der Erfindung
wird in den Patentansprüchen angegeben.
-
Kurzbeschreibung
der Zeichnungen
-
Für ein umfassenderes
Verständnis
der Erfindung wird auf die folgende Beschreibung im Zusammenhang
mit den beiliegenden Zeichnungen Bezug genommen.
-
1 ist
ein Blockschaltbild eines Abfragegerät/Transponder-Systems;
-
2 ist
ein detaillierteres Blockschaltbild, das die gemäß der Erfindung aufgebaute
Transpondersteuerlogik zeigt;
-
3 ist
eine schematische Darstellung, die das Format für den gemäß der Erfindung aufgebauten
Speicher zeigt;
-
4 ist
ein schematisches Diagramm, das ein Format für das Statusbyte des gemäß der Erfindung
aufgebauten Speicherformats zeigt;
-
5 ist
ein Zeitablaufdiagramm eines Spannungssynchronisierungsanzeigesignals,
das gemäß der Erfindung
von dem Transponder an das Abfragegerät gesendet wird;
-
6 ist
ein Zeitablaufdiagramm eines gemäß der Erfindung
ausgegebenen Programmiersignals;
-
7 ist
eine schematische Darstellung eines Formats für den Inhalt des Programmiersignals;
-
8(A), 8(B) sind
Flussdiagramme, die das Verfahren zur Programmierung des Transponders
gemäß der Erfindung
zeigen;
-
9(A), 9(B) sind
Flussdiagramme, die das Verfahren zur Messung der Temperatur gemäß der Erfindung
zeigen;
-
10 ist
ein Flussdiagramm, das das Verfahren zur Bestimmung der Unversehrtheit
der aus dem Transponder ausgelesenen Daten zeigt; und
-
11 ist
ein Schaltbild einer gemäß der Erfindung
aufgebauten Klemmschaltung.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Zunächst wird
auf 1 Bezug genommen, in der ein allgemein mit 10 bezeichnetes
Abfragegerät
und ein allgemein mit 20 bezeichneter Transponder gezeigt
sind. Das Abfragegerät 10 und
der Transponder 20 kommunizieren miteinander durch induktive
Kopplung, wie nach dem Stand der Technik aus dem US-Patent Nr. 4,730,188
bekannt. Wie weiter unten erörtert
wird, gibt das Abfragegerät 10 ein
Signal an den Transponder 20 ab, das den Transponder 20 mit
Leistung versorgt, ein Taktsignal sowie einen Betriebsbefehl, wie
etwa die Eingabe des PROGRAMMIERMODUS oder des TEMPERATURMODUS.
Der Transponder 20 sendet ein Informationen enthaltendes
Antwortsignal an das Abfragegerät 10, wie
nach dem Stand der Technik bekannt ist.
-
Das
Abfragegerät 10 enthält eine
CPU 12 zum Erzeugen von Befehls-/Leistungs-/Taktsignalen (allgemein
Abfragegerätsignale)
ansprechend auf Eingaben des Benutzers. Diese Signale werden einer
Antenne 14 zur Übertragung
zum Transponder 20 eingegeben.
-
Eine
Antenne 22 in dem Transponder 20 empfängt das
Abfragegerätsignal
von dem Abfragegerät 10 und
gibt ein 364 kHz-Signal einem Gleichrichter 24 (2)
ein, der das Wechselstromsignal von der Antenne 22 empfängt und
das Signal gleichrichtet. Das gleichgerichtete Signal wird anschließend zu
einer Steuerlogikschaltung 26 weitergeleitet, die ansprechend
auf das gleichgerichtete Abfragegerätsignal entweder Daten aus
dem Speicher 28 ausliest, Daten in einen Speicher 28 programmiert
oder Temperaturdaten von einem Temperaturmodul 30 ausliest.
Das Temperaturmodul 30 enthält einen Thermistor 32,
der ansprechend auf Temperaturveränderungen Widerstandspegel ändert, die
wie nach dem Stand der Technik bekannt in eine Frequenz umgewandelt
werden können,
wobei die Frequenz sich als Funktion der Temperatur ändert. Die
Temperaturdaten und Daten aus dem Speicher 28 werden unter der
Steuerung der Steuerlogik 26 durch einen Modulator 34 zum
Modulieren des Signals wie nach dem Stand der Technik bekannt ausgegeben,
um durch die Antenne 22 zurück zu dem Abfragegerät 10 übertragen
zu werden, wo die Daten durch die CPU 12 des Abfragegeräts 10 verarbeitet
werden.
-
Nachfolgend
wird auf 2 Bezug genommen, in der ein
Blockschaltbild dargestellt ist, das die Schaltungen des Transponders 20 und
insbesondere die Logik 26 detaillierter darstellt. Der
Gleichrichter 24 enthält
eine Diodenanordnung zum Gleichrichten des Eingangssignals und eine
Klemmschaltung 23 zum Regeln des Spannungspegels Vss zu
den Transponderkomponenten der. Die Klemmschaltung 23 simulierte
das Verhalten einer Zenerdiode. Die Klemmschaltung 23 enthält vier
Metalloxidhalbleiter-Feldeffekttransistoren (MOSFETs) Q1–Q4, Widerstände R1–R3 und
Spannungsanschlüsse
Vpos und Vss. Tatsächlich
ist die elektronische Schaltung eine MOSFET-Zenerschaltung, die
dem Rest der Transponderschaltungen IC-Schutz gewährt, indem die
Spannung geklemmt wird. Die MOSFET-Zener-Klemmschaltung 23 verbindet
Vpos mit der eingehenden Leistungsversorgung mit positiver Spannung
und verbindet Vss mit der Erde.
-
In
der Klemmschaltung 23 sind Transistoren Q1 und Q4 N-Kanal-MOSFETs,
während
Transistoren Q2 und Q3 P-Kanal-MOSFETs sind. Der Transistor Q4 muss
größer dimensioniert
sein als die Transistoren Q1–Q3,
da er in der Lage sein muss, eine große Strommenge von Vpos zu Vss
weiterzuleiten. In einer bevorzugten Ausführungsform ist der Transistor
Q4 mindestens zwanzigmal größer als
die übrigen
MOSFETs.
-
Wie 11 zeigt,
ist der Widerstand R1 an einem Ende mit Vpos verbunden und an dem
anderen Ende ist er mit dem Gate des Transistors Q1 und dem Widerstand
R2 verbunden. Der Widerstand R2 ist an einem Ende mit dem Gate des
Transistors Q1 und dem Widerstand R1 verbunden und sein anderes Ende
ist mit Vss verbunden. Der Widerstand R3 ist an einem Ende mit dem
Gate des Transistors Q4 und dem Drain des Transistors Q3 verbunden
und das andere Ende ist mit Vss verbunden. Das Gate des Transistors
Q1 ist mit den Widerständen
R1, R2 verbunden, während
die Source des Transistors Q1 mit Vss verbunden ist und der Drain
mit den Gates der Transistoren Q2, Q3 und dem Drain des Transistors Q2
verbunden ist. Das Gate des Transistors Q2 ist mit dem Gate des
Transistors Q3, dem Drain des Transistors Q1 und seinem eigenen
Drain verbunden. Die Source des Transistors Q2 ist mit Vpos verbunden
und der Drain des Transistors Q2 ist mit dem Drain des Transistors
Q1 und den Gates der Transistoren Q2, Q3 verbunden: Der Drain des
Transistors Q3 ist mit dem Widerstand R3 und dem Gate des Transistors
Q4 verbunden. Der Drain des Transistors Q4 ist mit Vpos verbunden.
-
Während des
Betriebs wirken die Widerstände
R1 und R2 als Spannungsteiler und Steuern die Klemmschwellenspannung.
Wenn die Spannung des Gates des Transistors Q1 ansteigt, wird der
Transistor Q1 eingeschaltet, was den Durchtritt von Strom durch
seinen Drain und seine Source erlaubt. Die Transistoren Q2, Q3 wirken
als Stromspiegel, so dass jeder an dem Drain des Transistors Q2
anliegende Strom gleich dem Strom an dem Drain des Transistors Q3
ist. Wenn ein Strom an der Source des Transistors Q3 und dem Widerstand
R3 anliegt, liegt eine Spannung an dem Gate des Transistors Q4 an.
Der Wert des Transistors. Der Wert des Transistors R3 bestimmte
die Verstärkung
der Vorrichtung. Mit anderen Worten steigt mit einem großen Wert
des Widerstands R3 die Spannung am Gate des Transistors Q4 schneller
an als die Spannungen an Vpos. Der Wert des Transistors R3 steuert
dann die Geschwindigkeit, mit der die Klemmschaltung wirkt.
-
Wenn
die Spannung an dem Gate des Transistors Q4 ansteigt, wird er eingeschaltet,
was den Durchtritt von Strom durch Drain und Source erlaubt. Wenn
der Transistor Q4 Strom von Vpos zu Vss ableitet, hält dies
die Spannung an Vpos auf einem konstanten Pegel, so dass dadurch
die Versorgungsspannung für
den Rest der integrierten Schaltungen geklemmt wird und die integrierte
Schaltung vor einem schädlichen Überspannungszustand
geschützt wird.
In einer bevorzugten Ausführungsform
beginnt der Transistor Q1 bei annähernd 4 V einzuschalten und
der Transistor Q4 schaltet ein und leitet genug Strom ab, um Vpos
auf annähernd
5 V zu begrenzen.
-
Die
Klemmschaltung 23 begrenzt die Versorgungsspannung für den Rest
der integrierten Schaltung. Gewöhnlich
benötigen
integrierte Schaltungen keine Spannungsbegrenzung, da integrierte
Schaltungsvorrichtungen mit einer geregelten Leistungsversorgung
verwendet werden. Mit anderen Worten wird der Spannungsbereich,
der dem Chip zugeliefert werden muss, und jede Regelung oder Begrenzung der
Leistung außerhalb
des Chips durchgeführt.
Da jedoch der Transponder durch ein Abfragegerät mit Leistung versorgt wird,
das einen unbekannten Spannungspegel an das Abfragegerät abgibt,
wird der Schutz gegen einen Überspannungszustand
auf dem Chip durch die Klemmschaltung durchgeführt.
-
Das
gleichgerichtete Signal dient als ein Haupttakt, der einem Taktgenerator 36 eingegeben wird.
Der Taktgenerator 36 unterteilt das Haupttaktsignal und
gibt Zeitgebungssignale und Freigabesignale an ein Datenmodul 40,
Adressmodul 38 und einen Speicher 28 ab.
-
Die
Steuerlogikschaltung 20 enthält ein Adressmodul 38 zum
Empfangen von Signalen von dem Taktgenerator und zum Adressieren
einer identifizierten Adresse in dem Speicher 28 ansprechend auf
die Taktgeneratorsignale. Ein Datenmodul 40 empfängt Verriegelungssignale
von dem Taktgenerator 36, Daten von dem Speicher 28,
Temperaturdaten von dem Temperaturmodul 30 und gibt Daten
ansprechend auf diese Signale an einen Sender 42 aus. Der Sender 42 überträgt ein die
Daten enthaltendes Ausgangssignal durch den Modulator 34,
der das von dem Sender 42 ausgegebene Ausgangssignal moduliert.
-
Ein
Empfänger 44 empfängt das
von dem Abfragegerät 10 ausgegebene
Datensignal nach der Verarbeitung durch einen Komparator 47 und
gibt die empfangenen Daten an ein Adressmodul 38 aus. Eine
Programmiersteuerung 46 empfängt die Daten von dem Speicher 28 und
ein Programmierbit vom Datenmodul 40, eine Adresse vom
Adressmodul 38 und gibt ansprechend darauf ein Programmierfreigabesignal
an den Taktgenerator 36 aus, der wiederum die Programmierung
der Daten in den Speicher 28 freigibt.
-
Wie
nachfolgend beschrieben wirkt der Komparator 47 auch als
Spannungssynchronisierungsschaltung und empfängt das Abfragegerätsignal
und vergleicht das Abfragegerätsignal
mit einer Referenzspannung, beispielsweise 2,5 V. Der Komparator gibt
ansprechend auf das empfangene Abfragegerätsignal ein Signal aus und
gibt das Signal an den Sender 42 aus, der wiederum das
Signal durch den Modulator 34 an die Antenne 22 zur Übertragung
an das Abfragegerät 10 ausgibt.
-
Wie 3 zeigt,
ist in einer bevorzugten Ausführungsform
der Speicher 28 ein EEPROM. Der Speicher 28 ist
so strukturiert, dass er einen Statusbytebereich 50, einen
Temperaturkalibrierungsbereich 52, einen CRC-Bereich 54,
einen Datenbereich 56 und einen Benutzersperrbereich 58 aufweist.
Der Temperaturkalibrierungsbereich 52 enthält einen Temperatureinstellwert,
bei dem es sich um die Messwertverschiebung zwischen der berechneten oder
erfassten Temperatur, die von dem Temperaturmodul 30 erfasst
wird, und der tatsächlichen
Temperatur des jeweils überwachten
Objektes handelt. Die in dem Temperaturkalibrierungsbereich 52 gespeicherten
Daten werden zusammen mit den Temperaturdaten von dem Temperaturmodul 30 an
das Abfragegerät 10 ausgegeben
und das Abfragegerät 10 berechnet
durch die CPU 12 die tatsächliche Temperatur, wie nach
dem Stand der Technik bekannt.
-
Der
CRC-Bereich 54 ist eine Integritätsprüfung für die in dem Speicher 28 gespeicherten
Daten wie nach dem Stand der Technik bekannt, und zwar unter Verwendung
von Standard-Polynomgleichungen, um die Daten in dem Speicher zu
vergleichen und zu verifizieren.
-
Der
Datenbereich 56 speichert vom Benutzer programmierbare
Informationen, die von dem Abfragegerät 10 eingegeben werden,
während
wie nachstehend erörtert
der PROGRAMMIERMODUS vorliegt, und aus dem Speicher während des
LESEMODUS ausgelesen werden. Die Daten werden als Bits 57 gespeichert,
die in Kombination Zeichen darstellen. In einer bevorzugten Ausführungsform
wird das niedrigstwertige Zeichen mit dem niedrigstwertigen Bit
des Zeichens beginnend an dem niedrigstwertigen Bit in dem niedrigstwertigen
Byte des Datenbereichs 56 gespeichert und geht aufwärts zu dem
höchstwertigen
Bit des Zeichens und dem höchstwertigen
Bit in dem höchstwertigen
Byte des Datenbereichs 56. Eine Anzahl von Bits 57 entspricht einem
Zeichen. In einer bevorzugten Ausführungsform kann unter Verwendung
von Kompressionstechniken jedes Zeichen durch weniger als ein Byte
dargestellt werden. In einer bevorzugten Ausführungsform speichert der Datenabschnitt
ausreichend Daten, um 32 Zeichen darzustellen, die als eine Vielzahl von
diskreten Untergruppen von Bits 57 in dem Datenbereich 56 gebildet
sind.
-
Der
Benutzersperrbereich 58 ist in Bits 59 unterteilt.
Jedes Bit entspricht einem in dem Datenbereich 56 gespeicherten
Zeichen. Jedes Bit stellt den Sperrstatus des jeweiligen Zeichens
in den Daten dar. Wenn beispielsweise eine Null in dem niedrigstwertigen
Bit des Benutzersperrbereichs gespeichert ist, der den Bits entspricht,
die den niedrigstwertigen Bits für
das niedrigstwertige Zeichen entsprechen, das in dem Datenbereich 56 gespeichert
ist, dann ist die Sperrung "frei". Das Benutzersperrbit
wird doch Speichern einer Eins in dem gewünschten Bit des Benutzersperrbereichs 58 "gesetzt". Wenn beispielsweise
die Zeichendaten als Bytes gespeichert werden, entspricht das niedrigstwertige
Bit des niedrigstwertigen Bytes des Benutzersperrbereichs 58 dem
niedrigstwertigen Zeichen in dem Datenbereich 56 und das
höchstwertige
Bit des höchstwertigen
Bytes entspricht dem höchstwertigen
Zeichen. Es sei angemerkt, dass jede beliebige andere Mapping-Anordnung von Sperrbits
zu Zeichenbits verwendet werden kann.
-
Wie 4 zeigt,
enthält
das Statusbyte 50 Informationen zur Steuerung des Betriebes
des Speichers 28. Das Statusbyte 50 enthält ein Modusbit 76, das
den Transponder veranlasst, in seinem gesamten internen Speicher
oder nur einem Abschnitt desselben zu arbeiten. Dieses Bit stellt
direkt eine Ausgabe an die Programmiersteuerung 46 dar
und ist tatsächlich "fest verdrahtet" zur automatischen
Steuerung der Transponderschaltungen. Wie weiter unten im Detail
erörtert
wird, überträgt oder
liest dann, wenn das Modusbit 76 frei ist, das heißt eine
Null enthält,
der Transponder aus dem gesamten Speicher 28.
-
Wenn
das Modusbit 76 eine Eins ist, kann der Transponder 20 nur
aus einem Abschnitt des Speichers 28 lesen oder darin programmieren,
wie etwa der ersten Hälfte
des Speichers 28.
-
Die
Bits 68 bis 74 zeigen kollektiv dem Abfragegerät und dem
Transponder den Typ des Transponders an, um den es sich bei dem
Transponder 20 handelt. Wenn beispielsweise ein erweiterter
Speicher innerhalb des Transponders 20 vorliegt, kann eine
Eins in Bit 74 gespeichert sein, um anzuzeigen, dass es
sich bei dem Transponder 20 um einen Transponder mit erweitertem
Speicher (EMT) handelt. Die Bits 68, 70 und 72 können den
Transponder weiter identifizieren, wie zum Beispiel einen Labortransponder
oder einen Transponder zur industriellen Verwendung, um ein Transponderdatenformat
zu bestimmen, das für
den beabsichtigten Zweck am besten geeignet ist. Die Bits 68 bis 74 sind
nicht fest verdrahtet und werden daher nicht automatisch in die Programmiersteuerung 46 eingegeben.
Die Bits 68 bis 74 können auch durch das Adressmodul 38 und das
Da tenvolumen 40 adressiert und programmiert werden, um
den Transponder 20 an die Bedürfnisse des Benutzers anzupassen.
-
Ein
HLOCK-Bit 66 veranlasst die Programmiersteuerung 46,
den Taktgenerator 36 in dem PROGRAMMIERMODUS zu deaktivieren,
wenn das HLOCK-Bit gesetzt ist (das heißt einen Wert Eins hat). Wenn
das HLOCK frei ist, das heißt
einen Wert Null hat, kann die Programmierung durchgeführt werden.
Durch das Deaktivieren des Taktgenerators 36 können keine
Daten durch das Adressmodul 38 und das Datenmodul 40 in
den Speicher 28 geschrieben werden. Dieses Bit 66 ist
fest verdrahtet mit der Programmiersteuerung 46 und steuert
die Programmierung aller Zeichen in dem Temperaturkalibrierungsbereich 52,
dem CRC-Bereich 54, dem Datenbereich 56 und dem
Benutzersperrbereich 58 und nicht von ausgewählten Zeichen
im Datenbereichs 56, wie der Benutzersperre 58.
Das HLOCK-Bit kann
unter Nutzung des Adressmoduls 38 und des Datenmoduls 40 wie
nachstehend erörtert
adressiert und programmiert werden und wird verwendet, um ein zufälliges oder
unbeabsichtigtes Überschreiben
der Daten im Speicher 28 zu verhindern.
-
VERSCHLUSS-Sperrbits 62, 64 enthalten zwei
Bits in Kombination, die so wirken können, dass sie den Transponder 20 gegen
jedes zukünftige Überschreiben
verschließen,
wodurch der Transponder zu einem dauerhaften Nurlese-Transponder
gemacht wird. Die Bits 62, 64 sind ebenfalls mit
der Programmiersteuerung 46 fest verdrahtet und veranlassen
die Deaktivierung des Taktgenerators 36 in dem PROGRAMMIERMODUS.
Anders als das HLOCK-Bit 66 sind jedoch die VERSCHLUSS-Bits 62, 64 nicht
umprogrammierbar, nachdem sie einmal gesetzt wurden. Und den Transponder
zu verschließen,
sollte während
eines ersten Schreibbefehls VERSCHLUSS 0 gesetzt werden und bei
einem zweiten Schreibprozess sollte dann VERSCHLUSS 1 gesetzt werden.
-
Es
sei angemerkt, dass das vorstehend beschriebene Format von dem niedrigstwertigen
Bit zu dem höchstwertigen
Bit und die relative Platzierung der verschiedenen Speicherbereiche
nur im Rahmen eines Beispiels dargelegt ist. Die einzelnen Bits
können
in jeder beliebigen Ordnung angeordnet werden, solange eine Gruppe
von Bits Daten speichert, eine Gruppe von Bits auf die Datenbits
gemapped ist, um als eine Sperre zu wirken, und eine Gruppe von
Bits so wirkt, dass sie die Programmierung des Datenbereichs insgesamt
verhindert.
-
Die
Klemmschaltung 23 ist unter Verwendung eines CMOS-Prozesses
vollständig
in die integrierten Schaltungseinrichtungen eingebaut. Normalerweise
werden integrierte Schaltungseinrichtungen, wie zum Beispiel eine
Klemmschaltung 23, unter Verwendung eines bipolaren Prozesses
gebaut. Ein gemischter bipolarer/CMOS-Prozess ist bei der Herstellung
der integrierten Schaltung nicht durchführbar, und eine Zenerdiode
wird noch in der integrierten Schaltung benötigt, so dass an Stelle dessen
eine MOSFET-Zenerdiode verwendet wird, die durch den CMOS-Prozess
gebildet wird.
-
Lesemodus
-
Wenn
von dem Abfragegerät 10 ein
kontinuierliches Spannungssignal empfangen wird, verwendet der Taktgenerator 36 das
Abfragegerätsignal
als einen Haupttakt und gibt ein LESE EEPROM-Signal an den Speicher 28 und
ein INCR ADDR-Signal an das Adressmodul 38 aus, das das
Adressmodul 38 veranlasst, sequenziell die Adressen des
Speichers 28 entlang dem Adressbus zu verriegeln. Dies
verursacht, dass die adressierten Daten entlang einem DATENBUS an
das Datenmodul 40 ausgegeben werden, wo sie dann als ein
DATEN AUS-Signal an den Sender 42 ausgegeben werden. Der
Sender 42 gibt dann die Daten an den Modulator 32 aus,
der über
die Antenne 22 einen moduliertes Signal an das Abfragegerät 10 ausgibt.
Der Taktgenerator 36 gibt kontinuierlich ein Taktsignal
an das Adressmodul 38 ab, um die durch das Adressmodul 38 während des LESEMODUS
verriegelte Adresse schrittweise zu erhöhen.
-
Während des
LESEMODUS gibt der Taktgenerator 36 ein LESE EEPROM-Signal
an den Speicher 28 ab. Wenn das LESE EEPROM-Signal dem Speicher 28 eingegeben
wird, verwendet der Speicher 28 Strom. Während des
Betriebes wird das LESE EEPROM-Signal an den Speicher 28 nur
ausgegeben, während
das Adressmodul 38 die Adresse im Speicher 28 verriegelt
und Daten an das Datenmodul 40 ausgegeben werden. Sobald
die Daten entlang dem DATENBUS ausgegeben werden, wird das LESE
EEPROM-Signal deaktiviert, bis der Taktgenerator 36 ein
nachfolgendes INCR ADDR-Signal ausgibt, um die von dem Adressmodul 38 zu
adressierende Adresse zu erhöhen.
Das LESE EEPROM-Signal wird anschließend freigegeben und der Speicher 28 wird
mit Strom versorgt, um das Auslesen von Daten im Speicher 28 zu
erlauben, und dieser Prozess wird wiederholt, bis der LESEMODUS
beendet ist, wenn vom Transponder 20 die Leistung abgezogen
wird. Durch das Unterbrechen der Stromversorgung zum Speicher 28 wird
der während
des LESEMODUS verbrauchte Gesamtstrom reduziert. Da der Speicher
ein EEPROM ist, das heißt
ein statischer Speicher, werden die Daten gespeichert, auch wenn
der Speicher 28 nicht mit Strom versorgt wird.
-
Der
Taktgenerator 36 gibt ein PRÄAMBEL FREIGABE-Signal an den
Sender 42 aus, was den Sender 42 veranlasst, eine
Präambel
auszugeben, wie im Stand der Technik bekannt. Nach einer vorbestimmten
Zeitperiode, die zur Ausgabe der Präambel ausreichend ist, deaktiviert
der Taktgenerator die Präambel
und gibt ein DATEN FREIGABE-Signal an den Sender 42 aus,
was den Sender 42 veranlasst, das DATEN AUS-Signal auszugeben,
das die Daten von dem Datenmodul 40 enthält, so dass
während des
LESEMODUS die Ausgabe des Transponders 20 eine Präambel, gefolgt
von den aus dem Speicher 28 ausgelesenen Daten ist, die
vom Modulator 34 moduliert wurden. Nachdem ein vollständiger Zyklus des
DATEN AUS-Signals vom Sender 42 ausgegeben wurde, deaktiviert
der Taktgenerator 36 das DATEN FREIGABE- und gibt das PRÄAMBEL FREIGABE-Signal
aus.
-
Programmiermodus
-
Nachfolgend
wird auch auf 6–8 Bezug genommen,
in welchen der Betriebsablauf des PROGRAMMIERMODUS dargestellt ist.
Um die Programmierung zu beginnen, wird der Transponder 20 zunächst in
dem LESEMODUS gelesen und die Daten werden unter Verwendung von
Daten in dem CRC-Bereich 54 des Speichers 28 in
einem Schritt 100 verifiziert. Der Transponder 20 überträgt dann die
in dem Speicher 28 gespeicherten Daten wie vorstehend erörtert. Das
Abfragegerät 10 fährt anschließend die
Leistung der Antenne 14 herunter, womit tatsächlich der
Transponder 20 abgeschaltet wird. Das Abfragegerät 10 formuliert
dann die in den Speicher 28 zu schreibenden Daten, das
heißt
in das Statusbyte 50, den Temperaturkalibrierungsbereich 52, den
CRC-Bereich 54, den Datenbereich 56 oder den Benutzersperrbereich 58 zu
programmierenden Daten in einem Schritt 102. Das Abfragegerät 10 formuliert
einen Datenstring entsprechend jedem Bit des Speichers 28,
auch wenn dieses Bit nicht neu programmiert werden soll. Das Abfragegerät 10 analysiert
dann unter Verwendung der CPU 12 die in dem Speicher 28 gespeicherten
Daten. Das Abfragegerät analysiert
in einem Schritt 104 das Statusbyte 50, um zu
bestim men, ob Bits 62, 64 des Statusbytes 50 gesetzt
sind oder nicht. Wenn die Statusbytes 62, 64 gesetzt
sind, wird die Programmierung in einem Schritt 106 durch
das Abfragegerät
beendet.
-
In
einem Schritt 108 wird bestimmt, ob eines der Bits 57 in
dem Datenbereich 56, die überschrieben (neu programmiert)
werden sollen, ein entsprechendes Bit 59 in einem Benutzersperrbereich 58 hat,
das gesetzt ist. Wenn dies der Fall ist, zeigt dies an, dass das
Zeichen nicht verändert
werden soll, sofern nicht das Benutzersperrbit 59 freigegeben
wird, so dass der Schreibvorgang in Schritt 106 beendet wird.
Ein separates Programmiersignal muss dann gesendet werden, um die
Benutzersperre freizugeben.
-
Wenn
das einem neu zu programmierenden Zeichen entsprechende Benutzersperrbit 59 nicht
gesetzt ist, wird in einem Schritt 112 ein Transponderprogrammierdurchlauf
zum Bearbeiten aller Speicherstellen in dem Speicher 28 durchgeführt.
-
Nachfolgend
wird auf 8(B) Bezug genommen. Das Nte
Byte (oder Untergruppe von Bits) der im Datenbereich 56 gespeicherten
Daten (einem Zeichen entsprechend) wird mit dem Nten Byte der Schreibdaten
in einem Schritt 114 verglichen. Wenn die Bytes gleich
sind, wie in einem Schritt 116 bestimmt wird, besteht kein
Bedarf, den Speicher 28 an dieser Datenbereichsadresse
neu zu programmieren und es wird in einem Schritt 124 festgestellt,
ob noch mehr Bytes zu vergleichen sind.
-
Wenn
wie in Schritt 116 festgestellt die Bytes unterschiedlich
sind, wird in einem Schritt 118 bestimmt, ob die Spannung
synchronisiert wurde, und wenn nicht, wird in einem Schritt 120 eine
Spannungssynchronisierung durchgeführt. Das Abfragegerät und der
Transponder müssen
bestätigen,
dass ein ausreichender Spannungspegel für das am Transponder empfangene
Abfragegerätsignal
vorliegt, dass der Transponder ordnungsgemäß arbeiten kann. In einer beispielhaften
Ausführungsform
ist dieser Spannungspegels auf 2,5 V festgelegt. Mit anderen Worten
muss das Signal von dem Abfragegerät mindestens 2,5 V am Transponder
erzeugen, um wirksam Daten zum Transponder zu übertragen, und der 2,5 V-Schwellenwert
kann verwendet werden, um die Differenz zwischen einem Null-Signalwert
und einem Eins-Signalwert zu bestimmen.
-
Um
Daten zum Transponder 20 zu übertragen, muss das Abfragegerät 10 bestimmen,
welchen Ausgangsleistungspegel die Referenzspannung an dem Transponder
erzeugen wird. Diese Beziehung verändert sich, wenn sich der Abstand
zwischen dem Abfragegerät 10 und
dem Transponder 20 ändert. Der
Transponder 20 unterstützt
das Abfragegerät 10 bei
der Bestimmung dieses Leistungspegels, indem eine Rückmeldung
in Form von übertragenen
Daten gesendet wird, die das Abfragegerät 10 lesen kann. Die
Rückmeldung
teilt dem Abfragegerät 10 mit,
ob die Spannung am Transponder 20 gegenwärtig oberhalb
oder unterhalb der Schwellenwertspannung liegt.
-
In
Schritt 120 sendet das Abfragegerät 10 ein Signal, das
den Transponder 20 einschaltet. Das Abfragegerätsignal
wird an der Antenne 22 empfangen und dem Komparator 47 eingegeben,
wo das Abfragegerätsignal
mit einer Referenzspannung REF verglichen wird. Wenn beispielsweise
das Abfragegerätsignal
größer als
die Referenzspannung ist, gibt der Komparator 47 ein Hoch-Signal
aus. Wenn im Gegensatz dazu das empfangene Signal niedriger ist
als die Referenzspannung, gibt der Komparator 47 ein Niedrig-Signal
aus. Der Komparator 47 gibt ein CODIERTE EMPF DATEN-Signal
aus, das dem Sender 42 eingegeben wird. In einer bevorzugten
Ausführungsform
gibt der Sender 42 ein in 5 gezeigtes erstes
Signal a aus, wenn die Transponderspannung unter
der Referenzspannung liegt, und ein in 5 gezeigtes
zweites Signal b, wenn die
Transponderspannung über
2,5 V liegt.
-
Wenn
das von dem Abfragegerät 10 empfangene
Muster anzeigt, dass die Eingangsspannung über dem gewünschten Schwellenwert liegt,
das heißt
Signal b, reduziert das Abfragegerät 10 die Leistungsabgabe
und der Prozess wird wiederholt, bis ein einen unter dem Schwellenwert
liegenden Wert anzeigendes Muster von dem Abfragegerät empfangen
wird. Sobald das Signal a, das die Umkehrung von Signal b ist, ausgegeben
wird, was dem Abfragegerät 10 anzeigt,
dass die empfangene Spannung nach einer Einstellung unter der Schwellenwertspannung
liegt, würde
die vom Abfragegerät 10 abgegebene
Leistung erhöht.
Dieser Prozess wird wiederholt, bis die vom Abfragegerät erforderliche Einstellung
zu fein ist, das heißt
die Fähigkeiten
des Abfragegeräts
zur weiteren Einstellung oberhalb oder unterhalb der Schwellenwertspannung übersteigt.
In einer alternativen Ausführungsform
gibt der Transponder 20, sobald eine Einstellung zu fein
wurde, ein Signal an das Abfragegerät 10 aus, dass die Einstellung
zu beenden ist.
-
Durch
Verändern
des Ausgangsleistungspegels und Überwachen
des Rückmeldungssignals kann
das Abfragegerät 10 den
Ausgangsleistungspegel herleiten, der die Schwellenwertspannung
(2,5 V) am Transponder 20 erzeugt. Sobald dieser Schwellenwert
bestimmt ist, ist das Abfragegerät 10 in
der Lage, Daten an den Transponder 20 zu übertragen, da
es weiß,
wie eine Ausgangsleistung zu erzeugen ist, die eine Spannung von
mehr als 2,5 V an dem Transponder als Ergebnis hat und im Gegensatz dazu
die Ausgangsleistung kennt, die weniger als 2,5 V am Transponder 20 erzeugt.
Der Transponder 20 übersetzt
eine Spannung, die unter der Schwellenwertspannung liegt, als einen
Null-Logikstatus, und eine Spannung, die größer als die Schwellenwertspannung
ist, als einen Eins-Logikstatus.
Der Transponder 20 wird im Rückkopplungsmodus eingeschaltet,
so dass das Abfragegerät 10 den
Schwellenwertspannungs-Übergangspegel
rasch bestimmen kann. Wenn jedoch das Abfragegerät 10 nicht interessiert ist,
den Transponder zu programmieren, kann es einfach einen konstanten
Ausgangsleistungspegel einstellen und warten, bis der Transponder 20 auf
den LESEMODUS umschaltet und Daten aus dem Transponder 20' auslesen.
-
Sobald
in Schritt 120 die Spannung synchronisiert wurde, wird
in Schritt 121 festgestellt, ob das HLOCK-Bit 66 gesetzt
wurde. Wenn dies der Fall ist, muss das HLOCK-Bit 66 in
einem Schritt 123 gelöscht
werden, um die Programmierung zu erlauben. In Schritt 123 wird
von dem Abfragegerät 10 ein
Programmiersignal gesendet, um das HLOCK-Bit 66 zu löschen.
-
Das
Programmiersignal hat ein in 7 gezeigtes
Datenformat, wobei das Programmiersignal 200 einen Programmierbereich 202,
einen Datenbereich 204 und einen Adressbereich 206 hat.
Der Programmierbereich 202 ist in einer bevorzugten Ausführungsform
ein einzelnes Bit, das anzeigt, dass das Signal tatsächlich ein
Programmiersignal ist. Der Datenbereich 204 enthält die in
den Speicher 28 zu programmierenden Daten und stellt ein
einzelnes Zeichen dar. In einer bevorzugten Ausführungsform hat jedes Zeichen
ein Byte Länge
und der Datenbereich 204 besteht aus acht Bits, und mit
Kompressionstechniken kann jedes Zeichen durch weniger als acht
Bits dargestellt werden, während
der Datenbereich acht Bits lang bleiben kann, um bei einer Kompression
auf sechs Bits beispielsweise zwei Bits eines nachfolgenden Zeichens
zu programmieren. Der Adressbereich 206 enthält die Daten,
die die Adresse anzeigen, an welcher die Daten des Datenbereichs 204 geschrieben
werden sollen, und ist in einer bevorzugten Ausführungsform fünf Bits.
-
Wie 6 zeigt,
ist das von dem Abfragegerät 10 übertragene
tatsächliche
Signal, das die Daten des Datensignals 200 verkörpert, impulsabstandsmoduliert. 6 ist
ein Zeitablaufdiagramm eines beispielhaften Signals. Bei induktiv
gekoppelten Transpondern nach dem Stand der Technik war die Kommunikation
zwischen dem Abfragegerät
und dem Transponder stark von der Zeitgebung der Sende- und Empfangssignale
zwischen den beiden abhängig.
Das Signal bei der vorliegenden Erfindung ist unabhängig von
der Zeitgebung. Das Signal ist aus einer Reihe von feststehenden
oder Standardimpulsen 210 aufgebaut, wobei die Breite beziehungsweise
der Abstand zwischen diesen Impulsen durch eine Verzögerung moduliert
wird, so dass er den gewünschten
Daten entspricht. Beispielsweise kann eine Null einem Standardabstand
zwischen zwei Impulsen 210 entsprechen, während Daten
1 durch einen verzögerten
oder verlängerten
Abstand zwischen benachbarten Impulsen 210 dargestellt
ist. Als Resultat ist die Zeitgebung kein Faktor mehr. Das Ende
eines Datenübertragungszyklus
kann durch Verbleiben in einem Logikpegel für eine vorbestimmte Zeitdauer
angezeigt werden, die mehr als dem Standardimpuls oder dem Wert
einer logischen Null oder einer logischen Eins entspricht. So startet
die Programmierung in einem Schritt 122.
-
Der
Empfänger 44 empfängt die
Daten sowie einen Sendetakt vom Taktgenerator 36. Wenn
der Empfänger 44 die Übertragung
der Vorderflanke eines Impulses 210 erfasst, beginnt er,
den Abstand zwischen den Impulsen mit einem Zählwert zu vergleichen, der
von dem SEND TKT-Signal vom Taktgenerator 36 abhängig ist,
beispielsweise acht Zyklen des Sendetaktes. Wenn beispielsweise
die empfangene Impulsbreite geringer als der Sendetakt ist, wird
der Empfänger
feststellen, dass die erhaltenen Daten eine Null darstellen und
diese Null zu dem Adressmodul 38 als EMPF-DATEN zusammen
mit einem EMPF-TKT-Signal
zur Taktung der Daten in das Adressmodul 38 übertragen.
Wenn der erfasste Impuls eine größere Breite
als eine vorbestimmte Anzahl von Zyklen hat, bestimmt der Empfänger 44, dass
die Datenübertragung
vollendet wurde und ein SEND VOLLSTÄNDIG-Signal wird in das Adressmodul 38 eingegeben.
Wenn die Daten in das Adressmodul 38 verschoben werden,
werden sie als EMPF-DATENSEQUENZ-Signal zu dem Datenmodul 40 verschoben,
so dass die ersten 8 Bits, die beispielsweise dem Datenabschnitt 204 des Datensignals
entsprechen, in dem Datenmodul 40 verriegelt werden. Zusätzlich wird
das Programmierbit des Programmierbereichs 202 an die Programmiersteuerung 46 ausgegeben,
um anzuzeigen, dass eine Programmierung stattfindet.
-
Wenn
das Abfragegerät 10 keine
CPU 12 mit der Softwarefähigkeit zur Bestimmung aufweist,
dass die Daten durch einen Vergleich des gelesenen Datenstroms gesperrt
wurden, wird die Programmierung durch ein Abfragegerät trotzdem
aufgrund der Programmiersteuerung 46 verhindert. Wenn alle
Daten vom Empfänger 44 empfangen
wurden, wurde das Programmierbit von der Programmiersteuerung 46 empfangen,
und die Programmiersteuerung 46 betrachtet das Statusbyte 50 des
Speichers 28 und bestimmt, ob die Verschlussbits 62, 64 des
Statusbytes 50 gesetzt wurden oder nicht. Wenn die Verschlussbits 62, 64 aktiviert
wurden, gibt die Programmiersteuerung 46 kein PROGRAMMIER
FREIGABE-Signal an den Taktgenerator 36 aus. Der Taktgenerator 36 taktet
nicht das Adressmodul 38 oder das Datenmodul 40.
Dadurch kann die Programmierung durch das Abfragegerät nicht
erzwungen werden.
-
Wenn
eines der beiden Verschlussbits 62, 64 in dieser
Ausführungsform
frei ist, betrachtet die Programmiersteuerung 46 dann das
HLOCK-Bit 66, das ebenfalls in die Programmiersteuerung 46 fest
verdrahtet ist. Wenn das HLOCK-Bit 66 gesetzt wurde, gibt
die Programmiersteuerung 46 ebenfalls nicht das PROGRAMMIER
FREIGABE-Signal aus, um die Programmierung wie in einem Schritt 121 bestimmt zu
beginnen.
-
Da
das HLOCK-Bit 66 umprogrammierbar ist, stellt in Schritt 123 die
Programmiersteuerung 46 fest, ob die von dem Adressmodul 38 an
dem Adressbus angegebene Adresse dem Statusbyte 50 des Speichers 28 entspricht
oder nicht. Wenn die von dem Adressmodul 38 angegebene
Adresse das Statusbyte ist, gibt die Programmiersteuerung 46 ein PROGRAMMIER
FREIGABE-Signal an den Taktgenerator 36 aus. Der Taktgenerator 36 taktet
das Adressmodul entlang der ADDR VERRIEGELUNG-Eingabe, um die Statusbyte-Adresse zu takten,
was sie veranlasst, ein Signal der spezifischen Adresse des Speichers 28 zu
senden, und gibt ferner ein VERRIEGELN DATEN-Signal an das Datenmodul 40 aus,
welches das Datenmodul 40 veranlasst, Daten 204 des
Datensignals 200 an der von dem Adressmodul 38 angegebenen
Adresse in den Speicher 28 zu verschieben. Dies entsperrt
tatsächlich das
HLOCK-Bit 66, indem eine Null in das HLOCK-Bit 66 gesetzt
wird.
-
Nachdem
in Schritt 123 das HLOCK-Bit 66 gelöscht wurde,
oder wenn in Schritt 121 festgestellt wurde, dass das HLOCK-Bit 66 frei
war, wird in einem Schritt 122 das Nte Byte der Schreibdaten
in einer zu der Programmierung des HLOCK identischen Weise programmiert.
Die Programmiersteuerung 46 gibt nach der Bestätigung,
dass das HLOCK-Bit 66 frei ist, ein PROGRAMMIER FREIGABE-Signal
aus, das den Taktgenerator 36 veranlasst, das Adressmodul 38 zu
takten, so dass es die gewünschte
Speicheradresse wie von den in dem Adressbereich 206 des Datensignals 200 gespeicherten
Daten angegeben adressiert. Die Daten des Datenbereichs 204,
die in das Datenmodul 40 verriegelt sind, werden an der angegebenen
Adresse in den Speicher 28 eingegeben. Dann wird in einem
Schritt 124 festgestellt, ob in einem Schritt 114 weitere
Bytes zu vergleichen sind.
-
Wenn
keine weiteren Bytes zu vergleichen sind, wird zur Sicherheit, obgleich
optional, das HLOCK-Bit 66 zum Setzen programmiert, indem
zunächst
in einem Schritt 126 bestimmt wird, ob das Bit frei ist.
Wenn das Bit frei ist, wird in einem Schritt 128 das Setzen
programmiert. Auch hier ist die Programmierung gleich wie in Schritt 123,
nur dass der Wert der im Bit 66 geänderten Daten unterschiedlich
ist. In einem Schritt 130 wird bestimmt, ob irgendwelche Bytes
programmiert sind.
-
Wenn
Bytes vom Speicher 28 programmiert wurden, wird in Schritt 110 der
Transponder erneut ausgelesen und die aus dem Transponder ausgelesenen
Daten werden mit den Daten verglichen, die von dem Abfragegerät 10 unter
der Steuerung der CPU 12 programmiert wurden. Wenn irgendwelche Bytes
unterschiedlich sind, würde
in einem Schritt 112 der Transponder 20 neu programmiert
werden, um diese Unterschiede zu korrigieren. Wenn keine Unterschiede
zwischen den Bytes der gespeicherten Daten im Vergleich zu den Bytes
der Daten, die programmiert werden sollen, vorhanden sind, wird
in einem Schritt 132 die Programmierung beendet, der dadurch
erreicht würde,
dass in einem zweiten Durchgang bestimmt wird, dass in Schritt 130 keine Bytes
erneut programmiert wurden.
-
Wenn
in Schritt 108 festgestellt wird, dass ein oder mehrere
einem Zeichen entsprechende Benutzersperrbits 59 gesetzt
sind, muss ein separates Programmiersignal gesendet werden, um die
Benutzersperre zu löschen.
Der Benutzersperrbereich 58 wird program miert, um die gewünschten
Bits zu löschen.
Diese Programmierung erfolgt in ähnlicher Weise
wie die Programmierung des HLOCK-Bits einschließlich der Rückstellung des Benutzersperrbits 59 nach
der Programmierung der entsprechenden Zeichenbits 57, sofern
erwünscht.
-
Während der
Programmierung gibt der Taktgenerator 36 ein PROGRAMMIER
EEPROM-Signal an
den Speicher 28 aus. Dieses Signal gibt Strom zu dem Speicher 28 frei,
um dessen Bearbeitung zu erlauben. Der Taktgenerator 36 zählt von
dem Zeitpunkt, an dem PROGRAMMIER FREIGABE den Taktgenerator 36 freigibt
und für
eine vorbestimmte Zeitdauer, die ausreicht, um Daten von dem Datenmodul 40 in
den EEPROM des Speichers 28 zu verschieben. Sobald der
vorbestimmte Zählwert
erreicht wurde, wird PROGRAMMIER EEPROM deaktiviert, so dass kein
Strom an den Speicher abgegeben wird, was weiter Leistung spart.
-
Die
Programmiersteuerung 46 liest ferner das Modusbit 76 des
Statusbytes 50. Wenn das Modusbit 76 beispielsweise
gesetzt ist, kann nur auf die Hälfte
beziehungsweise auf 16 Zeichen des Datenbereichs 56 entweder
zur Programmierung oder zum Auslesen zugegriffen werden. Das Modusbit 76 veranlasst
die Programmiersteuerung 46, ein MODUS-Signal an das Adressmodul 38 auszugeben, das
das Adressmodul 38 für
die Adressierung oder das Verriegeln von Daten in der zweiten Hälfte des Speichers 28 deaktiviert.
Als Resultat arbeitet der Transponder so, als ob er einen Speicher
mit der halben Größe hätte. Dies
ist vorteilhaft, wenn eine Untersuchung unter Verwendung von kleineren
Transpondern simuliert werden kann, so dass ein einzelner Transponder
den Stil einer älteren
Untersuchung oder einer neuen Untersuchung unter Verwendung des
programmierbaren implantierbaren Transponders gemäß der Erfindung
simulieren kann.
-
Wenn
schließlich
die Daten in dem Datenbereich 56 dauerhaft beibehalten
werden sollen, können
Verschlussbits 62, 64 gesetzt werden, indem Einsen
in sie programmiert werden. Dies wird erreicht, indem zunächst VERSCHLUSS 0 und
anschließend
VERSCHLUSS 1 in der vorstehend bei der Programmierung des HLOCK-Bit
beschriebenen Weise programmiert wird. Auf diese Weise wird ein programmierbares
Verschlussbit vorgesehen. Es sei angemerkt, dass die beiden Bits
nur als Beispiel als der permanente Verschluss verwendet werden,
das Verschlussbit jedoch auch ein Bit, zwei Bits, drei Bits oder
mehr sein könnten.
-
Temperaturmodus
-
Während des
TEMPERATURMODUS wird der Transponder zunächst in einem Schritt 300 ausgelesen,
wie in 9(A), 9(B) gezeigt.
In einem Schritt 302 wird die Spannungssynchronisierung durchgeführt, um
sicherzustellen, dass ein Temperaturbefehl mit geeignetem Spannungspegel
gesendet und empfangen wird. Die Spannungssynchronisierung entspricht
der vorstehend unter Verwendung des Komparators 47 beschriebenen.
In einem Schritt 304 wird ein Temperaturbefehl von dem
Abfragegerät 10 als
einen impulsabstandsmoduliertes Signal gesendet, wie in 6 gezeigt.
Das Signal kann eine beliebige Länge
haben, hat jedoch in der bevorzugten Ausführungsform fünf Bits
und wird von der Antenne 22 des Transponders 20 empfangen
und in den Empfänger 44 eingegeben.
-
Ein
Temperaturmodul 30 ist mit einen Thermistor 32 gekoppelt.
Der Thermistor 32 verändert
seinen Widerstand als Funktion der Temperatur und gibt ein Frequenzsignal
aus, das sich mit dem Widerstand ändert. Das Temperaturmodul 30 zählt kontinuierlich den
Ausgang des Thermistors 32 und gibt den Stromzählwert als
ein TEMP DATEN-Signal an das Datenmodul 40 aus.
-
In
Schritt 306 empfängt
der Empfänger 44 den
Temperaturbefehl und gibt ein SEND VOLLSTÄNDIG-Signal bei Vollendung
des Temperaturbefehls an das Adressmodul 38 aus. Das SEND
VOLLSTÄNDIG-Signal
wird ebenfalls an den Taktgenerator 36 und die Programmiersteuerung 46 ausgegeben.
Der Taktgenerator 36 gibt ein LATCH TEMP-Signal an das
Datenmodul 40 auf einer periodischen Basis aus. Bei jedem
Auftreten des LATCH TEMP-Signals gibt das Datenmodul 40 den
gegenwärtigen Zählwert des
TEMP DATEN-Signals
als ein DATEN AUS-SIGNAL an den Sender 42 aus. Der Sender 42 gibt
dann den verriegelten Zählwert
als das SENDE AUS-Signal an den Modulator 34 aus, der das
Signal moduliert und den Temperaturzählwert von der Antenne 22 an
das Abfragegerät 10 ausgibt.
-
Da
die von dem Temperaturmodul 30 überwachte Frequenz mit der
Temperatur variiert, variiert der Zählwert mit der Temperatur.
Der Taktgenerator 36 wird durch das Ausgeben eines konsistenten
periodischen LATCH TEMP-Signals in einem vorbestimmten Intervall
zur Standardisierung der Abtastung genutzt. Dies erfolgt, um die
Veränderungen
des Zählwerts
als eine Funktion der Temperatur und nicht der Zeit wiederzugeben.
Tatsächlich
ist jede Temperaturerfassung die Differenz zwischen aufeinanderfolgenden
verriegelten Zählwerten.
-
Nachfolgend
wird auf 9B Bezug genommen, in der
die Schritte 306 zum Auslesen der Transponder-Temperaturdaten
detaillierter dargestellt sind. Die CPU 12 des Abfragegeräts 10 hat
als einen Teil ihrer Software einen Leseversuchszähler. In
Schritt 308 wird der Leseversuchszähler auf Null gestellt. In Schritt 310 werden
die Temperaturdaten wie vorstehend beschrieben gelesen, das heißt das Auslesen einer
Vielzahl von verriegelten Werten. Das Abfragegerät 10 gibt ein Lesebefehlssignal
aus, das zur Folge hat, dass das Abfragegerät 10 eine vorbestimmte Anzahl
von verriegelten Zählwerten
von dem Temperaturmodul 30 empfängt. Der Leseversuchszähler wird
in einem Schritt 312 einen Schritt erhöht. Es wird in einem Schritt 314 festgestellt,
ob der Zähler
für die Anzahl
der Leseversuche ein vorbestimmtes Maximum überschreitet oder nicht. Wenn
die Anzahl der Versuche überschritten
wurde, ist dies ein Hinweis darauf, dass die Temperaturablesewerte
ungenau sind und der Temperaturablesevorgang gescheitert ist (Schritt 324),
da es zu viele Versuche erfordert, einen genauen Ablesewert zu erhalten,
und der Prozess wird erneut in einem Schritt 300 begonnen,
in dem die Transponderdaten gelesen werden.
-
Wenn
der Zähler
für die
Anzahl der Leseversuche das Maximum nicht überschritten hat, war der Ablesevorgang
erfolgreich und die Temperaturdatenwerte werden in Schritt 316 zusammengefasst.
In Schritt 318 wird als eine Integritätsprüfung bestimmt, ob die Differenz
zwischen dem Zählwert
für den kleinsten
Wert und dem Zählwert
für den
größten Wert
innerhalb eines vorbestimmten Bereichs liegt. Wenn sie außerhalb
dieses Bereichs liegt, dann ist die Variation zu groß und der
Prozess wird erneut in Schritt 310 begonnen.
-
Wenn
der Wert innerhalb des Bereichs ist, werden die gesamten Temperaturdaten-Abfragewerte aus
Schritt 316 dann in einem Schritt 320 durch die Menge
der Zeit geteilt, die zur Erzeugung aller Daten erforderlich war.
Dies ist die durch den Thermistor ausge gebene Frequenz. Nachdem
die Beziehung zwischen der Frequenz und der Temperatur für den gegebenen
Thermistor bekannt ist, wird in einem Schritt 322 die Temperatur
berechnet. In einem Schritt 324 wird festgestellt, ob der
Transponderablesevorgang erfolgreich war. Falls nicht, wird der
Prozess wiederum in Schritt 300 begonnen. Wenn der Ablesevorgang
erfolgreich war, wird zur Verifizierung ein zweiter Ablesevorgang
in einem Schritt 346 durchgeführt, indem die Schritte 308–322 wiederholt werden.
In einem Schritt 328 wird festgestellt, ob der zweite Ablesevorgang
erfolgreich war. Wenn nicht, wird der Prozess in Schritt 300 neu
begonnen. Wenn er erfolgreich war, werden die beiden Zählwerte
in einem Schritt 330 verglichen. Wenn sie gleich sind, wird
diese Temperatur von dem Abfragegerät 10 angezeigt. Wenn
sie nicht gleich sind, wird der Prozess in Schritt 300 neu
begonnen.
-
Integritätsprüfung
-
In
einer Ausführungsform
der Erfindung führt das
Abfragegerät
eine Integritätsprüfung der
von dem Transponder 20 ausgelesenen Daten durch. Da der
Transponder 20 das Abfragegerätsignal von dem Abfragegerät 10 als
Haupttakt verwendet, kennt das Abfragegerät 10 die Zeitdauer
zwischen Bits der vom Transponder 20 zum Abfragegerät 10 übertragenen Daten.
Die CPU 12 des Abfragegeräts 10 enthält einen
Akkumulator. In einem Schritt 400 wird der Akkumulator
auf Null gestellt. In einem Schritt 402 wird das erste
Transponderbit empfangen. In einem Schritt 404 wird das
nächste
Transponderdatenbit empfangen. In einem Schritt 406 berechnet
das Abfragegerät 10 unter
Verwendung eines platinenintegrierten Taktes die zwischen den letzten
beiden aufeinanderfolgenden Datenbits tatsächlich verstrichene Zeit. In
einem Schritt 408 wird die im Schritt 406 berechnete
Zeit von der zwischen zwei Bits erwarteten Durchschnittzeit subtrahiert.
Diese Zahl ist eine Fehlerzahl. In einem Schritt 410 wird
die Fehlerzahl zu dem Akkumulator addiert. In einem Schritt 412 wird festgestellt,
ob der Akkumulatorwert größer als
eine Fehlererfassungskonstante ist. Wenn der Wert größer als
eine Fehlererfassungskonstante ist, bedeutet dies, dass die Daten
außer
Phase sind und in einem Schritt 413 beendet das Abfragegerät 10 den
Empfang von Daten von dem Transponder 20 und beginnt den
Leseprozess von neuem. Wenn in Schritt 412 die Erfassungskonstante
noch innerhalb akzeptabler Toleranzen liegt, wird in einem Schritt 414 bestimmt,
ob weitere ankommende Transponderdatenbits vorhanden sind. Wenn
weitere ankommende Bits vorhanden sind, wird der Prozess in einem
Schritt 404 wiederholt. Wenn keine weiteren Bits vorhanden
sind, sind die empfangenen Daten gültig und der Prozess wird beendet.
-
Durch
Verwendung des Verfahrens ist es nicht länger erforderlich, bis zum
endgültigen
Abschluss des Lesezyklus zu warten, um zu bestimmen, ob ein fehlerhafter
Lesevorgang aufgetreten ist oder nicht. Es wird Zeit eingespart,
indem man rascher einen richtigen Lesevorgang erreicht, was für den Benutzer
vorteilhaft ist.
-
Somit
ist ersichtlich, dass die vorstehend dargelegten zusammen mit den
in der vorstehenden Beschreibung deutlich gemachten Aufgaben effektiv gelöst werden
und dass, da gewisse Veränderungen bei
der Ausführung
des vorstehend beschriebenen Verfahrens in der dargelegten Konstruktion
beziehungsweise den dargelegten Konstruktionen vorgenommen werden
können,
ohne den Gedanken und Schutzumfang der Erfindung zu verlassen, beabsichtigt
ist, dass alle in der vorstehenden Beschreibung enthaltenen und
in den beiliegenden Zeichnungen gezeigten Bestandteile als erläuternd und
nicht in einem einschränkenden
Sinn auszulegen sind.
-
Ferner
versteht es sich, dass die nachfolgenden Patentansprüche alle
allgemeinen und speziellen Merkmale der hierin beschriebenen Erfindung und
alle Aussagen über
den Schutzumfang der Erfindung abdecken sollen, die in sprachlicher
Hinsicht unter diese fallen könnten.