Hallo allerseits, beschäftige mich seit ein paar Wochen mit TRF7970A. Bis jetzt nicht so sehr erfolgreich. Habe 2 Platinen mit TRF7970A und Atmega1284P ausgestattet und versuche zwischen denen die Kommunikation per NFC aufzubauen. Mein jetziger Stand: - Die Kommunikation mit µC funktioniert(Die Steuerregister können beschrieben und ausgelesen werden) - Die Trägerfrequenz ist da - Kann den Geräten zuweisen was Initiator und was Target ist - man kann am Oszilloskop sehen das der Initiator versucht per ASK Verfahren mit dem Target zu kommunizieren. Wo ich noch Probleme habe: - der IRQ Register(beim Target) signalisiert kein Datenempfang oder Trägerfrequenzerkennung - Unklar wie man mehrere Bytes in den FIFO Register schreibt und ausliest - Die Protokollroutine bei ISO14443A/B, muss man die Request und Antikollisionanfragen von Hand durchführen? So gesehen ein State Maschine auf dem µC einprogrammieren? - wird der ISO14443A/B nur auf physische Ebene(Modulation und Demodulation) unterstützt? http://www.ti.com/product/trf7970a?qgpn=trf7970a Freue mich über jede Hilfe. Grüße aus dem Pott
Was mir seinerzeit bei dem TRF7960A sehr geholfen hat, war das Anmelden im TI-Support-Forum und das direkte Aufzeigen von Problemen. Es hat sich herausgestellt, dass sämtliche RFID-Chips der Serie mehr oder weniger buggy sind und den einen oder anderen Workaround benötigen. Wenn man das alles dann beachtet, laufen sie aber recht zuverlässig.
Otto Rohrpott schrieb: > - der IRQ Register(beim Target) signalisiert kein Datenempfang oder > Trägerfrequenzerkennung Sind die beiden RX Pins sauber angeschlossen und führen Signal wenn das RF Feld an ist? > - Unklar wie man mehrere Bytes in den FIFO Register schreibt und > ausliest Continous write register. Bei dem Fifo Daten Register wird nicht automatisch die Registernummer hoch gezählt, so dass mehrere Schreibzugriffe mehrere Bytes ins Register schieben. Beim Lesen entsprechend. > - Die Protokollroutine bei ISO14443A/B, muss man die Request und > Antikollisionanfragen von Hand durchführen? So gesehen ein State > Maschine auf dem µC einprogrammieren? Für das Lesen/Scannen: Ja Der TRF7970A als aktiver Trabnsponder: nein. Da brauchts dann nur den richtigen Modus und die UID richtig gesetzt auf die er reagieren soll. Aber für alles nach der AC: Ebenfalls Ja > - wird der ISO14443A/B nur auf physische Ebene(Modulation und > Demodulation) unterstützt? Iso14443 wird bis ISO14443-2 (Physisches Interface und Framing) gemacht. Die Kommandos musst du dir jedoch selber anhand ISO14443-3/4 bzw ISO15693, 18000-3, DESfire, Mifare Classic, ISO7816 oder was du auch immer machen willst selber zusammensetzen.
Knut Ballhause schrieb: > Was mir seinerzeit bei dem TRF7960A sehr geholfen hat, war das Anmelden > im TI-Support-Forum und das direkte Aufzeigen von Problemen. Es hat sich > herausgestellt, dass sämtliche RFID-Chips der Serie mehr oder weniger > buggy sind und den einen oder anderen Workaround benötigen. Wenn man das > alles dann beachtet, laufen sie aber recht zuverlässig. Danke, gibt mir etwas hoffung
danke :-)) Maxx schrieb: > Otto Rohrpott schrieb: >> - der IRQ Register(beim Target) signalisiert kein Datenempfang oder >> Trägerfrequenzerkennung > > Sind die beiden RX Pins sauber angeschlossen und führen Signal wenn das > RF Feld an ist? Habe richtiges Layot(nix Handgeflicktes :-)) ) mit Filter nach TI Vorgaben gemacht. An beiden RX1 und RX2 kann ich eine Gleichspannung ca. 2V DC mit SIN Anteil messen, die Signale kommen sauber am CHIP an. >> - Unklar wie man mehrere Bytes in den FIFO Register schreibt und >> ausliest > > Continous write register. Bei dem Fifo Daten Register wird nicht > automatisch die Registernummer hoch gezählt, so dass mehrere > Schreibzugriffe mehrere Bytes ins Register schieben. Beim Lesen > entsprechend. Kannst du bitte an dieser Stelle etwas genauer sein? :-) >> - Die Protokollroutine bei ISO14443A/B, muss man die Request und >> Antikollisionanfragen von Hand durchführen? So gesehen ein State >> Maschine auf dem µC einprogrammieren? > > Für das Lesen/Scannen: Ja > Der TRF7970A als aktiver Trabnsponder: nein. Da brauchts dann nur den > richtigen Modus und die UID richtig gesetzt auf die er reagieren soll. > Aber für alles nach der AC: Ebenfalls Ja Und wenn mir die UID scheissegal ist? Das ich einfach ohne irgendwelche ID die Kommunikation aufbaue? :-) >> - wird der ISO14443A/B nur auf physische Ebene(Modulation und >> Demodulation) unterstützt? > > Iso14443 wird bis ISO14443-2 (Physisches Interface und Framing) gemacht. > Die Kommandos musst du dir jedoch selber anhand ISO14443-3/4 bzw > ISO15693, 18000-3, DESfire, Mifare Classic, ISO7816 oder was du auch > immer machen willst selber zusammensetzen. Für die Commandos hast dich an dem Datenblatt vom TI bedient oder steht das noch iregndwo im Applikation Note?
Otto Rohrpott schrieb: > Habe richtiges Layot(nix Handgeflicktes :-)) ) mit Filter nach TI > Vorgaben gemacht. An beiden RX1 und RX2 kann ich eine Gleichspannung ca. > 2V DC mit SIN Anteil messen, die Signale kommen sauber am CHIP an. Dann schau mal, was nach dem Kommando http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7437757 im Register http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7438025 als RSSI Wert angegeben wird. Das sollte sich mit / ohne Feld unterscheiden. Warte zwischen dem Kommando und dem auslesen des RSSI Wertes ein wenig. (Mach ich z.B. zum Power-On-Selftest ob die RX/TX Leitungen alle den Erwartungen entsprechen mit 10ms dazwischen) > Kannst du bitte an dieser Stelle etwas genauer sein? :-) Schau mal bei http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7438258 und http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7437662 > >>> - Die Protokollroutine bei ISO14443A/B, muss man die Request und >>> Antikollisionanfragen von Hand durchführen? So gesehen ein State >>> Maschine auf dem µC einprogrammieren? > Und wenn mir die UID scheissegal ist? Das ich einfach ohne irgendwelche > ID die Kommunikation aufbaue? :-) Du benötigst eine UID. Wenn sie dir egal ist wähle irgendeine. Als "Target" musst du jedoch eine haben, da Iso14443 Transponder erst nach der Selektion (braucht eine UID) in den Protokoll-Modus wechseln. Der Initiator muss diese Selektion durchführen (kennt dann ja auch bereits im Vorfeld deine frei gewählte UID) http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7439196 beschreibt die beiden Rollen. Ich muss allerdings dazu sagen, dass ich selbst den TRF noch nicht als Target betrieben habe. Dazu gibt es aber beim Eval Board irgendwo eine Beispiel Firmware, die mir mal demonstriert wurde. > Für die Commandos hast dich an dem Datenblatt vom TI bedient oder steht > das noch iregndwo im Applikation Note? Nein. Aus den Iso-Normen (Kostenpflichtig, aber findest du in Teilen auch in den Datenblättern kompatibler Transponder, ist dann halt nur ne heiden Arbeit alle Kommandos rauszusuchen und vernünftig lesbar zusammenzufassen) ISO 14443-3 (Typ A Anticollision & Select) ISO 14443-4 (Typ B AntiCollision und Protokoll Modus für A und B) Was du dann im Protokoll-Modus an Paketen definierst ist in der ISO14443 nicht definiert. Verbreitet sind hier proprietäre Protokolle als auch ISO7816. Darfst dich also frei austoben mit der Definition der Pakete, da du Initiator und Target unter derine Kontrolle hast.
Maxx schrieb: > Otto Rohrpott schrieb: >> Habe richtiges Layot(nix Handgeflicktes :-)) ) mit Filter nach TI >> Vorgaben gemacht. An beiden RX1 und RX2 kann ich eine Gleichspannung ca. >> 2V DC mit SIN Anteil messen, die Signale kommen sauber am CHIP an. > > Dann schau mal, was nach dem Kommando > http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7437757 > im Register > http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7438025 > > als RSSI Wert angegeben wird. Das sollte sich mit / ohne Feld > unterscheiden. Warte zwischen dem Kommando und dem auslesen des RSSI > Wertes ein wenig. (Mach ich z.B. zum Power-On-Selftest ob die RX/TX > Leitungen alle den Erwartungen entsprechen mit 10ms dazwischen) nach langer fummelei durch die Datenblätter bin ich soweit, auf jeden Fall funktionieren meine RX1 und RX2, wegen dem Rest muss ich weiter gucken. Danke dir Maxx.
Maxx schrieb: >http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS743825>8 und http://www.ti.com/product/TRF7970A/datasheet/detailed_description#SLOS7437662 > Sende mit dem Initiaotor ALL_REQ(0x52) an Target und versuche erfolglos den FIFO im Target auszulesen. Kann aber den "FIFO Status Register(0x1C) " auslesen und der sag mir das FIFO voll ist, habe versucht den FIFO mit "continuis read" oder "direkt" auslesen, bekomme nur eine "1" ausgelesen. Frage mich schon was ich wieder Falsch mache :-(( ? >> Für die Commandos hast dich an dem Datenblatt vom TI bedient oder steht >> das noch iregndwo im Applikation Note? > > Nein. Aus den Iso-Normen (Kostenpflichtig, aber findest du in Teilen > auch in den Datenblättern kompatibler Transponder, ist dann halt nur ne > heiden Arbeit alle Kommandos rauszusuchen und vernünftig lesbar > zusammenzufassen) Diese Befehle/Kommandos, werden die Intern im TRF7970A nach dem Empfang verarbeitet ohne das man etwas mitbekommt? oder sind das vom NORM definierte Befehle die man für solche Anfragen(ALL_REQ, SENS_REQ) nehmen soll,bzw. implementieren damit ein Standard entsteht?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.