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 έχει σχεδιαστεί για να υποστηρίζει τη στοίβαξη δύο πλακετών με κατάλληλες ρυθμίσεις jumper για την επέκταση των δυνατοτήτων εισόδου και εξόδου.

Ακρωνύμια και συντομογραφίες

Πίνακας 1. Κατάλογος ακρωνύμιων

Ακρώνυμο Περιγραφή
PLC Προγραμματιζόμενος λογικός ελεγκτής
API Διεπαφή προγραμματισμού εφαρμογών
PWM Διαμόρφωση πλάτους παλμού
GPIO Είσοδος/Έξοδος γενικής χρήσης.
HAL Επίπεδο αφαίρεσης υλικού
PC Προσωπικός υπολογιστής
FW Υλικολογισμικό

Τι είναι το STM32Cube;

Το STM32Cube™ αντιπροσωπεύει την πρωτοβουλία της STMicroelectronics να διευκολύνει τη ζωή των προγραμματιστών μειώνοντας την προσπάθεια, τον χρόνο και το κόστος ανάπτυξης. Το STM32Cube καλύπτει το χαρτοφυλάκιο STM32.
Η έκδοση 32.x του STM1Cube περιλαμβάνει:

  • STM32CubeMX, ένα γραφικό εργαλείο διαμόρφωσης λογισμικού που επιτρέπει τη δημιουργία κώδικα αρχικοποίησης C χρησιμοποιώντας γραφικούς οδηγούς.
  • Μια ολοκληρωμένη ενσωματωμένη πλατφόρμα λογισμικού ειδικά για κάθε σειρά (όπως το STM32CubeG0 για τη σειρά STM32G0), η οποία περιλαμβάνει:
    • το ενσωματωμένο λογισμικό αφαίρεσης STM32Cube HAL, εξασφαλίζοντας μεγιστοποιημένη φορητότητα σε όλο το χαρτοφυλάκιο STM32
    • ένα συνεπές σύνολο στοιχείων middleware όπως RTOS, USB, TCP/IP και γραφικά
    • όλα τα ενσωματωμένα βοηθητικά προγράμματα λογισμικού με ένα πλήρες σύνολο εξamples.

Αρχιτεκτονική STM32Cube
Η λύση υλικολογισμικού STM32Cube βασίζεται σε τρία ανεξάρτητα επίπεδα που μπορούν εύκολα να αλληλεπιδρούν μεταξύ τους, όπως περιγράφεται στο παρακάτω διάγραμμα.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-1

Επέκταση λογισμικού X-CUBE-ISO1 για STM32Cube

Υπερview
Το υλικολογισμικό για την X-NUCLEO-ISO1A1, βιομηχανική πλακέτα επέκτασης μεμονωμένων εισόδων/εξόδων, που αναπτύχθηκε γύρω από περιβάλλοντα και βιβλιοθήκες STM32, αξιοποιεί την MCU υψηλής απόδοσης των πλακετών STM32 Nucleo για τη διαχείριση ψηφιακών εισόδων, εξόδων με ενσωματωμένα διαγνωστικά μαζί με δυναμικό όριο ρεύματος και δημιουργία σήματος PWM. Διαθέτει ολοκληρωμένη διαμόρφωση και έλεγχο πλακέτας, συμπεριλαμβανομένων πλαισίων για προεπιλεγμένες και εναλλακτικές συνθήκες, μακροεντολές για τον ορισμό τιμών προ-κλιμάκωσης και ορισμούς για θύρες και ακίδες GPIO.

Υποστηρίζει διάφορα sampΠεριπτώσεις χρήσης εφαρμογών όπως η ψηφιακή κατοπτρισμός εισόδου-εξόδου, η επικοινωνία UART μέσω της πλακέτας Nucleo, η ανίχνευση σφαλμάτων, οι περιπτώσεις δοκιμών και η δημιουργία PWM, οι οποίες μπορούν να χρησιμοποιηθούν άμεσα και μπορούν εύκολα να προσαρμοστούν και να επεκταθούν.

Το API παρέχει ένα ισχυρό σύνολο λειτουργιών για έλεγχο ψηφιακής εισόδου/εξόδου, ανίχνευση σφαλμάτων και ενημερώσεις κατάστασης πλακέτας, με ρυθμίσεις διαμόρφωσης για την ταυτόχρονη λειτουργία δύο πλακετών σε διαφορετικές λειτουργίες. Διατίθενται συγκεκριμένες λειτουργίες API για την αρχικοποίηση, την εκκίνηση, τη διακοπή και τη διαμόρφωση σημάτων PWM για ψηφιακά κανάλια εξόδου.

Το πακέτο υποστήριξης της πλακέτας περιλαμβάνει λειτουργίες για τον έλεγχο και την παρακολούθηση των ακίδων GPIO που είναι διασυνδεδεμένες με το IPS1025H-32 και την ανάγνωση της κατάστασης των ακίδων GPIO που είναι διασυνδεδεμένες με το CLT03-2Q3 μέσω ενός ψηφιακού απομονωτή.
Η διαμόρφωση και η αρχικοποίηση βασίζονται στο STM32CubeMX, με την ανάπτυξη και τον εντοπισμό σφαλμάτων να υποστηρίζονται από τα εργαλεία STM32CubeIDE, IAR Systems και Keil®.

Αρχιτεκτονική
Το υλικολογισμικό για το X-NUCLEO-ISO1A1 μπορεί να χωριστεί σε διάφορα διακριτά λειτουργικά μπλοκ, καθένα από τα οποία είναι υπεύθυνο για διάφορες πτυχές των λειτουργιών του συστήματος:

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-2

  • Διαμόρφωση και έλεγχος πλακέτας:
    • Το board_config.h file Περιέχει μακροεντολές για τη ρύθμιση παραμέτρων της πλακέτας ώστε να λειτουργεί σε προεπιλεγμένες ή εναλλακτικές συνθήκες ή και στις δύο. Περιλαμβάνει επίσης ορισμούς για τιμές προ-κλιμάκωσης και θύρες και ακίδες GPIO.
    • Αυτό το μπλοκ διασφαλίζει ότι η πλακέτα έχει ρυθμιστεί σωστά για τις επιθυμητές συνθήκες λειτουργίας και ότι όλες οι απαραίτητες διαμορφώσεις υλικού είναι στη θέση τους.
  • Περιπτώσεις Χρήσης Εφαρμογής:
    • Τα st_iso_app.h και st_iso_app.c fileΠεριέχουν περιπτώσεις χρήσης εφαρμογών που έχουν σχεδιαστεί για να δοκιμάσουν διάφορες λειτουργίες της πλακέτας.
    • Αυτές οι περιπτώσεις χρήσης περιλαμβάνουν κατοπτρισμό ψηφιακής εισόδου προς έξοδο, δοκιμές ανίχνευσης σφαλμάτων και παραγωγή σήματος PWM.
    • ExampΠαρέχονται διαμορφώσεις για την ταυτόχρονη λειτουργία δύο πλακετών σε διαφορετικές λειτουργίες, αποδεικνύοντας την ευελιξία και την ευελιξία του υλικολογισμικού.
  • Λειτουργίες API:
    • Τα iso1a1.h και iso1a1.c fileπαρέχουν ένα ολοκληρωμένο σύνολο API για την υποστήριξη διαφόρων λειτουργιών.
    • Αυτά τα API περιλαμβάνουν λειτουργίες για ψηφιακό έλεγχο εισόδου/εξόδου, ανίχνευση σφαλμάτων και ενημερώσεις κατάστασης πλακέτας.
    • Τα API έχουν σχεδιαστεί για να είναι απλά και διαισθητικά, διευκολύνοντας τους χρήστες να αλληλεπιδρούν με την πλακέτα και να εκτελούν τις απαραίτητες λειτουργίες.
  • Έλεγχος σήματος PWM:
    • Τα pwm_api.h και pwm_api.c fileΤα s περιέχουν συγκεκριμένες λειτουργίες API που σχετίζονται με την παραγωγή σήματος PWM.
    • Αυτές οι λειτουργίες επιτρέπουν την αρχικοποίηση, τη διαμόρφωση, την έναρξη και τη διακοπή σημάτων PWM για ψηφιακά κανάλια εξόδου.
    • Η λειτουργικότητα PWM δεν είναι η προεπιλεγμένη επιλογή. Η διαμόρφωση της πλακέτας έχει τροποποιηθεί για να τις ενεργοποιήσει. Ανατρέξτε στην Ενότητα 3.5: API για περισσότερες λεπτομέρειες.
  • Πακέτο Υποστήριξης Διοικητικού Συμβουλίου:
    • Το πακέτο υποστήριξης του πίνακα περιλαμβάνει files για τον έλεγχο και την παρακολούθηση των ακίδων GPIO που είναι διασυνδεδεμένες με το IPS1025H-32 και την ανάγνωση της κατάστασης των ακίδων GPIO που είναι διασυνδεδεμένες με το CLT03-2Q3.
    • Τα ips1025h_32.h και ips1025h_32.c fileΠαρέχουν λειτουργίες για τη ρύθμιση, την εκκαθάριση και την ανίχνευση σφαλμάτων στις ακίδες GPIO που είναι διασυνδεδεμένες με το IPS1025H-32.
    • Τα clt03_2q3.h και clt03_2q3.c fileΤα s παρέχουν συναρτήσεις για την ανάγνωση της κατάστασης των ακίδων GPIO που είναι διασυνδεδεμένες με το CLT03-2Q3.

Το υλικολογισμικό επίδειξης εφαρμόζει αρκετές απλές περιπτώσεις χρήσης για να παρουσιάσει τις δυνατότητες του συστήματος. Αυτές οι περιπτώσεις χρήσης και τα API χρήστη εκτελούνται με συντονισμένο τρόπο για να διασφαλίζεται η ομαλή λειτουργία και τα ακριβή αποτελέσματα. Η αρχιτεκτονική έχει σχεδιαστεί ώστε να είναι εύκολα επεκτάσιμη, επιτρέποντας στους χρήστες να προσθέτουν νέες λειτουργίες και περιπτώσεις χρήσης ανάλογα με τις ανάγκες. Παρέχεται προεπιλεγμένη διαμόρφωση για την εκτέλεση μίας μητρικής με ψηφιακές βιομηχανικές εισόδους (IO). Η ρύθμιση του jumper πρέπει επίσης να βρίσκεται στην προεπιλεγμένη λειτουργία, όπως περιγράφεται στον Πίνακα 2. Η ψηφιακή είσοδος και η ψηφιακή έξοδος κατοπτρισμού (DIDO) είναι η προεπιλεγμένη περίπτωση χρήσης της εφαρμογής υλικολογισμικού.

Δομή φακέλου

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-3

Οι ακόλουθοι φάκελοι περιλαμβάνονται στο πακέτο λογισμικού:

  • Η τεκμηρίωση περιέχει ένα μεταγλωττισμένο HTML file που δημιουργείται από τον πηγαίο κώδικα, με λεπτομέρειες των στοιχείων λογισμικού και των API.
  • Τα προγράμματα οδήγησης περιέχουν:
    • έναν φάκελο STM32Cube HAL, που βρίσκεται στους υποφακέλους STM32G0xx_HAL_Driver. Αυτά fileΤα s δεν περιγράφονται εδώ, καθώς δεν αφορούν συγκεκριμένα το λογισμικό X-CUBE-ISO1, αλλά προέρχονται απευθείας από το πλαίσιο STM32Cube.
    • ένας φάκελος CMSIS που περιέχει το πρότυπο διεπαφής λογισμικού μικροελεγκτή Cortex® files από Arm. Αυτά τα fileΤα s είναι ένα επίπεδο αφαίρεσης υλικού ανεξάρτητο από τον προμηθευτή για τη σειρά επεξεργαστών Cortex®-M. Αυτός ο φάκελος προέρχεται επίσης αμετάβλητος από το πλαίσιο STM32Cube.
    • έναν φάκελο BSP που περιέχει τους κωδικούς για τα στοιχεία IPS1025H-32 και CLT03-2Q3 και τα API που σχετίζονται με το X-NUCLEO-ISO1A1.
  • Η εφαρμογή περιέχει τον φάκελο χρήστη που περιέχει το αρχείο main.c. file, η περίπτωση χρήσης της εφαρμογής file, st_iso_app.c και το board_config.h file, που παρέχεται για την πλατφόρμα NUCLEO-G071RB.

Φάκελος BSP
Το λογισμικό X-CUBE-ISO1 χρησιμοποιεί δύο διαφορετικά στοιχεία files, τα οποία βρίσκονται μέσα στο BSP/Στοιχεία:

IPS1025
Τα ips1025h_32.h και ips1025h_32.c fileΠαρέχουν μια ολοκληρωμένη υλοποίηση προγράμματος οδήγησης για τις ακίδες GPIO που είναι διασυνδεδεμένες με το IPS1025H-32, συμπεριλαμβανομένης πλήρους λειτουργικότητας για τον έλεγχο όλων των ακίδων και την ανίχνευση σφαλμάτων. fileΥλοποιούν λειτουργίες για την αρχικοποίηση της συσκευής, τη ρύθμιση και την εκκαθάριση της κατάστασης του καναλιού, την ανίχνευση συνθηκών σφάλματος και τη διαχείριση της λειτουργικότητας PWM. Το πρόγραμμα οδήγησης υποστηρίζει πολλαπλές συσκευές και κανάλια, με πλήρεις δυνατότητες τόσο για μεμονωμένο κανάλι όσο και ως ομάδα.

CLT03
Τα clt03_2q3.h και clt03_2q3.c fileΥλοποιήστε ένα πρόγραμμα οδήγησης πλήρους λειτουργικότητας για τις ακίδες GPIO που είναι διασυνδεδεμένες με το CLT03-2Q3, με πλήρεις δυνατότητες ανάγνωσης όλων των καταστάσεων των ακίδων. Το πρόγραμμα οδήγησης παρέχει λειτουργίες για την αρχικοποίηση της συσκευής, την ανάγνωση της κατάστασης μεμονωμένων καναλιών και τη λήψη πληροφοριών κατάστασης για όλα τα κανάλια ταυτόχρονα. Υποστηρίζει πολλαπλές διαμορφώσεις συσκευών και διατηρεί την εσωτερική κατάσταση για αποτελεσματική διαχείριση καναλιών.

Τα API λογισμικού X-CUBE-ISO1 χωρίζονται σε δύο κύριες πηγές files, τα οποία βρίσκονται μέσα στον υποφάκελο ISO1A1:

ISO1A1
Το ISO1A1 files περιλαμβάνουν ένα ολοκληρωμένο σύνολο λειτουργιών API που έχουν σχεδιαστεί για τη διαμόρφωση της πλακέτας, την αλληλεπίδραση των στοιχείων και τη διαχείριση σφαλμάτων. Αυτές οι λειτουργίες διευκολύνουν τις λειτουργίες ανάγνωσης και εγγραφής, την ανίχνευση σφαλμάτων και τις ενημερώσεις και περιλαμβάνουν διάφορα βοηθητικά προγράμματα για την υποστήριξη των κύριων λειτουργιών API. Επιπλέον, το fileΤα s παρέχουν λειτουργικότητα για έλεγχο LED, αρχικοποίηση GPIO, χειρισμό διακοπών και επικοινωνία UART.

API PWM
Το API PWM παρέχει λειτουργίες για την αρχικοποίηση, τη διαμόρφωση, την έναρξη και τη διακοπή σημάτων PWM. Επιτρέπει τη ρύθμιση της συχνότητας και του κύκλου λειτουργίας PWM για καθορισμένες ακίδες χρονοδιακόπτη, εξασφαλίζοντας ακριβή έλεγχο των λειτουργιών PWM.

Φάκελος εφαρμογής
Ο φάκελος Εφαρμογή περιέχει τα κύρια fileΑπαιτούνται για το υλικολογισμικό, συμπεριλαμβανομένων των κεφαλίδων και του πηγαίου κώδικα fileσ. Παρακάτω υπάρχει μια λεπτομερής περιγραφή του files σε αυτόν τον φάκελο:

  • 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 για την είσοδο, την έξοδο και την ανίχνευση σφαλμάτων των βιομηχανικών συσκευών IO που περιέχονται στην πλακέτα X-NUCLEO-ISO1A1. Ανατρέξτε στο εγχειρίδιο χρήστη υλικού UM3483 για περισσότερες λεπτομέρειες και τις διαμορφώσεις των jumper.

Διαμόρφωση πλακέτας (board_config.h)
Το board_config.h file Ορίζει τους πόρους που χρησιμοποιούνται και τις μακροεντολές διαμόρφωσης για τη διαμόρφωση του λογισμικού σύμφωνα με τη διαμόρφωση της πλακέτας. Χειρίζεται έως και δύο πλακέτες (όπως η στοίβαξη δύο πλακετών).
Η προεπιλεγμένη διαμόρφωση λογισμικού είναι ευθυγραμμισμένη με την πλακέτα επέκτασης X-NUCLEO-ISO1A1 με τους βραχυκυκλωτήρες της στις προεπιλεγμένες θέσεις. Για να διαμορφώσετε το λογισμικό για το X-NUCLEO-ISO1A1 στην προεπιλεγμένη του ρύθμιση, καταργήστε τα σχόλια της μακροεντολής BOARD_ID_DEFAULT στο αρχείο board_config.h. file.

Η διαμόρφωση του λογισμικού ALTERNATE ορίζεται αποσχολιάζοντας τη μακροεντολή BOARD_ID_ALTERNATE στο αρχείο board_config.h. file και αλλάζοντας τις θέσεις των jumper στον πίνακα.
Για να χρησιμοποιήσετε δύο πλακέτες ταυτόχρονα σε μια διαμόρφωση stack-up, καταργήστε τα σχόλια και στις δύο μακροεντολές BOARD_ID_DEFAULT και BOARD_ID_ALTERNATE και βεβαιωθείτε ότι οι βραχυκυκλωτήρες της μίας πλακέτας βρίσκονται στην προεπιλεγμένη θέση και της άλλης στην εναλλακτική θέση. Σημειώστε ότι δεν συνιστάται η χρήση και των δύο πλακετών στην ίδια διαμόρφωση (είτε και οι δύο στην προεπιλεγμένη είτε και οι δύο σε εναλλακτική) και ενδέχεται να οδηγήσει σε ανεπιθύμητη συμπεριφορά.
Όταν εκτελείτε μόνο μία πλακέτα, βεβαιωθείτε ότι το λογισμικό έχει ρυθμιστεί μόνο για μία διαμόρφωση και ότι η μακροεντολή που αντιστοιχεί στην άλλη διαμόρφωση έχει σχολιαστεί.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-4

Προ-κλιμακωτές
Μπορούμε να διαμορφώσουμε τις τιμές προ-κλιμάκωσης στο board_config.h για να επιτύχουμε διαφορετικά εύρη συχνοτήτων για την έξοδο PWM, ορίζοντας τις κατάλληλες μακροεντολές. Για να χρησιμοποιήσετε μια προ-κλιμακωτή τιμή, καταργήστε τα σχόλια από την αντίστοιχη μακροεντολή και σχολιάστε τις άλλες. Από προεπιλογή, χρησιμοποιείται η τιμή DEFAULT_PRESCALAR.

  • ΠΡΟΚΛΙΜΑΚΩΣΗ_1
  • ΠΡΟΚΛΙΜΑΚΩΣΗ_2
  • ΠΡΟΕΠΙΛΟΓΗ_ΠΡΟΚΛΙΜΑΤΙΣΜΟΥ

Οι τιμές προβαθμωτή χρησιμοποιούνται μόνο όταν χρησιμοποιούνται χρονοδιακόπτες και δεν απαιτούνται για καμία βασική λειτουργία εισόδου/εξόδου. Οι τιμές των προβαθμωτών μακροεντολών και τα αντίστοιχα εύρη συχνοτήτων τους μπορούν να αναζητηθούν στην τεκμηρίωση του κώδικα ή στον ίδιο τον κώδικα.

LED καρδιακού παλμού
Μπορούμε να διαμορφώσουμε την πράσινη λυχνία LED χρήστη, D7, ώστε να αναβοσβήνει με παλμό ως δοκιμή για τη σωστή σύνδεση στην πλακέτα NUCLEO-G071RB. Η μακροεντολή, HEARTBEAT_LED όταν δεν έχει σχολιαστεί, αναβοσβήνει την πράσινη λυχνία LED στο X-NUCLEO-ISO1A1 όταν είναι συνδεδεμένη στο NUCLEO. Παραμένει αναμμένη για 1 δευτερόλεπτο και σβηστή για 2 δευτερόλεπτα, με τον χρονισμό να φροντίζεται από χρονοδιακόπτες. Όταν δεν χρησιμοποιείται ή δεν καλείται κάποια λειτουργία που περιλαμβάνει LED, η μακροεντολή θα πρέπει να μην έχει σχολιαστεί.

Ρύθμιση εισόδου και εξόδου GPIO
Κάθε πλακέτα X-NUCLEO-ISO1A1 είναι εξοπλισμένη με δύο θύρες εισόδου και δύο θύρες εξόδου. Οι δυνατότητες της πλακέτας μπορούν να επεκταθούν τοποθετώντας δύο πλακέτες X-NUCLEO-ISO1A1 τη μία πάνω στην άλλη, επιτρέποντας έτσι τη χρήση τεσσάρων ψηφιακών θυρών εισόδου και τεσσάρων ψηφιακών θυρών εξόδου. Το παρεχόμενο λογισμικό περιλαμβάνει ολοκληρωμένα API που διευκολύνουν την ανάγνωση, τη ρύθμιση και την εκκαθάριση των θυρών. Επιπλέον, τα API επιτρέπουν την ταυτόχρονη ρύθμιση, ανάγνωση ή εκκαθάριση όλων των θυρών. Λεπτομερείς πληροφορίες σχετικά με τις λειτουργίες του API είναι διαθέσιμες στην τεκμηρίωση κώδικα καθώς και στην ενότητα API αυτού του εγγράφου.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-5

Εδώ, το πρόθεμα DI υποδεικνύει την ψηφιακή θύρα εισόδου και το DO υποδεικνύει την ψηφιακή θύρα εξόδου. Για εναλλακτική διαμόρφωση, το λογισμικό χρησιμοποιεί τις ίδιες συμβάσεις ονομασίας με το επίθημα _alt.
Ο παρακάτω πίνακας περιγράφει λεπτομερώς τις μακροεντολές GPIO που ορίζονται στο λογισμικό και αντιστοιχούν σε διάφορες θύρες εισόδου/εξόδου:

Πίνακας 2. GPIO που έχουν εκχωρηθεί για προεπιλεγμένες και εναλλακτικές διαμορφώσεις λογισμικού

Ονομα Λειτουργία Προεπιλεγμένη διαμόρφωση Εναλλακτική διαμόρφωση
ΕΙΣΑΓΩΓΗ PIN Ακροδέκτης εισόδου 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Ακροδέκτης εισόδου 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
PIN ΕΞΟΔΟΥ Ακροδέκτης εξόδου 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Ακροδέκτης εξόδου 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
ΣΦΑΛΜΑ 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. Έχει ρυθμιστεί για περίοδο 1 δευτερολέπτου από προεπιλογή.
Ο παρακάτω πίνακας περιγράφει λεπτομερώς τους χρονοδιακόπτες που είναι διαθέσιμοι για κάθε ακίδα στον κώδικά μας:

Πίνακας 3. Διαθέσιμοι χρονοδιακόπτες για κάθε ακροδέκτη

Όνομα καρφίτσας Αναπαράσταση λογισμικού Μετρών την ώραν Κανάλι χρονοδιακόπτη Εναλλακτική λειτουργία
QA0_CNTRL_1_PIN QA_0 TIM2 TIM_CHANNEL_4 GPIO_AF2_TIM2
QA1_CNTRL_2_PIN QA_1 TIM1 TIM_CHANNEL_3 GPIO_AF2_TIM1
QA0_CNTRL_2_PIN QA_0_ALT TIM1 TIM_CHANNEL_4 GPIO_AF2_TIM1
QA1_CNTRL_1_PIN QA_1_ALT TIM17 TIM_CHANNEL_1 GPIO_AF2_TIM17

Πρόσθετα βοηθητικά προγράμματα του υλικολογισμικού
Το υλικολογισμικό περιλαμβάνει πρόσθετα βοηθητικά προγράμματα για τη βελτίωση της λειτουργικότητας της πλακέτας αξιολόγησης X-NUCLEO-ISO1A1. Μερικά από τα οποία περιγράφονται παρακάτω.

UART
Η λειτουργία επικοινωνίας 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-Επέκταση-Λογισμικού-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-7

Διαμόρφωση λειτουργίας ακίδας εισόδου/εξόδου
Το βοηθητικό πρόγραμμα διαμόρφωσης λειτουργίας ακίδων εισόδου/εξόδου επιτρέπει στους χρήστες να ορίσουν τις θύρες εισόδου και εξόδου της πλακέτας χρησιμοποιώντας τη συνάρτηση ST_ISO_BoardConfigure(). Αυτή η συνάρτηση υποστηρίζει τη διαμόρφωση δύο θυρών εξόδου (QA0, QA1) και δύο θυρών εισόδου (IA0, IA1) είτε σε λειτουργία εισόδου/εξόδου, είτε σε λειτουργία εξόδου PWM είτε σε λειτουργία εισόδου διακοπής. Ρυθμίζοντας τις παραμέτρους και καλώντας αυτήν τη συνάρτηση, οι χρήστες μπορούν εύκολα να προσαρμόσουν τη διαμόρφωση εισόδου/εξόδου της πλακέτας ώστε να καλύπτει συγκεκριμένες ανάγκες.

Στη λειτουργία Εισόδου/Εξόδου, το βοηθητικό πρόγραμμα αρχικοποιεί τις ακίδες GPIO για ψηφιακές λειτουργίες γενικής χρήσης. Στη λειτουργία εξόδου PWM, ρυθμίζει τους χρονοδιακόπτες για ακριβή έλεγχο σήματος PWM. Όταν βρίσκεται σε λειτουργία εισόδου Διακοπής, το βοηθητικό πρόγραμμα ρυθμίζει τις ακίδες ώστε να χειρίζονται διακοπές, επιτρέποντας τον προγραμματισμό που βασίζεται σε συμβάντα.

Χειρισμός διακοπών
Για τον χειρισμό σημάτων FAULT, το λογισμικό ενεργοποιεί τις σχετικές γραμμές διακοπής, επιτρέποντας τον προγραμματισμό που βασίζεται σε συμβάντα. Ένας προσαρμοσμένος χειριστής μπορεί να συσχετιστεί με αυτές τις διακοπές μέσω του
Η συνάρτηση HAL_GPIO_EXTI_Rising_Callback ορίζεται στο API. Το λογισμικό περιλαμβάνει λειτουργίες για την αρχικοποίηση των ακίδων GPIO σε λειτουργία διακοπής μέσω της συνάρτησης ST_ISO_BoardConfigure και τη διαμόρφωση συγκεκριμένων ενεργειών στους χειριστές IRQ EXTI. Αυτό επιτρέπει στους χρήστες να προσαρμόζουν τον τρόπο με τον οποίο η πλακέτα ανταποκρίνεται σε εξωτερικά συμβάντα, διασφαλίζοντας ότι μπορεί να διαχειριστεί αποτελεσματικά διάφορες συνθήκες σφάλματος και εναύσματα.

API
Το API λογισμικού X-CUBE-ISO1 παρέχει ένα ολοκληρωμένο σύνολο λειτουργιών για τον έλεγχο και την παρακολούθηση της πλακέτας X-NUCLEO-ISO1A1, συμπεριλαμβανομένης της δημιουργίας σήματος PWM και των λειτουργιών GPIO. Το API έχει σχεδιαστεί για να είναι εύκολο στη χρήση και να ενσωματώνεται σε διάφορες εφαρμογές, παρέχοντας ευελιξία και έλεγχο της λειτουργικότητας της πλακέτας.

Το API λογισμικού X-CUBE-ISO1 ορίζεται στον φάκελο BSP/ISO1A1. Οι λειτουργίες του έχουν πρόθεμα ST_ISO. Το API είναι ορατό στις εφαρμογές μέσω των iso1a1.c και pwm_api.c. fileΤο s είναι ένας συνδυασμός σταθερών, δομών δεδομένων και συναρτήσεων.
SampΟι εφαρμογές υλικολογισμικού χρησιμοποιούν αυτά τα API για να δείξουν ορισμένες από τις πιθανές χρήσεις αυτών των λειτουργιών.

Το πακέτο λογισμικού X-CUBE-ISO1 παρέχει δύο σύνολα API:

  • API ISO1A1
  • API PWM

API ISO1A1
Το API 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: Ελέγχει την ανίχνευση σφαλμάτων των πλακετών σε λειτουργία polling.
  • 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: Απαρχικοποιεί την ψηφιακή είσοδο.

API PWM
Το PWM API ορίζεται στα 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. Διαφορετικά κανάλια εξόδου μπορούν να ρυθμιστούν με διαφορετικές συχνότητες και κύκλους λειτουργίας. Η αλλαγή συχνότητας ή κύκλου λειτουργίας δεν επηρεάζει τα άλλα, παραμένει η ίδια.
Λεπτομερείς τεχνικές πληροφορίες σχετικά με τα API που είναι διαθέσιμα στον χρήστη μπορούν να βρεθούν σε ένα μεταγλωττισμένο HTML file βρίσκεται μέσα στο φάκελο «Τεκμηρίωση» του πακέτου λογισμικού όπου περιγράφονται πλήρως όλες οι λειτουργίες και οι παράμετροι.

Περιγραφή εφαρμογής
Η εφαρμογή επίδειξης υλοποιεί αρκετές απλές περιπτώσεις χρήσης. Τα st_iso_app και board_config fileΤα s παίζουν κρίσιμο ρόλο στη ρύθμιση και τη χρήση της πλακέτας και των λειτουργιών των εφαρμογών της. Πριν χρησιμοποιήσετε αυτές τις λειτουργίες, βεβαιωθείτε ότι η πλακέτα και η διαμόρφωση του λογισμικού είναι συγχρονισμένες μεταξύ τους.

Συναρτήσεις εφαρμογής (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_DIDOandUART): Αυτή η λειτουργία κατοπτρίζει τις ψηφιακές εισόδους σε ψηφιακές εξόδους, παρόμοια με τη συνάρτηση 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 Hz και κύκλο λειτουργίας 50%. Αρχικοποιεί το σήμα PWM, ορίζει τη συχνότητα και τον κύκλο λειτουργίας και ξεκινά το σήμα PWM για το καθορισμένο ID πλακέτας. Το σήμα PWM παράγεται με μετατόπιση μεταξύ και των δύο καναλιών και επομένως δεν βρίσκονται σε φάση.
  • Δοκιμή ανίχνευσης σφαλμάτων (ST_ISO_APP_FaultTest): Αυτή η λειτουργία αξιολογεί την ανίχνευση σφαλμάτων ενεργοποιώντας τις ενσωματωμένες διαγνωστικές ακίδες της έξυπνης μονάδας εξόδου IPS1025, είτε σε λειτουργία polling είτε σε λειτουργία διακοπής. Ρυθμίζει τη λειτουργία ανίχνευσης σφαλμάτων, αρχικοποιεί την ανίχνευση σφαλμάτων και ενημερώνει τη δομή κατάστασης σφάλματος με βάση την επιλεγμένη λειτουργία. Αυτή η λειτουργία είναι κρίσιμη για τη διασφάλιση της αξιοπιστίας και της ασφάλειας της πλακέτας, ανιχνεύοντας και χειριζόμενοι αποτελεσματικά τα σφάλματα. Όταν βρίσκεται σε λειτουργία polling, η κατάσταση σφάλματος ενημερώνεται κάθε δευτερόλεπτο με τη βοήθεια ενός χρονοδιακόπτη και αντικατοπτρίζεται στη δομή defaultBoardFaultStatus ή alternateBoardFaultStatus. Όταν βρίσκεται σε λειτουργία διακοπής, η κατάσταση σφάλματος ενημερώνεται μόνο όταν παρουσιαστεί το σφάλμα και ενεργοποιεί το λογισμικό για να καθαρίσει την αντίστοιχη θύρα εξόδου.
  • Δοκιμή Διακύμανσης PWM (ST_ISO_APP_PwmVariationTest): Αυτή η συνάρτηση έχει σχεδιαστεί για να ελέγχει τη διακύμανση των σημάτων PWM (Pulse Width Modulation) σε διαφορετικά κανάλια εξόδου με βάση τη διαμόρφωση της πλακέτας. Αρχικοποιεί τα σήματα PWM τόσο για τις προεπιλεγμένες όσο και για τις εναλλακτικές διαμορφώσεις της πλακέτας, ορίζοντας τη συχνότητά τους στα 100 Hz και τον αρχικό κύκλο λειτουργίας στο 0%. Στη συνέχεια, η συνάρτηση μεταβάλλει τον κύκλο λειτουργίας από 0% σε 100% σε βήματα του 5% και αντίστροφα από 100% σε 0% σε μειώσεις του 5%, με καθυστέρηση 2 δευτερολέπτων μεταξύ κάθε βήματος. Αυτή η ελεγχόμενη διακύμανση επιτρέπει την παρατήρηση και την αξιολόγηση της συμπεριφοράς του σήματος PWM στα κανάλια QA_0 και QA_1 για την προεπιλεγμένη πλακέτα και QA_0_ALT και QA_1_ALT για την εναλλακτική πλακέτα.

Ακολουθώντας αυτές τις διαμορφώσεις και αξιοποιώντας τις παρεχόμενες λειτουργίες της εφαρμογής, μπορείτε να ρυθμίσετε και να χρησιμοποιήσετε αποτελεσματικά την πλακέτα X-NUCLEO-ISO1A1 για διάφορες περιπτώσεις επίδειξης.

Οδηγός εγκατάστασης συστήματος

Περιγραφή υλικού

Πλατφόρμα STM32 Nucleo
Οι πλακέτες ανάπτυξης STM32 Nucleo παρέχουν έναν προσιτό και ευέλικτο τρόπο στους χρήστες να δοκιμάζουν λύσεις και να κατασκευάζουν πρωτότυπα με οποιαδήποτε σειρά μικροελεγκτών STM32.
Η υποστήριξη συνδεσιμότητας Arduino® και οι υποδοχές ST morpho διευκολύνουν την επέκταση της λειτουργικότητας της ανοιχτής πλατφόρμας ανάπτυξης STM32 Nucleo με μια μεγάλη γκάμα εξειδικευμένων πλακετών επέκτασης για να διαλέξετε.

Η πλακέτα STM32 Nucleo δεν απαιτεί ξεχωριστούς ανιχνευτές καθώς ενσωματώνει τον εντοπισμό σφαλμάτων/προγραμματιστή ST-LINK/V2-1.
Η πλακέτα STM32 Nucleo συνοδεύεται από την ολοκληρωμένη βιβλιοθήκη λογισμικού STM32 HAL μαζί με διάφορα συσκευασμένα προγράμματα π.χ.amples.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-8

Πληροφορίες σχετικά με την πλακέτα STM32 Nucleo είναι διαθέσιμες στη διεύθυνση www.st.com/stm32nucleo

Πλακέτα επέκτασης X-NUCLEO-ISO1A1
Η X-NUCLEO-ISO1A1 είναι μια πλακέτα αξιολόγησης με απομονωμένη βιομηχανική είσοδο/έξοδο, σχεδιασμένη για την επέκταση της πλακέτας STM32 Nucleo και την παροχή λειτουργικότητας micro-PLC. Δύο από τις πλακέτες X-NUCLEO-ISO1A1 μπορούν να στοιβάζονται μαζί πάνω σε μια πλακέτα STM32 Nucleo με την κατάλληλη επιλογή βραχυκυκλωτήρων στην πλακέτα επέκτασης για την αποφυγή συγκρούσεων στις διεπαφές GPIO. Οι πιστοποιημένοι κατά UL1577 ψηφιακοί μονωτές STISO620 και STISO621 παρέχουν απομόνωση μεταξύ των λογικών και των εξαρτημάτων της πλευράς της διεργασίας. Δύο είσοδοι υψηλής τάσης περιορισμένου ρεύματος από την πλευρά της διεργασίας πραγματοποιούνται μέσω του CLT03-2Q3. Η CLT03-2Q3 παρέχει προστασία, απομόνωση και ένδειξη κατάστασης χωρίς ενέργεια για βιομηχανικές συνθήκες, σχεδιασμένη να πληροί πρότυπα όπως τα IEC61000-4-2, IEC61000-4-4 και IEC61000-4-5. Ένας από τους διακόπτες υψηλής πλευράς IPS1025H-32/HQ-32 παρέχει προστατευμένη έξοδο έως 5.6 A με διαγνωστικά και λειτουργίες έξυπνης οδήγησης. Αυτά μπορούν να οδηγήσουν χωρητικά, ωμικά ή επαγωγικά φορτία. Το X-NUCLEO-ISO1A1 επιτρέπει την ταχεία αξιολόγηση των ενσωματωμένων ολοκληρωμένων κυκλωμάτων χρησιμοποιώντας το πακέτο λογισμικού X-CUBE-ISO1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-9

Ρύθμιση υλικού
Απαιτούνται τα ακόλουθα στοιχεία υλικού:

  1. Μία πλατφόρμα ανάπτυξης STM32 Nucleo (προτεινόμενος κωδικός παραγγελίας: NUCLEO-GO71RB)
  2. Μία βιομηχανική πλακέτα επέκτασης ψηφιακής εξόδου (κωδικός παραγγελίας: X-NUCLEO-ISO1A1)
  3. Ένα καλώδιο USB τύπου A σε Micro USB για σύνδεση του STM32 Nucleo στον υπολογιστή
  4. Ένα εξωτερικό τροφοδοτικό (24 V) και τα σχετικά καλώδια για την τροφοδοσία της πλακέτας επέκτασης X-NUCLEO-ISO1A1.

Ρύθμιση λογισμικού
Τα ακόλουθα στοιχεία λογισμικού απαιτούνται για τη δημιουργία ενός κατάλληλου περιβάλλοντος ανάπτυξης για τη δημιουργία εφαρμογών για το STM32 Nucleo που είναι εξοπλισμένο με την πλακέτα επέκτασης X-NUCLEO-ISO1A1:

  • X-CUBE-ISO1: μια επέκταση για το STM32Cube αφιερωμένη στην ανάπτυξη εφαρμογών που απαιτεί τη χρήση της πλακέτας X-NUCLEO-ISO1A1. Το υλικολογισμικό X-CUBE-ISO1 και η σχετική τεκμηρίωση είναι διαθέσιμα στη διεύθυνση www.st.com
  • Εργαλειοθήκη ανάπτυξης και μεταγλωττιστής: το λογισμικό επέκτασης STM32Cube υποστηρίζει τα ακόλουθα τρία περιβάλλοντα:
    • Ενσωματωμένος πάγκος εργασίας IAR για αλυσίδα εργαλείων ARM® (IAR-EWARM)
    • ΠραγματικόςView Εργαλειοθήκη κιτ ανάπτυξης μικροελεγκτών (MDK-ARM-STM32)
    • STM32CubeIDE.

Ρύθμιση πίνακα
Η πλακέτα πρέπει να έχει διαμορφωθεί με τις κατάλληλες ρυθμίσεις βραχυκυκλωτήρα, όπως ορίζεται στο εγχειρίδιο χρήστη υλικού (UM3483). Η προσεκτική τήρηση αυτών των οδηγιών είναι απαραίτητη για να διασφαλιστεί η σωστή λειτουργία και να αποφευχθούν πιθανά προβλήματα.

Οδηγός εγκατάστασης συστήματος
Αυτή η ενότητα περιγράφει τον τρόπο ρύθμισης διαφορετικών εξαρτημάτων υλικού πριν από την ανάπτυξη και την εκτέλεση μιας εφαρμογής στην πλακέτα STM32 Nucleo, NUCLEO-G071RB με την πλακέτα επέκτασης X-NUCLEO-ISO1A1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Επέκταση-Λογισμικού-11

Ρύθμιση για το πακέτο επέκτασης X-CUBE-ISO1
Το X-NUCLEO-ISO1A1 πρέπει να ρυθμιστεί με τις συγκεκριμένες θέσεις των βραχυκυκλωτήρων, ανάλογα με τη διαμόρφωση στην οποία εκτελείτε την πλακέτα. Οι λεπτομέρειες της οποίας μπορούν να ανατρέξουν περαιτέρω στο εγχειρίδιο υλικού.

  • Βήμα 1. Συνδέστε την πλακέτα επέκτασης X-NUCLEO-ISO1A1 στην κορυφή του STM32 Nucleo μέσω των μορφοσυνδετήρων.
    Αν χρησιμοποιείτε δύο σανίδες τη μία πάνω στην άλλη, στοιβάξτε τες όπως φαίνεται στο Σχήμα 11.
  • Βήμα 2. Συνδέστε την πλακέτα STM32 Nucleo σε έναν υπολογιστή με το καλώδιο USB μέσω της υποδοχής USB CN1 για να τροφοδοτήσετε την πλακέτα.
  • Βήμα 3. Ενεργοποιήστε την/τις πλακέτα/ες επέκτασης X-NUCLEO-ISO1A1 συνδέοντας το J1 στην τροφοδοσία ρεύματος 24V DC. Εάν χρησιμοποιείτε στοιβαγμένες πλακέτες, βεβαιωθείτε ότι και οι δύο πλακέτες τροφοδοτούνται.
  • Βήμα 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 [pdf] Εγχειρίδιο χρήστη
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 Επέκταση Λογισμικού X-CUBE-ISO1, UM3469, Επέκταση Λογισμικού X-CUBE-ISO1, Επέκταση Λογισμικού

Αναφορές

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία επισημαίνονται *