Vielen Dank für deine ausführliche Antwort! Zwischen meinen Posts lag über ein Jahr. Ich habe es letztes Jahr schon geschafft alles zu loggen, hatte es nur nicht hier gepostet. Deshalb jetzt nochmal eine kleine Zusammenfassung:
Zu meinem Aufbau: Unicam Modul -- Smartcard Platine -- Sky v14
Mit dem Arduino greife ich nur das VCC, RST und I/O Signal ab. Sobald VCC und RST High sind fängt der Arduino an bei 16139bps das ATR zu loggen. Sobald das ATR angekommen ist werden die restlichen Daten mit 64516bps geloggt.
Die Bitraten lassen sich mit der Frequenz des CLK Signals (Unicam: 6MHz) und mit den Daten aus dem ATR berechnen. In den Spezifikationen wird die Bitlänge als ETU (elementary time unit) bezeichnet. Es gibt eine "init etu" und eine kürzere "work etu". So kommen auch die verschiedenen Bitraten zustande.
Das Unicam Modul verwendet einfaches UART mit 8 Datenbits, 2 Stop Bits und 1 Odd Parity Bit, während sich die Sky v14 an die Spezifikationen nach ISO7816-3 hält und eine längere Guardtime einhält.
Des Weiteren werden die Daten invertiert und die Bitfolge wurde umgekehrt (1->8, 2->7, 3->6, usw.). Dies nennt man Inverse Convention.
Beachtet man das alles, erhält man das ATR und die korrekten Daten. Um die Signale besser zu analysieren lohnt sich auf jeden Fall ein Logic Analyser.
Bin offen für weitere Anmerkungen/Antworten
Gesendet von
iPhone mit Tapatalk