PRAKTIJK MICROCONTROLLER
ELEKTUUR-RFID-lezer
Voor MIFARE - und ISO 14443-A ®
Gerhard H. Schalk
RFID’s zijn vele toepassingsgebieden aan het veroveren, waarin vroeger barcodes en chipkaarten gebruikt werden. Daarnaast zijn voor RFID’s vele nieuwe toepassingen denkbaar, zoals integreren in een paspoort of in bankbiljetten. Als eerste elektronicatijdschrift biedt Elektuur haar lezers bij dit nummer niet alleen een gratis RFID-kaart aan, maar ook een bijpassende professionele RFID-lezer voor eigen toepassingen. Het hier gepresenteerde ontwerp kan alle RFID’s lezen en beschrijven, zolang ze compatibel zijn met de wijdverbreide MIFARE® en ISO 14443-A-standaard. Bij de ontwikkeling van de ElektuurRFID-lezer heeft de universele inzetbaarheid voorop gestaan. Hij is dan ook zowel geschikt voor aansluiting op de PC via de USB-poort als voor autonoom gebruik met een eigen LC-display. In combinatie met het gratis programma MIFARE Magic kunnen heel eenvoudig verschillende MIFARE kaarten uitgelezen en beschreven worden,
32
zonder dat er eigen software ontwikkeld hoeft te worden. MIFARE Magic ondersteunt een hele serie van contactloze 13,56 MHz MIFARE-kaarten, zoals bijvoorbeeld de Ultralight, Philips MYFARE® ® MYFARE 1K en MYFARE® 4K. De gebruikersinterface van MIFARE Magic (figuur 1) biedt de mogelijkheid
om losse commando’s naar de kaart te sturen met een klik van de muis. Op die manier kunnen de eigenschappen van verschillende kaarten eenvoudig onderzocht worden. Een geschikt proefobject is bijvoorbeeld de bij deze Elektuur bijgesloten MIFARE-UltraLight-RFDI-kaart. Over deze kaart is in een ander artikel in deze Elektuur meer informatie te vinden.
elektuur - 9/2006
Eigenschappen
• Aanpassing voor eigen toepassingen mogelijk • Tools voor zelf programmeren beschikbaar
ELEKTUUR-RFID-lezer:
• Korte afstandslezer voor 13,56-MHz-RFID’s • Compatibel met MIFARE®- en ISO 14443-A • Lees- en schrijfmogelijkheden • USB-poort voor aansluiting op een PC • Direct inzetbaar zonder programmeren • Gratis PC-software voor aansturing vanuit de PC • Autonoom bruikbaar met LC-display (ook mobiel) • Gespecialiseerd reader-IC RC522 • Extra microcontroller op de reader-print • I2C- en SPI-poort • Vrije 8-bit microcontroller-poort • Gebufferde schakeluitgang • Volledig bestukte en geteste SMD-print verkrijgbaar De RFID-lezer is dankzij de ingebouwde firmware ook geschikt voor autonoom gebruik, bijvoorbeeld voor toegangscontrole. Meteen na het inschakelen gaat de lezer op zoek naar RFID-kaarten binnen het bereik van de antenne. Kaarten binnen een afstand van enkele centimeters worden dan uitgelezen. Als een LC-display is aangesloten, wordt daarop meteen het kaarttype en het serienummer weergegeven. Bovendien wordt een schakeluitgang van de lezer geactiveerd. De lezer is opgebouwd rond het nieuwste model Reader-IC MT RC522 van Philips en is uitgerust met een microcontroller van het type LPC936. Omdat het reader-IC alleen verkrijgbaar is in een HVQFN32-behuizing, hebben we ervoor gekozen de printen volledig bestukt te leveren, compleet met een voorgeprogrammeerde microcontroller. Natuurlijk is de Elektuur-RFID-lezer niet alleen geschikt voor experimenten met onze gratis MIFARE®-UltraLightkaart. De krachtige microcontroller met I2C-, SPI-, UART- en USB-poort kan voor vele toepassingen ingezet worden, mede dankzij de beschikbare gratis ontwikkeltools. Er zijn ontelbare toepassingen te bedenken, zoals contactloos bestuurde tuinpoorten, deuren en ander codesloten, elektronisch leesbare lidmaatschapskaarten, opslag van wachtwoorden en configuratiegegevens, beveiliging van apparatuur in huis (b.v. TV, videorecorder, PC) bewaking van accupacks en ga zo maar door. De combinatie van identificatie, dataopslag en draadloze interface
9/2006 - elektuur
Reader-IC RC 522:
• LSI (Large Scale Integration) Reader-IC voor ISO 14443 A en MIFARE®
• Contactloze overdrachtssnelheid van 106, 212 en 424 kbit/s
• Lees-/schrijfafstand maximaal 50 mm (afhankelijk van de antenne)
• Geïntegreerd MIFARE® Classic Cryptoblock • Programmeerbaar via UART, I2C of SPI • 64 Byte buffer voor zend- en ontvangstdata • Programmeerbare reset- en power-down-modes • Programmeerbare timer • Interne oscillator geschikt voor direct aansluiten van een 27,12-MHz-kristal
biedt vele mogelijkheden voor de creativiteit...
Reader-hardware In figuur 2 zien we het blokschema van de lezer. Het eigenlijke uitlezen, dat wil zeggen het opwekken van het HF-signaal, de modulatie en demodulatie, en het afhandelen van het ISO 14443-protocol is de taak van de MF RC522. We kunnen ons de RC522 vereenvoudigd voorstellen als een soort
draadloze UART, die rechtstreeks door een microcontroller bestuurd kan worden. In deze Elektuur-lezer gebeurt dat door een 8051-compatibele controller van het type LPC936 van Philips. De CPU heeft twee klokpulsen per instructie nodig en wordt met 16 MHz geklokt. Deze snelheid en het 16 kB grote flashgeheugen zijn ruimschoots voldoende om allerlei RFID-lezer-applicaties mee te realiseren. De controller kan heel eenvoudig geprogrammeerd worden met elke 8051-compatibele
Figuur 1: Met het voor de Elektuur-RFID-reader ontwikkelde PC-programma MIFARE Magic kunnen Mifare®en ISO 14443-A RFID’s gelezen, beschreven en geprogrammeerd worden. 33
PRAKTIJK MICROCONTROLLER
RFID Reader
LCD
Antenna Matching
MF RC522
I2 C
I2 C
I/O
µC / Philips LPC 935 RS232
Voltage Regulator
FT232R USB / UART
Optional Power Supply 5V
USB
060132 - 13
Figuur 2: Blokschema van de Elektuur-RFID-reader.
compiler. De USB/RS232 interfacebouwsteen FT232R van Future Technology Devices (FTDI) maakt de communicatie met een PC erg gemakkelijk. Het volledige schema is te zien in figuur 3. Als de schakeling via de USBpoort op de PC wordt aangesloten, wordt ook de voeding uit de USB-kabel betrokken. De USB-interface-bouwsteen FT232R (IC1) is zo geconfigureerd dat de schakeling bij de initialisatie van de USB-bus (Enumeratie) wordt aangemeld als High-Powerdevice. Dat betekent dat voor dit apparaat een maximale stroomopname van 500 mA uit de USB-bus is toegestaan. Als de enumeratie op de USB-bus succesvol is afgerond, wordt door het signaal /PWRNEN op pen 11 van IC1 de P-kanaal MOSFET T2 opengestuurd, die daarmee de 5 V voedingsspanning naar de spanningsregelaar IC5 doorschakelt. Deze LM2937 levert dan aan de uitgang 3,3 V voor de LPC-controller (IC3) en de MF RC522 (IC4). De rode
Analog Interface
LED D6 geeft aan dat de 3,3 V voedingsspanning aanwezig is. Als geen 5 V-voedingsspanning van de USB beschikbaar is, kan de voeding via Schottky-diode D4 betrokken worden uit een externe voeding. Dat kan een accu zijn of een 5 V-netspanningsadapter. Deze voeding moet minimaal 300 mA kunnen leveren. Een overzicht van het binnenwerk van het reader-IC is te zien in het blokschema van de MF RC522 in figuur 4. De gebufferde uitgangsdrivers van de MF RC522 maken het mogelijk om rechtstreeks de zend- en ontvangstantenne aan te sluiten zonder een externe vermogensversterker. De impedantieaanpassing van de antenne is erg belangrijk. Die wordt gerealiseerd met een klein aantal passieve elementen. Het analoge interfaceblok verzorgt ook de demodulatie en decodering van de door de RFID-kaart verzonden antwoorden. Het opwekken van de ISO
Register Bank Contactless
UART
FIFO
MFRC5222
Serial UART SPI I 2C
060132 - 14
Figuur 4: Blokschema van het inwendige van het reader-IC MF RC522 van Philips.
34
Host
14443- of MIFARE®-protocolframes en de bijbehorende foutherkenning (pariteit en CRC) gebeurt in het digitale blok van de contactloze UART. De FIFO-buffer maakt het zenden en ontvangen van blokken tot 64 bytes mogelijk (T=CL-protocol) bij het werken in ISO 14443-mode. In MIFARE®-mode worden datablokken van maximaal 16 bits uitgewisseld. Daardoor hoeven de blokken in dat geval niet in de microcontroller opgedeeld te worden. De registers van de RC522 kunnen geprogrammeerd worden via RS232, I2C of SPI. Omdat de LPC936 over maar één RS232-poort beschikt, die al in gebruik is voor de communicatie met de PC, is er voor gekozen om de RC522 aan te sturen via I2C. Desgewenst kan een tweeregelig LCdisplay worden aangesloten op de connector K2. Het display wordt dan bestuurd door poort P0 van de LPC936. De schakeling beschikt over een schakelbare uitgang die wordt gestuurd vanuit P0.0 met een buffertransistor. Verder zijn poort P2, de I2C-poort en de SPI-poort beschikbaar voor het besturen van toegevoegde hardware. Zo zou er bijvoorbeeld eenvoudig een RTCbouwsteen kunnen worden toegevoegd voor het registreren van tijden in een stand-alone toepassing. De schakeluitgang is heel goed geschikt om bijvoorbeeld een deuropener mee aan te sturen. (Zie ook de RFID-readerpagina op www.elektuur.nl/rfid).
Aan de slag De dubbellaags printplaat voor de schakeling is te zien in figuur 5. Het reader-IC kan alleen in een reflow-proces gesoldeerd worden. Daarom is de print kant-en-klaar bestukt en getest verkrijgbaar bij Elektuur. Ook een behuizing is verkrijgbaar, compleet met een uitgebreide beschrijving hoe het inbouwen in zijn werk gaat. De beide jumpers (JP1 en JP2) op de reader-print worden voor normaal gebruik niet geplaatst. Als de readerprint met een LC-display verbonden is, dan is de schakeling na het inschakelen van de voedingsspanning meteen klaar voor gebruik. Zolang een RFID-chip in het ontvangstbereik van de antenne is, zal het serienummer op het display worden weergegeven. Als er op het display niets te zien is, kan het nodig zijn om met P1 het contrast bij te stellen. Voor gebruik van de USB-aansluiting met een PC is de driver CMD-FTDIUSB nodig. Deze kan gratis van de Elektuur-website gedownload worden.
elektuur - 9/2006
D4
+4V8...+6V
R13
T2
IC5 LM2937
C32
+5V
C30 2µ2
C4 100n
14
IC2 7
1
D3
R12
RE
C5 100n
JP1
5 6
+3V3
≥1
IC2.B 4
1
T1
R16
IRLM6402
9 8
IC2.C ≥1
10
R5
12 11
C6 100n
IC2.D ≥1
13
D6
R15
21 VDD
P1.6
P1.7 P1.5/RST
P1.4/INT1
P1.2/SCL
P1.3/SDA/INT0
IC3
P2.2/MOSI
P2.1
P2.0 P0.1
P2.3/MISO
P89LPC935
P0.2
P2.4/SS
P0.0
P1.0/TXD
P1.1/RXD
CPU PWR
JP2
6 17
18
3
P0.3
P2.6
P2.5/SPICLK
4 5 10 11 12
1 2 13 14 15 16 27
R3
R4 4k7
2µ2
YE
19
IC2.A IC2 = 74HC02 26 25 24
P0.4
28
C10
100n
C11
100n
C12
3
AUX1 AUX2
13
8
14
10
7
11
16
20
19
17
100n
15 12
RX
C9
2
IC4 TX1
VMID
RXD
TVSS
TVSS TXD
TX2
22 18
C14 12p 27.12MHz
OSC
X2
OUT
MFRC522
21
IN
PVSS
EA
ALE SDA
D7 SCL
D6 A0
D5 A1
D4 A2
D3 A3
D2 A4
D1 A5
SVDD
IRQ
NRSTPD
I2C
100n
1 6 23 9 25 26 27 28 29 30 31 24
5
32
4
TVDD
100k
GR
R2 VCCIO 16
30 31 2
2
≥1
RS
E
R/W
P0.5
P2.7
P0.6 P0.7/T1
9
C13
AVDD
D2
R1 VCC
TXD
3V3OUT
DTR
IC1 CBUS0 TXLED
RESET
CBUS1 RXLED
32 3
3
6 7 8
23 22 20 19
X1
DVDD
D1
18
22 21 10 RXD
CTS
DCD
DSR
RTS
RI
CBUS2 CBUS3 PWRNEN CBUS4 SLEEP
USBDM USBDP
D4 D5 D6 D7
8
C8
12p
R6
560nH
L2
L3
560nH
C16
100n
C22
*
C21
C20
*
C27
68p
C25
C28
*
C26
4Ω7
R8
220p
27p C18
C19
68p
C17
220p
*R9
4Ω7
* C23
27p
C24
*
* see text * voir texte * siehe Text * zie tekst
060132 - 11
L4
Ant.
L5
Ant.
R7
1n
C15
2k2
L1
D5
BAT54
9
11
15 14
FT232RQFN OSCI OSCO
26
7
VSS P3.1/X1 P3.0/X2
C7
12p 16MHz
12p
T3
BC517
4k7
BAS19 IRLM6402
C31
1
100n
K1 2 3
27 28
TEST
24
GND GND 20
R14 10k R17
1k
PVDD
1k R10
+5V
10 11 12 13 14 15 16
1k
D7
AVSS
4
C2 17
9
A
GND GND 4
8
K
DVSS
4k7 D7
R11
7
D6
10 Ω
6
D5
C1 47p
5
10 Ω
10k D4
C3 47p
4
D2
5
MINI USB-B 100n
3
D3
C29
2
D1
LC DISPLAY
E
D0
10k 1
RS
R/W
2µ2
P1
K2
LCD1
VO
35
9/2006 - elektuur
VDD
1k
1k VSS
1k
Figuur 3: Het volledige schema van de reader, die zowel autonoom met een LC-display als via de USB-poort op de PC kan werken.
PRAKTIJK MICROCONTROLLER
060132-1
IC2
K1
C3
D1
D5
C5
C15
C18 C20 C21 C25 C27C23 C22 C26 C28 C24 R8 R9
C4
C32 D2
C13C14 C12
R16
C1 C2
C7
JP1
IC5
R2 R1
X1 T3
R13 L1 C31 D4
T1
C17 L2 C11 L3 C19 C16 R7 R6
C8
R14
X2
C9 C10
C30 T2
R12
JP2
D6
R15 R4 R3 R5
C6
D7 R17
IC4
IC3
1
P1
+-
14
D3
-
R11 R10
C29
+
K2
IC1
Deze driver is noodzakelijk, omdat de FT232R het Elektuur vendor-ID en product-ID bevat. Wanneer de RFID-lezer via de meegeleverde USB-kabel met de PC verbonden wordt, zal Windows een nieuw USB-device herkennen en daar een driver voor willen installeren. Nu kan de van te voren gedownloade driver worden gekozen, die Windows dan automatisch installeert. Als er zich bij het installeren van de driver problemen voordoen, kan de ‘Installation Guide’ op de FTDI-website (www.ftdichip.com) geraadpleegd worden. Ook voor onze gemodificeerde driver is deze handleiding van toepassing. Bij de installatie van de CMD-FTDI-driver worden zowel een ‘D2XX-‘ (Direct Driver) als een ‘VCP-‘ (Virtuele COM Poort) driver geïnstalleerd. De VCP-driver zorgt er voor dat de USB-poort van de RFID-lezer zowel aan de PC-kant als door de microcontroller kan worden aangesproken als een gewone RS232-poort. De D2XX-driver wordt gebruikt als de Elektuur-reader voor eigen ontwikkelingen zoveel moet worden aangepast, dat de configuratiegegevens in de interne EEPROM van de FT232R aangepast moeten worden. Voor dat doel wordt het programma MPROG gebruikt dat gratis gedownload kan worden van de FTDI-website. Het werkt alleen in combinatie met de D2XX-driver.
T
060132-1 (C) ELEKTOR
MIFARE Magic
Figuur 5: De printplaat bestaat uit twee lagen en bevat ook de antenne. Omdat het reader-IC niet met de hand te solderen is, wordt de print kant-en-klaar bestukt en getest geleverd.
36
Na het installeren van de drivers kan het speciaal voor de Elektuur-RFIDlezer ontwikkelde PC-programma MIFARE Magic gebruikt worden. Ook dit programma is gratis te downloaden van www.elektuur.nl. Na het downloaden moet de inhoud van het ZIPbestand in een vrij te kiezen directory geplaatst worden. Sluit eerst de RFIDlezer aan op de USB-poort en start dan het programma door te dubbelklikken op MifareMagic.exe. Er wordt dan automatisch verbinding met de poort gemaakt. Er hoeft geen poort gekozen te worden, omdat MIFARE Magic intern gebruik maakt van de D2XX-driver. In figuur 6 is de ‘terminal view’ van MAFIRE Magic weergegeven. Deze emuleert een VT100-terminal en geeft alle tekens weer die door de LPC-controller naar de FTDI-poortconverter worden gestuurd. De firmware in de LPC-controller bevindt zich na het inschakelen ook in de terminalmode. Zodra de lezer een nieuwe kaart in het ontvangstbereik
elektuur - 9/2006
Onderdelenlijst Weerstanden (SMD 0805, 5%): R1, R2, R6, R12, R15, R17 = 1 k R3, R4, R5 = 4k7 R7 = 2k7 R8, R9 = 4Ω7 R10 = 270 Ω R11 = 10 Ω R13 = 100 k R14, R16 = 10 k P1 = 10-k-Instelpotmeter, SMD, 4 mm SQ Condensatoren (SMD 0805, 16 V, keramisch): C1, C2 = 47 p NP0 C3, C4, C5, C6, C9, C10, C11, C12, C16, C31 = 100 n C7, C8, C13, C14 = 12 p NP0 C15 = 1 n NP0 C17, C19 = 220 p NP0 C18, C20 = niet plaatsen C21, C23 = 27 p NP0 C22, C24 = niet plaatsen C25, C27 = 68 p NP0 C26, C28 = niet plaatsen C29, C30, C32 = 2µ2 Halfgeleiders: D1 = SMD-LED (0805) groen, Low-current, D2 = SMD-LED (0805) geel, Low-current, D3, D6, D7 = SMD-LED (0805), rood, Low-current, D4 = BAS19 (200 mA, SOT23) D5 = BAT54S (30 V/300 mA, SOT23) T1, T2 = 6402 (P-kanaal-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) Diversen: X1 = 16-MHz-Kwartskristal (18 p parallelcapaciteit, 5 mm x 3,2 mm) X2 = 27,12-MHz-Kwartskristal (18 p parallelcapaciteit, 5 mm x 3,2 mm) K1 = Mini-USB-B-bus, SMD, 5 polig L1 = SMD-ferriet (1,5 A, 0805) L2, L3 = SMD-spoel 560 nH (0805) JP1, JP2 = 0,1”-Jumper (zie tekst) LCD1 = LCD-Modul, 2 x 16 tekens met achtergrondverlichting Behuizing, 146 x 91 x 33 (mm) met LCD-venster en batterijvak voor 4 Mignon-cellen (AA) Printplaat EPS 060132-91 (bestukt en getest, inclusief USB-Kabel, zie Elektuur-Shop elders in dit blad) Passend LC-display (zie Elektuur-Shop elders in dit blad) Hex- en sourcecode voor LPC936 (gratis te downloaden van www.elektuur.nl) PC-Software Mifare Magic met sourcecode (gratis te downloaden van www.elektuur.nl)
9/2006 - elektuur
37
PRAKTIJK MICROCONTROLLER
Figuur 6: De ‘Terminal-View’ van MIFARE Magic visualiseert alle tekens die de reader via de USB-poort uitgeeft.
Figuur 7: Het venster ‘Mifare UltraLight’ maakt eenvoudige programmering van deze RFID’s mogelijk.
herkent, wordt die aangesproken (geactiveerd). Als de lezer de kaart herkent als MYFARE®-Ultralight, MYFARE®-1K- of MYFARE®-4K-kaart, dan wordt de hele inhoud van het geheugen van de kaart uitgelezen en in de ‘terminal’ van MIFARE Magic weergegeven. Bij MYFARE®-1K- en MYFARE®-4K-kaarten wordt daarbij de standaard MYFARE®-sleutel gebruikt. Als de kaart van verschillende sleutels gebruik maakt, dan kunnen de datagebieden die corresponderen met de andere sleutels niet uitgelezen worden. Als in plaats van MIFARE Magic een ander terminalprogramma gebruikt wordt (zoals Hyperterminal of het in het LPC-tool Flash Magic geïntegreerde terminalprogramma), dan moet als poort de door de VPC-driver aangemaakte virtuele poort gekozen worden, met de parameters: 115.200 Baud, no parity, 8 databits, 1 stopbit. Met het menu ‘Window’ in MIFARE Magic kan gekozen worden tussen de weergave ‘Terminal’, ‘Mifare UltraLight’ en ‘Show All Cards’ (figuur 7). ‘Mifare UltraLight’ (figuur 1) maakt het mogelijk de juiste commando’s voor dat kaarttype aan te klikken met de muis. Zo is het heel eenvoudig een MIFARE-UtlraLight (zoals meegeleverd bij dit nummer van Elektuur) of een MIFARE-standaard RFID te programmeren. Wanneer dit venster geopend wordt, schakelt de firmware over van terminalmode naar PC-reader-mode. In die toestand wacht de microcontroller op bevelen voor de kaart van de PC en roept de bijbehorende subroutines in zijn software aan. Van deze bedrijfstoestand kan ook gebruik gemaakt worden bij het zelf ontwikkelen van PC-software voor de besturing van de RFID-lezer. In het venster ‘Show All Cards’ worden alle serienummers getoond die door de lezer op dat moment herkend worden.
Zelf programmeren
Figuur 8: Het gratis PC-programma Flash Magic voor het programmeren van de LPC-microcontroller via de USB-poort van de Elektuur-RFID-reader.
38
Voor eigen ontwikkelingen en toepassingen kan zowel de firmware in de PLC936 als de PC-software zelf aangepast worden of zelfs vervangen worden door eigen programma’s. Ook als er een update verschijnt van de Elektuur-software voor de microcontroller, kan dat een reden zijn om de LPC936 opnieuw te flashen. Op de Elektuurwebsite is steeds de nieuwste versie gratis beschikbaar voor download. Bovendien zullen updates steeds aangekondigd worden op de nieuwspa-
elektuur - 9/2006
gina op de site en in het tijdschrift. De LPC936 op de reader-print kan met het gratis PC-programma Flash Magic (figuur 8) rechtstreeks via de USBpoort geprogrammeerd worden. Dit programma, dat afkomstig is van Embedded Systems Academy (Esacademy, www.esacademy.com) en gesponsord wordt door Philips (www.semiconductors.com), ondersteunt verschillende Philips-controllers. Om de LPC te kunnen programmeren, moeten de beide jumpers (JP1 en JP2) op de print gestoken worden. Gedetailleerde informatie over het programmeren is te vinden op de Elektuur-website bij de pagina over dit project. Daar is ook een lijst te vinden van de commando’s voor de reader en de MIFARE®-UltraLight. De readerfirmware voor de LPC-controller is gemaakt met behulp van de C-compiler Keil mVision3. Voor het maken van eigen programma’s staan voor alle belangrijke commando’s al voorgeprogrammeerde functies ter beschikking. Daardoor is voor het programmeren geen gedetailleerde kennis over de inwendige registers van de MF RC522 nodig. In de listing zijn de benodigde codes te zien voor het activeren van een MIFARE®-UltraLight-kaart en het uitlezen van de datablokken via de seriële verbinding.
Listing while(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 complete if((bSAK & 0x04) == 0x04) { // UID not complete status = 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..3 status = Read(0,abDataBuffer); }
Zoals al vermeld werd, is het in de PC-reader-mode mogelijk om de LPC-firmware kaartcommando’s te laten uitvoeren onder besturing van software op de PC. De functieaanroepen worden dan via een eenvoudig serieel protocol van de PC naar de microcontroller overgedragen. Na het uitvoeren van de aanroep stuurt de controller het functieresultaat dan weer terug naar de PC. De namen en parameters van overeenkomstige functies op de PC en in de microcontroller zijn identiek. Als basis voor eigen ontwikkelingen kan ook de sourcecode van het PCprogramma Myfare Magic en de firmware voor de microcontroller gratis van de Elektuur-website gedownload worden. (060132-I)
9/2006 - elektuur
39