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

μ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_HEADER 0x55 CMD_TRAILER 0xAA
ACK_HEADER 0xAC ACK_TRAILER 0xCA
RESPONSE_HEADER 0xDE RESPONSE_TRAILER 0xED
ERR_HEADER 0xEC ERR_TRAILER 0xCE

 

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ájt 2. bájt 3. bájt 4. bájt 5. bájt 6. bájt 7. bájt
CMD_HEADER CMD_CODE CMD_TRAILER CMD_EXT_Length CMD_Par0 CMD_Par1 ELLENŐ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ájt N bájt Bá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ájt 2. bájt 3. bájt 4. bájt 5. bájt 6. bájt 7. bájt
ACK_HEADER CMD_CODE CMD_TRAILER Nem releváns, ACK-csomagban nem használatos ELLENŐ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ájt 2. bájt 3. bájt 4. bájt 5. bájt 6. bájt 7. bájt
ERR_HEADER ERROR_CODE ERR_TRAILER ERR_EXT_Length Err_Val0 Err_Val1 ELLENŐ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ájt Bájt N+1
1–N hibabájt ERR_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ájt 2. bájt 3. bájt 4. bájt 5. bájt 6. bájt 7. bájt
RSP_HEADER CMD_CODE RSP_TRAILER RSP_EX_length RSP_Val0 RSP_Val1 ELLENŐ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ájt Bájt N+1
RSP bájtok 1–N RSP_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.