Online Store

بروتوكول الاتصال التسلسلي μFR لأجهزة سلسلة μFR

بروتوكول الاتصال التسلسلي μFR لأجهزة سلسلة μFR

يمكن لأجهزة سلسلة μFR إنشاء اتصال عبر منفذ COM الظاهري الخاص ب FTDI ، لذلك ينظر إلى الأجهزة على أنها أجهزة منفذ COM قياسية.

معلمات الاتصال #

القراء مع واجهة FTDI التسلسلية #

أجهزة القراءة μFR الكلاسيكية و μFR Advance مع اتصال USB:

الاتصال التسلسلي: 1 ميجابت في الثانية ، 8-N-1 ، التحكم في التدفق: لا شيء ؛

يتم استخدام دبوس RTS لإعادة ضبط الجهاز. عند ضبط RTS ، يكون الجهاز في حالة إعادة تعيين. عندما يكون RTS واضحا ، يكون الجهاز في حالة طبيعية.

قارئات μFR BaseHD مع تثبيت البرامج الثابتة "دعم μFR" (مثل قارئات XR و μFR XRc):

الاتصال التسلسلي (باستخدام برنامج تشغيل VCOM FTDI): 250 كيلوبت في الثانية ، 8-N-1 ، التحكم في التدفق: لا شيء ؛

القراء بدون واجهة تسلسلية FTDI #

RS485 (اتصال بدون محول USB / RS-485):

يمكن ضبط معدل الباود المتغير من خلال أداة برمجية. يجب معرفة معدل الباود الحالي عند تغيير معدل الباود. معدل الباود الافتراضي هو 250 كيلوبت في الثانية.

μFR كلاسيك نانو RS232 وحجم البطاقة RS232:

UART / TTL: 115200 بت في الثانية ، 8-N-1 ، التحكم في التدفق: لا يوجد.

115200 بت في الثانية هو معدل الباود الافتراضي. يمكن ضبط معدل الباود المتغير من خلال أداة البرنامج.

يتم استخدام PIN 4 على الموصل لإعادة ضبط الجهاز. إذا كان الجهد على هذا الدبوس مرتفعا (3.3 فولت) ، فهذا يعني أن الجهاز في حالة إعادة الضبط. إذا كان الجهد منخفضا (0 فولت) ، فهذا يعني أن الجهاز في حالة عمل طبيعية.

إذا كان الجهاز متصلا بمحول RS232 إلى TTL ، فإن مستوى الجهد على الدبوس 4 يتحكم في RTS. عندما يكون RTS واضحا ، يكون الجهاز في حالة إعادة تعيين. عند ضبط RTS ، يكون الجهاز في حالة طبيعية.

 

أثناء تحديث البرنامج الثابت ، يجب توصيل دبوس RTS برقم التعريف الشخصي 4 على الجهاز.

يتم عرض Pinout لنموذج UART / TTL أدناه:

نانو-RS232-بينوت

لأغراض الاتصال بين أجهزة القارئ والكمبيوتر المضيف ، يتم إنشاء بروتوكول ملكية D-Logic المسمى "μFR serial".

يتم بدء جميع الاتصالات بواسطة المضيف (الكمبيوتر الشخصي أو الأنظمة الأساسية الأخرى) التي يتصل بها الجهاز.

الحد الأقصى للبيانات المنقولة بأمر واحد أو المستلمة بواسطة استجابة جهاز واحد ، من إصدار البرنامج الثابت 3.9.44 هو 256 بايت ، وقبل ذلك هو 192 بايت.

بشكل عام ، هناك نوعان من الحزم:

  • CMD – الأمر الذي يرسله المضيف إلى الجهاز
  • ANS – الإجابة المرسلة من الجهاز إلى المضيف

يمكن أن يكون CMD مجموعة قصيرة أو طويلة. مجموعة CMD القصيرة هي دائما 7 بايت طويلة بينما CMD مجموعة طويلة – تسمى CMD_EXT يمكن أن يكون لها طول متغير.

الإجابات هي:

  • ACK – إقرار ، كل شيء على ما يرام ، الجهاز ينتظر CMD أو CMD EXT التالي
  • ERR – حدث خطأ ، يحدد بايت الخطأ ERR_TYPE
  • RSP – استجابة من الجهاز على CMD أو CMD_EXT

تحدد ثوابت الاتصال بايت نوع الحزمة ، والتي يمكن رؤيتها في البايتات الثلاثة الأولى من كل حزمة.

البايت الأول من كل حزمة هو بايت HEADER. البايت الثاني هو دائما CMD_CODE. البايت الثالث هو بايت 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

 

المجموع الاختباري #

يتم حساب جميع المجاميع الاختبارية في هذا المستند بنفس الطريقة: يتم استخدام صف من البايتات لحساب المجموع الاختباري ، كل بايت هو XOR-ed مع البايت التالي حتى نهاية الصف. يتم زيادة القيمة النهائية ب 0x07.

على سبيل المثال ، تحتوي حزمة CMD على 7 بايت ، حيث يكون البايت السابع هو المجموع الاختباري ل 6 بايت السابقة:

المجموع الاختباري = (Byte1 XOR Byte2 XOR Byte3 XOR Byte4 XOR Byte5 XOR Byte6) + 0x07

رموز CMD #

كل أمر له قيمته المقابلة – انظر إلى نظرة عامة على الأوامر.

رموز الخطأ #

في حالة حدوث خطأ ، سيجيب الجهاز بحزمة ERR. كل خطأ له قيمته المقابلة والتي يمكن العثور عليها في الجدول في الملحق: رموز الخطأ.

حزمة CMD #

يمكن أن تكون حزمة CMD قصيرة – 7 بايت طويلة أو EXT-End بطول متغير. في حالة حزمة EXT CMD ، يكون البايت الرابع من حزمة CMD أكبر من 0 ، ويحتوي على قيمة عدد صحيح – طول حزمة CMD_EXT. عند إصدار CMD_EXT ، دائما ما تكون الحزمة الطويلة CMD 7 بايت الرئيسية أولا. إذا كان كل شيء كما هو متوقع ، فسوف يجيب الجهاز بحزمة ACK ، في انتظار الحزمة CMD_EXT. عند الخطأ ، سيجيب الجهاز بحزمة ERR. يتكون CMD_EXT من معلمات مختلفة مختلفة ، اعتمادا على نوع الأمر ، لذلك لا يحتوي CMD_EXT على طول ثابت وترتيب للمعلمات.

تحتوي حزمة CMD على الهيكل التالي:

تحتوي حزمة CMD على الهيكل التالي:

هيكل حزمة CMD إلزامي 7 بايت

بايت 1 بايت 2 بايت 3 بايت 4 بايت 5 بايت 6 بايت 7
CMD_HEADER CMD_CODE CMD_TRAILER CMD_EXT_Length CMD_Par0 CMD_Par1 المجموع الاختباري

 

  • بايت 1: CMD_HEADER كما هو محدد في Table1.ثوابت الاتصالات ، 0x55
  • بايت 2: CMD_CODE كما هو محدد في الجدول 2. القيم CMD_CODE
  • بايت 3: CMD_TRAILER كما هو محدد في الجدول 1.ثوابت الاتصالات ، 0xAA
  • بايت 4: CMD_EXT_Length: إذا كان 0 ثم لا يتم استخدام "CMD EXT") ؛ قيمة ELSE هي طول حزمة CMD_EXT بأكملها
  • بايت 5: CMD_Par0: معلمة الأمر 0 ، تأخذ قيما مختلفة اعتمادا على الأمر
  • بايت 6: CMD_Par1: معلمة الأمر 1 ، تأخذ قيما مختلفة اعتمادا على الأمر
  • البايت 7: CHECKSUM – المجموع الاختباري للبايت من 1 إلى 6 كما هو موضح أعلاه

تحتوي الحزمة CMD_EXT على البنية التالية:

تحتوي الحزمة CMD_EXT على البنية التالية:

هيكل حزمة CMD_EXT
بايت 1 بايت N بايت N+1
بايت المعلمة 1 إلى N

CMD_EXT_CHECKSUM

 

بايت المعلمة من 1 إلى N – معلمات مختلفة ، تعتمد القيم على نوع الأمر

  • CMD_EXT_CHECKSUM – المجموع الاختباري للبايت من 1 إلى N
  • CMD_EXT_Length هو عدد جميع البايتات بما في ذلك CMD_EXT_CHECKSUM ؛ على سبيل المثال الطول هو N + 1

أنواع حزم الإجابة #

يمكن للجهاز الإجابة بأنواع الحزم التالية:

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 إلى إجابة بمزيد من البايتات ، فسيأتي RSP_EXT مباشرة بعد حزمة RSP. الموقف الشائع هو عند قراءة البيانات باستخدام الأمر LinearRead ، حيث سيجيب الجهاز بصف من بايت بيانات البطاقة.

ACK – حزمة الإقرار #

تحتوي حزمة ACK على الهيكل التالي:

تحتوي حزمة ACK على الهيكل التالي:

هيكل حزمة ACP

بايت 1 بايت 2 بايت 3 بايت 4 بايت 5 بايت 6 بايت 7
ACK_HEADER CMD_CODE CMD_TRAILER غير ذي صلة ، غير مستخدم في حزمة ACK المجموع الاختباري

 

  • بايت 1: ACK_HEADER كما هو محدد في الجدول 1.ثوابت الاتصالات ، 0x55
  • بايت 2: CMD_CODE كما هو محدد في الجدول 2. قيم CMD_CODE. ACKnowledges الجهاز أن الأمر السابق قد تم إرساله بشكل صحيح
  • بايت 3: ACK_HEADER كما هو محدد في الجدول 1.ثوابت الاتصالات ، 0x55
  • البايت 4: البايت 5 ، البايت 6: غير مستخدم في حزمة ACK ، القيم 0x00
  • البايت 7: CHECKSUM – المجموع الاختباري للبايت من 1 إلى 6 كما هو موضح أعلاه

ERR – حزمة خطأ #

تحتوي حزمة ERR على الهيكل التالي:

إلزامي 7 بايت ERR

بايت 1 بايت 2 بايت 3 بايت 4 بايت 5 بايت 6 بايت 7
ERR_HEADER ERROR_CODE ERR_TRAILER ERR_EXT_Length Err_Val0 Err_Val1 المجموع الاختباري

 

  • بايت 1: ERR_HEADER كما هو محدد في الجدول 1.ثوابت الاتصال ، 0xEC
  • بايت 2: ERR_CODE كما هو محدد في الجدول 3. رموز الخطأ.
  • بايت 3: ERR_TRAILER كما هو محدد في الجدول 1.ثوابت الاتصالات ، 0xCE
  • البايت 4: في حالة وجود ERR_EXT ، يحتوي هذا البايت على طول الحزمة ERR_EXT (بما في ذلك المجموع الاختباري ERR_EXT)
  • بايت 5: يمكن تحديد معلومات إضافية محتملة عن الخطأ في ERR_Val0
  • بايت 6: يمكن تحديد معلومات إضافية محتملة عن الخطأ في ERR_Val1
  • البايت 7: CHECKSUM – المجموع الاختباري للبايت من 1 إلى 6 كما هو موضح أعلاه

ERR_EXT وله الهيكل التالي:

 

ERR_EXT هيكل الحزمة
بايت 1 .. بايت N بايت N+1
بايت الخطأ 1 إلى N ERR_EXT_CHECKSUM

 

  • البايت 1: البايت الأول من ERR_EXT
  • البايت N: N-nth بايت من ERR_EXT
  • البايت N + 1: ERR_EXT_CHECKSUM ، المجموع الاختباري للبايت من 1 إلى N ، محسوبا كما هو موضح سابقا.

 

RSP – حزمة الاستجابة #

تحتوي حزمة RSP على البنية التالية:

RSP إلزامي 7 بايت

بايت 1 بايت 2 بايت 3 بايت 4 بايت 5 بايت 6 بايت 7
RSP_HEADER CMD_CODE RSP_TRAILER RSP_EX_length RSP_Val0 RSP_Val1 المجموع الاختباري

 

  • بايت 1: RSP_HEADER كما هو محدد في الجدول 1.ثوابت الاتصالات ، 0xED
  • بايت 2: CMD_CODE كما هو محدد في الجدول 2. القيم CMD_CODE
  • بايت 3: ERR_TRAILER كما هو محدد في Table1.ثوابت الاتصالات ، 0xDE
  • بايت 4: في حالة وجود RSP_EXT ، يحتوي هذا البايت على طول حزمة RSP_EXT (بما في ذلك المجموع الاختباري RSP_EXT)
  • بايت 5: يمكن تحديد معلومات إضافية محتملة حول RESPONSE في RSP_Val0
  • بايت 6: يمكن تحديد معلومات إضافية محتملة حول RESPONSE في RSP_Val1
  • البايت 7: CHECKSUM – المجموع الاختباري للبايت من 1 إلى 6 كما هو موضح أعلاه.

تي

هيكل حزمة RSP_EXT
بايت 1 .. بايت N بايت N+1
RSP بايت 1 إلى N RSP_EXT_CHECKSUM

 

  • البايت 1: البايت الأول من RSP_EXT
  • البايت N: N-nth بايت من RSP_EXT
  • البايت N + 1: RSP_EXT_CHECKSUM ، المجموع الاختباري للبايت من 1 إلى N ، محسوبا كما هو موضح سابقا.