دليل مستخدم برنامج تشغيل STMicroelectronics UM2375 Linux

STMicroelectronics UM2375 Linux Driver User Manual

دليل مستخدم برنامج تشغيل STMicroelectronics UM2375 Linux

شعار شركة إس تي ميكروإلكترونيكس

برنامج تشغيل Linux®‎ للواجهات الأمامية لتقنية NFC عالية الأداء ST25R3911B وST25R3912/14/15

مقدمة

يتيح برنامج التشغيل STSW-ST25R009 Linux® لـ Raspberry Pi 4 العمل مع X-NUCLEO-NFC05A1، الذي يحتوي على جهاز NFC العالمي عالي الأداء ST25R3911B.

تقوم هذه الحزمة بتوصيل طبقة تجريد الترددات اللاسلكية (RFAL) إلى منصة Raspberry Pi 4 Linux للعمل مع البرامج الثابتة X-NUCLEO-NFC05A1. توفر الحزمة كماampيكتشف التطبيق أنواعًا مختلفة من NFC tags والهواتف المحمولة التي تدعم P2P. RFAL هو برنامج التشغيل القياسي ST لـ ST25R NFC/RFID Reader ICs ST25R3911B، ST25R3912، ST25R3913، ST25R3914 وST25R3915. يتم استخدامه، على سبيل المثال، بواسطة البرامج الثابتة ST25R3911B-DISCO (STSW-ST25R002) والبرامج الثابتة X-NUCLEONFC05A1 (X-CUBE-NFC5).

يدعم STSW-ST25R009 جميع بروتوكولات الطبقة السفلية ST25R3911B وأيضًا بعض بروتوكولات الطبقة العليا للاتصالات. تمت كتابة RFAL بطريقة محمولة، بحيث يمكن تشغيله على مجموعة واسعة من الأجهزة التي تعتمد على Linux®. يصف هذا المستند كيفية استخدام مكتبة RFAL على نظام Linux القياسي (في هذه الحالة Raspberry Pi 4) للاتصالات NFC/RF. الكود سهل الحمل للغاية ويعمل مع تغييرات طفيفة على أي نظام Linux.

الشكل 1. مكتبة RFAL على منصة Linux

الشكل 1: مكتبة RFAL على منصة Linux

زيادةview

سمات
  • برنامج تشغيل مساحة مستخدم Linux كامل (طبقة تجريد الترددات اللاسلكية) لإنشاء تطبيقات تدعم تقنية NFC باستخدام واجهات NFC عالية الأداء ST25R3911B/ST25R391x مع طاقة خرج تصل إلى 1.4 وات
  • اتصال مضيف Linux مع ST25R3911B/ST25R391x باستخدام واجهة SPI
  • تجريد RF / NFC الكامل (RFAL) لجميع التقنيات الرئيسية وبروتوكولات الطبقة العليا:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • إن إف سي-V (ISO15693)
    • بي 2 بي (ISO18092)
    • ISO-DEP (بروتوكول تبادل بيانات ISO ، ISO14443-4)
    • NFC-DEP (بروتوكول تبادل بيانات NFC ، ISO18092)
    • تقنيات خاصة (Kovio، B'، iClass، Calypso®، ...)
  • Sampالتنفيذ متاح مع لوحة التوسعة X-NUCLEO-NFC05A1، الموصولة بـ Raspberry Pi 4
  • Sampتطبيق le للكشف عن عدة NFC tag أنواع الهواتف المحمولة التي تدعم تقنية P2P
  • شروط ترخيص مجانية سهلة الاستخدام
هندسة البرمجيات

يوضح الشكل 2 تفاصيل بنية البرنامج لمكتبة RFAL على منصة Linux®.

يمكن نقل RFAL بسهولة إلى منصات أخرى من خلال تكييف ما يسمى بالمنصة files.

الرأس file rfal_platform.h يحتوي على تعريفات ماكرو، والتي يجب توفيرها وتنفيذها من قبل مالك النظام الأساسي. علاوة على ذلك، فإنه يوفر إعدادات خاصة بالمنصة مثل تعيين GPIO، وموارد النظام، والأقفال، وطلبات المقاطعة (IRQs)، المطلوبة للتشغيل الصحيح لـ RFAL.

ينفذ هذا العرض التوضيحي وظائف النظام الأساسي ويوفر منفذًا لمكتبة RFAL إلى مساحة مستخدم Linux®. مكتبة مشتركة file يتم إنشاؤه، والذي يستخدمه التطبيق التجريبي لعرض الوظائف التي توفرها طبقة RFAL.

يستخدم مضيف Linux® واجهة sysfs المتاحة من مساحة مستخدم Linux® لتمكين اتصال SPI مع جهاز ST25R3911B. داخل Linux® kernel، تستخدم واجهة SPI sysfs برنامج تشغيل Linux® kernel spidev لإرسال/استقبال إطارات SPI إلى/من ST25R3911B.

للتعامل مع خط المقاطعة ST25R3911B، يستخدم برنامج التشغيل libgpiod للحصول على إشعار بالتغييرات على هذا الخط.

الشكل 2. بنية برنامج RFAL على Linux

الشكل 2: بنية برنامج RFAL على Linux

إعداد الأجهزة

منصة المستخدمة

يتم استخدام لوحة Raspberry Pi 4 مع نظام التشغيل Raspberry Pi كمنصة Linux لبناء مكتبة RFAL والتفاعل مع ST25R3911B عبر SPI.
يتيح ST25R3911B تطبيقًا على نظام Linux لاكتشاف أجهزة NFC والتواصل معها.

متطلبات الأجهزة
  • راسبيري باي 4
  • بطاقة SD صغيرة بسعة 8 جيجابايت لتشغيل نظام التشغيل Raspberry Pi OS
  • قارئ بطاقة SD
  • لوحة جسر لتوصيل X-NUCLEO-NFC05A1 مع محول Raspberry Pi Arduino لـ Raspberry Pi، رقم الجزء ARPI600.
  • X-نوكليو-NFC05A1. ارجع إلى أحدث متطلبات نظام التشغيل Raspberry Pi.

اتصالات الأجهزة

يتم استخدام لوحة محول ARPI600 Raspberry Pi إلى Arduino لتوصيل X-NUCLEO-NFC05A1 مع Raspberry Pi. يلزم تعديل وصلات العبور الخاصة بلوحة المحول لتوصيلها بـ X-NUCLEO-NFC05A1.

حذر: يقوم ARPI600 بتزويد 5 فولت بشكل غير صحيح إلى طرف Arduino IOREF. توصيل X-NUCLEO-NFC05A1 مباشرة يغذي 5 فولت على بعض المسامير، وقد يؤدي ذلك إلى تلف لوحة Raspberry Pi. هناك تقارير خاصة عن تدمير Raspberry Pi 4B+ بالفعل. لتجنب هذا الموقف، قم بتكييف إما ARPI600 (عملية صعبة إلى حد ما) أو X-NUCLEO-NFC05A1 (عملية أسهل).

الحل الأسهل هو قطع دبوس CN6.2 (IOREF) الموجود على X-NUCLEO-NFC05A1 كما هو موضح في الشكل 3.

لا يؤثر قطع هذا الدبوس على التشغيل بالتزامن مع لوحات Nucleo (NUCLEO-L474RG، وNUCLEO-F401RE، وNUCLEO-8S208RB، وما إلى ذلك).

الشكل 3. إصلاح اتصال الأجهزة

الشكل 3: إصلاح اتصال الأجهزة

إعداد الطائر

يجب تغيير وصلات العبور لـ A5 وA4 وA3 وA2 وA1 وA0 الموضحة في الشكل 4 إلى P23 وP22 وP21 وCE1. باستخدام إعدادات وصلة المرور هذه، يتم استخدام دبوس GPIO رقم 7 الخاص بـ Raspberry كخط مقاطعة لـ X-NUCLEO-NFC05A1.

الشكل 4. موضع وصلات العبور A5 وA4 وA3 وA2 وA1 وA0 على لوحة المحول

الشكل 4: موقف لاعبا

حاليًا، يستخدم منفذ مكتبة RFAL هذا الدبوس GPIO7 كخط المقاطعة، وفقًا لإعدادات وصلة المرور. إذا كانت هناك حاجة لتغيير خط المقاطعة من GPIO7 إلى GPIO مختلف، فإن الكود الخاص بالنظام الأساسي (في file pltf_gpio.h) يحتاج إلى تعديل لتغيير تعريف الماكرو "ST25R_INT_PIN" من 7 إلى دبوس GPIO الجديد، لاستخدامه كخط مقاطعة.

باستخدام إعدادات وصلة التوصيل المذكورة أعلاه، يمكن استخدام لوحة المحول لتوصيل X-NUCLEO-NFC05A1 بلوحة Raspberry Pi كما هو موضح في الشكل 5.

الشكل 5. أعلى إعداد الأجهزة view

الشكل 5: إعداد الأجهزة في الأعلى view

الشكل 6. جانب إعداد الأجهزة view

الشكل 6: جانب إعداد الأجهزة view

إعداد بيئة لينكس

تمهيد Raspberry Pi

لإعداد بيئة Linux، الخطوة الأولى هي تثبيت وتشغيل Raspberry Pi 4 مع نظام التشغيل Raspberry Pi OS كما هو موضح أدناه:

الخطوة 1

قم بتنزيل أحدث صورة لنظام التشغيل Raspberry Pi من الرابط:

اختر Raspberry Pi OS مع سطح المكتب. بالنسبة للاختبارات أدناه، تم استخدام الإصدار التالي: سبتمبر 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

الخطوة 2

قم بفك ضغط صورة Raspberry Pi واكتبها في بطاقة SD باتباع الإرشادات المتوفرة في القسم المسمى "كتابة صورة على بطاقة SD".

الخطوة 3

قم بتوصيل الجهاز:

  • قم بتوصيل Raspberry Pi بشاشة باستخدام كابل HDMI قياسي.
  • قم بتوصيل الماوس ولوحة المفاتيح بمنافذ USB الخاصة بـ Raspberry Pi.

من الممكن أيضًا العمل مع Raspberry Pi باستخدام ssh. في هذه الحالة، ليس من الضروري توصيل الشاشة ولوحة المفاتيح والماوس بـ Raspberry Pi. الشرط الوحيد هو أن يكون جهاز الكمبيوتر مزودًا بـ ssh داخل نفس الشبكة مثل Raspberry Pi وتكوين عنوان IP وفقًا لذلك.

الخطوة 4

قم بتشغيل Raspberry Pi باستخدام بطاقة SD.

بعد التشغيل، يظهر سطح مكتب Linux المستند إلى Debian على الشاشة.

ملحوظة: في بعض الأحيان، يُلاحظ أنه بعد تشغيل Raspberry Pi، لا تعمل بعض مفاتيح لوحة المفاتيح. لجعلها تعمل، افتح file /etc/default/keyboard وقم بتعيين XKBLAYOUT=”us” وأعد تشغيل Raspberry Pi.

تفعيل SPI على Raspberry Pi

يتواصل برنامج تشغيل SPI داخل النواة مع X-NUCLEO-NFC05A1 عبر SPI. من المهم التحقق مما إذا كان SPI ممكّنًا بالفعل في تكوين Raspberry Pi OS/kernel.
تحقق مما إذا كان /dev/spidev0.0 مرئيًا في بيئة Raspberry Pi. إذا لم تكن مرئية، فقم بتمكين واجهة SPI باستخدام الأداة المساعدة "raspi-config" باتباع الخطوات الموضحة أدناه.

الخطوة 1

افتح محطة جديدة على Raspberry Pi وقم بتشغيل الأمر "raspi-config" كجذر:

sudo raspi-config

تفتح هذه الخطوة واجهة رسومية.

الخطوة 2

حدد في الواجهة الرسومية الخيار المسمى "خيارات الواجهة".

الخطوة 3

تسرد هذه الخطوة خيارات مختلفة.
حدد الخيار المسمى "SPI".
تظهر نافذة جديدة بالنص التالي:
"هل ترغب في تمكين واجهة SPI؟"

الخطوة 4

يختار في هذه النافذة لتمكين SPI.

الخطوة 5

إعادة تشغيل Raspberry Pi.
ستعمل الخطوات المذكورة أعلاه على تمكين واجهة SPI في بيئة Raspberry Pi بعد إعادة التشغيل.

بناء مكتبة وتطبيق RFAL

يتم توفير العرض التوضيحي RFAL لنظام التشغيل Linux في الأرشيف. لنفترض أن إسمها هو:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
لإنشاء مكتبة وتطبيق RFAL على Raspberry Pi، اتبع الخطوات التالية:

الخطوة 1

قم بفك ضغط الحزمة على Raspberry Pi باستخدام الأمر أدناه من الدليل الرئيسي:

القطران -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz

الخطوة 2

إذا لم يتم ذلك من قبل، قم بتثبيت cmake باستخدام الأمر أدناه:

apt-get install cmake

يعتمد نظام بناء مكتبة وتطبيقات RFAL على cmake، ولهذا السبب يلزم تثبيت cmake لتجميع الحزمة.

الخطوة 3

لإنشاء مكتبة وتطبيق RFAL، انتقل إلى دليل "build":

قرص مضغوط ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

وقم بتشغيل الأمر أدناه من هناك:

سي ميك ..

في الأمر أعلاه ".." يشير إلى أن المستوى الأعلى CMakeLists.txt موجود في الدليل الأصلي، أي
ST25R3911B_v2.8.0_Linux_demo_v1.0.

يقوم الأمر cmake بإنشاء ملف makefile الذي يتم استخدامه في الخطوة التالية لبناء المكتبة والتطبيق.

الخطوة 4

قم بتشغيل الأمر "make" لإنشاء مكتبة وتطبيق RFAL:

يصنع

يقوم أمر "make" أولاً بإنشاء مكتبة RFAL ثم إنشاء التطبيق فوقها.

كيفية تشغيل التطبيق

يؤدي التراكم الناجح إلى إنشاء ملف قابل للتنفيذ باسم "nfc_demo_st25r3911b" في الموقع التالي:
/بناء/تطبيقات.

افتراضيًا، يجب تشغيل التطبيق باستخدام حقوق الجذر من المسار: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

سودو ./demo/nfc_demo_st25r3911b

يبدأ التطبيق في الاستطلاع لـ NFC tags والهواتف المحمولة. يعرض الأجهزة التي تم العثور عليها مع UID الخاص بها كما هو موضح في الشكل 7.

الشكل 7. عرض الأجهزة التي تم العثور عليها

الشكل 7: عرض الأجهزة التي تم العثور عليها

لإنهاء التطبيق اضغط على Ctrl + C.

تاريخ المراجعة

الجدول 1. تاريخ مراجعة الوثيقة

الجدول بالحجم الكامل

قائمة الجداول

الجدول 1. تاريخ مراجعة الوثيقة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

قائمة الأرقام

الشكل 1. مكتبة RFAL على منصة Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
الشكل 2. بنية برنامج RFAL على Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
الشكل 3. إصلاح اتصال الأجهزة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
الشكل 4. موضع وصلات العبور A5 وA4 وA3 وA2 وA1 وA0 على لوحة المحول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
الشكل 5. أعلى إعداد الأجهزة view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
الشكل 6. جانب إعداد الأجهزة view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
الشكل 7. عرض الأجهزة التي تم العثور عليها. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

إشعار هام – اقرأ بعناية

تحتفظ شركة STMicroelectronics NV والشركات التابعة لها ("ST") بالحق في إجراء تغييرات وتصحيحات وتعزيزات وتعديلات وتحسينات على منتجات ST و/أو هذه الوثيقة في أي وقت دون إشعار. يجب على المشترين الحصول على أحدث المعلومات ذات الصلة بمنتجات ST قبل تقديم الطلبات. تُباع منتجات ST وفقًا لشروط وأحكام البيع الخاصة بشركة ST السارية وقت إقرار الطلب.

يعتبر المشترون مسؤولين بشكل كامل عن اختيار منتجات ST واختيارها واستخدامها، ولا تتحمل شركة ST أي مسؤولية عن مساعدة التطبيق أو تصميم منتجات المشترين.

لا يتم منح أي ترخيص، صريحًا أو ضمنيًا، لأي حق من حقوق الملكية الفكرية من قبل شركة ST هنا.

إن إعادة بيع منتجات ST بأحكام مختلفة عن المعلومات الواردة هنا يؤدي إلى إبطال أي ضمان تمنحه شركة ST لهذا المنتج.

ST وشعار ST هما علامتان تجاريتان لشركة ST. لمزيد من المعلومات حول العلامات التجارية لشركة ST، راجع www.st.com/trademarks. جميع أسماء المنتجات أو الخدمات الأخرى هي ملك لأصحابها.

تحل المعلومات الواردة في هذه الوثيقة محل المعلومات المقدمة مسبقًا في أي إصدارات سابقة من هذه الوثيقة.

© 2023 STMicroelectronics – جميع الحقوق محفوظة

المستندات / الموارد

PDF thumbnailبرنامج تشغيل لينكس UM2375
User Manual · UM2375 Linux Driver, UM2375, Linux Driver, Driver

مراجع

اطرح سؤالا

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

اطرح سؤالا

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.