Ich versuche, eine Smartcard-Schnittstelle mit einem 8051-UART und einer Pierce-Oszillatorschaltung zu entwerfen .
Das Projekt scheint zu funktionieren, denn ich erhalte eine Antwort von der Smartcard. Allerdings habe ich Schwierigkeiten, die Uhr zu steuern.
Die Reihenfolge nach dem Einstecken der Karte ist:
p3.3
dafür;p3.6
;Ich verwende ein NICHT-Gatter, um die Oszillatorschaltung mit Strom zu versorgen. Der pin3.7
ist mit dem Eingang des Gatters verbunden, und der Ausgang ist mit dem VCC der Pierce-Oszillatorschaltung verbunden (die auch aus einem NICHT-Gatter besteht, das den Ausgang hoch treibt).
Ich habe auch einen ULN2003 ausprobiert, mit einem Pull-up am Ausgang.
Allerdings scheint diese Reihenfolge nicht gut zu funktionieren.
Wenn ich jedoch den VCC des Oszillators trenne, während der Code auf eine Antwort wartet, und ihn erneut verbinde, erhalte ich eine vollständige Antwort, die über viele Versuche hinweg konsistent und gemäß dem 7816-Protokoll gültig ist.
Das ließ mich glauben, dass die Schaltung, die die Uhr ein- und ausschaltet, nicht gut funktioniert.
Ich habe die beiden Schaltungen, die ich verwende, angehängt, ich möchte wissen, ob es einen besseren Weg gibt oder ob ich vielleicht etwas falsch mache
Ihre Startreihenfolge ist falsch.
Das richtige Verfahren ist:
Dann muss die Karte innerhalb von max. 40000 Taktzyklen.
Weitere Informationen finden Sie in den Spezifikationen
Hier finden Sie Informationen zur ISO/IEC 7816-3.
Hier können Sie die ETSI-Standards kostenlos herunterladen.
Die für Sie relevante ist
ETSI TS 102 221
"Smart Cards; UICC-Terminal interface; Physical and logical properties"
Tony Stewart EE75