شعار ST

توسيع برنامج STMicroelectronics UM3469 X-CUBE-ISO1

توسيع برمجيات STMicroelectronics-UM3469-X-CUBE-ISO1

مقدمة

تعمل حزمة برامج التوسعة X-CUBE-ISO1 لـ STM32Cube على STM32، وتتضمن برنامجًا ثابتًا لـ X-NUCLEO-ISO1A1. يوفر البرنامج حلاً سهل الاستخدام لتطوير جهاز PLC أساسي يوفره X-NUCLEO. تعتمد هذه الحزمة على تقنية برنامج STM32Cube لتسهيل نقلها بين مختلف وحدات التحكم الدقيقة STM32.

يأتي البرنامج مع تطبيق يعمل على لوحة التوسعة X-NUCLEO-ISO1A1 المتصلة بلوحة تطوير NUCLEO-G071RB (أو NUCLEO-G0B1RE أو NUCLEO-G070RB). من الآن فصاعدًا، سيتم ذكر NUCLEO-G071RB فقط في الوثيقة للتبسيط.
تم تصميم لوحة X-NUCLEO-ISO1A1 لدعم تكديس لوحين بإعدادات وصلة مناسبة لتوسيع قدرات الإدخال والإخراج.

اختصارات

الجدول 1. قائمة المختصرات

اختصار وصف
وحدة تحكم منطقية قابلة للبرمجة وحدة تحكم منطقية قابلة للبرمجة
واجهة برمجة التطبيقات واجهة برمجة التطبيقات
تعديل عرض النبضة تعديل عرض النبضة
منفذ الإدخال والإخراج العام (GPIO) الإدخال/الإخراج للأغراض العامة.
هال طبقة المواد الصلبة
PC كمبيوتر شخصي
FW البرامج الثابتة

ما هو STM32Cube؟

يمثل STM32Cube™ مبادرة STMicroelectronics لتسهيل حياة المطورين من خلال تقليل جهد التطوير والوقت والتكلفة. يغطي STM32Cube مجموعة منتجات STM32.
يتضمن إصدار STM32Cube 1.x ما يلي:

  • STM32CubeMX، أداة تكوين برمجية رسومية تسمح بإنشاء كود تهيئة C باستخدام المعالجات الرسومية.
  • منصة برمجية مضمنة شاملة خاصة بكل سلسلة (مثل STM32CubeG0 لسلسلة STM32G0)، والتي تتضمن:
    • برنامج طبقة التجريد المضمن STM32Cube HAL، مما يضمن أقصى قدر من قابلية النقل عبر مجموعة STM32
    • مجموعة متسقة من مكونات البرامج الوسيطة مثل RTOS وUSB وTCP/IP والرسومات
    • جميع أدوات البرامج المضمنة مع مجموعة كاملة منampليز.

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

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-1

توسيع برنامج X-CUBE-ISO1 لـ STM32Cube

زيادةview
يستخدم البرنامج الثابت للوحة التوسعة الصناعية المعزولة X-NUCLEO-ISO1A1، والمُطوّرة استنادًا إلى بيئات ومكتبات STM32، وحدة التحكم الدقيقة عالية الأداء للوحات STM32 Nucleo لإدارة المدخلات والمخرجات الرقمية مع تشخيصات متكاملة، بالإضافة إلى حدّ ديناميكي للتيار، وتوليد إشارات PWM. يتميز البرنامج بتكوين شامل للوحة وتحكم بها، بما في ذلك أطر عمل للظروف الافتراضية والبديلة، ووحدات ماكرو لضبط قيم ما قبل القياس، وتعريفات لمنافذ ودبابيس GPIO.

إنه يدعم مختلفampيمكن استخدام حالات استخدام التطبيقات مثل النسخ المتطابق للإدخال الرقمي إلى الإخراج، واتصالات UART من خلال لوحة Nucleo، واكتشاف الأخطاء، وحالات الاختبار، وتوليد PWM والتي يمكن استخدامها مباشرة ويمكن تخصيصها وتوسيعها بسهولة.

توفر واجهة برمجة التطبيقات (API) مجموعة متكاملة من الوظائف للتحكم في الإدخال/الإخراج الرقمي، واكتشاف الأعطال، وتحديثات حالة اللوحة، مع إعدادات تهيئة لتشغيل لوحتين في وقت واحد في أوضاع مختلفة. تتوفر وظائف خاصة لتهيئة إشارات تعديل عرض النبضة (PWM) لقنوات الإخراج الرقمي، وبدء تشغيلها، وإيقافها، وتكوينها.

تتضمن حزمة دعم اللوحة وظائف للتحكم في دبابيس GPIO المتصلة بـ IPS1025H-32 ومراقبتها وقراءة حالة دبابيس GPIO المتصلة بـ CLT03-2Q3 عبر عازل رقمي.
يعتمد التكوين والتهيئة على STM32CubeMX، مع دعم التطوير والتصحيح بواسطة STM32CubeIDE، وIAR Systems، وأدوات Keil®.

بنيان
يمكن تقسيم البرامج الثابتة الخاصة بـ X-NUCLEO-ISO1A1 إلى عدة كتل وظيفية مميزة، كل منها مسؤولة عن جوانب مختلفة من عمليات النظام:

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-2

  • تكوين اللوحة والتحكم فيها:
    • ملف board_config.h file يحتوي على وحدات ماكرو لضبط اللوحة للعمل في ظروف افتراضية أو بديلة، أو كليهما. كما يتضمن تعريفات لقيم ما قبل القياس ومنافذ ودبابيس GPIO.
    • تضمن هذه الكتلة إعداد اللوحة بشكل صحيح لظروف التشغيل المطلوبة ووجود جميع تكوينات الأجهزة الضرورية في مكانها.
  • حالات استخدام التطبيق:
    • ملفي st_iso_app.h وst_iso_app.c fileتحتوي على حالات استخدام تطبيقية مصممة لاختبار الوظائف المختلفة للوحة.
    • تتضمن حالات الاستخدام هذه النسخ المتطابق من المدخلات الرقمية إلى المخرجات، واختبارات اكتشاف الأخطاء، وتوليد إشارة PWM.
    • Exampيتم توفير تكوينات لتشغيل لوحتين في وقت واحد في أوضاع مختلفة، مما يوضح تنوع ومرونة البرامج الثابتة.
  • وظائف API:
    • iso1a1.h و iso1a1.c fileتوفر مجموعة شاملة من واجهات برمجة التطبيقات لدعم الوظائف المختلفة.
    • تتضمن واجهات برمجة التطبيقات هذه وظائف للتحكم في الإدخال/الإخراج الرقمي، واكتشاف الأخطاء، وتحديثات حالة اللوحة.
    • تم تصميم واجهات برمجة التطبيقات لتكون بسيطة وبديهية، مما يجعل من السهل على المستخدمين التفاعل مع اللوحة وإجراء العمليات الضرورية.
  • التحكم في إشارة PWM:
    • pwm_api.h و pwm_api.c fileتحتوي على وظائف API محددة تتعلق بتوليد إشارة PWM.
    • تسمح هذه الوظائف بتهيئة وتكوين وبدء وإيقاف إشارات PWM لقنوات الإخراج الرقمية.
    • وظيفة تعديل عرض النبضة (PWM) ليست خيارًا افتراضيًا. تم تعديل تكوين اللوحة لتمكينها. راجع القسم 3.5: واجهات برمجة التطبيقات (APIs) لمزيد من التفاصيل.
  • حزمة دعم المجلس:
    • تتضمن حزمة دعم اللوحة ما يلي: files للتحكم في دبابيس GPIO ومراقبتها المتصلة بـ IPS1025H-32 وقراءة حالة دبابيس GPIO المتصلة بـ CLT03-2Q3.
    • ips1025h_32.h و ips1025h_32.c fileتوفر وظائف لتعيين الأخطاء ومسحها واكتشاف الأخطاء في دبابيس GPIO المتصلة بـ IPS1025H-32.
    • الملفان clt03_2q3.h و clt03_2q3.c fileتوفر وظائف لقراءة حالة دبابيس GPIO المتصلة بـ CLT03-2Q3.

يُنفِّذ البرنامج الثابت التجريبي عدة حالات استخدام بسيطة لعرض إمكانيات النظام. تُنفَّذ هذه الحالات وواجهات برمجة التطبيقات (APIs) الخاصة بالمستخدم بشكل مُنسَّق لضمان سلاسة التشغيل ودقة النتائج. صُمِّمت البنية لتكون قابلة للتوسعة بسهولة، مما يسمح للمستخدمين بإضافة وظائف وحالات استخدام جديدة حسب الحاجة. يُوفَّر التكوين الافتراضي لتشغيل لوحة واحدة مع وحدات إدخال/إخراج صناعية رقمية. كما يجب ضبط إعدادات وصلة التوصيل على الوضع الافتراضي كما هو موضح في الجدول 2. يُعدُّ انعكاس الإدخال/الإخراج الرقمي (DIDO) حالة الاستخدام الافتراضية لتطبيق البرنامج الثابت.

هيكل المجلد

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-3

المجلدات التالية مضمنة في حزمة البرنامج:

  • تحتوي الوثائق على HTML مترجمة file تم إنشاؤها من التعليمات البرمجية المصدر، مع تفاصيل مكونات البرنامج وواجهات برمجة التطبيقات.
  • السائقين يحتوي على:
    • مجلد STM32Cube HAL، الموجود في المجلدات الفرعية STM32G0xx_HAL_Driver. fileلم يتم وصف s هنا لأنها ليست خاصة ببرنامج X-CUBE-ISO1 ولكنها تأتي مباشرة من إطار عمل STM32Cube.
    • مجلد CMSIS الذي يحتوي على واجهة برنامج متحكم Cortex® القياسية fileق من الذراع. هؤلاء files هي طبقة تجريد أجهزة مستقلة عن البائع لسلسلة معالجات Cortex®-M. هذا المجلد أيضًا لم يتغير من إطار عمل STM32Cube.
    • مجلد BSP يحتوي على أكواد المكونات IPS1025H-32 وCLT03-2Q3 وواجهات برمجة التطبيقات المتعلقة بـ X-NUCLEO-ISO1A1.
  • يحتوي التطبيق على مجلد المستخدم الذي يحتوي على main.c file، حالة استخدام التطبيق file، st_iso_app.c و board_config.h file، المقدمة لمنصة NUCLEO-G071RB.

مجلد بسب
يستخدم برنامج X-CUBE-ISO1 مكونين مختلفين files، والتي توجد داخل BSP/Components:

اي بي اس 1025
ips1025h_32.h و ips1025h_32.c fileتوفر هذه الحلول تنفيذًا شاملاً لبرنامج التشغيل لدبابيس GPIO المتصلة بـ IPS1025H-32، بما في ذلك وظائف كاملة للتحكم في جميع الدبابيس واكتشاف الأعطال. fileيُنفِّذ البرنامج وظائف لتهيئة الجهاز، وضبط حالة القناة ومسحها، واكتشاف حالات الأعطال، وإدارة وظائف تعديل عرض النبضة (PWM). يدعم البرنامج أجهزة وقنوات متعددة، مع إمكانيات كاملة لكل قناة على حدة أو كمجموعة.

سي ال تي 03
الملفان clt03_2q3.h و clt03_2q3.c fileنُطبّق برنامج تشغيل متكامل لدبابيس GPIO المتصلة بـ CLT03-2Q3، مع إمكانيات كاملة لقراءة حالات جميع الدبابيس. يوفر البرنامج وظائف لتهيئة الجهاز، وقراءة حالة كل قناة على حدة، والحصول على معلومات الحالة لجميع القنوات في آنٍ واحد. يدعم البرنامج تكوينات متعددة للأجهزة، ويحافظ على الحالة الداخلية لإدارة فعالة للقنوات.

تنقسم واجهات برمجة تطبيقات برنامج X-CUBE-ISO1 إلى مصدرين رئيسيين files، والتي توجد داخل المجلد الفرعي ISO1A1:

ISO1A1
ISO1A1 fileتشمل مجموعة شاملة من وظائف واجهة برمجة التطبيقات (API) المصممة لتكوين اللوحة، وتفاعل المكونات، وإدارة الأعطال. تُسهّل هذه الوظائف عمليات القراءة والكتابة، واكتشاف الأعطال والتحديثات، وتتضمن أدوات مساعدة متنوعة لدعم وظائف واجهة برمجة التطبيقات الأساسية. بالإضافة إلى ذلك، fileتوفر وظائف التحكم في LED، وتهيئة GPIO، ومعالجة المقاطعات، واتصالات UART.

واجهة برمجة تطبيقات PWM
توفر واجهة برمجة تطبيقات PWM وظائف لتهيئة إشارات PWM وتكوينها وبدء تشغيلها وإيقافها. كما تتيح ضبط تردد PWM ودورة العمل لدبابيس مؤقت محددة، مما يضمن تحكمًا دقيقًا في عمليات PWM.

مجلد التطبيق
يحتوي مجلد التطبيق على الملف الرئيسي fileمطلوب للبرامج الثابتة، بما في ذلك الرؤوس والمصدر fileس. فيما يلي وصف تفصيلي لـ fileموجود في هذا المجلد:

  • board_config.h: وحدات الماكرو التكوينية للوحة.
  • main.c: البرنامج الرئيسي (كود البرنامج السابق)ample والذي يعتمد على المكتبة الخاصة بـ ISO1A1).
  • st_iso_app.c: وظائف التطبيق لاختبار اللوحة وتكوينها.
  • stm32g0xx_hal_msp.c: روتينات تهيئة HAL.
  • stm32g0xx_it.c: معالج المقاطعة.
  • syscalls.c: تنفيذات استدعاء النظام.
  • sysmem.c: إدارة ذاكرة النظام.
  • system_stm32g0xx.c: تهيئة النظام.

الموارد المطلوبة للبرمجيات
يتحكم جهاز Nucleo ويتواصل مع لوحة X-NUCLEO-ISO1A1 عبر منافذ GPIO. يتطلب هذا استخدام عدة منافذ GPIO لإدخال وإخراج واكتشاف أعطال أجهزة الإدخال والإخراج الصناعية المضمنة في لوحة X-NUCLEO-ISO1A1. للمزيد من التفاصيل وتكوينات وصلة التوصيل، يُرجى مراجعة دليل مستخدم الأجهزة UM3483.

تكوين اللوحة (board_config.h)
ملف board_config.h file يُحدد الموارد المستخدمة ووحدات الماكرو التكوينية لتكوين البرنامج وفقًا لتكوين اللوحة. يُعالج البرنامج حتى لوحتين (مثل تكديس لوحتين).
يتوافق إعداد البرنامج الافتراضي مع لوحة توسيع X-NUCLEO-ISO1A1، مع وضع وصلاتها في الوضع الافتراضي. لضبط البرنامج على إعداد X-NUCLEO-ISO1A1 الافتراضي، ألغِ تعليق ماكرو BOARD_ID_DEFAULT في ملف board_config.h. file.

يتم ضبط تكوين البرنامج البديل عن طريق إلغاء التعليق على الماكرو BOARD_ID_ALTERNATE في board_config.h file وتغيير مواقع العبور على اللوحة.
لاستخدام لوحتين في آنٍ واحد في تكوين تراكمي، ألغِ تعليقَي ماكرو BOARD_ID_DEFAULT وBOARD_ID_ALTERNATE، وتأكد من أن وصلات إحدى اللوحتين في الوضع الافتراضي والأخرى في الوضع البديل. يُرجى العلم بأنه لا يُنصح باستخدام كلا اللوحتين في نفس التكوين (سواءً كان الوضع افتراضيًا أو بالتناوب)، وقد يؤدي ذلك إلى سلوك غير مرغوب فيه.
عند تشغيل لوحة واحدة فقط، تأكد من تكوين البرنامج لتكوين واحد فقط وتعليق الماكرو المقابل للتكوين الآخر.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-4

المقياس المسبق
يمكننا ضبط قيم ما قبل القياس في ملف board_config.h لتحقيق نطاقات تردد مختلفة لمخرجات PWM من خلال ضبط وحدات الماكرو المناسبة. لاستخدام قيمة ما قبل القياس، أزل التعليق عن وحدة الماكرو المقابلة وعلّق على وحدات الماكرو الأخرى. يُستخدم DEFAULT_PRESCALAR افتراضيًا.

  • المقياس المسبق_1
  • المقياس المسبق_2
  • DEFAULT_PRESCALER

تُستخدم قيم ما قبل القياس فقط عند استخدام المؤقتات، وليست ضرورية لأي عملية إدخال/إخراج أساسية. يمكن الاطلاع على قيم وحدات الماكرو قبل القياس ونطاقات التردد المقابلة لها في وثائق الكود أو في الكود نفسه.

الصمام نبضات القلب
يمكننا ضبط مؤشر LED الأخضر للمستخدم، D7، ليضيء بشكل نبضي كاختبار لسلامة التوصيل بلوحة NUCLEO-G071RB. عند إلغاء تعليق الماكرو، HEARTBEAT_LED، يومض مؤشر LED الأخضر على X-NUCLEO-ISO1A1 عند توصيله بلوحة NUCLEO. يبقى مضاءً لمدة ثانية واحدة ومطفأً لثانيتين، مع ضبط التوقيت بواسطة المؤقتات. عند عدم استخدامه أو عند استدعاء أي وظيفة تتضمن مصابيح LED، يجب إلغاء تعليق الماكرو.

تكوين GPIO للإدخال والإخراج
كل لوحة X-NUCLEO-ISO1A1 مزودة بمنفذي إدخال ومنفذي إخراج. يمكن توسيع إمكانيات اللوحة بتركيب لوحتي X-NUCLEO-ISO1A1 فوق بعضهما البعض، مما يتيح استخدام أربعة منافذ إدخال رقمية وأربعة منافذ إخراج رقمية. يتضمن البرنامج المُرفق واجهات برمجة تطبيقات شاملة تُسهّل قراءة المنافذ وضبطها ومسحها. كما تتيح هذه الواجهات ضبط جميع المنافذ وقراءتها ومسحها في آنٍ واحد. تتوفر معلومات مُفصلة حول وظائف واجهة برمجة التطبيقات في وثائق الكود، وكذلك في قسم واجهة برمجة التطبيقات في هذه الوثيقة.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-5

هنا، تشير البادئة DI إلى منفذ الإدخال الرقمي، بينما تشير DO إلى منفذ الإخراج الرقمي. للتكوين البديل، يستخدم البرنامج نفس قواعد التسمية مع إضافة اللاحقة _alt.
يوضح الجدول التالي وحدات الماكرو GPIO المحددة في البرنامج المقابلة للمنافذ IO المختلفة:

الجدول 2. منافذ GPIO المخصصة لتكوينات البرامج الافتراضية والبديلة

اسم وظيفة التكوين الافتراضي التكوين البديل
إدخال رقم التعريف الشخصي دبوس الإدخال 1 GPIOC، IA0_IN_1_PIN GPIOD، IA0_IN_1_PIN
دبوس الإدخال 2 GPIOD، IA1_IN_2_PIN GPIOC، IA1_IN_1_PIN
دبوس الإخراج دبوس الإخراج 1 GPIOC، QA0_CNTRL_1_PIN GPIOD، QA0_CNTRL_1_PIN
دبوس الإخراج 2 GPIOC، QA1_CNTRL_2_PIN GPIOC، QA1_CNTRL_2_PIN
رقم الدبوس الخاطئ دبوس العطل 1 GPIOC، FLT1_QA0_2_OT_PIN GPIOD، FLT1_QA0_1_OT_PIN
دبوس العطل 2 GPIOC، FLT2_QA0_2_OL_PIN GPIOD، FLT2_QA0_1_OL_PIN
دبوس العطل 3 GPIOC، FLT1_QA1_2_OT_PIN GPIOC، FLT1_QA1_1_OT_PIN
دبوس العطل 4 GPIOC، FLT2_QA1_1_OL_PIN GPIOD، FLT2_QA1_2_OL_PIN
ماكرو التكوين معرف اللوحة الافتراضي معرف اللوحة البديل

المؤقتات و PWM
يمكن استخدام المؤقتات في برنامج X-CUBE-ISO1 الثابت لتوليد إشارات PWM لدبابيس محددة. افتراضيًا، لا يتم تهيئة المؤقتات باستثناء TIM3. يجب تهيئة المؤقتات المعنية قبل توليد إشارات PWM، ويجب تهيئة منافذ الإخراج المعنية في وضع PWM.
لعمليات الإدخال/الإخراج العادية لمنفذ GPIO، لا حاجة لضبط أي مؤقت أو منفذ إخراج، حيث يتم ضبطهما افتراضيًا. ومع ذلك، إذا تم ضبط دبابيس الإخراج في وضع PWM، فسنحتاج إلى إعادة ضبطها في وضع GPIO لاستخدامها كدبابيس GPIO.

ملحوظة: عند استخدام دبابيس الإخراج لتوليد PWM، يُعطّل خرج GPIO، ولا يمكن تنفيذ كلتا الوظيفتين في آنٍ واحد. لإعادة تفعيل GPIO بعد استخدام PWM، يُمكن استدعاء دالة API ST_ISO_BoardConfigureDefault() أو ST_ISO_InitGPIO() لتكوين جميع المنافذ كمنافذ GPIO دفعةً واحدة، أو ST_ISO_Init_GPIO() مع منفذ GPIO ودبوس مُحدد.

كما ذُكر سابقًا، يستخدم البرنامج مؤقتًا افتراضيًا، وهو TIM3، لضبط توقيت المستخدم LED، والساعة، وتوقيت UART. يتم ضبطه افتراضيًا لمدة ثانية واحدة.
يوضح الجدول التالي المؤقتات المتوفرة لكل دبوس في الكود الخاص بنا:

الجدول 3. المؤقتات المتاحة لكل دبوس

اسم الدبوس تمثيل البرمجيات الموقت قناة المؤقت وظيفة بديلة
QA0_CNTRL_1_PIN سؤال وجواب رقم 0 تيم2 القناة الرابعة GPIO_AF2_TIM2
QA1_CNTRL_2_PIN سؤال وجواب رقم 1 تيم1 القناة الرابعة GPIO_AF2_TIM1
QA0_CNTRL_2_PIN QA_0_ALT تيم1 القناة الرابعة GPIO_AF2_TIM1
QA1_CNTRL_1_PIN QA_1_ALT تيم17 القناة الرابعة GPIO_AF2_TIM17

أدوات إضافية للبرنامج الثابت
يتضمن البرنامج الثابت أدوات إضافية لتحسين وظائف لوحة تقييم X-NUCLEO-ISO1A1. بعضها موضح أدناه.

يو آر تي
تتيح ميزة اتصال UART مراقبة حالة اللوحة وتصحيح أخطائها في الوقت الفعلي من خلال أدوات الحاسوب مثل TeraTerm وPuTTY وتطبيقات مشابهة. يتيح البرنامج نقل بيانات UART عبر UART الموجود في لوحة NUCLEO-G071RB. ترسل وظيفة ST_ISO_UART معلومات مفصلة عن حالة اللوحة عبر UART، بما في ذلك وقت تشغيل النظام، وتكوين البرنامج الثابت، وحالة الأعطال. يمكن استخدام هذه البيانات viewباستخدام أي تطبيق منفذ تسلسلي، مثل TeraTerm. تجمع وظيفة `ST_ISO_APP_DIDOandUART` عمليات الإدخال/الإخراج الرقمية مع اتصال UART، مما ينقل حالة جميع قنوات الإدخال والإخراج على فترات زمنية محددة. فيما يلي إعدادات التكوين وكما يلي:ampكيفية ظهور البيانات في TeraTerm. قد يختلف اسم المنفذ حسب النظام والمنفذ التسلسلي المُستخدم.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-7

تكوين وضع دبوس الإدخال/الإخراج
تتيح أداة ضبط وضع دبوس الإدخال/الإخراج للمستخدمين ضبط منافذ الإدخال والإخراج للوحة باستخدام دالة ST_ISO_BoardConfigure(). تدعم هذه الدالة ضبط منفذي إخراج (QA0، QA1) ومنفذي إدخال (IA0، IA1) إما في وضع الإدخال/الإخراج، أو وضع إخراج PWM، أو وضع إدخال المقاطعة. بضبط المعلمات واستدعاء هذه الدالة، يمكن للمستخدمين تخصيص إعدادات الإدخال/الإخراج للوحة بسهولة لتلبية احتياجاتهم الخاصة.

في وضع الإدخال/الإخراج، تُهيئ الأداة دبابيس GPIO للعمليات الرقمية العامة. في وضع إخراج PWM، تُعدّ المؤقتات للتحكم الدقيق في إشارة PWM. في وضع إدخال المقاطعة، تُهيئ الأداة الدبابيس للتعامل مع المقاطعات، مما يسمح ببرمجة سريعة الاستجابة تعتمد على الأحداث.

معالجة المقاطعة
لمعالجة إشارات الأعطال، يُفعّل البرنامج خطوط المقاطعة المرتبطة، مما يسمح ببرمجة سريعة الاستجابة تعتمد على الأحداث. يمكن ربط معالج مُخصّص بهذه المقاطعات عبر
دالة HAL_GPIO_EXTI_Rising_Callback مُعرّفة في واجهة برمجة التطبيقات. يتضمن البرنامج ميزات لتهيئة دبابيس GPIO في وضع المقاطعة عبر دالة ST_ISO_BoardConfigure، وتكوين إجراءات محددة في معالجات EXTI IRQ. يتيح هذا للمستخدمين تخصيص استجابة اللوحة للأحداث الخارجية، مما يضمن قدرتها على إدارة مختلف حالات الأعطال والمحفزات بفعالية.

واجهات برمجة التطبيقات
توفر واجهة برمجة التطبيقات (API) الخاصة ببرنامج X-CUBE-ISO1 مجموعة شاملة من الوظائف للتحكم في لوحة X-NUCLEO-ISO1A1 ومراقبتها، بما في ذلك توليد إشارات تعديل عرض النبضة (PWM) وعمليات GPIO. صُممت هذه الواجهة لتكون سهلة الاستخدام والتكامل مع مختلف التطبيقات، مما يوفر مرونة وتحكمًا في وظائف اللوحة.

واجهة برمجة تطبيقات برنامج X-CUBE-ISO1 مُعرّفة في مجلد BSP/ISO1A1. وظائفها مُسبقة بـ ST_ISO. واجهة برمجة التطبيقات مرئية للتطبيقات من خلال ملفي iso1a1.c وpwm_api.c. files عبارة عن مزيج من الثوابت وهياكل البيانات والوظائف.
Sampتستخدم تطبيقات البرامج الثابتة هذه واجهات برمجة التطبيقات لإظهار بعض الاستخدامات المحتملة لهذه الوظائف.

توفر حزمة برامج X-CUBE-ISO1 مجموعتين من واجهات برمجة التطبيقات:

  • واجهة برمجة التطبيقات ISO1A1
  • واجهة برمجة تطبيقات PWM

واجهة برمجة التطبيقات ISO1A1
تم تعريف واجهة برمجة التطبيقات ISO1A1 في iso1a1.h وiso1a1.c fileيوفر وظائف لتكوين لوحة ISO1A1 والتحكم فيها، بما في ذلك عمليات إدخال/إخراج GPIO واكتشاف الأخطاء.

الوظائف الرئيسية

  • ST_ISO_BoardConfigureDefault: يقوم بتكوين منافذ الإدخال/الإخراج الخاصة باللوحة باستخدام تكوين GPIO الافتراضي.
  • ST_ISO_BoardConfigure: يقوم بتكوين وضع منافذ الإدخال والإخراج للوحة.
  • ST_ISO_BoardInit: يقوم بتهيئة أجهزة اللوحة.
  • ST_ISO_BoardMapInit: يقوم بتهيئة وظيفة اللوحة استنادًا إلى تكوين مقابض القناة.
  • ST_ISO_GetFWVersion: إرجاع إصدار البرنامج الثابت الحالي.
  • ST_ISO_GetChannelHandle: استرداد مقبض القناة لاسم قناة محددة.
  • ST_ISO_InitGPIO: يقوم بتهيئة دبوس GPIO المحدد باستخدام معرف الوحدة المحدد.
  • ST_ISO_InitInterrupt: يقوم بتهيئة دبوس GPIO المحدد كمقاطعة باستخدام معرف الوحدة المحدد.
  • ST_ISO_EnableFaultInterrupt: يقوم بتهيئة دبابيس GPIO الخاطئة في وضع المقاطعة.
  • ST_ISO_SetChannelStatus: تعيين حالة قناة محددة.
  • ST_ISO_SetOne_DO: تعيين قناة إخراج رقمية واحدة.
  • ST_ISO_ClearOne_DO: مسح قناة إخراج رقمية واحدة.
  • ST_ISO_WriteAllChannels: يكتب البيانات إلى جميع قنوات الإخراج الرقمية.
  • ST_ISO_GetOne_DI: يحصل على حالة قناة إدخال رقمية واحدة.
  • ST_ISO_ReadAllChannel: يقرأ حالة جميع قنوات الإدخال.
  • ST_ISO_ReadAllOutputChannel: يقرأ حالة جميع قنوات الإخراج.
  • ST_ISO_ReadFaultStatus: يقرأ حالة الخطأ من جميع منافذ اكتشاف الخطأ.
  • ST_ISO_ReadFaultStatusPolling: اختبار اكتشاف الأخطاء في اللوحات في وضع الاستطلاع.
  • ST_ISO_DisableOutputChannel: تعطيل الإخراج لتلك القناة.
  • ST_ISO_UpdateBoardStatusInfo: تحديث معلومات حالة اللوحة.
  • ST_ISO_UpdateFaultStatus: تحديث حالة الخطأ لقناة معينة.
  • ST_ISO_BlinkLed: يومض مؤشر LED المحدد مع مدة زمنية محددة وعدد مرات التكرار.
  • ST_ISO_UART: يرسل معلومات حالة اللوحة عبر UART.
  • ST_ISO_SwitchInit: يقوم بتهيئة مكونات التبديل.
  • ST_ISO_SwitchDeInit: إلغاء تهيئة مثيل التبديل.
  • ST_ISO_DigitalInputInit: يقوم بتهيئة مكونات الإدخال الرقمي.
  • ST_ISO_DigitalInputDeInit: إلغاء تهيئة مثيل الإدخال الرقمي.

واجهة برمجة تطبيقات PWM
تم تعريف واجهة برمجة التطبيقات PWM في pwm_api.h وpwm_api.c fileيوفر الوظائف التالية لتهيئة إشارات PWM والتحكم فيها لدبابيس محددة.

  • ST_ISO_Init_PWM_Signal: يقوم بتهيئة المؤقتات والدبوس المحدد لإشارة PWM.
  • ST_ISO_Set_PWM_Frequency: يقوم بتعيين تردد PWM للدبوس المحدد.
  • ST_ISO_Set_PWM_Duty_Cycle: يقوم بتعيين دورة عمل PWM للدبوس المحدد.
  • ST_ISO_Start_PWM_Signal: يبدأ إشارة PWM على الدبوس المحدد.
  • ST_ISO_Stop_PWM_Signal: يوقف إشارة PWM على الدبوس المحدد.

لبدء إشارة PWM على قناة معينة، قم أولاً باستدعاء وظيفة ST_ISO_Init_PWM_Signal، ثم اضبط التردد ودورة العمل المطلوبة عن طريق استدعاء وظيفة ST_ISO_Set_PWM_Frequency و
تعمل ST_ISO_Set_PWM_Duty_Cycle على التوالي، ومن ثم يمكنك بدء إشارة PWM عن طريق استدعاء وظيفة ST_ISO_Start_PWM_Signal وإيقافها عن طريق استدعاء وظيفة ST_ISO_Stop_PWM_Signal.

يجب استدعاء الوظيفة باستخدام اسم الدبوس المقابل والمؤقتات المتاحة، والتي تم توفير تفاصيلها في الجدول 3. يمكن إعداد قنوات إخراج مختلفة بترددات ودورات عمل مختلفة؛ لا يؤثر تغيير التردد أو دورة العمل على الآخر، بل يظل كما هو.
يمكن العثور على معلومات فنية تفصيلية حول واجهات برمجة التطبيقات المتاحة للمستخدم في ملف HTML المترجم file الموجود داخل مجلد "الوثائق" بحزمة البرامج حيث يتم وصف جميع الوظائف والمعلمات بشكل كامل.

وصف التطبيق
ينفّذ تطبيق العرض التوضيحي عدة حالات استخدام بسيطة. st_iso_app وboard_config fileتلعب المكونات دورًا محوريًا في إعداد واستخدام اللوحة ووظائفها التطبيقية. قبل استخدام هذه الوظائف، تأكد من مزامنة إعدادات اللوحة والبرنامج.

وظائف التطبيق (st_iso_app.h و st_iso_app.c)
دوال التطبيق مُسبقة بـ ST_ISO_APP؛ وهي الدوال الرئيسية المرئية للمستخدم والتي تستدعي دوال API لتنفيذها. يمكن استدعاء دوال التطبيق في main.c. file من أجل عملهم.

  • اختيار حالة الاستخدام: يمكن للمستخدم إلغاء تعليق ماكرو حالة الاستخدام المطلوبة في st_iso_app.c fileتُهيئ الدالة ST_ISO_APP_SelectUseCaseMacro()، المُستدعاة في main.c، حالة الاستخدام هذه، وتُطبّقها الدالة ST_ISO_APP_SelectedFunction() في main.c. يُتيح هذا النهج تهيئة وضع التشغيل بسهولة من خلال تعديل تعريفات الماكرو ببساطة، مما يضمن تنفيذ الوظيفة المناسبة بناءً على حالة الاستخدام المُختارة. افتراضيًا، يتم تحديد حالة الاستخدام DIDO، ولا يحتاج المستخدم إلى إجراء أي تغييرات على الكود لتنفيذها.
  • انعكاس المدخلات الرقمية على المخرجات الرقمية (ST_ISO_APP_UsecaseDIDO): تقرأ هذه الوظيفة حالة جميع قنوات الإدخال وتسجل الحالة نفسها في جميع قنوات الإخراج. وهي مفيدة لانعكاس المدخلات الرقمية على المخرجات الرقمية.
  • انعكاس المدخلات الرقمية على المخرجات الرقمية باستخدام UART (ST_ISO_APP_DIDO وUART): تعكس هذه الدالة المدخلات الرقمية على المخرجات الرقمية، على غرار دالة ST_ISO_APP_UsecaseDIDO. بالإضافة إلى ذلك، تنقل هذه الدالة حالة اللوحة عبر واجهة UART على جهاز Nucleo، مما يسمح بتعديل الحالة. viewتم إرسالها على منفذ تسلسلي باستخدام تطبيقات مثل Tera Term.
  • دالة حالة الاختبار (ST_ISO_APP_TestCase): تُجري هذه الدالة سلسلة من الاختبارات والإجراءات بناءً على إعدادات اللوحة. تتحقق من حالة الأعطال، وتقرأ حالة قناتي إدخال رقميتين، وتُجري إجراءات بناءً على قيمهما. تُساعد هذه الدالة في تقييم أداء اللوحة ووظائفها بسرعة، والحصول على تغذية راجعة مرئية من خلال أنماط LED المختلفة. تأكد من وجود ماكرو HEARTBEAT_LED في ملف board_config.h. file تم التعليق لمراقبة أنماط LED المناسبة.
  • توليد PWM (ST_ISO_APP_PWM _OFFSET): تُشغّل هذه الوظيفة إشارة PWM على قناتي الإخراج بتردد 1 هرتز ودورة عمل 50%. تُهيئ هذه الوظيفة إشارة PWM، وتُضبط التردد ودورة العمل، ثم تُشغّل إشارة PWM لمعرّف اللوحة المُحدّد. تُولّد إشارة PWM بإزاحة بين القناتين، وبالتالي لا تكونان متوافقتين في الطور.
  • اختبار اكتشاف الأعطال (ST_ISO_APP_FaultTest): تُقيّم هذه الوظيفة اكتشاف الأعطال من خلال تشغيل دبابيس التشخيص المدمجة في وحدة الإخراج الذكية IPS1025، سواءً في وضع الاستطلاع أو المقاطعة. تُهيئ هذه الوظيفة وضع اكتشاف الأعطال، وتُشغّله، وتُحدّث بنية حالة الأعطال بناءً على الوضع المُختار. تُعد هذه الوظيفة أساسية لضمان موثوقية وسلامة اللوحة من خلال اكتشاف الأعطال ومعالجتها بفعالية. في وضع الاستطلاع، تُحدّث حالة الأعطال كل ثانية بمساعدة مُؤقت، وتنعكس في بنية "حالة خطأ اللوحة الافتراضية" أو "حالة خطأ اللوحة البديلة". أما في وضع المقاطعة، فتُحدّث حالة الأعطال فقط عند حدوثها، وتُفعّل البرنامج لمسح منفذ الإخراج المُناسب.
  • اختبار تباين عرض النبضة (ST_ISO_APP_PwmVariationTest): صُممت هذه الدالة لاختبار تباين إشارات تعديل عرض النبضة (PWM) على قنوات خرج مختلفة بناءً على تكوين اللوحة. تُهيئ هذه الدالة إشارات تعديل عرض النبضة (PWM) لكل من تكوينات اللوحة الافتراضية والبديلة، مع ضبط ترددها على 100 هرتز ودورة العمل الأولية على 0%. ثم تُغير الدالة دورة العمل من 0% إلى 100% بزيادات قدرها 5%، ثم من 100% إلى 0% بانخفاض قدره 5%، مع تأخير زمني قدره ثانيتان بين كل خطوة. يسمح هذا التباين المُتحكم به بمراقبة وتقييم سلوك إشارة تعديل عرض النبضة على القناتين QA_2 وQA_0 للوحة الافتراضية، وQA_1_ALT وQA_0_ALT للوحة البديلة.

من خلال اتباع هذه التكوينات والاستفادة من وظائف التطبيق المقدمة، يمكنك إعداد لوحة X-NUCLEO-ISO1A1 واستخدامها بشكل فعال لحالات الاستخدام التوضيحية المختلفة.

دليل إعداد النظام

وصف الأجهزة

منصة STM32 Nucleo
توفر لوحات تطوير STM32 Nucleo طريقة ميسورة التكلفة ومرنة للمستخدمين لاختبار الحلول وبناء نماذج أولية باستخدام أي خط متحكم STM32.
يتيح دعم اتصال Arduino® وموصلات ST morpho توسيع وظائف منصة التطوير المفتوحة STM32 Nucleo بسهولة من خلال مجموعة واسعة من لوحات التوسعة المتخصصة للاختيار من بينها.

لا تتطلب لوحة STM32 Nucleo تحقيقات منفصلة لأنها تدمج مصحح/مبرمج ST-LINK/V2-1.
تأتي لوحة STM32 Nucleo مع مكتبة HAL لبرامج STM32 الشاملة بالإضافة إلى العديد من البرامج المعبأة مثلampليز.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-8

المعلومات المتعلقة بلوحة STM32 Nucleo متاحة على www.st.com/stm32nucleo

لوحة التوسعة X-NUCLEO-ISO1A1
لوحة X-NUCLEO-ISO1A1 هي لوحة تقييم مزودة بمدخلات/مخرجات صناعية معزولة، مصممة لتوسيع لوحة STM32 Nucleo وتوفير وظائف micro-PLC. يمكن تركيب لوحتين من لوحات X-NUCLEO-ISO1A1 فوق لوحة STM32 Nucleo مع اختيار وصلات التوصيل المناسبة على لوحة التوسيع لتجنب التعارض في واجهات GPIO. توفر العازلتان الرقميتان STISO1577 وSTISO620، الحاصلتان على شهادة UL621، عزلًا بين المكونات المنطقية ومكونات جانب العملية. يتم تحقيق مدخلين محدودي التيار من جانب العملية من خلال CLT03-2Q3. يوفر CLT03-2Q3 الحماية والعزل ومؤشرًا لحالة الطاقة المنخفضة للظروف الصناعية، وهو مصمم لتلبية معايير مثل IEC61000-4-2 وIEC61000-4-4 وIEC61000-4-5. يوفر كلٌّ من مفتاحي الجانب العلوي IPS1025H-32/HQ-32 خرجًا محميًا يصل إلى 5.6 أمبير، مع ميزات تشخيصية وتشغيل ذكي. ويمكن لهذه المفاتيح تشغيل أحمال سعوية أو مقاومة أو حثية. يتيح X-NUCLEO-ISO1A1 تقييمًا سريعًا للدوائر المتكاملة المدمجة باستخدام حزمة برامج X-CUBE-ISO1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-9

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

  1. منصة تطوير واحدة من نوع STM32 Nucleo (رمز الطلب المقترح: NUCLEO-GO71RB)
  2. لوحة توسيع المخرجات الرقمية الصناعية (رمز الطلب: X-NUCLEO-ISO1A1)
  3. كابل USB من النوع A إلى Micro USB لتوصيل STM32 Nucleo بالكمبيوتر الشخصي
  4. مصدر طاقة خارجي (24 فولت) والأسلاك المرتبطة به لتزويد لوحة التوسعة X-NUCLEO-ISO1A1.

إعداد البرنامج
المكونات البرمجية التالية مطلوبة لإعداد بيئة تطوير مناسبة لإنشاء تطبيقات لجهاز STM32 Nucleo المزود بلوحة التوسعة X-NUCLEO-ISO1A1:

  • X-CUBE-ISO1: توسعة لـ STM32Cube مخصصة لتطوير التطبيقات، وتتطلب استخدام لوحة X-NUCLEO-ISO1A1. يتوفر برنامج X-CUBE-ISO1 الثابت والوثائق ذات الصلة على www.st.com
  • سلسلة أدوات التطوير والمترجم: يدعم برنامج توسيع STM32Cube البيئات الثلاث التالية:
    • سلسلة أدوات IAR Embedded Workbench لـ ARM® (IAR-EWARM)
    • حقيقيView سلسلة أدوات تطوير المتحكم الدقيق (MDK-ARM-STM32)
    • STM32CubeIDE.

إعداد المجلس
يجب تهيئة اللوحة بإعدادات وصلة التوصيل المناسبة كما هو موضح في دليل مستخدم الأجهزة (UM3483). يُعد اتباع هذه الإرشادات بدقة أمرًا ضروريًا لضمان الأداء السليم وتجنب المشاكل المحتملة.

دليل إعداد النظام
يصف هذا القسم كيفية إعداد أجزاء الأجهزة المختلفة قبل تطوير وتنفيذ تطبيق على لوحة STM32 Nucleo وNUCLEO-G071RB باستخدام لوحة التوسعة X-NUCLEO-ISO1A1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-11

الإعداد لحزمة توسيع X-CUBE-ISO1
يجب تهيئة X-NUCLEO-ISO1A1 بمواضع وصلات التوصيل المحددة بناءً على إعداد اللوحة المُستخدمة. يُمكن الاطلاع على تفاصيل ذلك في دليل الأجهزة.

  • الخطوة 1. قم بتوصيل لوحة التوسعة X-NUCLEO-ISO1A1 أعلى STM32 Nucleo عبر موصلات morpho.
    إذا كنت تستخدم لوحين فوق بعضهما البعض، قم برصهما كما هو موضح في الشكل 11.
  • الخطوة 2. قم بتوصيل لوحة STM32 Nucleo بجهاز الكمبيوتر باستخدام كابل USB من خلال موصل USB CN1 لتشغيل اللوحة.
  • الخطوة 3. شغّل لوحة (لوحات) توسيع X-NUCLEO-ISO1A1 بتوصيل J1 بمصدر طاقة ٢٤ فولت تيار مستمر. في حال استخدام لوحات مكدسة، تأكد من توصيل كلتا اللوحتين بالطاقة.
  • الخطوة 4. افتح سلسلة الأدوات المفضلة لديك (MDK-ARM من Keil، أو EWARM من IAR، أو STM32CubeIDE).
  • الخطوة 5. افتح مشروع البرنامج وقم بإجراء التغييرات اللازمة على board_config.h file وفقًا لتكوين اللوحة (اللوحات) المستخدمة.
  • الخطوة 6. قم بتعيين الماكرو المناسب لحالة الاستخدام في st_iso_app.c file أو استدعاء حالة الاستخدام المطلوبة باستخدام وظيفة ST_ISO_APP_SelectUseCase في main.c file مع أي وظيفة أخرى مرغوبة.
  • الخطوة 7. قم ببناء المشروع لتجميع كل شيء files وتحميل الكود المترجم إلى ذاكرة لوحة STM32 Nucleo.
  • الخطوة 8. قم بتشغيل الكود على لوحة STM32 Nucleo وتحقق من السلوك المتوقع.

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

تاريخ المراجعة التغييرات
14 مايو 2025 1 الإصدار الأولي.

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

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

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

ST وشعار ST هما علامتان تجاريتان لشركة ST. للحصول على معلومات إضافية حول العلامات التجارية لشركة ST ، راجع www.st.com/trademarks. جميع أسماء المنتجات أو الخدمات الأخرى مملوكة لأصحابها المعنيين.
تحل المعلومات الواردة في هذه الوثيقة محل المعلومات المقدمة مسبقًا في أي إصدارات سابقة من هذه الوثيقة.
© 2025 STMicroelectronics – جميع الحقوق محفوظة

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

توسيع برنامج STMicroelectronics UM3469 X-CUBE-ISO1 [بي دي اف] دليل المستخدم
توسيع برنامج X-NUCLEO-ISO1A1، NUCLEO-G071RB، UM3469، توسيع برنامج X-CUBE-ISO1، UM3469، توسيع برنامج X-CUBE-ISO1، توسيع البرنامج

مراجع

اترك تعليقا

لن يتم نشر عنوان بريدك الإلكتروني. تم وضع علامة على الحقول المطلوبة *