Az öngyártott USB-eszközök kezelő nélkül történő használata
Munka öngyártott USB eszközökkel driver nélkül
Természetesen teljes mértékben jelennek meg a használatát illesztőprogramok használata USB-eszközök nem igényelnek a szervezet busz csatlakozás a illesztőprogramkészlettel, de ebben az esetben figyelembe vesszük a használatát USB stack csak a szokásos illesztőprogramok alapértelmezés szerint az operációs rendszer.
Tehát a legelterjedtebb típusú szabványos eszközök:
- MSC - Mass Storage Class
- CDC - Soros eszközosztály
- HID - emberi interfész eszköz
- CCID - áramköri kártyaolvasó eszköz
Az MSC osztály nem alkalmas az alkalmazással történő kényelmes és egyszerű csere megszervezésére. Ez az osztály akkor használható, ha a készülék nagy mennyiségű FLASH memóriát tartalmaz egy fájlrendszerrel és hozzáférést igényel.
Class USB-CCID elég érdekes, ha azt szeretné, hogy hozzon létre, hogy biztosítsa a gyors csere (ez továbbítja az adatokat a gyorsabb, mint a HID és így alacsonyabb késleltetést, mint a CDC-osztály), de nagyon különleges, mert vele együtt az APDU-parcellák keretében kell dolgoznia.
Most nézzük meg a munkát az egyes eszközök csoportjával részletesebben:
Az MSC osztály eszközzel való munkavégzés
Ez az osztály nem nagyon kényelmes a munka számára, mert nagy mennyiségű feldolgozási kódot igényel, és kötődik a fájlrendszerhez való munkához. Azonban ennek az osztálynak a készülékével. Érdekesnek tűnik, ha az eszköz saját fájlrendszerrel vagy csak nagy mennyiségű belső memóriával rendelkezik.
Elvileg az MSC eszközökkel való munkát fájlrendszer nélkül, lemez leolvasásával / írásával lehet elvégezni. Ehhez egyszerűen csak nyissa meg az eszközt a CreateFile függvény segítségével:
Egy CDC osztályú eszközzel dolgozik
Amikor a CDC osztály eszköz csatlakoztatása után a rendszer létrehoz egy virtuális COM-port, a kommunikáció, amely része az operációs rendszer teljesen más, mint a munka egy fizikai COM port. Szintjén munka WinAPI ustroysva csökken hívások CreateFile funkció WriteFile, readfile és CloseHandle.
Ideális, ha az eszköz előtt COM portot használt a PC-vel való kommunikációhoz. Ebben az esetben nincs szükség a szoftverben a PC oldalra történő átdolgozásra, és általában a megoldás sablon megoldás. Bármely eszköz, amely COM porttal rendelkezik az adapteren keresztül, felcsatolható az USB-n. Néhány soros termékben (ilyen szünetmentes eszközökkel találkoztam) az USB buszra való átállást pontosan USB-COM átalakító alkalmazásával végezték.
Ezenkívül a CDC osztály használatának lehetősége is jó, mert a protokoll aszinkron, és bárhonnan bármilyen hosszúságú adatblokkot küldhet.
Ugyanakkor érdemes megjegyezni, hogy az eszköz osztály Windows szabványos, hogy biztosítsák annak a munkának usbserial.sys driver, azonban ugyanezek az átalakító FTDI FT232hh használja saját végrehajtását a CDC protokoll és még mindig szükség van az illesztőprogram telepítése.
HID-osztályú eszközzel való munkavégzés
Bár HID-ustroysva és célja, hogy kölcsönhatásba lépnek a joystick és billentyűzethez, akkor zökkenőmentesen kialakítva, hogy továbbítja a felhasználó tetszőleges adat. Meglehetősen hátrányos HID - adatblokkot csak akkor lehet egy rögzített méretű, amely be van állítva HID-leíró.
A fő probléma, ha egy HID eszközzel dolgozik, hogy a név a rendszerbe kerüljön. Amint a nevet érkezik a készülék működtetéséhez segítségével CreateFile funkciót, WriteFile, readfile és CloseHandle. Érdemes még megemlíteni az első bájt az átviteli Read / WriteFile funkciók parcella azonosító, általában 0. Így, ha az adatblokk mérete 64 bájt HID, a funkciót el kell küldenie a 65 bájt. Ezt a bájtot a meghajtóban használják, és nem lép be a készülékbe.
A HID eszköz nevének megismerése leginkább a cikk végén olvasható a könyvtárban.
Egy CCID osztályú eszközzel dolgozik
A CCID-nél végzett munka elsődleges jellemzője, hogy ki kell választani az ATR-vonalat és a protokollt T = 0 vagy T = 1. A legjobb választani T = 1, mert ebben benne van az APDU 4. eset. Valószínűleg már mindenki megrémült egy halom, nem világos szóval. A protokoll maga a szabványban leírt ISO 7816-12 (van egy megfelelő GOST / ISO), valamint parcellák APDU méret lehet találni az ISO 7816-3 és az ISO 7816-4. Sajnálatos módon ezek a szabványok díj alapúak, de ha jól keresnek, az összes szükséges információ továbbra is nyilvánosan elérhető.
A készülékkel történő kommunikáció az SCardConnect, SCardTransmit funkciók használatával történik. Az SCardTransmit funkció közvetlen adatátvitelt biztosít.
Az APDU egy fejlécből és egy adatblokkból áll. Ez feltétlenül szükséges, hogy válaszoljon legalább 2 byte: visszatérési kód 90 00 ha minden rendben van, és egy másik értéket (normál 6x xx). Ha bizonyíték van arra vannak az elején, és a visszatérési kód végéhez a 2 byte-os csomagok. Kulcskódokról jöhet munkahelyi táblázatban leírt (a valóságban, sok hibakódok):
Vissza SW1 SW2
Most közvetlenül a csomagformátumok (T = 1):
Ie 4. APDU parancs osztály: nincs adat, az adatokat a készülék a készülék adatait és visszatérő egyszerre adatátviteli mindkét irányban. CLA - osztályú csapat, INS - parancskódot, P1 és P2 - a parancs paramétereit. Csak amikor razrabtke figyelembe kell venni, hogy maga az operációs rendszer alkalmazása bizonyos esetekben megpróbálja elküldeni a készülék egy sor standard APDU-irányító.
VID és PID kiválasztása
Végül a VID és a PID kiválasztásának kérdése. Ezen értékek esetén a meghajtó az eszközhöz van kötve abban az esetben, ha az eszköz nem tartozik a szabványos osztályhoz. Ha különböző osztályú eszközöket próbál összekötni ugyanazokkal a PID és VID eszközökkel, akkor problémák merülhetnek fel az illesztőprogramokkal. Feltételezzük, hogy minden készüléknek van egy egyedi VID és PID.
Számos cikk és jelentés különböző matematikai és elektronikus kísérletekről.