Online Store

μFR Πρωτόκολλο σειριακής επικοινωνίας για συσκευές σειράς μFR

μFR Πρωτόκολλο σειριακής επικοινωνίας για συσκευές σειράς μFR

Οι συσκευές της σειράς μFR μπορούν να δημιουργήσουν επικοινωνία μέσω της εικονικής θύρας COM του FTDI, έτσι ώστε οι συσκευές να θεωρούνται ως τυπικό υλικό θύρας COM.

Παράμετροι επικοινωνίας #

Αναγνώστες με σειριακή διασύνδεση FTDI #

Αναγνώστες μFR Classic και μFR Advance με σύνδεση USB:

Σειριακή επικοινωνία: 1 Mbps, 8-N-1, Έλεγχος ροής: Κανένας.

Ο ακροδέκτης RTS χρησιμοποιείται για την επαναφορά της συσκευής. Όταν έχει ρυθμιστεί το RTS, η συσκευή βρίσκεται σε κατάσταση επαναφοράς. Όταν το RTS είναι καθαρό, η συσκευή βρίσκεται σε κανονική κατάσταση.

μFR BaseHD readers με εγκατεστημένο firmware "μFR support" (π.χ. συσκευές ανάγνωσης XR και μFR XRc):

Σειριακή επικοινωνία (χρησιμοποιώντας πρόγραμμα οδήγησης VCOM FTDI): 250 kbps, 8-N-1, Έλεγχος ροής: Κανένας;

Αναγνώστες χωρίς σειριακή διασύνδεση FTDI #

RS485 (σύνδεση χωρίς μετατροπέα USB/RS-485):

Ο μεταβλητός ρυθμός baud μπορεί να ρυθμιστεί μέσω ενός εργαλείου λογισμικού. Ο τρέχων ρυθμός baud πρέπει να είναι γνωστός κατά την αλλαγή του ρυθμού baud. Ο προεπιλεγμένος ρυθμός baud είναι 250 kbps.

μFR Classic Nano RS232 και μέγεθος κάρτας RS232:

UART / TTL: 115200 bps, 8-N-1, Έλεγχος ροής: Κανένας.

115200 bps είναι ο προεπιλεγμένος ρυθμός baud. Ο μεταβλητός ρυθμός baud μπορεί να ρυθμιστεί μέσω του εργαλείου λογισμικού.

Το PIN 4 στην υποδοχή χρησιμοποιείται για την επαναφορά της συσκευής. Εάν η τάση σε αυτόν τον ακροδέκτη είναι υψηλή (3,3 V), τότε η συσκευή βρίσκεται σε κατάσταση επαναφοράς. Εάν η τάση είναι χαμηλή (0 V), τότε η συσκευή βρίσκεται σε κανονική κατάσταση λειτουργίας.

Εάν η συσκευή είναι συνδεδεμένη στον μετατροπέα RS232 σε TTL, τότε το επίπεδο τάσης στον ακροδέκτη 4 ελέγχει το RTS. Όταν το RTS είναι καθαρό, η συσκευή βρίσκεται σε κατάσταση επαναφοράς. Όταν έχει ρυθμιστεί το RTS, η συσκευή βρίσκεται σε κανονική κατάσταση.

 

Κατά τη διάρκεια της ενημέρωσης υλικολογισμικού, ο ακροδέκτης RTS πρέπει να συνδεθεί στον ακροδέκτη 4 της συσκευής.

Το Pinout για το μοντέλο UART / TTL παρουσιάζεται παρακάτω:

Νανο-RS232-pinout

Για σκοπούς επικοινωνίας μεταξύ συσκευών ανάγνωσης και κεντρικού υπολογιστή, δημιουργείται το ιδιόκτητο πρωτόκολλο της D-Logic που ονομάζεται "μFR serial".

Όλη η επικοινωνία ξεκινά από τον κεντρικό υπολογιστή (υπολογιστή ή άλλες πλατφόρμες) στον οποίο είναι συνδεδεμένη η συσκευή.

Τα μέγιστα δεδομένα που μεταφέρονται με μία εντολή ή λαμβάνονται από μία απόκριση συσκευής, από την έκδοση υλικολογισμικού 3.9.44 είναι 256 byte και πριν είναι 192 byte.

Γενικά, υπάρχουν δύο τύποι πακέτων:

  • CMD – εντολή που αποστέλλεται από τον κεντρικό υπολογιστή στη συσκευή
  • ANS – απάντηση που αποστέλλεται από τη συσκευή στον κεντρικό υπολογιστή

Το CMD μπορεί να είναι ένα σύντομο ή μακρύ σετ. Το σύντομο σετ CMD έχει πάντα μήκος 7 byte, ενώ το μεγάλο σετ CMD – που ονομάζεται CMD_EXT μπορεί να έχει μεταβλητό μήκος.

Οι απαντήσεις είναι:

  • ACK – Αναγνώριση, όλα είναι εντάξει, η συσκευή περιμένει το επόμενο CMD ή CMD EXT
  • ERR – Παρουσιάστηκε σφάλμα, το byte σφάλματος ορίζει ERR_TYPE
  • RSP – Απόκριση από τη συσκευή σε CMD ή CMD_EXT

Τα byte σταθερών επικοινωνίας ορίζουν τον τύπο του πακέτου, ο οποίος μπορεί να φανεί στα τρία πρώτα byte κάθε πακέτου.

Το πρώτο byte κάθε πακέτου είναι το byte HEADER. Το δεύτερο byte είναι πάντα CMD_CODE. Το τρίτο byte είναι το byte TRAILER.

Πίνακας 1. Σταθερές επικοινωνίας

CMD_HEADER 0x55 CMD_TRAILER 0xAA
ACK_HEADER 0xAC ACK_TRAILER 0xCA
RESPONSE_HEADER 0xDE RESPONSE_TRAILER 0xED
ERR_HEADER 0xEC ERR_TRAILER 0xCE

 

ΆΘΡΟΙΣΜΑ ΕΛΈΓΧΟΥ #

Όλα τα αθροίσματα ελέγχου σε αυτό το έγγραφο υπολογίζονται με τον ίδιο τρόπο: μια σειρά byte χρησιμοποιείται για τον υπολογισμό του αθροίσματος ελέγχου, κάθε byte είναι XOR-ed με το επόμενο μέχρι το τέλος της σειράς. Η τελική τιμή αυξάνεται με 0x07.

Για παράδειγμα, ένα πακέτο CMD έχει 7 byte, όπου το 7ο byte είναι το άθροισμα ελέγχου των προηγούμενων 6 byte:

CHECKSUM = (byte1 XOR byte2 XOR byte3 XOR byte4 XOR byte5 XOR byte6) + 0x07

Κωδικοί CMD #

Κάθε εντολή έχει την αντίστοιχη τιμή της – κοιτάξτε ΕΠΙΣΚΟΠΗΣΗ ΔΙΟΙΚΗΣΕΩΝ.

Κωδικοί σφάλματος #

Εάν παρουσιαστεί σφάλμα, η συσκευή θα απαντήσει με το πακέτο ERR. Κάθε σφάλμα έχει την αντίστοιχη τιμή του, η οποία βρίσκεται στον πίνακα στο Παράρτημα: ΚΩΔΙΚΟΙ ΣΦΑΛΜΑΤΟΣ.

Πακέτο CMD #

Το πακέτο CMD μπορεί να είναι σύντομο – 7 byte μακρύ ή EXT-ended με μεταβλητό μήκος. Στην περίπτωση του πακέτου EXT CMD, το τέταρτο byte του πακέτου CMD είναι μεγαλύτερο από 0, που περιέχει ακέραια τιμή – μήκος CMD_EXT πακέτου. Κατά την έκδοση CMD_EXT, πάντα το κύριο πακέτο CMD μήκους 7 byte πηγαίνει πρώτο. Εάν όλα όπως αναμένεται, η συσκευή θα απαντήσει με το πακέτο ACK, περιμένοντας το πακέτο CMD_EXT. Κατά λάθος, η συσκευή θα απαντήσει με το πακέτο ERR. CMD_EXT αποτελείται από διάφορες διαφορετικές παραμέτρους, ανάλογα με τον τύπο εντολής, οπότε CMD_EXT δεν έχει σταθερό μήκος και σειρά παραμέτρων.

Το πακέτο CMD έχει την ακόλουθη δομή:

Το πακέτο CMD έχει την ακόλουθη δομή:

Υποχρεωτική δομή πακέτου CMD 7 byte

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
CMD_HEADER CMD_CODE CMD_TRAILER CMD_EXT_Length CMD_Par0 CMD_Par1 ΆΘΡΟΙΣΜΑ ΕΛΈΓΧΟΥ

 

  • Byte 1: CMD_HEADER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0x55
  • Byte 2: CMD_CODE όπως ορίζεται στον πίνακα 2. CMD_CODE τιμές
  • Byte 3: CMD_TRAILER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0xAA
  • Byte 4: CMD_EXT_Length: Εάν 0 τότε το "CMD EXT" δεν χρησιμοποιείται). Η τιμή ELSE είναι το μήκος ολόκληρου του πακέτου CMD_EXT
  • Byte 5: CMD_Par0: παράμετρος εντολής0, λαμβάνει διαφορετικές τιμές ανάλογα με την εντολή
  • Byte 6: CMD_Par1: παράμετρος εντολής1, λαμβάνει διαφορετικές τιμές ανάλογα με την εντολή
  • Byte 7: CHECKSUM – Άθροισμα ελέγχου των byte 1 έως 6 όπως εξηγείται παραπάνω

CMD_EXT πακέτο έχει την ακόλουθη δομή:

CMD_EXT πακέτο έχει την ακόλουθη δομή:

CMD_EXT δομή πακέτων
Byte 1 Byte Ν Byte N+1
Παράμετρος byte 1 έως N

CMD_EXT_CHECKSUM

 

Byte παραμέτρων 1 έως N – διαφορετικές παράμετροι, τιμές εξαρτώνται από τον τύπο της εντολής

  • CMD_EXT_CHECKSUM – Άθροισμα ελέγχου από byte 1 έως N
  • CMD_EXT_Length είναι ο αριθμός όλων των byte, συμπεριλαμβανομένων των CMD_EXT_CHECKSUM. π.χ. το μήκος είναι N+1

Τύποι πακέτων ANSWER #

Η συσκευή μπορεί να απαντήσει με τους ακόλουθους τύπους πακέτων:

ACK – Πακέτο επιβεβαίωσης

Εάν η εντολή και το πακέτο CMD έχουν ρυθμιστεί σωστά (δομή και άθροισμα ελέγχου) και πρέπει να σταλεί ένα επιπλέον πακέτο CMD_EXT, η συσκευή θα απαντήσει με ένα πακέτο ACK.

ERR – Πακέτο σφαλμάτων

Εάν παρουσιάστηκε σφάλμα, η συσκευή θα απαντήσει με το πακέτο ERR. Ορισμένες εντολές μπορούν να επιστρέψουν το σύνολο ERR_EXT.Σε αυτήν την περίπτωση, το πακέτο ERR_EXT έρχεται αμέσως μετά το πακέτο ERR.

RSP – Πακέτο απόκρισης

Εάν σταλεί ένα σωστά διαμορφωμένο πακέτο CMD ή CMD_EXT, η συσκευή θα απαντήσει με RSP ή RSP_EXT πακέτο, το οποίο εξαρτάται από την εντολή που εκδόθηκε. Για παράδειγμα, εάν το CMD χρειάζεται μια απάντηση που είναι αρκετά σύντομη για το πακέτο RSP, δεν θα υπάρχει RSP_EXT πακέτο. Διαφορετικά, εάν το CMD ή το CMD_EXT χρειάζεται απάντηση με περισσότερα byte, RSP_EXT θα έρθει αμέσως μετά το πακέτο RSP. Μια συνηθισμένη κατάσταση είναι όταν διαβάζετε δεδομένα με την εντολή LinearRead, όπου η συσκευή θα απαντήσει με μια σειρά byte δεδομένων κάρτας.

ACK – Πακέτο επιβεβαίωσης #

Το πακέτο ACK έχει την ακόλουθη δομή:

Το πακέτο ACK έχει την ακόλουθη δομή:

Δομή πακέτων ΑΚΕ

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
ACK_HEADER CMD_CODE CMD_TRAILER Άσχετο, δεν χρησιμοποιείται στο πακέτο ACK ΆΘΡΟΙΣΜΑ ΕΛΈΓΧΟΥ

 

  • Byte 1: ACK_HEADER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0x55
  • Byte 2: CMD_CODE όπως ορίζεται στον πίνακα 2. CMD_CODE τιμές. Συσκευή ACKnowledges ότι η προηγούμενη εντολή έχει σταλεί σωστά
  • Byte 3: ACK_HEADER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0x55
  • Byte 4: Byte 5, Byte 6: Δεν χρησιμοποιείται στο πακέτο ACK, οι τιμές είναι 0x00
  • Byte 7: CHECKSUM – Άθροισμα ελέγχου των byte 1 έως 6 όπως εξηγείται παραπάνω

ERR – πακέτο σφαλμάτων #

Το πακέτο ERR έχει την ακόλουθη δομή:

Υποχρεωτικό ERR 7 byte

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
ERR_HEADER ERROR_CODE ERR_TRAILER ERR_EXT_Length Err_Val0 Err_Val1 ΆΘΡΟΙΣΜΑ ΕΛΈΓΧΟΥ

 

  • Byte 1: ERR_HEADER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0xEC
  • Byte 2: ERR_CODE όπως ορίζεται στον πίνακα 3. ΚΩΔΙΚΟΊ ΣΦΆΛΜΑΤΟΣ.
  • Byte 3: ERR_TRAILER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0xCE
  • Byte 4: Εάν υπάρχει ERR_EXT, αυτό το byte περιέχει το μήκος του πακέτου ERR_EXT (συμπεριλαμβανομένου ERR_EXT αθροίσματος ελέγχου)
  • Byte 5: Πιθανές πρόσθετες πληροφορίες σχετικά με το σφάλμα μπορούν να οριστούν στο ERR_Val0
  • Byte 6: Πιθανές πρόσθετες πληροφορίες σχετικά με το σφάλμα μπορούν να οριστούν στο ERR_Val1
  • Byte 7: CHECKSUM – Άθροισμα ελέγχου των byte 1 έως 6 όπως εξηγείται παραπάνω

ERR_EXT και έχει την ακόλουθη δομή:

 

ERR_EXT δομή πακέτων
Byte 1 .. Byte Ν Byte N+1
Byte σφάλματος 1 έως N ERR_EXT_CHECKSUM

 

  • Byte 1: Πρώτο byte του ERR_EXT
  • Byte N: N-nth Byte του ERR_EXT
  • Byte N+1: ERR_EXT_CHECKSUM, άθροισμα ελέγχου των byte 1 έως N, υπολογιζόμενο όπως εξηγήθηκε προηγουμένως.

 

RSP – πακέτο απόκρισης #

Το πακέτο RSP έχει την ακόλουθη δομή:

Υποχρεωτικό RSP 7 byte

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
RSP_HEADER CMD_CODE RSP_TRAILER RSP_EX_length RSP_Val0 RSP_Val1 ΆΘΡΟΙΣΜΑ ΕΛΈΓΧΟΥ

 

  • Byte 1: RSP_HEADER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0xED
  • Byte 2: CMD_CODE όπως ορίζεται στον πίνακα 2. CMD_CODE τιμές
  • Byte 3: ERR_TRAILER όπως ορίζεται στον Πίνακα1.Σταθερές επικοινωνίας, 0xDE
  • Byte 4: Εάν υπάρχει RSP_EXT, αυτό το byte περιέχει το μήκος του πακέτου RSP_EXT (συμπεριλαμβανομένου RSP_EXT αθροίσματος ελέγχου)
  • Byte 5: Πιθανές πρόσθετες πληροφορίες σχετικά με το RESPONSE μπορούν να οριστούν στο RSP_Val0
  • Byte 6: Πιθανές πρόσθετες πληροφορίες σχετικά με το RESPONSE μπορούν να οριστούν στο RSP_Val1
  • Byte 7: CHECKSUM – Άθροισμα ελέγχου των byte 1 έως 6 όπως εξηγείται παραπάνω.

t

RSP_EXT δομή πακέτων
Byte 1 .. Byte Ν Byte N+1
RSP byte 1 έως N RSP_EXT_CHECKSUM

 

  • Byte 1: Πρώτο byte του RSP_EXT
  • Byte N: N-nth Byte του RSP_EXT
  • Byte N+1: RSP_EXT_CHECKSUM, άθροισμα ελέγχου των byte 1 έως N, υπολογιζόμενο όπως εξηγήθηκε προηγουμένως.