Forum: Mikrocontroller und Digitale Elektronik SmardCards mit µC ansprechen?


von Hans-Peter Lange (Gast)


Lesenswert?

Hallo,

hat jemand von euch schon mal einen Mikrocontroller mit einer
SmartCard (Chipkarte) verbunden? Ich plane privat gerade etwas
in der Richtung und bin mir mangels Erfahrung im SmartCard-Bereich
nicht ganz sicher, wie ich das ganze am am cleversten aufziehen
sollte.

Mein Wunsch:

Einen µC mit einer Smartcard zu verbinden, wobei dann der µC
einfache Bytefolgen an die Smartcard sendet und die Smartcard
einfache Bytefolgen wieder zurück zum µC schickt. Im µC und
auch in der SmartCard soll jeweils ein von mir geschriebenes
Programm laufen.

Mein Problem:

Es gibt verschiedene Hersteller (Atmel, PIC, etc.) und auch
verschiedene Protokolle zur Datenübertragung (T0, T1, etc.).

Ist mit der Wahl des COS (z.B. SOSSE) der µC-Hersteller fest
vorgegeben? Ich vermute mal, dass ich dann nur noch bestimmte
µCs benutzen kann, um eigene Programme auf SmartCards zu
implementieren.

Wo ist bei T=0 oder T=1 eigentlich der Vorteil gegenüber dem
seriellen Protokoll, das die µCs eigentlich alle von Haus aus
beherrschen? Oder konnten/können die µCs seit jeher kein
Halbduplex über eine Signal-Leitung? Bei der SilverCard2
z.B. ist ein PIC 16F876 verbaut, aber dessen Pins für die
Serielle Schnittstelle wurden meinen Infos nach nicht zu der
Kontaktiereinheit der Karte geleitet, stattdessen hat man RB7
genommen.

Nimmt man für die Entwicklung die ganz gewöhnlichen IDEs und ändert
für die SmartCard nur die entsprechenden Programmier-Direktiven
(Beispielsweise .S anstatt .asm)?
Die SmartCard-µCs scheinen ja bis auf die ungenutzten Pins mit den
auf dem Markt verfügbaren gewöhnlichen µCs identisch zu sein.

Welches halbwegs günstige Chipdrive könnt ihr empfehlen? In
diversen Sat-Shops werden die Teile um € 50,- herum angeboten
(z.B. MasterCRD2).

Leider habe ich bisher nur auf PICs von MicroChip Erfahrungen
gesammelt, ich traue mir aber durchaus zu, ein relativ einfaches
Byte-Orientiertes Übertragungsprotokoll auf dem PIC zu
implementieren. Daher habe ich nach meinem jetzigen (bescheidenen)
Wissen folgende Wahl:
Entweder einmal die Arbeit für die Implementierung des Protokolls
und dann die Wahl einer SmartCard mit µC auf Basis eines PIC16F876.
Oder aber die Benutzung von SOSSE und der Wechsel von Microchip zu
Atmel, wobei ich dann das T=0 im Terminal-µC eigentlich ja auch
nochmal implementieren müsste, oder lässt sich das "mal eben" nach
Feierabend aus den SOSSE-Sourcen für den SmartCard-µC portieren?

Welchen Vorteil bieten die Übertragungsprotokolle T=0, T=1, etc.
eigentlich allgemein? Ist das nur wegen der Kompatibilität in
Kommerziellen Produkten so gewählt worden?

Wieviel kann SOSSE eigentlich sonst noch? Nicht, dass ich irgendwann
später doch noch Daten in Dateien ablegen möchte (die SmartCards
haben ja mittlerweile ganz schön viel Speicher) und mich dann
ärgere, weil ich ja unbedingt mein eigenes Protokoll entwerfen
musste und SOSSE neben dem Protokoll vieleicht gleich noch ein
einfaches Dateisystem mitgebracht hätte?

Ohjeh, sind viele Fragen geworden, vieleicht kann mir ja jemand
die eine oder andere beantworten.

Vielen Dank schon mal fürs lesen...

Hans-Peter.

von Daniel H. (daniel_h27)


Lesenswert?

stehe vor ähnlichem Problem und wäre auch an der Antwort interessiert

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

vor vielen Jahren war hierfür in der c't mal ein Artikel mit einem 
Selbstbauprojekt auf 8051-Basis: "der Zinker"

von JonasB. (Gast)


Lesenswert?

die SMC die ich mal verwendet habe, wurden mit I²C angesprochen. TWI bei 
Atmel, wenn mich nicht alles täuscht. Kann man mit Hardware oder mit 
Software realisieren. Ich habe es mit SW gelöst, damals auf einem C166.

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.