Online Store

μFR soros kommunikációs protokoll μFR sorozatú eszközökhöz

μFR soros kommunikációs protokoll μFR sorozatú eszközökhöz

A μFR sorozatú eszközök képesek kommunikációt létesíteni az FTDI Virtual COM portján keresztül, így az eszközök szabványos COM port hardvernek tekinthetők.

Kommunikációs paraméterek #

FTDI soros interfésszel rendelkező olvasók #

μFR Classic és μFR Advance olvasók USB-csatlakozással:

Soros kommunikáció: 1 Mbps, 8-N-1, Áramlásvezérlés: Nincs;

Az RTS tű az eszköz alaphelyzetbe állítására szolgál. Ha az RTS be van állítva, az eszköz alaphelyzetbe állított állapotban van. Ha az RTS tiszta, az eszköz normál állapotban van.

μFR BaseHD olvasók telepített "μFR support" firmware-rel (pl. XR és μFR XRc olvasók):

Soros kommunikáció (VCOM FTDI illesztőprogram használatával): 250 kbps, 8-N-1, Áramlásvezérlés: Nincs;

FTDI soros interfész nélküli olvasók #

RS485 (csatlakozás USB/RS-485 konverter nélkül):

A változó átviteli sebesség szoftvereszközzel állítható be. Az átviteli sebesség megváltoztatásakor ismerni kell az aktuális átviteli sebességet. Az alapértelmezett átviteli sebesség 250 kbps.

μFR Classic Nano RS232 és RS232 kártyaméret:

UART / TTL: 115200 bps, 8-N-1, Áramlásszabályozás: Nincs.

115200 bps az alapértelmezett átviteli sebesség. A változtatható átviteli sebesség a szoftvereszközön keresztül állítható be.

A csatlakozón lévő PIN 4 az eszköz alaphelyzetbe állítására szolgál. Ha a csap feszültsége magas (3,3 V), akkor a készülék alaphelyzetbe állítási állapotban van. Ha a feszültség alacsony (0 V), akkor a készülék normál üzemmódban van.

Ha az eszköz RS232 – TTL átalakítónkhoz van csatlakoztatva, akkor a 4-es érintkező feszültségszintje szabályozza az RTS-t. Ha az RTS tiszta, az eszköz alaphelyzetbe állított állapotban van. Ha az RTS be van állítva, az eszköz normál állapotban van.

 

A firmware frissítése során az RTS PIN-kódot csatlakoztatni kell az eszköz 4-es PIN-kódjához.

Az UART / TTL modell pinoutját az alábbiakban mutatjuk be:

nano-RS232-pinout

Az olvasóeszközök és a gazdaszámítógép közötti kommunikáció céljából létrejön a D-Logic szabadalmaztatott protokollja, a "μFR soros".

Minden kommunikációt az a gazdagép (PC vagy más platform) kezdeményez, amelyhez az eszköz csatlakozik.

A 3.9.44-es firmware-verzióból egyetlen paranccsal továbbított vagy egy eszköz által fogadott maximális adat 256 bájt, előtte pedig 192 bájt.

Általában kétféle csomag létezik:

  • CMD – a gazdagép által az eszközre küldött parancs
  • ANS – az eszközről a gazdagépre küldött válasz

A CMD lehet rövid vagy hosszú készlet. A CMD rövid készlet mindig 7 bájt hosszú, míg a CMD hosszú készlet – az úgynevezett CMD_EXT változó hosszúságú lehet.

A válaszok:

  • ACK – Nyugtázás, minden rendben van, a készülék várja a következő CMD-t vagy CMD EXT-t
  • ERR – Hiba történt, a hibabájt meghatározza ERR_TYPE
  • RSP – Az eszköz CMD-re vagy CMD_EXT adott válasza

A kommunikációs állandók bájtjai határozzák meg a csomag típusát, amely az egyes csomagok első három bájtjában látható.

Minden csomag első bájtja a HEADER bájt. A második bájt mindig CMD_CODE. A harmadik bájt a TRAILER bájt.

1. táblázat. Kommunikációs állandók

CMD_HEADER0x55CMD_TRAILER0xAA
ACK_HEADER0xACACK_TRAILER0xCA
RESPONSE_HEADER0xDERESPONSE_TRAILER0xED
ERR_HEADER0xECERR_TRAILER0xCE

 

ELLENŐRZŐÖSSZEG #

A dokumentum összes ellenőrzőösszege ugyanúgy kerül kiszámításra: egy bájtsort használnak az ellenőrző összeg kiszámításához, minden bájtot XOR-ed a következővel a sor végéig. A végső érték 0x07 növekszik.

Például egy CMD-csomag 7 bájtból áll, ahol a 7. bájt az előző 6 bájt ellenőrzőösszege:

ELLENŐRZŐÖSSZEG = (bájt1 XOR bájt2 XOR bájt3 XOR bájt4 XOR bájt5 XOR bájt6) + 0x07

CMD-kódok #

Minden parancsnak megvan a megfelelő értéke – nézze meg a PARANCSOK ÁTTEKINTÉSÉT.

Hibakódok #

Ha hiba történik, az eszköz az ERR-csomaggal válaszol. Minden hibának megvan a megfelelő értéke, amely megtalálható a függelék táblázatában: HIBAKÓDOK.

CMD csomag #

A CMD csomag lehet rövid – 7 bájt hosszú vagy EXT-végű, változó hosszúságú. EXT CMD csomag esetén a CMD csomag negyedik bájtja nagyobb, mint 0, amely egész értéket tartalmaz – CMD_EXT csomag hossza. A CMD_EXT kiadásakor mindig a fő CMD 7 bájtos csomag megy először. Ha minden a várt módon történik, az eszköz az ACK csomaggal válaszol, és várja a CMD_EXT csomagot. Hiba esetén az eszköz az ERR csomaggal válaszol. CMD_EXT parancs típusától függően különböző paraméterekből áll, így CMD_EXT nem rendelkezik rögzített hosszúsággal és paramétersorrenddel.

A CMD csomag szerkezete a következő:

A CMD csomag szerkezete a következő:

Kötelező 7 bájtos CMD csomagstruktúra

1. bájt2. bájt3. bájt4. bájt5. bájt6. bájt7. bájt
CMD_HEADERCMD_CODECMD_TRAILERCMD_EXT_LengthCMD_Par0CMD_Par1ELLENŐRZŐÖSSZEG

 

  • 1. bájt: CMD_HEADER a Table1.Communication constants, 0x55
  • 2. bájt: CMD_CODE a 2. táblázatban meghatározottak szerint. CMD_CODE értékek
  • 3. bájt: CMD_TRAILER az 1. táblázatban meghatározottak szerint. Kommunikációs állandók, 0xAA
  • 4. bájt: CMD_EXT_Length: Ha 0, akkor a "CMD EXT" nem kerül felhasználásra); Az ELSE érték a teljes CMD_EXT csomag hossza
  • 5. bájt: CMD_Par0: paraméter0 parancs, a parancstól függően különböző értékeket vesz fel
  • 6. bájt: CMD_Par1: paraméter1 parancs, a parancstól függően különböző értékeket vesz fel
  • 7. bájt: ELLENŐRZŐÖSSZEG – Az 1–6. bájt ellenőrzőösszege a fent leírtak szerint

CMD_EXT csomag szerkezete a következő:

CMD_EXT csomag szerkezete a következő:

CMD_EXT csomagszerkezet
1. bájtN bájtBájt N+1
Paraméterbájtok 1–N

CMD_EXT_CHECKSUM

 

Paraméterbájt 1-től N-ig – különböző paraméterek, értékek a parancs típusától függenek

  • CMD_EXT_CHECKSUM – 1–N bájtok ellenőrzőösszege
  • CMD_EXT_Length az összes bájt száma, beleértve a CMD_EXT_CHECKSUM is; pl. hossza N+1

VÁLASZCSOMAG-típusok #

Az eszköz a következő csomagtípusokkal tud válaszolni:

ACK – Nyugtázó csomag

Ha a parancs és a CMD csomag megfelelően van konfigurálva (struktúra és ellenőrzőösszeg), és további CMD_EXT csomagot kell küldeni, az eszköz ACK csomaggal válaszol.

ERR – Hibacsomag

Ha hiba történt, az eszköz az ERR-csomaggal válaszol. Egyes parancsok visszaadhatják a ERR_EXT készletet.Ebben az esetben a ERR_EXT csomag közvetlenül az ERR-csomag után érkezik.

RSP – Válaszcsomag

Ha megfelelően konfigurált CMD vagy CMD_EXT csomagot küld, az eszköz RSP vagy RSP_EXT csomaggal válaszol, amely a kiadott parancstól függ. Például, ha a CMD-nek olyan válaszra van szüksége, amely elég rövid az RSP-csomaghoz, akkor nem lesz RSP_EXT csomag. Ellenkező esetben, ha a CMD vagy CMD_EXT több bájtot tartalmazó válaszra van szüksége, RSP_EXT közvetlenül az RSP-csomag után jönnek. Gyakori helyzet az, amikor az adatokat a LinearRead paranccsal olvassuk, ahol a készülék egy sor kártya adatbájttal válaszol.

ACK – Nyugtázó csomag #

Az ACK-csomag szerkezete a következő:

Az ACK-csomag szerkezete a következő:

ACP csomagszerkezet

1. bájt2. bájt3. bájt4. bájt5. bájt6. bájt7. bájt
ACK_HEADERCMD_CODECMD_TRAILERNem releváns, ACK-csomagban nem használatosELLENŐRZŐÖSSZEG

 

  • 1. bájt: ACK_HEADER a Table1.Communication constants, 0x55
  • 2. bájt: CMD_CODE a 2. táblázatban meghatározottak szerint. CMD_CODE értékek. Eszköz ACKaz előző parancs megfelelő elküldésének jóváhagyása
  • 3. bájt: ACK_HEADER az 1. táblázatban meghatározottak szerint.Kommunikációs állandók, 0x55
  • 4. bájt: 5. bájt, 6. bájt: ACK-csomagban nem használatos, az értékek 0x00
  • 7. bájt: ELLENŐRZŐÖSSZEG – Az 1–6. bájt ellenőrzőösszege a fent leírtak szerint

ERR – hibacsomag #

Az ERR csomag szerkezete a következő:

Kötelező 7 bájtos ERR

1. bájt2. bájt3. bájt4. bájt5. bájt6. bájt7. bájt
ERR_HEADERERROR_CODEERR_TRAILERERR_EXT_LengthErr_Val0Err_Val1ELLENŐRZŐÖSSZEG

 

  • 1. bájt: ERR_HEADER az 1. táblázatban meghatározottak szerint.Kommunikációs állandók, 0xEC
  • 2. bájt: ERR_CODE a 3. táblázatban meghatározottak szerint. HIBAKÓDOK.
  • 3. bájt: ERR_TRAILER az 1. táblázatban meghatározottak szerint. Kommunikációs állandók, 0xCE
  • 4. bájt: Ha ERR_EXT létezik, ez a bájt tartalmazza a ERR_EXT csomag hosszát (beleértve ERR_EXT ellenőrzőösszeget is)
  • 5. bájt: A hibával kapcsolatos lehetséges további információk a ERR_Val0
  • 6. bájt: A hibára vonatkozó lehetséges további információk a ERR_Val1
  • 7. bájt: ELLENŐRZŐÖSSZEG – Az 1–6. bájt ellenőrzőösszege a fent leírtak szerint

ERR_EXT és a következő szerkezettel rendelkezik:

 

ERR_EXT csomagszerkezet
1. bájt..N bájtBájt N+1
1–N hibabájtERR_EXT_CHECKSUM

 

  • 1. bájt: ERR_EXT első bájtja
  • N bájt: ERR_EXT n-edik bájtja
  • N+1 bájt: ERR_EXT_CHECKSUM, az 1–N bájtok ellenőrző összege, a korábban leírtak szerint kiszámítva.

 

RSP – válaszcsomag #

Az RSP-csomag szerkezete a következő:

Kötelező 7 bájtos RSP

1. bájt2. bájt3. bájt4. bájt5. bájt6. bájt7. bájt
RSP_HEADERCMD_CODERSP_TRAILERRSP_EX_lengthRSP_Val0RSP_Val1ELLENŐRZŐÖSSZEG

 

  • 1. bájt: RSP_HEADER az 1. táblázatban meghatározottak szerint.Kommunikációs állandók, 0xED
  • 2. bájt: CMD_CODE a 2. táblázatban meghatározottak szerint. CMD_CODE értékek
  • 3. bájt: ERR_TRAILER az 1. táblázatban meghatározottak szerint.Kommunikációs állandók, 0xDE
  • 4. bájt: Ha RSP_EXT létezik, ez a bájt tartalmazza a RSP_EXT csomag hosszát (beleértve RSP_EXT ellenőrzőösszeget is)
  • 5. bájt: A RESPONSE-ra vonatkozó lehetséges további információk a RSP_Val0
  • 6. bájt: A RESPONSE-ra vonatkozó lehetséges további információk a RSP_Val1
  • 7. bájt: ELLENŐRZŐÖSSZEG – Az 1–6. bájt ellenőrzőösszege a fent leírtak szerint.

t

RSP_EXT csomagszerkezet
1. bájt..N bájtBájt N+1
RSP bájtok 1–NRSP_EXT_CHECKSUM

 

  • 1. bájt: RSP_EXT első bájtja
  • N bájt: RSP_EXT n-edik bájtja
  • N+1 bájt: RSP_EXT_CHECKSUM, az 1–N bájtok ellenőrző összege, a korábban leírtak szerint kiszámítva.