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

STMicroelectronics UM2548 Linux Driver - Featured Image

شعار STMicroelectronicsبرنامج تشغيل لينكس UM2548
لينكس
® سائق ل ST25R3916/ST25R3916B
دليل المستخدم

برنامج تشغيل لينكس UM2548

مقدمة
STSW-ST25R013 يمكّن برنامج التشغيل Linux® جهاز Raspberry Pi® 4 من العمل مع لوحات X-NUCLEO-NFCO6A1 وX-NUCLEO-NFCO8A1، والتي تحتوي على أجهزة ST25R3916 وST25R3916B، على التوالي.
تقوم هذه الحزمة بتوصيل طبقة تجريد الترددات اللاسلكية (RFAL) إلى منصة Raspberry Pi 4 Linux، للعمل مع البرامج الثابتة للوحة، وتوفر ما يلي:ampيكتشف التطبيق أنواعًا مختلفة من NFC tags والهواتف المحمولة التي تدعم P2P. RFAL هو برنامج التشغيل القياسي ST لـ ST25R3916 وST25R3916B، وأجهزة NFC العالمية عالية الأداء / قارئات EMVCo. يتم استخدامه، على سبيل المثال، بواسطة البرامج الثابتة ST25R3916-DISCO (STSW-ST25R010) والبرامج الثابتة X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 يدعم جميع بروتوكولات الطبقة السفلية ST25R3916/ST25R3916B وبعض بروتوكولات الطبقة العليا للاتصال. تمت كتابة RFAL بطريقة محمولة، بحيث يمكن تشغيلها على مجموعة واسعة من الأجهزة التي تعتمد على Linux. يصف هذا المستند كيفية استخدام مكتبة RFAL على نظام Linux القياسي (في هذه الحالة Raspberry Pi 4) للاتصالات NFC/RF. الكود سهل الحمل للغاية ويعمل مع تغييرات طفيفة على أي منصة Linux.

برنامج تشغيل Linux STMicroelectronics UM2548 - منصة Linux

زيادةview

1.1 المميزات

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

1.2 هندسة البرمجيات
يوضح الشكل 2 تفاصيل بنية البرنامج لمكتبة RFAL على منصة Linux.
يمكن نقل RFAL بسهولة إلى منصات أخرى من خلال تكييف ما يسمى بالمنصة files.
الرأس file يحتوي rfal_platform.h على تعريفات الماكرو التي سيتم توفيرها وتنفيذها من قبل مالك النظام الأساسي.
فهو يوفر إعدادات خاصة بالمنصة مثل تعيين GPIO، وموارد النظام، والأقفال، وطلبات IRQs، المطلوبة للتشغيل الصحيح لـ RFAL.
ينفذ هذا العرض التوضيحي وظائف النظام الأساسي ويوفر منفذ RFAL إلى مساحة مستخدم Linux.
مكتبة مشتركة file يتم إنشاؤه، والذي يستخدم من خلال تطبيق توضيحي لعرض الوظائف التي توفرها طبقة RFAL.
يستخدم مضيف Linux واجهة sysfs المتاحة من مساحة مستخدم Linux لإجراء اتصال SPI مع الأجهزة. داخل Linux kernel، تستخدم واجهة SPI sysfs برنامج تشغيل Linux kernel spidev لإرسال/استقبال إطارات SPI من/إلى الأجهزة.
للتعامل مع خط INT الخاص بالأجهزة ST25R3916 وST25R3916B، يستخدم برنامج التشغيل libpiod sysfs للحصول على إشعار بالتغييرات على هذا الخط.

برنامج تشغيل Linux STMicroelectronics UM2548 - هندسة البرمجيات

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

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

2.2 متطلبات الأجهزة

  • راسبيري باي 4
  • بطاقة SD صغيرة بسعة 8 جيجابايت لتشغيل نظام التشغيل Raspberry Pi OS (مع أحدث متطلباته)
  • قارئ بطاقة SD
  • لوحات X-NUCLEO-NFC06A1 أو X-NUCLEO-NFC08A1
  • جسر لتوصيل اللوحة بمحول Raspberry Pi Arduino™ لـ Raspberry Pi (رقم القطعة ARPI600)

2.2.1 اتصالات الأجهزة
يتم استخدام محول ARPI600 Raspberry Pi إلى Arduino لتوصيل اللوحات بـ Raspberry Pi. يجب تعديل وصلات العبور الخاصة بلوحة المحول لتوصيلها بلوحات X-NUCLEO-NFC06A1 أو X-NUCLEO-NFC08A1.
حذر:
يقوم ARPI600 بتزويد 5 فولت بشكل غير صحيح إلى طرف Arduino IOREF. يؤدي توصيل اللوحات مباشرة إلى تغذية 5 فولت على بعض المسامير، مما قد يؤدي إلى تلف لوحة Raspberry Pi. هناك تقارير عن لوحات مدمرة (خاصة Raspberry Pi 4B+).
لتجنب ذلك، قم بتكييف ARPI600 (عملية صعبة إلى حد ما)، أو لوحة X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (أسهل).
الحل الأسهل هو قطع دبوس CN6.2 (IOREF) الموجود على لوحات X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1، كما هو موضح في الشكل 3.
لا يؤثر قطع هذا الدبوس على التشغيل بالتزامن مع لوحات Nucleo (مثل NUCLEO-L474RG، وNUCLEO-F401RE، وNUCLEO-8S208RB).

برنامج تشغيل Linux STMicroelectronics UM2548 - اتصال الأجهزة

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

برنامج تشغيل STMicroelectronics UM2548 Linux - لوحة المحول

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

برنامج تشغيل Linux STMicroelectronics UM2548 - إعداد الأجهزة

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

3.1 تشغيل راسبيري باي
لإعداد بيئة Linux، قم أولاً بتثبيت Raspberry Pi وتشغيله باستخدام Raspberry Pi OS، كما هو موضح أدناه:
الخطوة 1
قم بتنزيل أحدث صورة لنظام التشغيل Raspberry Pi من https://www.raspberrypi.com، ثم اختر Raspberry Pi OS مع سطح المكتب. بالنسبة للاختبارات الواردة أدناه، تم استخدام الإصدار 2022-09-22-raspios-bullseye-armhf.img.xz (سبتمبر 2022).
الخطوة 2
قم بفك ضغط صورة Raspberry Pi OS واكتبها على بطاقة SD باتباع الإرشادات المتوفرة في القسم المسمى "كتابة صورة على بطاقة SD".
الخطوة 3
قم بتوصيل الجهاز:

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

من الممكن أيضًا العمل مع Raspberry Pi باستخدام ssh. في هذه الحالة. ليس من الضروري توصيل الشاشة ولوحة المفاتيح والماوس بـ Raspberry Pi. الشرط الوحيد هو أن يكون جهاز الكمبيوتر مزودًا بـ ssh داخل نفس الشبكة مثل Raspberry Pi، وتكوين عنوان IP وفقًا لذلك.
الخطوة 4
قم بتشغيل Raspberry Pi 4 باستخدام بطاقة SD. بعد التشغيل، يظهر سطح مكتب Linux المستند إلى Debian على الشاشة.
ملحوظة:
في بعض الأحيان، بعد تشغيل Raspberry Pi OS، لا تعمل بعض مفاتيح لوحة المفاتيح. لجعلها تعمل، افتح file /etc/default/keyboard وقم بتعيين XKBLAYOUT=”us”، وأعد تشغيل Raspberry Pi.
3.2 تمكين SPI على Raspberry Pi
يتواصل برنامج تشغيل SPI داخل النواة مع لوحات X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 من خلال SPI. من المهم التحقق مما إذا كان SPI ممكّنًا بالفعل في تكوين kernel Raspbian Pi OS.
تحقق مما إذا كان /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 في أرشيف، مثل ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
لإنشاء مكتبة وتطبيق RFAL على Raspberry Pi، اتبع الخطوات التالية:
الخطوة 1
قم بفك ضغط الحزمة على Raspberry Pi باستخدام الأمر التالي من الدليل الرئيسي
القطران -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
الخطوة 2
قم بتثبيت cmake (إذا لم يتم ذلك من قبل) باستخدام الأمر
apt-get install cmake
تعتمد مكتبة RFAL ونظام بناء التطبيقات على cmake، ولهذا السبب يلزم تثبيت cmake لتجميع الحزمة.
الخطوة 3
لإنشاء مكتبة وتطبيق RFAL، انتقل إلى دليل البناء
قرص مضغوط ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
ومن هناك قم بتشغيل الأمر
سي ميك ..
في الأمر أعلاه ".." يشير إلى وجود CMakeLists.txt ذو المستوى الأعلى في الدليل الأصل
(ST25R3916_v2.8.0_Linux_demo_v1.0).
يقوم هذا الأمر بإنشاء النموذجfile تستخدم في الخطوة التالية لبناء المكتبة والتطبيق. ومن هناك، قم بتشغيل الأمر التالي لإنشاء العرض التوضيحي لـ ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
الخطوة 4
قم بتشغيل الأمر make لإنشاء مكتبة وتطبيق RFAL:
يصنع
يقوم هذا الأمر أولاً بإنشاء مكتبة RFAL، ثم التطبيق فوقها.

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

يؤدي التراكم الناجح إلى إنشاء ملف قابل للتنفيذ باسم "nfc_poller_st25r3916" أو "nfc_poller_st25r3916b" في الموقع /build/demo.
افتراضيًا، يجب تشغيل التطبيق باستخدام حقوق الجذر من المسار ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
سودو ./nfc_demo_st25r3916
يبدأ التطبيق في الاستطلاع لـ NFC tags والهواتف المحمولة، ثم يتم عرض الأجهزة التي تم العثور عليها مع المعرف الفريد (UID) الخاص بها، كما هو موضح في الشكل 7.

برنامج تشغيل STMicroelectronics UM2548 Linux - تم العثور على الأجهزة

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

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

تاريخ المراجعة التغييرات
1-مارس-19 1 الإصدار الأولي.
4-23-XNUMX 2 عنوان المستند المحدث، مقدمة القسم، ميزات القسم 1.1،
القسم 1.2 بنية البرمجيات، القسم 2.1 النظام الأساسي المستخدم، القسم 2.2 الأجهزة
المتطلبات، القسم 2.2.1 اتصالات الأجهزة، القسم 3.1 تمهيد Raspberry Pi،
القسم 3.2 تمكين SPI على Raspberry Pi، القسم 4 إنشاء مكتبة وتطبيق RFAL،
والقسم 5 كيفية تشغيل التطبيق.
تحديث الشكل 1. مكتبة RFAL على منصة Linux، الشكل 2. بنية برمجيات RFAL
على Linux، والشكل 5. إعداد الأجهزة في الأعلى view.
تعديلات طفيفة على النص عبر المستند بأكمله.

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

UM2548 - القس 2

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

PDF thumbnailبرنامج تشغيل لينكس UM2548
User Manual · UM2548 Linux Driver, UM2548, 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.