[0] Elektor Rfid Reader d060928

8
elektor - 9/2006 28 ELEKTOR-RFID-Reader PRAXIS RFID Von Gerhard H. Schalk RFID-Halbleiter sind dabei, viele Bereiche zu erobern, in denen bisher Barcodes und Chipkarten verwendet wurden. Dazu kommen noch viele neue Möglichkeiten, wie zum Beispiel in Reisepässen oder sogar in Banknoten. Als erste Elektronikzeitschrift bietet ELEKTOR den Lesern mit dieser Ausgabe nicht nur eine Gratis-RFID- Karte, sondern auch den dazu passenden professionellen RFID-Reader für eigene Anwendungen. Der hier vorgestellte Entwurf kann alle RFID-ICs lesen und schreiben, die mit den weit verbreiteten Standards MIFARE ® und ISO 14443-A kompatibel sind. Für MIFARE ® - und ISO 14443-A Ziel bei der Entwicklung des ELEK- TOR-RFID-Readers war es, den Reader so universell wie möglich einsetzen zu können. Der Reader eignet sich sowohl für den PC-Anschluss über USB als auch für den autonomen Betrieb mit einem LC-Display. In Verbindung mit dem kostenlosen PC-Programm MIFARE Magic ist es sehr einfach möglich, unterschiedlichste MIFARE- Karten zu lesen und zu beschreiben, ohne ein eigenes Programm für den Reader erstellen zu müssen. MIFARE Magic unterstützt direkt eine Reihe von kontaktlosen 13,56-MHz- MIFARE-Karten, wie zum Beispiel Phil- ips MIFARE ® UltraLight, MIFARE ® 1K und MIFARE ® 4K. Die Oberfläche von Mifare Magic (Bild 1) bietet auch die Möglichkeit, einzelne Kartenkomman- dos per Mausklick zu senden. Damit kann man auf sehr einfache Weise die Eigenschaften unterschiedlicher Kar- ten untersuchen. Ein geeignetes Objekt ist zum Beispiel die diesem Heft beigelegte MIFARE-UltraLight- RFID-Karte, deren Eigenschaften ein separater Artikel in dieser Ausgabe erklärt. Auch im autonomen Betrieb -zum Beispiel für eine Zutrittskontrolle-

description

Elektor Rfid Reader d060928

Transcript of [0] Elektor Rfid Reader d060928

Page 1: [0] Elektor Rfid Reader d060928

elektor - 9/200628

ELEKTOR-RFID-ReaderPRAXIS RFID

Von Gerhard H. Schalk

RFID-Halbleiter sinddabei, viele Bereiche zuerobern, in denen bisherBarcodes und Chipkartenverwendet wurden. Dazukommen noch viele neueMöglichkeiten, wie zumBeispiel in Reisepässen odersogar in Banknoten. Als ersteElektronikzeitschrift bietetELEKTOR den Lesern mit dieserAusgabe nicht nur eine Gratis-RFID-Karte, sondern auch den dazupassenden professionellen RFID-Readerfür eigene Anwendungen. Der hiervorgestellte Entwurf kann alle RFID-ICslesen und schreiben, die mit den weitverbreiteten Standards MIFARE® undISO 14443-A kompatibel sind.

Für MIFARE®- und ISO 14443-A

Ziel bei der Entwicklung des ELEK-TOR-RFID-Readers war es, den Readerso universell wie möglich einsetzen zukönnen. Der Reader eignet sich sowohlfür den PC-Anschluss über USB alsauch für den autonomen Betrieb miteinem LC-Display. In Verbindung mitdem kostenlosen PC-ProgrammMIFARE Magic ist es sehr einfachmöglich, unterschiedlichste MIFARE-

Karten zu lesen und zu beschreiben,ohne ein eigenes Programm für denReader erstellen zu müssen.MIFARE Magic unterstützt direkt eineReihe von kontaktlosen 13,56-MHz-MIFARE-Karten, wie zum Beispiel Phil-ips MIFARE® UltraLight, MIFARE® 1Kund MIFARE® 4K. Die Oberfläche vonMifare Magic (Bild 1) bietet auch dieMöglichkeit, einzelne Kartenkomman-

dos per Mausklick zu senden. Damitkann man auf sehr einfache Weise dieEigenschaften unterschiedlicher Kar-ten untersuchen. Ein geeignetesObjekt ist zum Beispiel die diesemHeft beigelegte MIFARE-UltraLight-RFID-Karte, deren Eigenschaften einseparater Artikel in dieser Ausgabeerklärt. Auch im autonomen Betrieb-zum Beispiel für eine Zutrittskontrolle-

Page 2: [0] Elektor Rfid Reader d060928

ist der Reader mit der entwickeltenFirmware sofort einsatzbereit. Nachdem Einschalten sucht der Readersofort nach Karten im Erfassungsbe-reich der Antenne. Karten im Umkreisvon einigen Zentimetern werden aus-gelesen. Das LC-Display (wenn ange-schlossen) zeigt dann sowohl den Kar-tentyp als auch die Seriennummer,gleichzeitig wird ein Schaltausgangdes Readers aktiviert.Der Reader ist mit dem neuesten Phi-lips-Reader-IC MF RC522 und einemeigenen Mikrocontroller vom TypLPC936 aufgebaut. Da das Reader-ICnur in einem HVQFN32-Gehäuse liefer-bar ist, haben wir die Löt- und Monta-geprobleme durch das Angebot einesfertig bestückten und getestetenReaderboards mit bereits program-miertem Mikrocontroller gelöst.

Der ELEKTOR-RFID-Reader eignet sichnatürlich nicht nur für Experimente mitder Gratis-MIFARE®-UltraLight-Karte.Dank seines leistungsfähigen Mikro-controllersystems mit I2C-, SPI-, UART-und USB-Schnittstelle und der kosten-losen Entwicklungstools eignet er sichbestens für die Entwicklung von eige-nen Anwendungen und Systemen, wiezum Beispiel für kontaktlos codege-steuerte Tor- und Türöffner, Mitglieds-ausweis-Systeme, das Abspeichernvon Passwörtern und Konfigurations-daten, Bezahlfunktionen an Automa-ten, das Absichern von elektronischenGeräten im Haushalt (z.B. Fernseher,Videorekorder, PC), die Überwachungvon Akkupacks und vieles anderemehr. Die Kombination von gesicherterIdentität, Datenspeicherung und kon-

taktlosem Interface bietet viele Mög-lichkeiten für kreative Lösungen…

Reader-HardwareBild 2 zeigt das Blockschaltbild desReaders. Die eigentliche Readerfunk-tionalität, sprich das Erzeugen des HF-Felds, die Modulation und Demodula-tion und das Erzeugen der ISO 14443-Signale ist mit dem MF RC522realisiert. Vereinfacht betrachtet ist derRC522 ein kontaktloser UART, welcher

direkt über einen Mikrocontrollergesteuert wird. Im ELEKTOR-Readerist es ein 8051-kompatibler LPC936von Philips. Seine CPU benötigt nurzwei Zyklen pro Befehl und wird mit16 MHz getaktet. Diese Geschwindig-keit und der 16 KByte große Flashspei-cher sind vollkommen ausreichend, umunterschiedlichste Readerapplikatio-nen zu realisieren. Der Controller kannmit jedem 8051-Compiler sehr einfachprogrammiert werden. Der USB/RS232Schnittstellenbaustein FT232R von

9/2006 - elektor 29

Bild 1. Das für den ELEKTOR-RFID-Reader entwickelte PC-Programm Mifare Magic erlaubt das Schreiben,Lesen und Programmieren von Mifare®- und ISO 14443-A-RFIDs.

EigenschaftenELEKTOR-RFID-Reader:

• Nahfeld-Reader für 13,56-MHz-RFIDs

• Kompatibel mit MIFARE®- und ISO 14443-A

• Lesen und Schreiben möglich

• USB-Schnittstelle für PC-Anschluss

• Sofort verwendbar ohne Programmierung

• Gratis-PC-Software für Betrieb am PC

• Autonomer Betrieb mit LC-Display (auch mobil)

• Spezial-Reader-IC RC522

• Zusätzlicher Mikrocontroller auf Reader-Platine

• I2C- und SPI-Schnittstelle

• Freier 8-bit-Mikrocontroller-Port

• Gepufferter Schaltausgang

• Bestückte und getestete SMD-Platine verfügbar

• Anpassung an eigene Entwicklungen möglich

• Tools für eigene Programmierung verfügbar

Reader-IC RC 522:

• Hochintegriertes ( Single-chip-) Reader-IC fürISO 14443 A und MIFARE®

• Unterstützt kontaktlose Übertragungsgeschwindigkeitenvon 106, 212 und 424 kbit/s

• Lese- /Schreibreichweite bis zu 50 mm (je nach Antenne)

• Integrierter MIFARE® Classic Kryptoblock

• Wahlweise über UART, I2C oder SPI programmierbar

• 64 Byte Sende- und Empfangs-FIFO-Puffer

• Programmierbare Reset- und Power-down-Modes

• Programmierbarer Timer

• Interner Oszillator ermöglicht direkten Anschluss eines27,12-MHz-Quarzes

Page 3: [0] Elektor Rfid Reader d060928

Future Technolgy Devices (FTDI)ermöglicht eine sehr einfache Kommu-nikation mit dem PC.Der vollständige Schaltplan ist in Bild 3zu sehen. Beim Anschluss an den PCüber das Mini-USB-Kabel (Buchse K1)erfolgt die Stromversorgung über denUSB-Port. Der USB-Interface-BausteinFT232R (IC1) ist bereits so vorkonfigu-riert, dass sich der Reader bei der USB-Bus-Initialisierung (Enumeration) alsHigh-Power-Gerät anmeldet und somitals Bus-powered-device bis zu 500 mAentnehmen darf. Sobald die USB-Bus-Enumeration erfolgreich abgeschlossenist, schaltet das Signal /PWRNEN anPin 11 von IC1 den P-Kanal-MOSFET T2leitend, der dann die 5-V-Spannungzum Spannungsregler IC5 durchschal-tet. Der LM2937 liefert ausgangsseitig3,3 V für den LPC-Controller (IC3) undden MF RC522 (IC4). Die rote LED D6zeigt die 3,3-V-Betriebsspannung an.Ist keine 5-V-Spannung von der USB-Seite vorhanden, übernimmt eine am

Anschluss PC1 anliegende Spannungüber die Schottky-Diode D4 automa-tisch die Stromversorgung. An PC1kann eine Batterie (in dem in der Stück-liste angegebenen Gehäuse sind esvier Mignonzellen) oder auch ein 5-V-Steckernetzteil angeschlossen werden,das 300 mA liefern kann.

Eine Übersicht über das Innenlebendes Reader-ICs gibt das sehr verein-fachte Blockschaltbild des MF RC522 inBild 4. Die gepufferten Ausgangstrei-ber des MF RC522 ermöglichen dendirekten Anschluss der Sende- undEmpfangsantenne ohne zusätzlichenaktiven Leistungsverstärker. Für die(sehr wichtige) Antennenanpassungsind nur wenige passive Bauelementenötig. Das Analog-Interface übernimmtauch die Demodulation und die Deko-dierung der von der Karte zurückgesen-deten Antworten. Das Erzeugen vonISO 14443A- oder MIFARE®-Protokoll-Rahmen sowie die dazugehörige

Fehlererkennung (Parity und CRC)erfolgt im digitalen Block des kontakt-losen UART. Der FIFO-Puffer ermöglichtdas Senden und Empfangen von64 Byte großen Blöcken (T=CL-Proto-koll) im ISO 14443A-Betrieb. ImMIFARE®-Betrieb werden maximal16 Byte große Datenblöcke ausge-tauscht, so dass kein Aufteilen derKommandoblöcke im Mikrocontrollererforderlich ist. Programmiert werdendie Register des RC522 entweder überRS232, I2C oder SPI. Da der LPC936 nurüber eine serielle RS232 Schnittstelleverfügt und diese für die Kommunika-tion mit dem PC benötigt wird, erfolgtdie Kommunikation mit dem RC522über I2C. An P0 des LPC932 wird bei Bedarfüber den Steckverbinder K2 das zwei-zeilige LC-Display angeschlossen. Eindurch einen Transistor gepufferterSchaltausgang (P0.0), der freie PortP2.0 und die I2C- sowie die SPI-Schnittstelle des LPC-Controllersermöglichen eine sehr einfache Erwei-terung mit zusätzlicher Hardware. Sokönnte mit einem RTC-Baustein eineStand-Alone-Zeiterfassung sehr ein-fach realisiert werden, und über denSchaltausgang lässt sich zum Beispielein Türöffner steuern (siehe auchunsere RFID-Reader-Seite unterwww.elektor.de/rfid).

Get startedDie (zweilagige) Platine des ELEKTOR-RFID-Readers ist in Bild 5 zu sehen.Das Reader-IC lässt sich nur perReflow löten, weshalb die Platine imELEKTOR-Shop bestückt und getesteterhältlich ist. Für den Einbau in dasebenfalls lieferbare Gehäuse wird einedetaillierte Anleitung mitgeliefert.Die beiden Jumper auf der Reader-Pla-tine (JP1 und JP2) werden im Normal-betrieb nicht gesetzt. Ist die Reader-Platine mit dem LC-Display verbun-den, so ist der Reader nach demEinschalten der Betriebsspannungsofort einsatzbereit. Die Seriennummereiner RFID-Karte wird dann auf demDisplay angezeigt, solange sich dieKarte im Erfassungsbereich derAntenne („Readerfeld“) befindet.Sollte das Display nichts anzeigen,muss der Kontrast mit P1 eingestelltwerden.Für die Inbetriebnahme der USB-Ver-bindung zum PC ist es erforderlich,den auf der ELEKTOR-Website kosten-los bereitgestellten CMD-FTDI-USB-Treiber herunterzuladen. Dieser Treiberist zwingend erforderlich, weil der

elektor - 9/200630

PRAXIS RFID

MF RC522

Optional Power Supply5V

USB

I / OLCD

RS232

060132 - 13

I2C

I2C

FT232RUSB / UART

VoltageRegulator

Ant

enna

Mat

chin

gµC / Philips

LPC 935

RFID Reader

Bild 2. Blockschaltbild des ELEKTOR-RFID-Readers.

AnalogInterface

FIFO Host

Register Bank

Serial UARTSPII2C

ContactlessUART

MFRC5222

060132 - 14

Bild 4. Blockschaltbild des hochintegrierten Reader-ICs MF RC522 von Philips.

Page 4: [0] Elektor Rfid Reader d060928

9/2006 - elektor 31

K2

K1

12345

MIN

I US

B-B

C3

100n

C1

47p

C2

47p

C5

100n

D2

YE

D1

GR

R2

1k

R1

1kC

4

100n

D5

BA

T54

D4

BA

S19

C31

100n

L1

T2

IRL

M6402

R13100k

C30

2µ2

LM

2937IC

5

C32

2µ2

D3

RER

12

1k

X1

16MH

z

C7

12p

C8

12p

T1

IRL

M6402

R16

10k

D6

CP

U P

WR

R15

1k

R5

4k7

C6

100n

564

IC2.B

≥1

231

IC2.A

≥1

9810

IC2.C

≥1

121113

IC2.D

≥1

JP1

JP2

R3

4k7

R4

4k7

C10

100n

C9

100n

C12

100n

C11

100n

X2

27.12MH

z

C13

12p

C14

12p

L2560n

H

L3560n

H

CB

US

3 PW

RN

EN

CB

US

0 TX

LE

D

CB

US

1 RX

LE

D

CB

US

4 SL

EE

P

FT

232RQ

FN

3V3O

UT

VC

CIO

CB

US

2

US

BD

M

US

BD

P

RE

SE

T

IC1

OS

CI

OS

CO

TE

ST

TX

D

GN

D

VC

C

GN

DG

ND

GN

D

RX

D

DT

R

RT

S

DS

R

DC

D

CT

S

19

30

1720

24

3132R

I

16

222110111514 18272826

4

1

23678

9

R6

1kC16

100n

C17

220p

C19

220p

C18

*C20

*

C21

27p

C23

27p

C22

*C24

*

C25

68p

C27

68p

C26

*C28

* R84Ω

7

R94Ω

7

L4An

t.

L5An

t.

R7

2k2

+4V8...+6V

C15

1n

D7 R

17

1k

R1410k

T3BC

517

IC2

147

+5V

P1.3/S

DA

/INT

0

P2.5/S

PIC

LK

P89L

PC

935

P1.4/IN

T1

P2.2/M

OS

I

P2.3/M

ISO

P1.0/T

XD

P1.1/R

XD

P1.2/S

CL

P1.5/R

STP3.1/X

1P

3.0/X2

P2.4/S

S

P0.7/T

1

IC3

P1.6

P1.7

P2.0

P2.1

P2.6

P2.7

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

VS

S

VD

D

262524

21

18 17

12 11 10131415162728

23222019

89

7

65 412

3IC

2 = 74HC

02

R10

10Ω

R11

10Ω

C29

2µ2

10kP

1

+5V

LC

DIS

PL

AY

LC

D1

VSS

VDD

R/W

VO

RS

D0

D1

D2

10D3

11D4

12D5

13D6

14D7

1516

12

34

56E

78

9

K

A

R/W

RSED4

D5

D6

D7

060132 - 11

see text*

voir texte

*sieh

e Text*

zie tekst*

+3V3

MF

RC

522

AL

E S

DA

NR

ST

PD

D7 S

CL

D1 A

5

D2 A

4

D3 A

3

D4 A

2

D5 A

1

D6 A

0

IC4

PVDD

DVSS

DVDD

AVDD

TVDDAU

X1

AU

X2

VM

IDAVSS

TV

SS

TV

SS

PV

SS

SV

DD

I2C

IRQ

TX

1

TX

2

OU

T

OS

C

RX

D

TX

D

13

RX

17

1512

23

19201611

18

IN2122

1014

EA

32 24 252627282931 30

4

1

23

65 9

78

Bild 3. Der vollständige Schaltplan des Readers, der sowohl autonom mit LC-Display als auch über USB am PC arbeitet.

Page 5: [0] Elektor Rfid Reader d060928

FT232R die ELEKTOR-Vendor-ID undProduct-ID enthält.Anschließend wird der RFID-Readerüber das USB-Kabel mit dem PC ver-bunden. Windows erkennt automa-tisch ein neues USB-Device. Als USB-Treiber muss jetzt der zuvor herunter-geladene Treiber ausgewählt werden.Sollte die Treiberinstallation Problemebereiten, kann man einen „InstallationGuide“ von der FTDI-Webseite(www.ftdichip.com) herunterladen undzu Rate ziehen. Dieser Guide ist auchfür den modifizierten Treiber gültig.Mit der Installation des CMD-FTDI-Treibers wird sowohl der „D2XX-“(Direct Driver) als auch der „VCP-“ (Vir-tueller COM Port) Treiber installiert.Mit Hilfe des VCP-Treibers wird derUSB-Port des RFID–Readers sowohlauf der PC- als auch auf der Mikrocon-trollerseite wie eine gewöhnlicheRS232-Schnittstelle angesprochen. Der D2XX-Treiber wird auch benötigt,wenn man den ELEKTOR-Reader imZuge eigener Entwicklungen so weit-gehend modifiziert, dass Konfigura-tionsdaten im internen EEPROM desFT232R geändert werden müssen.Dafür gibt es auf der FDTI-Website dasPC-Programm MPROG als Gratis-Download, das wiederum nur mit demD2XX-Treiber arbeitet.

MIFARE MagicNach der Treiberinstallation kann dasspeziell für den ELEKTOR-RFID-Reader entwickelte PC-ProgrammMIFARE Magic verwendet werden,das ebenfalls als Gratis-Download aufwww.elektor.de bereitsteht. Nach demDownload muss der Inhalt des ZIP-Filein ein frei wählbares Unterverzeichniskopiert werden. Beim Start des Pro-gramms durch einen Doppelklick aufMifareMagic.exe sollte der Readerbereits mit dem USB-Port verbundensein, damit sich MIFARE Magic auto-matisch mit dem Readerport verbin-den kann. Es ist nicht erforderlich,einen COM-Port auszuwählen, daMIFARE Magic intern den „D2XX“-Treiber verwendet. Bild 6 zeigt den„Terminal“-View“ von MIFARE Magic,der ein VT100-Terminal emuliert undalle Zeichen darstellt, die vom LPC-Controller über den FDTI-Schnittstel-lenkonverter gesendet werden. Die Firmware im LPC-Controller befin-det sich nach dem Einschalten eben-falls im „Terminal“-Betrieb. Sobald derReader eine neue Karte im Felderkennt, wird diese angesprochen(aktiviert). Erkennt der Reader, dass

elektor - 9/200632

PRAXIS RFID

(C) ELEKTOR 060132-1

C1

C2

C3

C4

C5

C6

C7

C8

C9C10

C11

C12

C13

C14

C15

C16

C17

C18

C19

C20C21C22

C23C24

C25C26

C27C28

C29 C30

C31

C32

D1

D2

D3

D4

D5

D6

D7

IC1IC2

IC3 IC4

IC5JP1

JP2

K1

K2

L1

L2

L3

P1

R1

R2

R3

R4

R5

R6

R7

R8 R9

R10R11

R12 R13

R14

R15

R16

R17 T1

T2

T3

X1

X2

060132-1T

-

-

++

14 1

Bild 5. Die zweilagige Platine enthält auch die Antenne. Wegen des nicht manuell lötbaren Reader-ICs ist siefertig bestückt und getestet erhältlich.

Page 6: [0] Elektor Rfid Reader d060928

9/2006 - elektor 33

StücklisteWiderstände (SMD 0805, 5%):R1, R2, R6, R12, R15, R17 = 1 kR3,R4,R5 = 4k7R7 = 2k7R8, R9 = 4Ω7R10 = 270 ΩR11 = 10 ΩR13 = 100 kR14, R16 = 10 kP1 = 10-k-Trimmpotentiometer, SMD,

4 mm SQ

Kondensatoren (SMD 0805, 16 V, keramisch):C1, C2 = 47 p NP0C3, C4, C5, C6, C9, C10, C11,

C12, C16, C31 = 100 nC7, C8, C13, C14 = 12 p NP0C15 = 1 n NP0C17, C19 = 220 p NP0 C18, C20 = nicht bestücktC21, C23 = 27 p NP0C22, C24 = nicht bestücktC25, C27 = 68 p NP0C26, C28 = nicht bestücktC29, C30, C32 = 2µ2

Halbleiter:D1 = SMD-LED (0805) grün,

Low-currentD2 = SMD-LED (0805) gelb,

Low-currentD3, D6, D7 = SMD-LED (0805), rot,

Low-currentD4 = BAS19 (200 mA, SOT23)D5 = BAT54S (30 V/300 mA,

SOT23)T1, T2 = 6402 (P-Kanal-MOSFET,

20 V/3,7 A, SOT23)T3 = BC517 (NPN-Darlington, TO92)IC1 = FT232RQFN (QFN32, FTDI)IC2 = 74HC02 (TSSOP14,

NORGATE)IC3 = P89LPC936FDH-S (SSOP28,

Philips)IC4 = MFRC52201HN1 (HVQFN32,

Philips)IC5 = LM2937 (Low-drop, 3V3,

SOT223)

Außerdem:X1 = 16-MHz-Quarz (18-p-

Parallelkapazität, 5 mm x 3,2 mm)X2 = 27,12-MHz-Quarz (18-p-

Parallelkapazität, 5 mm x 3,2 mm)K1 = Mini-USB-B-Buchse, SMD,

5-poligL1 = SMD-Ferrit (1,5 A, 0805)L2, L3 = SMD-Induktivität 560 nH

(0805)JP1, JP2 = 0,1”-Jumper (siehe Text)LCD1 = LCD-Modul, 2 x 16 Zeichen

mit HintergrundbeleuchtungGehäuse, 146 x 91 x 33 (mm) mit

LCD-Fenster und Batteriefach für4 Mignon-Zellen (AA)

Platine EPS 060132-91 (bestückt undgetestet, inklusive USB-Kabel, sieheElektor-Shop-Anzeige am Heftende)

Passendes LC-Display (siehe Elektor-Shop-Anzeige am Heftende)

Hex- und Source-Kode für LPC LPC936(kostenloser Download unterwww.elektor.de)

PC-Software Mifare Magic mit Source-Kode (kostenloser Download unterwww.elektor.de)

Page 7: [0] Elektor Rfid Reader d060928

eine MIFARE®-UltraLight-, MIFARE®-1K- oder eine MIFARE®-4K-Karte imFeld ist, wird der gesamte Speicherin-halt der Karte gelesen und im „Termi-nal“ von MIFARE Magic angezeigt. BeiMIFARE®-1K- und 4K-Karten wirddabei der Standard-MIFARE®-Schlüs-sel verwendet. Sollte eine Karte unter-schiedliche Schlüssel verwenden, sokann der Dateninhalt des jeweiligenSektors nicht gelesen werden. Wennman an Stelle von Mifare Magic einanderes Terminalprogramm verwen-den möchte (z.B. Hyper Terminal oderdas in das LPC-Tool Flash Magic inte-grierte Terminalprogramm), so mussals Port der vom VCP-Treiber erzeugtevirtuelle COM-Port ausgewählt wer-den. Die Parameter sind: 115.200 Baud,No Parity, 8 Datenbits, 1 Stoppbit.Über das Menü „Window“ kann inMIFARE Magic zwischen den Ansich-ten „Terminal“, „Mifare UltraLight“und „Show All Cards“ gewechseltwerden (siehe Bild 7). Das Fenster„Mifare UltraLight“ (Bild 1) stellt dieentsprechenden Kartenkommandosper Mausklick zur Verfügung. Somit istes auf sehr einfache Weise möglich,eine MIFARE-UltraLight-Karte (Gratis-Muster in diesem Heft) zu program-mieren. Sobald dieses Fenster aufgeru-fen wird, wechselt die Firmware imLPC-Controller der Reader-Platine vomTerminal-Betrieb in den PC-Reader-Betrieb. In diesem Betrieb wartet derMikrocontroller auf Kartenbefehle vomPC und ruft die dazugehörige Funktionin seiner Software auf. Diese Betriebs-art eignet sich auch, um eigene Reader-applikationen am PC zu entwickeln. ImFenster „Show All Cards“ werden dieSeriennummern aller Karten angezeigt,welche vom Reader noch gleichzeitigerkannt werden können. Dieses Fens-ter eignet sich zum Test von Reich-weite und erfassbarer Kartenanzahl.

Selbst programmierenFür eigene Entwicklungen undAnwendungen kann man sowohl dieFirmware im LPC936 als auch die PC-Software selbst modifizieren oder neuprogrammieren. Auch ein möglicherUpdate der ELEKTOR-Reader-Firm-ware kann ein Grund sein, um denLPC936 neu zu flashen. Auf der ELEK-TOR-Website steht immer die aktuelleSoftware zum Download kostenlos zurVerfügung, außerdem wird ein Hinweisauf einen Update auch auf der News-Seite bei www.elektor.de und in derMailbox-Rubrik im Heft (unter „Nach-lesen und Updates“) veröffentlicht.

elektor - 9/200634

PRAXIS RFID

Bild 6. Der „Terminal-View“ von MIFARE Magic visualisiert alle Zeichen, die der Reader über USB ausgibt.

Bild 7. Das Programmfenster „Mifare UltraLight“ ermöglicht die einfache Programmierung der RFID-Karte.

Bild 8. Das kostenlose PC-Programm Flash Magic zur Programmierung des LPC-Mikrocontrollers über die USB-Schnittstelle des ELEKTOR-RFID-Readers.

Page 8: [0] Elektor Rfid Reader d060928

Der LPC936 auf der Reader-Platinelässt sich mit dem kostenlosen PC-Pro-gramm Flash Magic (Bild 8) direktüber den USB programmieren. DiesesProgramm, das von Embedded Sys-tems Academy stammt (Esacademy,www.esacademy.com) und von Philips(www.semiconductors.com) gespon-sert wird, unterstützt verschiedenePhilips-Controllertypen. Zum Programmieren des LPC-Control-lers werden die beiden Jumper auf derReader-Platine (JP1 und JP2) gesetzt.Eine detaillierte Anleitung zur Pro-grammierung finden Sie bei www.elek-tor.de auf der Webseite zum ELEKTOR-RFID-Reader-Artikel. Dort sind auchalle Reader- und Kartenkommandos fürMIFARE® UltraLight aufgelistet.Die Readerfirmware für den LPC-Con-troller wurde mit dem C-Compiler KeilµVision3 programmiert. Für die Ent-wicklung von eigenen Programmenstehen bereits alle erforderlichen Kar-tenkommandos als Funktionen zur Ver-fügung. Somit ist es nicht erforderlich,sich mit den einzelnen Registern desMF RC522 auseinanderzusetzen.Das Listing zeigt die erforderlichenCodes für die Kartenaktivierung undDatenblöcke einer MIFARE®-Ultra-Light-Karte. Anschließend werdendiese über die serielle Schnittstelle desControllers ausgegeben.Wie schon erwähnt, erlaubt der „PC-Reader-Betrieb“ der LPC-Firmware dasAufrufen der Kartenfunktionen übereine PC-Applikation. In diesem Fallwerden die Funktionsauf-rufe über ein sehre i n f a c h e sserielles Pro-tokoll direktan die Control-lersoftware über-tragen. Diese sen-det nach der Aus-führung derFunktion die Antwort-daten wieder an denPC. Name und Parameterder Funktionen für die PC-und Controllerprogrammie-rung sind identisch.Als Basis für eigene Entwick-lungen können die Sourceco-des der PC-Software MifareMagic und der Firmware des LPC-Controllers von der ELEKTOR-Web-site kostenlos heruntergeladen wer-den!

(060132-1e)

9/2006 - elektor 35

Listingwhile(1)

status = ISO14443_Request(WUPA, &bATQ);if(status != STATUS_SUCCESS)

continue;

status = ISO14443_Anticoll(Level1,0,&abSNR[0]);if(status != STATUS_SUCCESS)

continue;

status = ISO14443_Select(Level1, &abSNR[0], &bSAK); if(status != STATUS_SUCCESS)

continue;

// Check if UID is completeif((bSAK & 0x04) == 0x04)

// UID not completestatus = ISO14443_Anticoll(Level2,0,&abSNR[4]);if(status != STATUS_SUCCESS)

continue;

status = ISO14443_Select(Level2, &abSNR[4], &bSAK);if(status != STATUS_SUCCESS)

continue;

// Read UltraLight Block 0..3status = Read(0,abDataBuffer);