CATEGORII DOCUMENTE |
Smart Card-uri
Tehnicile folosite de cardurile contactless pentru transferul de energie si date nu sunt noi.Ele sunt cunoscute de mai mult timp in sistemele de identificare in radio-frecventa (RFID) si au fost folosite la implanturi pentru animale sau transpondere pentru sisteme electronice anti-start pentru vehicule.
Cele mai cunoscute metode sunt cele care folosesc unde radio sau microunde, transmisie optica, cuplaj capacitiv si cuplaj inductiv.
Cuplajul capacitiv si inductiv se potriveste cel mai bine cu forma plata a cardului fara sursa interna de energie.Sistemele utilizate in prezent pe piata utilizeaza exclusiv aceste metode care sunt singurele recunoscute de standardele ISO/IEC 10536, 11443 si 1569
Un sistem ce utilizeaza carduri fara contact este compus din cel putin doua elemente:cardul propriu-zis si un terminal compatibil.Terminalul poate fi folosit doar ca cititor sau ca cititor/inscriptiv, in functie de tehnologia folosita.Ca o regula, terminalul are inclusa o interfata prin care poate comunica cu un sistem background .
Urmatoarele 4 functii sunt necesare pentru ca un card fara contact sa comunice cu terminalul:
Fig 1
Mai multe concepte diferite bazate pe experienta sistemelor RFID au fost dezvoltate pentru a satisface cerintele.Majoritatea sunt concepute pentru anumite aplicatii.
De exemplu exista o considerabila diferenta intre sistemele unde cardurile sunt folosite la o distanta de cativa milimetri in functionare normala si sistemele in care cardurile pot ajunge la o distanta de 1 metru fata de terminal in functionare normala.
Normal, cand mai multe solutii special concepute si optimizate pentru o aplicatie particulara au fost dezvoltate, inevitabil ele sunt mutual incompatibile.
1 Cuplaj inductiv
Cuplajul inductiv este in momentul de fata cea mai raspadita tehnica pentru smart cardurile fara contact.Poate fi folosit pentru a transfera atat energie cat si date.Numeroase cerinte si constrangeri, limitari, cum ar fi licente radio, au influentat implementarile actuale.
Fig 2 Constructia de baza a unui smart card fara contact cu cuplaj inductiv
In unele aplicatii cum ar fi, controlul de acces, este suficient numai a citi datele inscrise pe card, ceea ce face ca solutiile tehnice sa fie simple.Datorita consumului scazut de energie(cativa zeci de microwatti) este posibila utilizarea lor pe o raza de 1 metru.Capacitatea lor de memorie este de numai cateva sute de biti.Daca este insa necesara si scrierea de informatii pe card consumul creste pana la 100W.Ca o consecinta ele pot fi folosite insa numai pe o raza de 10 centimetri .Puterea consumata de microprocesorul cardului este si mai mare circa 100mW.Distanta fata de terminal este astfel si mai restrictionata.
Fig 2 Smart card fara contact cu cuplaj inductiv folosind o bobina
Indiferent de distanta si de puterea consumata, toate cardurile bazate pe cuplajul inductiv lucreaza pe acelasi principiu.Una sau mai multe bobine(de obicei cu arii de inconjurare largi) sunt incorporate in corpul cardului pentru a forma componente de cuplaj necesare transferului de energie si date, impreuna cu unul sau mai multe cip-uri.
1.1 Transferul de energie
Fara exceptie, cardurile fara contact sunt folosite pasiv adica energia necesara cipului pentru functionare trebuie sa fie transferata de la cititor la card.
Principiul functionarii se bazeaza pe pierderile cuplajului transformatorului .Un camp magnetic de frecventa inalta este generat de o bobina din interiorul terminalului cu scopul de a transfera energie.Cele mai folosite frecvente sunt 125kHz si 156MHz ce corespund unor lungimi de unda de 2400m, respectiv 22m.Lungimile de unda ale campului electromagnetic sunt de cateva ori mai mari decat distanta de la terminal la card, ceea ce inseamna ca acesta trebuie sa se situeze in apropierea terminalului.Astfel poate fi aplicat modelul pierderilor cuplajului transformatorului.Daca un card fara contact este adus in apropierea terminalului, o parte din campul magnetic generat de acesta va trece prin bobina din card si va induce o tensiune Ui. Aceasta tensiune are scopul de a furniza energie cipului.Cum cuplajul intre cele doua bobine este mic, eficienta metodei este scazuta.Un curent mai mare este deci necesar prin bobina din terminal pentru a atinge un nivel ridicat al puterii campului.Acesta se obtine prin conectarea in paralel a unui condensator Ct cu bobina Lt, cu o valoare a capacitatii aleasa astfel incat bobina si condensatorul sa formeze o retea de rezonanta paralel a carei frecventa de rezonanta coincide cu frecventa semnalului de transfer.
Fig 3
Bobina Lc si condensatorul C1 din card formeaza de asemenea un circuit rezonant cu aceeasi frecventa de rezonanta.Tensiunea indusa in card este proportionala cu frecventa semnalului, numarul de infasurari al bobinei Lc si aria de infasurare a bobinei.Aceasta inseamna ca numarul de spire al bobinei scade cu cresterea frecventei.La 125kHz, intre 100 si 1 000 de spire, in timp ce la 156MHz numarul infasurarilor este de numai 3 sau 10.
1.2 Transferul de date
Pentru a transfera date de la terminal spre card pot fi folosite toate metodele de modulatie cunoscute.Cele mai uzuale tehnici sunt:
ASK(Amplitude-Shift Keying)
FSK(Frequency-Shift Keying)
PSK(Phase-Shift Keying)
ASK si PSK sunt cele mai folosite deoarece sunt usor de demodulat.
In celalalt sens, de la card spre terminal este folosita o modulatie de amplitudine.Este generata folosind semnalul de date pentru a modifica digital sarcina in card(modulatie de sarcina).Daca smart cardul acordat pe frecventa de rezonanta a terminalului este adus in vecinatatea campului, acesta atrage energie in modul descris.Aceasta face ca curentul Io prin bobina sa cresca si de asemenea caderea de tensiune Uo pe rezistenta interna Ri sa creasca. Smart Cardul poate sa varieze tensiunea Uo (modulatia de amplitudine) variind sarcina pe bobina, de exemplu prin comutarea unei rezistente R2, cum este aratat in figura:
Fig 4 Exemplu de circuit prezentand principiul modulatiei de sarcina, care este folosit in transmisia datelor pentru smart card-urile fara contact
Daca comutarea rezistorului R2 este controlata de semnalul de date atunci datele pot fi detectate si evaluate in terminal.
Cum era de asteptat datorita gradului scazut de cuplaj intre bobine, variatiile de tensiune induse in terminal de modulatia de sarcina sunt foarte mici.In practica amplitudinea semnalului util este de cativa milivolti.Aceasta poate sa fie detectata folosind circuite sofisticate, de vreme ce este acoperita de catre semnalul semnificativ mai mare(in jur de 80 dB) emis de terminal.Totusi daca o frecventa subpurtatoare este folosita cu o frecventa fs, semnalul de date receptionat apare in terminal ca doua benzi laterale a frecventei fcfs .Acestea pot fi izolate de semnalul terminalului semnificativ mai mare prin filtrare cu un FTB si apoi amplificate.
Fig 5
Modulatia de sarcina folosind o subpurtatoare genereaza 2 benzi laterale separate din frecventa de transmisie a terminalului de catre valoarea frecventei subpurtatoarei fS . Informatia este continuta in benzile laterale ale celor doua benzi laterale ale subpurtatoarei, care sunt produse prin modularea subpurtatoarei.
Dupa aceasta pot fi mai usor demodulate.Dezavantajul modulatiei cu subpurtatoare este faptul ca necesita o lungime de banda semnificativ mai mare decat modulatia directa.Poate fi folosita deci intr-un numar limitat de benzi de frecventa.
2 Cuplajul capacitiv
Daca distanta dintre card si terminal este foarte mica este posibil sa se foloseasca cuplajul capacitiv pentru transferul de date.Cu acest tip de cuplaj , suprafete conductive sunt incorporate in interiorul cardului si terminal ca si cand ar forma un condensator atunci cand cardul este introdus sau pus intr-o zona a terminalului.
Fig 6 Principiul de operare al cuplajului capacitiv.Cuplajul apare prin alaturarea celor doua campuri electrice conductive de pe suprafata cardului si a terminalului.
Capaciatea ce se poate obtine depinde de marimea suprafetelor de cuplaj si de separarea lor.Marimea maxima este deci limitata de dimensiunile cardului, in timp ce separatia minima este determinata de izolarea necesara intre suprafetele de cuplaj.Cu un nivel acceptabil de cost si efort, poate fi obtinuta o capacitate de cativa zeci de picofarazi(pF).Insa este totusi insuficienta energia transmisa pentru a alimenta un microprocesor.Prin urmare, aceasta metoda este folosita numai pentru transmisia de date, pentru alimentarea circuitelor fiind folosita metoda inductiva.Aceasta metoda este standardizata de ISO/IEC 10 536 pentru "close coupling cards".Aceasta metoda este limitata insa numai pentru distante de cuplaj mici.
Evitarea coliziunii
Cand cardurile fara contact sunt folosite exista posibilitatea ca mai multe carduri sa se afle in zona unui terminal in acelasi timp.Aceasta situatie se intalneste pentru sistemele cu zona mare de utilizare a terminalului, dar se poate intalni si la sistemele in care zona de utilizare este relativ redusa, de exemplu doua carduri suprapuse pot fi activate concomitent de catre terminal.Toate cardurile aflate in raza de actiune a terminalului vor incerca sa raspunda la comenzile venite de la acesta.Totusi transmisiile simultane de date vor cauza inevitabil interferente si pierderi de date daca nu sunt luate masuri de a preveni acesta situatie.Metodele tehnice folosite pentru a asigura schimbul liber de date in interiorul razei de actiune al terminalului cu mai multe carduri sunt denumite metode de evitare a coliziunii sau metode anticoliziune.
Fig 7
Schimbul de date intre mai multe unitati mobile si statia de baza este o situatie des intalnita in telecomunicatii, situatie care se refera la "accesul multiplu" .Un exemplu tipic este o retea de telefonie mobila, in care toti utilizatorii localizati intr-o anumita celula radio acceseaza simultan o singura statie de baza.Numeroase metode au fost dezvoltate pentru a permite semnalelor utilizatorilor individuali sa fie distinse intre ele.Aceste metode de anticoliziune pot fi clasificate in 4 tipuri ca in figura:
SDMA(space division multiple access) incearca sa limiteze sau scaneze aria operationala a unui terminal astfel incat numai un singur card poate fi accesat la un moment dat de timp.De vreme ce aceasta metoda necesita antene complicate si deci costisitoare, nu se foloseste pentru carduri fara contact.
Cu TDMA(time division multiple access), masurile luate au rolul de a asigura ca fiecare card in parte se comporta diferit in timp, astfel incat ele pot fi identificate separat si adresate individual de catre terminal.Aceasta este metoda cea mai frecvent folosita si are mai multe variante.Sunt standardizate in cadrul ISO/IEC 14433-3 pentru "carduri de proximitate".
Prin metoda FDMA(frequency division time access) sunt oferite simultan diferite purtatoare de frecventa pentru canale de transmisie multipla.Totusi aceasta metoda este complicata si deci costisitoare.Prin urmare nu este folosita pentru cardurile fara contact.Aceleasi consideratii sunt valabile si pentru CDMA(code division multiple access).
In prezent au fost stabilite trei standarde diferite care descriu trei limite de distante de accesare.Fiecare standard in parte permite diferite solutii tehnice, deoarece membrii comisiei de standardizare nu s-au putut pune de acord asupra uneia singure.Cu scopul de a obtine interoperabilitatea intre diferitele optiuni, terminalele pentru carduri trebuie sa suporte aceste optiuni.
Tabel 1
3 Carduri prin cuplaj apropiat
In standardul ISO/IEC 10536 pentru carduri prin cuplaj apropiat, aceasta aplicatie poarta denumirea de"operatie de slot sau suprafata", care arata faptul ca pentru a fi utilizat cardul trebuie introdus intr-un slot sau asezat pe o suprafata marcata a terminalului.Acest standard care poarta denumirea de"Identification Cards-Contactless Integrated Circuit(s) Cards" contine patru parti:
Partea 1: Caracteristici fizice
Partea a-2-a: Dimensiuni si pozitionarea ariilor de cuplaj
Partea a-3-a: Semnale electronice si proceduri de resetare
Partea a-4-a: Answer to reset si protocoale de transmisie
Cerintele cele mai importante pentru aceste standarde sunt:
Compatibilitate extensiva cu ISO 7816
Operare cu orientare arbitrara a cardului fata de cititor
Purtatoarea frecventei de transfer intre 3 si 5 MHz
Transmisie bidirectionala de date cu cuplaj inductiv sau capacitiv
Consumul de putere mai mic de 150mW(adecvat pentru cipurile de microprocesor)
Partea 1 a standardului defineste caracteristicile fizice ale cardului.In esenta ele sunt aceleasi impuse la cardurile cu contact, in particular cu privire la elasticitate si rasucire.O diferenta o reprezinta toleranta la descarcarea electrostatica.Cum un card fara contact nu necesita nicio cale conductiva (contact electric) intre suprafata cardului si circuitele integrate incorporate in acesta nu se poate deteriora datorita ESD.
Partea a -2-a a standardului specifica pozitionarea si dimensiunile componentelor de cuplaj.Cum nu a fost posibil acordul asupra unei singure metode, componentele ambelor tipuri de cuplaj au fost definite astfel incat sa poata fi implementate in acelasi card sau terminal.Exemplele sunt aratate in figura.Aranjarea aleasa are scopul de a asigura o orientare independenta impreuna cu o excitatie potrivita in terminal.
Fig 8 Dispunerea componentelor cuplajului pentru un smart card fara contact: (1)bobine de cuplaj in corpul cardului, (2)suprafete capacitive de cuplaj in corpul cardului si (3) set de contacte pentru cip
Fig 9 Dispunerea componentelor cuplajului intr-un terminal pentru un smart card fara contact: (4)bobine de cuplaj din terminal, (5)suprafete capacitive de cuplaj din terminal
Partea a-3-a publicata in 1996 este cea mai importanta parte.Descrie metodele de modulatie folosite pentru transmisia capacitiva sau inductiva de date .Un terminal care corespunde standardului trebuie deci sa suporte ambele metode si ambele metode trebuie sa fie implementate intr-un singur card.
Transferul de energie
Energia este transferata de un camp sinusoidal magnetic alternativ cu frecventa de 4.9152MHz, care trece prin una sau mai multe suprafete de cuplaj inductive, depinzand de cate bobine de cuplaj sunt in card.Terminalul trebuie sa genereze toate cele 4 campuri.
Campurile magnetice alternative F1 si F2, care trec prin ariile H1 si H2, au o diferenta de faza mutuala de 180 de grade, la fel ca si campurile F3 si F4, care trec prin H3 si H4.Diferenta de faza intre F1 si F3 si intre F2 si F4 este de 90 de grade.Fiecare camp magnetic este destul de puternic pentru a transfera cel putin 150mW spre card.Totusi cardul nu trebuie sa consume mai mult de 200mW.Aceasta definire complicata a campurilor magnetice este necesara pentru a obtine aceleasi caracteristici ale transferului de date pentru patru orientari diferite ale cardului, asa cum este explicat mai jos.
Fig 10 Dispunerea si marimile ariilor de cuplaj intr-un smart card fara contact si terminal
Transferul inductiv de date
Diferite tipuri de modulatie sunt folosite pentru transmisia de date in cele doua directii.
Transmisia de date de la card spre terminal
Pentru transmisia de date de la card la terminal, o subpurtatoare de 307.2kHz este mai intai generata folosind modulatia de sarcina(vezi figura de mai jos), cu o variatie a sarcinii de cel mult 10%.Modulatia de date este obtinuta prin comutarea fazei subpurtatoarei cu 180 de grade, producand doua stari ale fazei ce pot fi alese ca 1 logic si 0 logic..
Starea initiala dupa ce campul magnetic a fost generat este aleasa ca fiind 1 logic.Aceasta stare de baza(intervalul t3 in figura 14 ) ramane stabilita pentru cel putin 2ms.Astfel, fiecare schimbare a fazei subpurtatoarei reprezinta o inversare a starii logice de baza producand codul NRZ(non-return to zero).Rata transmisiei de date , cel putin pentru ATR , este de 9600 biti/secunda.
Fig.11 Principiul de functionare al modulatiei de faza pentru transmisia de date pentru smart card-uri fara contact. Graficul de mai sus indica campul magnetic alternativ si starile de faza asociate.Frecventa purtatoarei este 4.9152 MHz, iar a subpurtatoarei e 307.2kHz
Transmisia de date de la terminal spre card
Pentru a transfera date de la terminal spre card, cele 4 campuri magnetice alternative de la F1 spre F4, care trec prin suprafetele de cuplaj de la H1 spre H4, sunt modulate in faza folosind PSK(phase-shift keying).Aceasta determina ca fazele celor patru campuri sa fie simultan schimbate cu 90 de grade.In acest sens, doua stari A si A' ale fazei sunt definite.In functie de orientarea cardului relativa la terminal sunt produse doua constelatii diferite ale starilor fazei, cum este aratat in figurile de mai jos:
Fig. 12 Prima varianta a modulatiei de faza in transmisia de date pentru un smart card fara contact.Cei 4 vectori reprezinta vectorii de faza.
Fig 13 A doua varianta a modulatiei de faza in transmisia de date pentru un smart card fara contact.Cei 4 vectori reprezinta vectorii de faza.
Cum cardul trebuie sa lucreze in toate cele patru orientari posibile fata de terminal, starea de baza(intervalele t2 si t3 in Fig.14) este interpretata ca fiind 1 logic, indiferent de indicatia alternantei prezenta.Urmand acesta regula, fiecare schimbare de faza reprezinta o inversare a starii logice de baza care inca odata produce o codare NRZ.
Transferul capacitiv de date
Pentru transmisia capacitiva de date de la card spre terminal o pereche de suprafete de cuplaj este folosita, depinzand de orientarea cardului fata de terminal, fie E1 si E2 sau E3 si E4 cum este aratat in Fig 10. Cealalta pereche de suprafete de cuplaj poate fi folosita pentru transmisia in directia opusa.Cum cardul trimite date catre ATR prin o singura pereche particulara de suprafete de cuplaj, terminalul poate recunoaste orientarea relativa a cardului.Diferenta maxima de potential intre o pereche de suprafete de cuplaj este limitata la 10 V, dar trebuie cel mult sa depaseasca diferenta de potential a receptorului(300mV).Codarea NRZ diferentiala este utilizata pentru transmisia de date.Transmitatorul genereaza codarea prin inversarea voltajului intre suprafetele E1 si E2 sau E3 si E4.Starea de baza reprezentand 1 logic este inca odata stabilita in intervalul t3 (vezi Fig 14).Astfel fiecare inversare de polaritate reprezinta o schimbare a starii logice.
Fig.14 Diagrama de timp pentru transmisia de date cu un smart card fara contact conform ISO/IEC 1056Aici to≥8ms, t1≤0.2ms, t2=8ms, t3=2ms si t4≤30ms
Starea de baza si answer to reset(ATR)
Cu scopul ca terminalul sa determine precis tipul transmisiei de date si orientarea cardului la inceputul schimbului de date, anumite intervale de timp trebuie definite
pentru initierea transferului de energie si date.Figura 4 arata constrangerile si valorile pentru timpul de resetare t0, timpul de alimentare t1 , timpul de initializare t2, timpul starii logice stabile t3 si timpul answer to reset t4.
Timpul minim de reset: t0
Daca un semnal de reset va fi produs prin comutarea off-on a transferului campului de energie, perioada intre comutarea din nou off-on a campului, timp in care nu este transferata deloc energie , trebuie sa fie egala sau mai mare de 8 ms.
Timpul maxim de alimentare: t1
Timpul necesar pentru transferul campului de energie produs de terminal trebuie sa fie mai mic sau egal cu 0.2 ms.
Timpul de initializare: t2
Timpul de initializare care este timpul admis pentru card pentru a stabili o stare stabila de operare, este de 8ms.
Timpul starii logice stabile:t3
Inainte de Answer to Reset, starea logica este tinuta la nivelul de 1 logic pentru 2 ms.In timpul acestui interval, cardul si terminalul sunt setate in 1 logic pentru transmisia inductiva de date.
Timpul maxim de raspuns pentru ATR: t4
Cardul trebuie sa trimita ATR inainte ca cele 30ms sa treaca.Cardul poate utiliza semnalul ATR pentru a indica faptul ca conditiile pentru operatia urmatoare trebuie schimbate, in ceea ce priveste nivelul de energie, rata transmisiei de date sau frecventa campului.Metoda oferita aici poate fi utilizata conform cerintelor aplicatiei.De exemplu, o rata de transmisie mult mai mare poate fi selectata pentru o aplicatie cu timp critic.
4 Carduri de proximitate :ISO/IEC 14 443
Standardul ISO/IEC 14 443 descrie proprietatile si modurile de operare a smart cardurilor fara contact cu raza de actionare de aproximativ 10cm.Cantitatea de energie care poate fi transferata de la aceasta distanta este suficienta pentru a alimenta un microprocesor.Cu scopul de a permite acestui card utilizarea in infrastructurile pentru cardurile cu contact., acestea au dese ori contacte pe langa componentele de cuplaj pentru operatiile contactless, astfel incat sa fie folosite cu sau fara contacte, dupa preferinta.Acest tip de card este numit "card cu interfata duala" sau "combicard".
Standardul ISO/IEC 14 443 contine urmatoarele parti:
Partea1:Caracteristici fizice
Partea2:Puterea in radio frecventa si interfata de semnal
Partea3:Initializarea si anticoliziunea
Partea4:Protocolul de transmisie
Caracteristici fizice
Caracteristicile fizice ale cardurilor de proximitate, care sunt definite in Partea1 a standardului ISO/IEC, in esenta corespunde cu cerintele specificate pentru smart cardurile cu contact.Este de asteptat ca in utilizare, cardurile de proximitate sa fie expuse unor campuri electromagnetice corespunzatoare celor impuse tipurilor de carduri care respecta standarde ca ISO/IEC 10536 sau ISO/IEC 1569Cardurile nu trebuie sa sufere disfunctionalitati permanente ca rezultat al expunerii la astfel de campuri sau la cele ale mediului inconjurator.Pentru a asigura acestea standardul specifica valori maxime corespunzatoare pentru campurile electrice si magnetice alternative pe care cardurile trebuie sa le suporte fara defectare.
Puterea in radio-frecventa si interfata de semnal
Cardurile de proximitate functioneaza pe principiul cuplajului inductiv.Energia de operare si date este transferata folosind un camp magnetic alternativ generat de terminal.In standardul ISO/IEC 14 443, teminalul pentru carduri se numeste "dispozitiv de cuplaj proximitiv"(proximity coupling device-PCD).
Fig 15 Caracteristica intensitatii campului magnetic unui terminal pentru carduri de proximitate (PCD)
Frecventa de transmisie a PCD este fixata la fC=156MHz7kHz, cu o intensitate a campului magnetic H de cel putin 1.5A/m si cel mult 7.5A/m(valoare efectiva).Valorile tipice ale intensitatii campului in functie de distanta sunt prezentate in figura de mai sus.Distanta sistemului poate fi estimata din intensitatea campului generat de PCD si intensitatea campului de activare a unui card de proximitate(PICC).Din curba de intensitate a campului din figura de mai sus si o valoare a campului de activare de 1.5W/m, se obtine distanta de aproximativ 10cm.
4.1 Interfata de semnal si comunicatie
Doua interfete diferite de comunicatie sunt definite in standardul ISO/IEC14 443, care sunt initulate Tipul A si Tipul B.Motivul pentru care au fost standardizate doua metode nu a fost unul tehnic, ci mai degraba datorita faptului ca in momentul cand ISO/IEC 14443 era stabilit, mai multe metode de la mai multi fabricanti existau deja.Acesta este si motivul pentru care in general nu exista o singura metoda standardizata, la mijloc fiind interesul diferitelor persoane implicate, ceea ce a facut imposibila existenta unei singure metode.Cele doua metode mentionate mai sus au fost acceptate ca fiind un compromis si au fost publicate ca standard international in Iunie 2001.
In timp ce un terminal asteapta sa detecteze un card de proximitate, acesta trebuie ca periodic sa comute cele doua metode de comunicatie.Aceasta permite recunoasterea ambelor tipuri A si B.Imediat cum PCD-ul a recunoscut un card, el continua sa foloseasca metoda de comunicatie potrivita pana cand cardul este dezactivat de terminal sau paraseste raza de lucru a terminalului.
Fig 16 Specificatiile intervalului de pauza conform ISO/IEC 14 443-2.Durata maxima a pauzei este limitata la 3s cu scopul de a intrerupe alimentarea cardului cat mai repede.Aici 2.0 s≤t1≤0s;0.5s≤t2≤t1 daca t1>2.5s sau 0.7s≤t2≤t1 daca t1≤2.5 s; si 0s≤t4≤0.4s.
4.1.1 Tipul A-interfata de comunicatie
Cu carduri de tipul A, transmisia de date are loc in ambele sensuri la o rata(viteza) de bit de fC/128(aprox 106kbits/s).
Transmisia de date de la terminal la card
Modulatia digitala de amplitudine(100%ASK) impreuna cu codarea Miller modificata este folosita pentru transmisia de date de la PCD la card, cu lungimea intervalului de gol(gap) limitata la 3s.Acest interval de gol, relativ scurt, face mai usoara furnizarea unei surse stabile de energie cardului.Specificatia exacta a intervalului lungimii de gol precum si caracteristicile cresterilor si scaderilor sunt specificate in figura de mai sus.
Cardul recunoaste sfasitul pauzei in timpul intervalului t4, ceea ce inseamna ca dupa ce campul magnetic a atins 5% din HINITIAL si inainte sa depaseasca 60% din HINITIAL.Varfurile trebuie limitate la HINITIAL10%.
Fig 17 Codarea unei secvente de bit transmisa de terminal cardului prin interfata de comunicatie Tip A cu 100% ASK si codare Miller modificata la 106kbit/s.Figura indica tensiunea la antena terminalului
Un exemplu al codarii unei secvente de un bit folosind codarea Miller modificata este aratata in figura de mai sus.Urmatoarele reguli de codare se refera la:
1 logic: intervalul de gol dupa o jumatate de interval de bit
0 logic: fara intervale de gol, cu urmatoarele exceptii:
*daca sunt doua sau mai multe stari de 0 logic consecutive, apare un interval de gol la inceputul intervalului de bit
*daca primul bit al structurii protocolului este 0, acesta e reprezentat de un interval de gol la inceputul intervalului de bit
inceputul unui mesaj: interval de gol la inceputul intervalului de bit
sfarsitul unui mesaj: 0 logic urmat de un bit fara interval de gol
fara date: fara interval de gol pe durata a cel putin doi biti
Transmisia de date de la card la terminal
Rata (viteza)de bit pentru transmisia de date de la card la terminal este de asemenea fC/128(aprox 106kbits/s).Este folosita modulatia de sarcina cu o subpurtatoare, ceea ce inseamna ca subpurtatoarea este generata de comutarea unei sarcini in interiorul cardului.Frecventa subpurtatoarei este fS=fC/16(aprox 847kHz).Subpurtatoarea este modulata comutand subpurtatoarea on si off (on-off keying sau OOK) folosind codarea Manchester.Un exemplu de codare a unei secvente de bit este prezentata in fig de mai jos:
Fig 18 Modulatia de sarcina pentru transmisia de date de la card spre terminal utilizand o subpurtatoare la frecventa de fC/16(~847 kHz) si codare Manchester cu o rata de bit de 106kbit/s si OOK.Figura indica tensiunea pe bobina cardului.
Codarea este definita dupa cum urmeaza:
1 logic: purtatoarea este modulata de subpurtatoare in timpul primei jumatati a intervalului de bit
0 logic : purtatoarea este modulata de subpurtatoare in timpul celei de a doua jumatati a intervalului de bit
inceputul mesajului: purtatoarea este modulata de subpurtatoare in timpul primei jumatati a intervalului de bit
sfarsitul de mesaj: purtatoarea nu este modulata pentru un interval de bit
fara date : nu exista modulatie a subpurtatoarei
4.1.2 Tipul B-interfata de comunicatie
Transmisia de date de la terminal la card
Pentru tipul B de carduri, modulatia ASK cu un indice de modulatie de 10%(-2%,+4%) este folosita pentru transmisia de date de la PCD la card.In contrast cu metoda de Tip A , in care continuitatea sursei de energie este asigurata de intervale de gol foarte scurte, la Tipul B aceasta continuitate este asigurata de indicele mic de modulatie, care este definit astfel incat cel putin 86% din campul purtatoarei este intotdeauna disponibil.Viteza de bit este iar fC/128(aprox 106 kbits/s).Forma exacta a Tipului B de modulatie este aratata mai jos:
Fig 19 Modulatia purtatoarei Tip-ului B.O alimentare continua cu energie este realizata de indexul mic de modulatie(10%).Aici tf, tr≤2s, y=0.1x(a-b) si hf, hr≤0.1x(a-b).
Fig 20 Codarea unei secvente de bit de la terminal spre card pentru o interfata Tip B cu 10%ASK, codare NRZ si o rata de bit de 106kbit/s.Figura indica tensiunea pe antena terminalului.
Este folosita codarea simpla NRZ(non-return to zero), cu urmatoarele reguli de codare:
1 logic: amplitudine mare a purtatoarei
0 logic: amplitudine mica a purtatoarei
Transmisia de date de la card spre terminal
La Tipul B este folosita de asemenea modulatia de sarcina cu subpurtatoare.Frecventa subpurtatoarei este iar fC/16(aprox. 847kHz).In contrast cu Tipul A, subpurtatoarea este modulata prin schimbarea fazei cu 180 de grade(binary phase-shift keying sau BPSK), folosind inca odata o viteza de bit fC/128(106kbits/s) si codarea NRZ.
Cu scopul de a avea o stare initiala sigura, urmatoarele conditii trebuie observate la inceputul fiecarei secvente de protocol:
Faza initiala Φ0 este definita ca fiind 1 logic, astfel prima schimbare de faza inseamna o trecere din 1 logic in 0 logic.Urmatoarele reguli se aplica restului transmisiei de date:
1 logic : Φ0
0 logic: Φ0+180
Fig 21 Codarea unei secvente de bit dinspre card spre terminal pentru interfata de comunicatie Tip-B cu o subpurtatoare fc/16(~847kHz), codare BPSK, NRZ si rata de bit 106kbit/s.Figura indica tensiunea pe bobina din card.
4.2 Initializarea si anticoliziunea(ISO/IEC14 443-3)
Cand un card de proximitate intra in aria de lucru a unui terminal, comunicatiile intre card si terminal trebuie mai intai stabilite.Se poate intampla ca un terminal sa comunice deja cu un alt card, sau mai multe carduri sunt prezente in acelasi timp in interiorul ariei de lucru a terminalului.Trebuie asigurate mijloace pentru a permite interferenta libera a comunicatiei cu un singur card sau un grup specific pentru producerea in aceste conditii.Stabilirea comunicatiei intre un card si un terminal si metodele de anticoliziune folosite pntru selectarea individuala a unui card sunt descrise in Partea 3 a ISO/IEC 1444Potrivit folosirii diferitelor metode de modulatie, cardurile de Tipul A si Tipul B au de asemenea diferite structuri de protocol si metode de anticoliziune.
4.2.1 Tipul-A initializare si anticoloziune
Un algoritm binar dinamic de cautare este folosit pentru a initializa si selecta cardurile Tip A.Cu aceasta metoda este necesar ca terminalul sa fie capabil sa recunoasca o coliziune de date la nivel de bit.Cum este explicat mai jos, codul Manchester folosit aici face posibila detectia de coliziune la nivel de bit(fig de mai jos).Totusi, aceasta impune ca toate cardurile din aria de lucru a terminalului sa transmita datele in mod sincron.
Fig 22 Coliziunea a 2 secvente de bit cu codare Manchester(Tip-A).Intr-o transmisie libera care nu interfereaza, purtatoarea este intotdeauna modulata de subpurtatoare numai in timpul jumatatii fiecarui interval de bit.Daca biti diferiti se suprapun, modulatia este prezenta pe intreaga perioada a unui interval de bit, permitand terminalului sa detecteze o coliziune.
Daca un card de proximitate intra in campul unui terminal, microprocesorul din card este alimentat cu energie, iar ca urmare a resetarii cu energie cardul intra intr-o stare de latenta(Idle).In aceasta stare, cardului ii este permis numai sa raspunda la comanda REQA(Request Type-A) sau comanda WUPA(Wake-up Type-A).Toate celelalte comenzi transmise de terminal pentru a comunica cu oricare alt card de Tip A sau Tip B prezent in aria de lucru, trebuie ignorate pentru a evita interferenta cu aceste comunicatii.Diagrama de stare aratata in figura prezinta toate starile posibile care pot fi asumate de un card de Tip A in timpul fazei de initializare si anticoliziune.Cum s-a mentionat deja, cardul intra in starea "Idle"dupa ce a fost resetat prin alimentare. Standardul specifica timpul de a intra in acesta stare ca fiind de 5ms dupa ce primeste o energie suficienta pentru alimentare.In starea "Idle", cardul astepta comenzi.Isi schimba starea in "Ready" cand recunoaste o comanda REQA sau WUPA, dar ignora celelalte comenzi.
Pentru a asigura un nivel inalt de siguranta pentru a recunoaste comenzile REQA si WUPA, acestea sunt transferate folosind secvente scurte speciale.Toate celelalte comenzi exceptand cele de anticoliziune sunt transmise folosind secvente standard.Secvente speciale numite"secvente anticoliziune bit-orientate" sunt definite pentru comenzi de anticoliziune.
Fig 23 Diagrama de stare a unui PICC Tip-A in timpul fazei de initializare si anticoliziune.
Secvente scurte
Sunt folosite numai pentru comenzile de initializare.O secventa scurta contine 9 biti in urmatoarea ordine:
Regulile de codare pentru bitul de start si de sfarsit sunt descrise mai sus(Transmisia de date de la terminal la card).
Fig 24 Structura unei secvente scurte
Tabelul de mai jos arata codarea comenzilor REQA si WUPA, care sunt singurele tipuri de comenzi transmise folosind secvente scurte.
Tabel 2
Comenzile REQA si WUPA sunt transmise de terminal pentru a determina daca vreun card este prezent in aria de lucru a terminalului(vezi diagrama de mai sus).
Secvente standard
Secventele standard sunt folosite pentru schimbul obisnuit de date.O secventa standard contine:
Fig 25 Structura unei secvente standard
Cand starea cardului se schimba in "Ready", el transmite un Answer to Request, Tip A(ATQA) dupa un timp precis definit de intarziere a secventei(fig de mai jos).
Fig 26
Un ATQA contine 2 bytes si potrivit timpului unic de intarziere al secventei precizate, toate mesajele ATQA sunt trimise sincron catre toate cardurile adresate.Figura urmatoare arata codarea unui mesaj ATQA:
Fig 27 Codarea unui ATQA.Toti bitii RFU trebuie sa fie setati in 0.Bitii 9-12 pot fi folositi sa indice alte metode non-standardizate.Unul din bitii b1-b5 trebuie sa fie setati in 1.Bitii b7 si b8 indica dimensiunea UID.
Cand un terminal primeste un ATQA, acesta recunoaste ca cel putin un card este prezent in aria lui de lucru.Atunci este declansata procedura de anticoliziune, care permite de asemenea citirea identificatorului unic Tipul-A(UID), prin transmiterea comenzii SELECT.Daca terminalul este capabil sa determine identificatorul complet, el transmite o comanda SELECT continand acest identificator.Cardul cu indentificatorul respectiv confirma aceasta prin transmiterea unui mesaj SELECT Acknowledge(SAK) si trece in starea "Activ".In acesta stare, cardul poate comunica folosind protocoale de nivel inalt(cum ar fi cele definite in ISO/IEC 14 443-4 ).
Cardul poate fi pus in stare de
"Halt"(oprire) prin transmiterea unei comenzi HLTA(Halt Command Type A).Cardul
mai poate fi pus in starea "Halt" prin intermediul unor comenzi apartinand
unor protocoale de nivel inalt. In starea
"Halt", cardul poate raspunde numai la o
comanda WUPA(Wake-Up Type A), careia ii raspunde prin transmiterea unui
ATQA(Answer to Reset Type A), trecand apoi in starea"Ready*".Starea Ready* este
similara cu cea Ready.Conditiile pentru trecerea in starea Ready*
sunt aratate in diagrama de mai sus.
In detaliu, procedura folosita pentru evitarea coliziunii si determinarea identificatorului functioneaza in felul urmator.Daca doua sau mai multe carduri sunt in acelasi timp in starea Ready si se afla in aria de lucru a terminalului, ele reactioneaza simultan la o comanda SELECT de la terminal, fiecare transmitand o parte din identificatoarele lor. Aceasta se face folosind o secventa speciala de biti-orientata, care permite directiei transmisiei de date intre terminal si card sa fie inversata dupa un numar arbitrar de biti de date ce au fost transmisi.Daca mai multe carduri transmit date diferite, terminalul va primi datele suprapuse ale fiecaruia, si poate detecta o coliziune prin faptul ca aceasta suprapunere va determina ca purtatoarea sa fie modulata de subpurtatoare pentru intreaga durata a uneia sau mai multe intervale de bit.Aceasta este o stare neregulata, de vreme ce codul Manchester folosit necesita un varf de impuls pentru a se produce intotdeauna in timpul fiecarui interval de bit.Figura de mai jos ilustreaza cum acesta stare neregulata este produsa.
Pentru ca terminalul sa fie capabil sa detecteze o coliziune la nivel de bit, toate cardurile in starea Ready situate in aria de lucru a unui terminal trebuie sa raspunda la o comanda ANTICOLLISION la exact acelasi moment de timp.Pentru a asigura aceasta, cerintele timpilor impusi terminalului si cardului pentru schimbul de secvente sunt foarte precis specificati in ISO/IEC 14 443-
Fig 28 Coliziunea a 2 secvente de bit cu codare Manchester(Tip-A).Intr-o transmisie libera care nu interfereaza, purtatoarea este intotdeauna modulata de subpurtatoare numai in timpul jumatatii fiecarui interval de bit.Daca biti diferiti se suprapun, modulatia este prezenta pe intreaga perioada a unui interval de bit, permitand terminalului sa detecteze o coliziune.
Timpul secventei de intarziere
Timpul intre sfarsitul ultimei pauze transmise de terminal la sfarsitul unui mesaj si principalul varf al impulsului de modulatie pentru bitul de start transmis de card este denumit "timpul secventei de intarziere de la PCD la PICC", care este abreviat FDT.Acest interval este definit in figura de mai jos.Sunt doua cazuri diferite, depinzand daca ultimul bit de date transmis de terminal este 1 logic sau 0 logic.
Pentru REQA/WUPA, ANTICOLLISION si SELECT, valoarea lui n este fixata la 9, ceea ce inseamna ca FDT este 1236/fC sau 1172/fC.Aceasta impune cardurilor din aria de lucru a terminalului sa raspunda in mod sincron la aceste comenzi, care sunt folosite in saltul anticoliziune.Astfel e posibila detectarea coliziunii la nivel de bit.Pentru toate celelalte comenzi, n≥9.
Timpul intre ultimul impuls de modulatie transmis de card si primul semnal de pauza transmis de terminal este denumit"timpul secventei de intarziere de la PICC la PCD " . Acest timp nu este important pentru detectia de coliziune la nivel de bit.Prin urmare, nu este specificat precis in standard.Singura conditie este ca trebuie sa fie egal sau mai mare de 1172/fC.
In plus, timpul minim intre doua comenzi REQA succesive este 7000/fC.Acest timp este denumit "request guard time".
Cum poate fi observat mai jos, daca sunt mai multe PICCs in interiorul ariei de lucru, poate fi necesar ca terminalul sa execute saltul de anticoliziune de mai multe ori pana sa poata adresa un anume card.Pentru a evita pierderea de timp excesiva executand acest salt, o seventa speciala bit-orientata este folosita comanda de anticoliziune AC, care este o forma speciala a comenzii SELECT.Acest tip de secventa este descrisa mai jos.
Secventa de anticoliziune bit-orientata
Daca terminalul(PCD) detecteaza o coliziune, el raspunde prin transmiterea unor secvente anticoliziune bit-orientate, care au aceeasi structura ca si secventele standard de sapte-biti dar sunt impartite in doua parti.Prima parte este folosita pentru a transfera date de la PCD la PICC, in timp ce a doua parte este folosita pentru transferul datelor in directia opusa, de la PICC la PCD.Lungimea relativa ale celor doua parti variaza in executiile succesive ale saltului anticoliziune.Suma numarului bitilor de date ale ambelor parti este intotdeauna 56.Urmatoarele reguli se aplica lungimii celor doua parti:
Prin urmare, Partea a 2a are lungimea minima de un bit de date si lungimea maxima de 40 biti de date.
Secventa poate fi divizata in cele doua parti la orice locatie dorita, ceea ce inseamna ca diviziunea poate fi localizata intr-un byte de date.In acest caz , niciun bit de paritate nu este adaugat primei parti a byte-ului divizat, iar bitul de paritate a celei de-a doua parti a byte-ului este ignorat de PCD.Doua exemple de secvente de anticoliziune sunt aratate in figura de mai jos:
Fig 29 Doua exemple de secvente anticoliziune bit-orientate.In primul exemplu, secventa este divizata dupa un byte intreg, in timp ce in al 2-lea exemplu secventa este divizata dupa al 5-lea bit al byte-ului de date.
Comenzi folosite in saltul anticoliziune
Cum a fost deja indicat in diagrama de stare de mai sus, urmatoarele comenzi pot fi folosite in timpul initializarii si in saltul anticoliziune:
Comenzile ANTICOLIZIUNE si SELECT
Aceste comenzi sunt folosite in saltul anticoliziune.Asa cum poate fi vazut in figura de mai sus, aceste comenzi contin urmatoarele campuri de date:
SEL(select code;1 byte)
NVB(number of valid bits;1 byte)
0-40 biti de date pentru identificator(UID), depinzand de valoarea lui NVB
Identificatorul unic (UID) poate contine 4 bytes(single size), 7 bytes(double size) sau 10 bytes(triple size).
Tabel 3
UID poate fi un numar fix sau un numar aleator generat de card.Cu identificatori de marime dubla si tripla, o eticheta cascada este transmisa ca prim byte pentru nivelurile in cascada 1 si 2.Eticheta cascada este codata ca fiind '88'.Intr-un UID single-size, primul byte nu trebuie sa ia valoarea '88'.
Tabel 4 Codarea SEL, care indica nivelul curent al cascadei terminalului
Cel mult 4 bytes de date pot fi transmisi de PCD in timpul unei comenzi de ANTICOLLISION sau SELECT(vezi fig de mai sus).Daca identificatorul cardului are marime dubla sau tripla, acesta indica acest lucru terminalului prin SAK(Select Acknowledge) prin setarea bitului cascada, si ramane in starea Ready.Terminalul atunci va incepe iarasi procedura anticoliziune pentru a stabili UID de la 5 bytes pana la 7.Cu un identificator cu marime tripla, procedura anticoloziune trebuie sa fie executata o a treia oara pentru a stabili de la 8 la 10 bytes.Terminalul foloseste comanda SELECT pentru a informa cardul despre nivelul curent al cascadei, cu scopul de a indica ce parte al UID este necesara.
Acest proces este ilustrat in figura urmatoare:
Fig 30 Schema logica pentru selectarea unui anumit card. Dupa ce terminalul a transmis o comanda SELECT, toate cardurile din starea IDLE raspund simultan cu ATQA.
Daca byte-ul NVB nu specifica 40 de biti, comanda este de ANTICOLLISION si cardul ramane in starea Ready sau READY*.Odata ce terminalul a stabilit intregul UID, el trimite comanda SELECT cu NVB='70', ceea ce inseamna ca 40 de biti de date
sunt specificati.O suma de control(checksum) CRC_A formata, in concordanta cu ISO/IEC 13239, este adaugata acestei comenzi.Calculul acestei sume este descris in Anexa A informationala a ISO/IEC 14 443-3 prin intermediul unui exemplu.Daca un card este adresat folosind o comanda SELECT cu identificator intreg, acesta isi schimba starea din Ready in Active, sau din Ready* in Active* si apoi transmite SAK pentru a indica faptul ca UID este complet.Codarile NVB(number of valids bits) si SAK(Select Acknowledge) sunt prezentate in tabelele de mai jos:
Tabel 5 Codarea NVB(number of valid bits).Cei 4 bitii superiori sunt numiti 'byte count' si indica numarul de bytes de date completi(incluzand SEL si NVB) transmisi de terminal.Cei 4 biti inferiori sunt numiti'bit count' si indica numarul de biti ai oricarui byte incomplet transmis de terminal.
Procedura executata in saltul anticoliziune este prezentata in figura de mai jos in forma unei scheme logice pentru terminal.Acest salt trebuie executat la fiecare nivel de cascada cat timp nu este cunoscut intregul UID de catre terminal.
Fig 31 Schema logica a saltului anticoliziune din perspectiva terminalului
numarul pasilor('Pas1','Pas2'etc) se refera la pasii algoritmului prezentati in Tabelul de mai jos.
Pasii algoritmului anticoliziune.Numerotarea corespunde conform figurii de sus.
Tabel 6
Pentru a ilustra procesul de selectie figura de mai jos arata un exemplu in care doua carduri sunt in aria unui terminal.In acest exemplu, cardul1(PICC 1) are un UID single -size cu o valoare de '10' pentru uid0, in timp ce cardul 2 (PICC2) are marime dubla al UID.
Cardul initiaza procesul de selectie prin transmiterea unei comenzi REQA.Toate cardurile din aria de lucru raspund la aceasta comanda.In acest exemplu, PICC1 raspunde cu ATQA in care o secventa anticoliziune bit este indicata prin setarea bit-ului b1 si un UID single-size este indicat prin resetarea bitilor b7 si b8.PICC2 indica de asemenea o secventa anticoliziune bit prin setarea bit-ului b1 din ATQA si indica faptul ca are o marime dubla a UID prin setarea bit-ului b7.
La pasul urmator, saltul actual anticoliziune incepe la nivelul 1 al cascadei.Terminalul transmite comanda ANTICOLLISION cu codul selectat '93', care indica o secventa anticoliziune pentru nivelul 1 de cascada.Valoarea '20' pentru NVB inseamna ca terminalul nu transmite nicio parte al nivelului 1 de cascada al UID.Fiecare card din interiorul ariei unui teminal raspunde deci cu intregul nivel 1 de cascada al UID.Primul bit de coliziune apare la bit-ul b4.Terminalul recunoaste acesta coliziune de bit si trimite o noua comanda ANTICOLLISION, continand de data acesta primii trei biti al CL1 UID, care au fost receptionati fara erori, urmati de un '1' si prin urmare cu o valoare '24' atribuita catre NVB. Primii 4 biti se potrivesc acum cu primii 4 biti ai CL1 UID al cardului 2 , si nu cu cei ai cardului 1.Prin urmare, numai cardul 2 raspunde cu cei 36 de biti ramasi ai CL1 UID.Cum terminalul cunoaste acum intreg CL1 UID al cardului 2, el transmite o comanda SELECT pentru cardul 2, care raspunde cu SAK(Select Acknowledge) cu bitul cascada b3 setat.De acum, terminalul recunoaste ca UID nu este inca complet, incrementand in continuare nivelul cascadei.
Terminalul trimite acum o noua comanda ANTICOLLISION cu un cod de selectare(SEL) indicand o secventa coliziune bit si un nivel 2 de cascada.NVB este setat la '20' pentru a cere CL2 UID complet al cardului.Cardul 2 raspunde la acesta comanda cu toti cei 40 de biti ai CL2 UID.Terminalul poate trimite acum o comanda SELECT continand toti bitii ai CL2 UID, careia cardul ii raspunde cu SAK in care bitul cascada b3 nu este setat, indicand ca UID este complet.Cardul 2 isi schimba acum starea din Ready in Active, in care poate primi comenzi pentru protocoale de nivel inalt.
Fig 32 Exemplu de secventa pentru initializare si anticoliziune pentru cardurile Tip-A.Pentru simplificare, doar elementele esentiale ale transmisiei sunt aratate.
4.2.2 Tipul-B initializare si anticoliziune
Cardurile de proximitate Tip B folosesc "o procedura dinamica deschisa (slotted)ALOHA" pentru selectie.In aceasta procedura, cardurile aflate in aria de lucru a unui terminal transmit datele lor spre terminal in sloturi de timp predefinite.Sloturile de timp sunt selectate aleatoriu si numarul de sloturi poate fi determinat de catre terminal.Daca numai cateva sloturi sunt acordate si un numar semnificativ mai mare de carduri sunt prezente in aria de lucru, probabilitatea ca un card sa-si transmita datele fara interferente este mica.In astfel de situatii, interferenta transmisiei libere de date poate avea loc in general numai daca fiecare slot de timp este folosit numai de un singur card, sau in cazul in care un slot este folosit de mai mult de un singur card, daca unul din aceste carduri este semnificant mai aproape de terminal decat altele, astfel incat nivelul de semnal pentru date predomina la terminal.Desi cresterea numarului de sloturi creste probabilitatea interferentei transmisiei libere, aceasta are dezavantajul cresterii perioadei de timp ceruta pentru a executa saltul in cerc(inel), de vreme ce fiecare card trebuie sa astepte terminarea tuturor sloturile de timp prevazute pentru cardurile care s-ar afla in aria terminalului.
Pentru a face mai usor de inteles procedura, care este specificata in ISO/IEC 14 433-3, trebuie explicata mai intai folosind un exemplu simplu inainte de a o descrie in detaliu.Terminalul are nevoie de doua comenzi pentru a executa acest algoritm:
REQUEST Acesta comanda determina fiecare card din aria de lucru sa-si transmita identificatorul intr-un slot de timp ulterior
SELECT Aceasta comanda transmite un identificator anterior determinat, cardurilor din aria de actiune a terminalului, fapt care face sa fie activat cardul cu identificatorul care se potriveste.Cardurile care au alti identificatori raman pasive si raspund numai la comenzile REQUEST sau SELECT cu identificatorii potriviti.
Cand terminalul este in starea operationala, el transmite periodic comenzi REQUEST.In exemplu presupunem ca sase carduri care au identificatori de la 1 la 6 se afla in acelasi timp in aria de lucru a terminalului.Toate cele sase carduri recunosc urmatoarea comanda REQUEST si ele selecteaza sloturi de timp in mod aleator pentru transmiterea identificatorilor terminalului.In acest exemplu, coliziunile se produc in sloturile de timp 1 si 3, in timp ce identificatorii 2 si 3 sunt transmisi fara interferenta in sloturile de timp 2 si 4.Terminalul poate selecta acum unul din aceste doua carduri folosind o comanada SELECT si apoi comunica cu cardul selectat fara coliziuni ulterioare.
Cand comunicatia cu cardul selectat se termina, terminalul poate cauta alte carduri prin transmiterea din nou a comenzilor REQUEST.Daca nu primeste niciun identificator valid la prima incercare, el repetat comanda REQUEST pana cand primeste un identificator valid.
Acum ca principiile de baza ale procedurii anticoliziune au fost explicate, ne putem concentra atentia asupra comportamentului la comenzi si sincronizare a cardurilor si terminalului, asa cum este specificat in ISO/IEC 14 433-3 pentru Tipul-B de
Fig 33 Exemplu de proces anticoliziune pentru Tip-B de smart card-uri fara contact.Coliziunile apar in sloturile de timp 1 si 3, astfel incat numai identificatorii 2 si 3 sunt transmisi fara interferente.
carduri.Acest standard defineste un set de comenzi care permite implementarea unor tipuri diferite de salturi anticoliziune.Aceasta ofera utilizatorilor posibilitatea optimizarii libere a sistemului.
Specificatiile de format si sincronizare pentru caractere si secvente
Terminalul si cardurile transmit bytes de date sub forma de caractere, cu mai multe caractere grupate in secvente.Pentru detectia erorilor, o suma de control CRC de 2 bytes(CRC_B) calculata conform ISO/IEC 13 239 este adaugata caracterelor din secventa.Un exemplu al calcularii CRC_B este data in Anexa B a ISO/IEC 14 443-
Fiecare caracter este format dintr-un bit de start (0 logic) urmat de opt biti de date (cu primul bit cel mai putin semnificativ) si un bit de stop (1 logic).
Fig 34 Formatul caracterului
Fiecare pereche de caractere este separata de o pauza numita "extra time gap"(EGT), care permite transmitatorului si receptorului sa se pregateasca pentru urmatorul caracter.Pentru transmisia datelor catre card, acest timp ajunge de la 0 la 57 s, in timp ce in directia opusa ajunge de la 0 la 19 s.
Mai multe caractere sunt grupate impreuna pentru a forma secvente pentru transmisia in fiecare directie.O secventa incepe cu caracter de inceput de cadru(SOF), urmata de caracterele ce trebuie transmise si terminand cu un caracter de sfarsit de cadru(EOF).
Cadrul SOF contine un singur impuls descrescator urmat de 10 etu de 0 logic, cu impulsul crescator la al 11 lea etu,urmat de un 1 logic pentru cel putin 2 si cel mult 3 etu.
Fig 35 Sincronizarea caracterului de inceput de cadru (SOF)
Cadrul EOF incepe de asemenea cu un impuls descrescator, urmat de 10 etu de 0 logic si un impuls crescator in timpul celui de al 11 lea etu.Pentru a preveni protocolul de transmisie de o'strangulare' in cazul unei erori, si pentru a oferi cardului timpii minimi si maximi pentru activitatile interne, timpii dintre doua secvente transmise in directii opuse sunt specificati in standard.Dupa ce cardul a recunoscut cadrul EOF transmisa de terminal, el asteapta o perioada de 'guard time' (TR0) inainte sa genereze subpurtatoarea nemodulata.Dupa asteptarea timpului de sincronizare(TR1), cardul incepe sa demoduleze subpurtatoarea.Valoarea minima pentru TR0 este 64/fS, in timp ce valoarea maxima intr-un salt anticoliziune(pentru un ATQB) este 256/ fS.
Fig 36 Sincronizarea caracterului de sfarsit de cadru (EOF)
Pentru celelalte tipuri de secvente,valoarea maxima este calculata folosind formula:
Valoarea FW1 se ridica de la 0 la 14 si este furnizata terminalului de ATQB.Valoarea minima pentru timpul de sincronizare(TR1) este 80/ fS, si valoarea maxima este 200/ fS .
Fig 37 Definirea timpului, guard time'(TR0) si timpul de sincronizare(TR1)
Odata recunoscuta secventa sfarsitului de secventa transmisa de card terminalului, acesta asteapta un interval de cel putin 32/ fS inainte sa inceapa transmiterea unei noi secvente.In acest interval, cardul comuta off subpurtatoarea din cel de al 2-lea etu al secventei transmise.
Fig 38 Definirea timpului de asteptare intre un cadru transmis de card si urmatoarele cadre transmise de terminal.Cardul intrerupe subpurtatoarea numai dupa sfarsitul caracterului EOF
Procedura de selectie a cardului
Daca un card Tip-B intra in aria unui terminal, microprocesorul din card este alimentat cu energie si intra in starea 'Idle'.Asemeni cardurilor Tip-A, cardurile Tip-B trebuie sa intre in starea 'Idle' in mai putin de 5 ms de la primirea unei energii necesare activarii sistemului.In starea 'Idle' cardul nu poate trimite nicio secventa.In schimb el trebuie sa astepte o comanda valida REQB sau WUPB.Aceste comenzi contin un parametru ce indica numarul sloturilor de timp folosit de terminal, impreuna cu un identificator de aplicatie (AFI-application family identifier) ce poate fi folosit pentru a indica un grup specific de aplicatii.
Aceasta produce un tip de preselectie, deoarece numai acele carduri ale caror aplicatii apartin 'familiei de aplicatii' vor raspunde.
Fig 39 Diagrama de stare a unui smart card Tip-B conform ISO/IEC 14 443
Comenzile REQB/WUPB
Terminalul transmite comanda REQB/WUPB pentru a determina daca vreun card Tip-B se afla in aria sa de actiune.Comanda WUPB este folosita special pentru a 'trezi' orice card aflat in starea 'Halt'.O comanda REQB/WUPB e formata dintr-un prefix anticoliziune(APf) cu valoarea'05', urmat de un byte AFI, un byte parametru(PARAM) ce indica numarul de sloturi de timp valabile si doi CRC_B bytes.
Formatul comenzii REQB/WUPB
Tabel 7 Codarea byte-ului AFI(Application Family Identifier)
Tabel 8 Codarea byte-ului PARAM.Bit-ul b4=0 indica o comanda REQB(toate cardurile in starea Idle sau Ready raspund la aceasta comanda).Bitul b4=1 indica o comanda WUPB(toate cardurile in starea Idle, Ready sau Halt raspund la aceasta comanda)
Dupa ce cardul a primit o comanda valida REQB, el verifica daca poate suporta aplicatiile identificate de AFI..Daca poate, evalueaza byte-ul PARAM cu scopul de a obtine valoarea lui N, care specifica numarul de sloturi de timp disponibile. Daca N=1, cardul transmite un ATQB(Answer to Request, Tip-B) si comuta in starea 'Ready Declared'.Daca N>1, cardul genereaza un numar aleatoriu R cu o distributie uniforma intre 1 si N.Daca R=1, cardul transmite un ATQB si comuta in starea 'Ready Declared'.Daca R>1, doua optiuni diferite sunt prevazute in standard cu scopul de a suporta doi algoritmi diferiti:
Tabel 9 Codarea N(numarul de slot-uri).Probabilitatea ca un card sa raspunda in primul slot de timp este 1/N.Daca numai un slot de timp este folosit, probabilitatea ca un card sa raspunda in acest slot depinde de valoarea N.
Comanda SLOT MARKER
Terminalul trimite comanda Slot Marker la inceputul fiecarui slot de timp. Formatul acestei comenzi este prezentat mai jos:
Formatul comenzii SLOT MARKER
Codarea 'anticollision prefix byte'(APn) este APn='n5', unde n este numarul urmatorului slot de timp.Comenzile Slot Marker pot fi transmise in orice ordine dorita;ele nu trebuie sa fie transmise in ordine crescatoare a numarului de slot.Dupa ce o comanda Slot Number a fost transmisa, terminalul asteapta un interval TRO max=256/fS, inainte sa incerce sa vada daca un card a inceput sa transmita un ATQB.
Tabel 10 Codarea numarului de slot in prefixul anticoliziune byte n (APn)
Daca terminalul nu detecteaza un ATQB, poate transmite imediat urmatoarea comanda Slot Marker.
ATQB(Answer to Request,Type-B)
Formatul unui ATQB, care este trimis ca raspuns la o comanda REQB/WUPB sau Slot Marker, este prezentat in urmatoarea figura:
Tabel 11
ATQB contine informatii cu privire la parametrii importanti ai smart card-ului de care terminalul are nevoie sa selecteze cardul.Identificatorul PICC pseudo-unic ( PUPI) este numarul de identificare al PICC pentru saltul anticoliziune.Acesta poate contine un numar care este permanent atribuit cardului, sau poate contine un numar aleator generat de card cand este activat de catre campul electromagnetic al terminalului.
Campul "Application Data" contine informatii despre aplicatiile continute de card.Aceasta informatie permite terminalului sa selecteze cardul dorit daca mai multe carduri sunt prezente in aria de lucru.Semnificatia parametrului aplicatiei de date depinde de continutul codarii parametrului aplicatiei de date(ADC) din campul Protocol Info(descris mai jos), care specifica daca 'metoda CRC_B de compresie' sau codarea proprie este folosita.
Daca metoda CRC_B de compresie este folosita, campul Application Data este format ca in figura:
Tabel 12
Campul Protocol Info arata parametrii importanti suportati de card.Acesti parametri permit terminalului sa se adapteze optim la capacitatea de performanta a cardului pentru protocolul aplicatiei urmatoare sau sa se adapteze la carduri care nu indeplinesc toate cerintele standardului.
Tabel 13 Formatul campului Protocol Info
Tabelele urmatoare arata codarea fiecarui camp individual din campul Protocol Info:
Tabel 14 Codarea parametrului FO(frame option)
Tabel 15 Codarea ADC(aplication data coding)
FWI(frame waiting time integer) specifica perioada maxima de timp necesara cardului pentru a incepe transmiterea unui raspuns dupa ce a fost receptionata o comanda completa de la terminal. Daca un card nu raspunde in acest interval de timp, terminalul poate presupune ca au fost intrerupte comunicatiile cu cardul.Secventa timpului de asteptare(FWT) este calculata folosind urmatoarea formula:
Valoarea FWI este intre 0 si 14, cu 15 fiind rezervat pentru o utilizare ulterioara (RFU).Urmatoarele valori minime si maxime pentru secventa timpului de asteptare pot fi calculate folosind formula :
Campul Protocol_Type indica daca un card poate suporta protocolul de transmisie ISO/IEC 14 443-4.Codarea acestui camp este aratata in tabelul urmator:
Tabel 16 Protocoale suportate de card.Toate celelalte valori sunt rezervate pentru o utilizare ulterioara(RFU)
In campul Max_Frame_Size, cardul indica marimea secventei maxime pe care o poate receptiona.Aceasta este limitata de marimea buffer-ului RAM-ului din card.Cipurile cu cost redus au numai o capacitate mica a RAM-ului, deci ele pot receptiona numai secvente mici.Campul Bit_Rate_Capability indica vitezele transmisiei de date suportate de card.
Tabel 17 Dimensiunea capacitatti maxime a secventei cardului
Tabel 18 Ratele de bit suportate de card.Celelalte valori sunt rezervate pentru utilizari ulterioare(RFU)
Cum a fost deja mentionat, cardul trece in starea'Ready Declared' dupa ce transmite ATQB.In aceasta stare, cardul raspunde numai la comenzile REQB/WUPB, ATTRIB si HTLB.La comanda REQB/WUPB raspunde in acelasi fel ca in starea 'Idle'.
Daca un card recunoaste o comanda ATTRIB valida in care PUPI se potriveste cu cel al cardului, el transmite un Raspuns secventei ATTRIB si isi schimba starea in 'Active'.Daca parametrii PUPI nu se potrivesc, cardul ramane in starea 'Ready Declared' si asteapta o comanda ATTRIB cu un PUPI potrivit.Cardul raspunde la o comanda HALTB(continand un PUPI potrivit) prin transmiterea unui Raspuns la HALTB, trecand in starea 'Halt'.
In starea 'Active' cardul are un identificator al cardului(CID) caruia ii este desemnat de comanda ATTRIB.Ca urmare, el se afla intr-un protocol layer(strat) superior si raspunde la comenzi adecvate aplicatiei, avand CID-ul potrivit si suma de control CRC_B corecta.Comenzi speciale apartinand acestui protocol layer superior pot pune cardul in starea 'Idle' sau 'Halt'.Cand este in starea 'Active', cardului nu-i este permis sa raspunda la comenzile REQB/WUPB, Slot Marker si ATTRIB.In starea 'Halt' cardul este pasiv si poate fi intors in starea 'Idle' de catre o comanda WUPB valida cu PUPI potrivit.
Formatul si codarea comenzii ATTRIB
Comanda ATTRIB este transmisa de terminal cardului si contine informatii necesare pentru selectia unui card.De asemenea contine informatii privind parametrii suportati de terminal pentru comunicatii ulterioare si cele cerute de card, comunicatiile error-free.Aceasta include parametri cum ar fi valoarea minima a guard time(TR0), valoarea minima a timpului de sincronizare(TR1), indiferent daca un card poate suprima SOF si/sau EOF pentru a accelera comunicatia, marimea maxima a secventei si selectia vitezei de bit optime.
Tabel 19 Formatul comenzii ATTRIB.'Identificator' contine valoarea PUPI, care e trimisa de card in ATQB.
Tabel 20 Formatul Param 1
Valoarea parametrului 'Minimum TR0' defineste timpul minim pe care cardul trebuie sa-l astepte inainte sa raspunda la o comanda primita de la terminal.Acesta este timpul necesar de terminal pentru a comuta din modul de transmisie in modul de receptie, care depinde de comportamentul terminalului.
Tabel 21 Codarea parametrului Minimum TR0
Valoarea parametrului 'Minimum TR1' defineste intarzierea minima intre activarea subpurtatoarei si startul transmisiei de date.Terminalul are nevoie de acest timp pentru sincronizare cu cardul.
Tabel 22 Codarea parametrului Minimum TR1
Bitii b3 si b4 indica terminalului daca respectivul card suporta suprimarea EOF si/sau SOF de la card la terminal cu scopul de a reduce comunicatiile in plus.Aceasta capacitate pentru card este optionala.
Utilizare SOF Utilizare EOF
Tabel 23
'The lower nibble' al Parametrului 2(bitii b4-b1) specifica marimea maxima a secventei care poate fi receptionata de terminal.'The upper nibble' este folosit pentru a selecta vitezele de bit in ambele directii.Terminalul poate face aceasta optiune, devreme ce el cunoaste deja vitezele de bit suportate de card dinspre terminal.
'The lower nibble' al Parametrului3 este folosit pentru a confirma tipul protocolului.Codarea corespunde tabelului.
Tabel 24 Protocoale suportate de card.Toate celelalte valori sunt rezervate pentru utilizari ulterioare(RFU)
'The upper nibble' este setat in '0'.Toate celelalte valori sunt rezervate pentru utilizari ulterioare.
Tabel 25 Codarea bitilor b4-b1 ai Parameter 2, care specifica dimensiunea secventei maxime
Tabel 26 Codarea bitilor b8-b5 ai Parameter 2, care selecteaza rata de bit a transmisiei
Parametrul 4 contine deasemenea doua parti.The lower nibble este numit 'card identifier'(CID) si defineste numarul logic al cardului adresat, cu o valoare intre 0 si 14.Valoarea 15 este rezervata pentru utilizari ulterioare.Identificatorul de card este specificat de terminal si este unic pentru fiecare card activ.Cand cardul nu suporta CID, o valoare '0' este folosita.The upper nibble este setat in '0'.Toate celelalte valori sunt rezervate pentru utilizari ulterioare.
Campul 'Higher_Layer Inf' poate fi folosit pentru a transfera orice comanda de nivel superior.Capacitatea de a procesa astfel de comenzi este optionala pentru card.
Raspunsul la comanda ATTRIB
Cardul raspunde la orice comada ATTRIB valida (avand PUPI corespunzator si suma de controlCRC_B corecta) cum este aratat in figura de mai jos:
Tabel 27 Formatul raspunsului la o comanda ATTRIB
Daca terminalul receptioneaza un raspuns valid la o comanda ATTRIB(una avand acelasi CID si CRC_B corecta), el stie ca selectia cardului a fost facuta.The lower nibble al primului byte din raspuns(bitii b4-b1) contin CID.The upper nibble al primului byte(bitii b8-b5) este numit 'indexul maxim al lungimii buffer-ului'(MBLI).Cardul utilizeaza MBLI pentru a spune terminalului marimea maxima a buffer-ului interior. Aceasta determina evitarea supraincarcarii buffer-ului cardului prin trimiterea mai multor secvente inlantuite.Daca MBLI este setat in 0 , cardul nu furnizeaza nicio informatie despre marimea buffer-ului intern.
Daca MBLI este mai mare decat 0, el poate fi calculat cu formula:
Cardul trimite parametrul marimii maxime al secventei catre terminal in ATQB. Cand terminalul transmite secvente inlantuite, trebuie sa se asigure ca valoarea cumulata lungimii nu depaseste valoarea MBL.
Comanda HLTB
Aceasta comanda este folosita pentru a trimite un card in starea'Halt', astfel incat sa nu mai raspunda la comenzi REQB.Dupa ce raspunde la aceasta comanda, cardul ignora toate comenzile ulterioare exceptand WUPB.
Tabel 28 Formatul comenzii HTLB
Parametrul Identifier contine PUPI al cardului care urmeaza sa fie plasat in starea Halt.Formatul raspunsului cardului la o comanda valida HLTB este aratata in figura:
Tabel 29 Formatul raspunsului la o comanda HLTB
4.3 Exemplu de secventa anticoliziune cu trei carduri Tip-B
Standardul confera persoanei care dezvolta, libertatea de a implementa tipuri variate de strategii anticoliziune.Aceasta corespunde cu functia de baza a unui standard, care este sa faca posibila interoperabilitatea si in acelasi timp sa prevada o libertate larga de implementare cu scopul de a evita impiedicarea progresului tehnic.Un exemplu de secventa anticoliziune este aratata in figura de mai jos.
Acest exemplu, care este continut si in anexa standardului, serveste pentru a ilustra procesele si comenzile descrise .Nu are pretentia sa fie o implementare tehnica superioara.
Fig 40 Exemplu de secventa anticoliziune cu 2 carduri Tip-B(Partea 1 din 2)
Fig 41 Exemplu de secventa anticoliziune cu 3 carduri Tip-B (Partea 2 din 2)
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 4764
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved