Forum: Mikrocontroller und Digitale Elektronik RFID-RC522 SPI oder UART


von Marc (Gast)


Lesenswert?

Hallo,
ich habe ein RFID-RC522-Modul 
(https://www.amazon.de/Radiofrequenz-Induktive-Interface-KeyCard-Arduino/dp/B00J2SS2U6). 
Bin immer davon ausgegangen, dass dieser nur über SPI kommunizieren 
kann. Jetzt habe ich gehört, dass man diesen auch direkt über UART 
ansprechen kann. Wie würdet ihr es machen, bzw. wie macht ihr es? Was 
sind wo welche Vorteile/ Nachteile?

Gruß
Marc

von Joachim S. (oyo)


Lesenswert?

Marc schrieb:
> Hallo,
> ich habe ein RFID-RC522-Modul
> 
(https://www.amazon.de/Radiofrequenz-Induktive-Interface-KeyCard-Arduino/dp/B00J2SS2U6).
> Bin immer davon ausgegangen, dass dieser nur über SPI kommunizieren
> kann. Jetzt habe ich gehört, dass man diesen auch direkt über UART
> ansprechen kann. Wie würdet ihr es machen, bzw. wie macht ihr es? Was
> sind wo welche Vorteile/ Nachteile?

Vorteil: Du hast halt zwei (I2C/UART) weitere Schnittstellen zur 
Auswahl. Kannst das Ding also bspw. auch vglw. leicht an einem 
gewöhnlichen PC betreiben, wo man üblicherweise Probleme hat, an eine 
I2C oder SPI-Schnittstelle heran zu kommen.

Nachteil: Viele oder sogar die meisten RC522-Bibliotheken unterstützen 
bislang nur SPI, aber kein I2C/UART. Man hat also grössere Probleme, 
eine Library zu finden, um mit dem Ding zu kommunizieren.

Das von Dir verlinkte RC522-Modul kann man zwar mit I2C/UART nutzen, 
aber es ist halt potentiell fehleranfällige Fummelarbeit, weil Du 
irgendwelche Leiterbahnen auftrennen und Signale umleiten musst.

Mir persönlich gefällt daher dieses Modul:
https://www.amazon.de/Sharplace-RFID-Modul-Reader-Arduino-Development-Mehrfach/dp/B0778QLQM8/
deutlich besser: Es ist nicht nur kleiner, sondern man kann ganz einfach 
und bequem per DIP-Schalter zwischen UART, SPI und I2C umschalten.
Ist allerdings auch etwas teurer als das so beliebte wie billige 
RC522-Board, zu dem Du verlinkt hast.

von hl. Stephanus (Gast)


Lesenswert?

Auszug aus dem Datenblatt:

The MFRC522 supports direct interfacing of hosts using SPI, I2C-bus or 
serial UART interfaces. The MFRC522 resets its interface and checks the 
current host interface type automatically after performing a power-on or 
hard reset. The MFRC522 identifies the host interface by sensing the 
logic levels on the control pins after the reset phase. This is done 
using a combination of fixed pin connections. Table 5 shows the 
different connection
configurations

Wir hatten den Chip mit I2C betrieben. War ganz ok.
Aber das Modul, das du verlinkst wird vermutlich fest verdrahtete SPI 
Kommunikation haben. Deshalb in deinem Fall vermutlich nichts 
konfigurierbar.

Wie ich das machen würde: zusehen dass ich möglichst wenig Arbeit damit 
habe. Auf Github nach Implementierungen suchen und wenn eine 
Implementierung, die mir gefällt auf SPI aufbaut, dann SPI einsetzen.

von Marc (Gast)


Lesenswert?

Meine Überlegung wäre dann nämlich gewesen mit einem FT232 direkt mit 
dem Computer zu kommunizieren.
Jetzt bastel ich mir eine Platine mit einem Atmega8. Dieser Spricht über 
SPI mit dem RFID-Modul und über UART mit dem Computer.
Danke euch aber für eure Antworten.

von Joachim S. (oyo)


Lesenswert?

Marc schrieb:
> Meine Überlegung wäre dann nämlich gewesen mit einem FT232 direkt mit
> dem Computer zu kommunizieren.
> Jetzt bastel ich mir eine Platine mit einem Atmega8. Dieser Spricht über
> SPI mit dem RFID-Modul und über UART mit dem Computer.
> Danke euch aber für eure Antworten.

Also das halte ich für keine sinnvolle Lösung.
Extra eine Platine mit Mega8 basteln, dann noch eine UART-SPI-Bridge 
programmieren, und der ganze Aufwand für eine Funktionalität, die der 
RC522 bereits eingebaut hat?
Da ist es doch nun wirklich einfacher, 1-2 Leiterbahnen auf der Platine 
aufzutrennen und 1-2 Drahtbrücken zu verlöten.

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
Noch kein Account? Hier anmelden.