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. רשימה פון אַקראַנימז
אַקראַנים | באַשרייַבונג |
PLC | פּראָגראַממאַבלע לאָגיק קאָנטראָללער |
API | אַפּפּליקאַטיאָן פּראָגראַממינג צובינד |
PWM | פּאַלס ברייט מאַדזשאַליישאַן |
GPIO | אַלגעמיינע-ציל אַרייַנשרייַב / רעזולטאַט. |
HAL | ייַזנוואַרג אַבסטראַקציע שיכטע |
PC | פערזענלעכע קאָמפּיוטער |
FW | פירמוואַרע |
וואָס איז STM32Cube?
STM32Cube™ רעפּרעזענטירט די STMicroelectronics איניציאַטיוו צו מאַכן דעוועלאָפּערס' לעבן גרינגער דורך רעדוצירן דעוועלאָפּמענט מי, צייט און קאָסטן. STM32Cube דעקט די STM32 פּאָרטפאָליאָ.
STM32Cube ווערסיע 1.x כולל:
- STM32CubeMX, אַ גראַפֿיש ווייכווארג קאָנפֿיגוראַציע געצייַג וואָס דערמעגלעכט די דזשענעריישאַן פון C איניציאַליזאַציע קאָד ניצן גראַפֿישע וויזאַרדס.
- אן אויספירלעכע איינגעבעטעטע ווייכווארג פלאטפארמע ספעציפיש צו יעדער סעריע (ווי צום ביישפיל די STM32CubeG0 פאר די STM32G0 סעריע), וואס נעמט אריין:
- די STM32Cube HAL איינגעבויטע אַבסטראַקציע-שיכט ווייכווארג, וואָס זיכערט מאַקסימיזירטע פּאָרטאַביליטי איבער די STM32 פּאָרטפאָליאָ
- א קאנסיסטענטער סעט פון מידלווער קאמפאנענטן ווי RTOS, USB, TCP/IP, און גראפיקס
- אַלע עמבעדעד ווייכווארג יוטילאַטיז מיט אַ פולשטענדיק סכום פון עקסamples.
STM32Cube אַרכיטעקטור
די STM32Cube פירמווער לייזונג איז געבויט אַרום דריי אומאָפּהענגיקע לעוועלס וואָס קענען לייכט אינטעראַקטירן איינער מיט דעם אַנדערן, ווי באַשריבן אין דער דיאַגראַמע אונטן.
X-CUBE-ISO1 ווייכווארג אויסברייטערונג פאר STM32Cube
איבערview
די פירמווער פארן X-NUCLEO-ISO1A1, אינדוסטריעל אפגעזונדערט אינפוט/אויטפוט עקספּאַנשאַן ברעט, אנטוויקלט אַרום STM32 סביבות און לייברעריז, נוצט די הויך-פאָרשטעלונג MCU פון STM32 נוקלעאָ ברעטער צו פאַרוואַלטן דיגיטאַלע אינפוטס, אַוטפּוץ מיט אינטעגרירטע דיאַגנאָסטיקס צוזאַמען מיט דינאַמישן קראַנט לימיט, און PWM סיגנאַל דזשענעריישאַן. עס פֿעיִקייטן קאָמפּרעהענסיוו ברעט קאָנפיגוראַציע און קאָנטראָל, אַרייַנגערעכנט פריימווערקס פֿאַר פעליקייַט און אַלטערנאַטיווע באדינגונגען, מאַקראָס פֿאַר באַשטעטיקן פאַר-סקיילער ווערטן, און דעפֿיניציעס פֿאַר GPIO פּאָרץ און פּינס.
עס שטיצט פארשידענע סampאַפּליקאַציע נוץ קאַסעס אַזאַ ווי דיגיטאַל אַרייַנשרייַב צו אַרויסגאַנג שפּיגלונג, UART קאָמוניקאַציע דורך די נוקלעאָ ברעט, שולד דעטעקשאַן, טעסט קאַסעס, און PWM דזשענעריישאַן וואָס קענען זיין דירעקט געניצט און קענען זיין לייכט קאַסטאַמייזד און יקספּאַנדיד.
די API גיט א שטארקע סעט פון פונקציעס פאר דידזשיטאלע אינפוט/אויטפוט קאנטראל, פעלער דעטעקציע, און ברעט סטאטוס אפדעיטס, מיט קאנפיגוראציע סעטינגס פארן לויפן צוויי ברעטס סיימאַלטייניש אין פארשידענע מאָדעס. ספעציפישע API פונקציעס זענען פאראן פאר איניציאליזירן, אנפאנגען, אפשטעלן, און קאנפיגורירן PWM סיגנאלן פאר דידזשיטאלע אויטפוט קאנאלן.
די ברעט שטיצע פּעקל כולל פונקציעס צו קאָנטראָלירן און מאָניטאָרירן די GPIO פּינס וואָס זענען פארבונדן מיט IPS1025H-32 און לייענען דעם צושטאַנד פון די GPIO פּינס וואָס זענען פארבונדן מיט CLT03-2Q3 דורך אַ דיגיטאַל איזאָלאַטאָר.
קאָנפיגוראַציע און איניציאַליזאַציע זענען באַזירט אויף STM32CubeMX, מיט אַנטוויקלונג און דיבאַגינג געשטיצט דורך STM32CubeIDE, IAR סיסטעמס, און Keil® מכשירים.
אַרטשיטעקטורע
די פירמווער פֿאַר די X-NUCLEO-ISO1A1 קען זיין צעטיילט אין עטלעכע באַזונדערע פונקציאָנעלע בלאָקס, יעדער פאַראַנטוואָרטלעך פֿאַר פֿאַרשידענע אַספּעקטן פון די סיסטעם ס אַפּעריישאַנז:
- ברעט קאָנפיגוראַציע און קאָנטראָל:
- די באָרד_קאָנפיג.ה file אנטהאלט מאקראס צו קאנפיגורירן דאס ברעט צו לויפן אין דיפאלט אדער אנדערע באדינגונגען, אדער ביידע. עס אנטהאלט אויך דעפיניציעס פאר פאר-סקיילער ווערטן און GPIO פארטן און שטיפטלעך.
- דאָס בלאָק זאָרגט דערפֿאַר אַז די ברעט איז ריכטיק אײַנגעשטעלט פֿאַר די געוואונטשענע אָפּערירן באַדינגונגען און אַז אַלע נייטיקע האַרדווער קאָנפיגוראַציעס זענען אין פּלאַץ.
- אַפּליקאַציע נוצן קאַסעס:
- די st_iso_app.h און st_iso_app.c fileס אנטהאלטן אַפּליקאַציע נוץ קאַסעס דיזיינד צו פּרובירן פֿאַרשידענע פאַנגקשאַנאַליטיעס פון די ברעט.
- די נוצן קאַסעס אַרייַננעמען דיגיטאַל אַרייַנגאַנג צו אַרויסגאַנג שפּיגלונג, שולד דעטעקשאַן טעסץ, און PWM סיגנאַל דזשענעריישאַן.
- Example קאָנפיגוראַציעס ווערן צוגעשטעלט פֿאַר לויפן צוויי באָרדז סיימאַלטייניאַסלי אין פאַרשידענע מאָדעס, דעמאַנסטרייטינג די ווערסאַטילאַטי און בייגיקייט פון די פירמווער.
- API פונקציעס:
- די iso1a1.h און iso1a1.c fileס צושטעלן אַ פולשטענדיק סכום פון APIs צו שטיצן פֿאַרשידענע פאַנגקשאַנאַליטיעס.
- די APIs אַרייַננעמען פאַנגקשאַנז פֿאַר דיגיטאַל אַרייַנשרייַב/אַרויסגאַנג קאָנטראָל, שולד דעטעקציע, און ברעט סטאַטוס דערהייַנטיקונגען.
- די APIs זענען דיזיינד צו זיין פּשוט און אינטואיטיוו, מאַכנדיג עס גרינג פֿאַר באַניצער צו ינטעראַקט מיט די ברעט און דורכפירן נייטיק אַפּעריישאַנז.
- PWM סיגנאַל קאָנטראָל:
- די pwm_api.h און pwm_api.c fileס אנטהאלטן ספעציפישע API פונקציעס שייך צו PWM סיגנאַל דזשענעריישאַן.
- די פונקציעס ערלויבן צו איניציאַליזירן, קאָנפיגורירן, אָנהייבן און אָפּשטעלן PWM סיגנאַלן פֿאַר דיגיטאַלע אַוטפּוט קאַנאַלן.
- די PWM פונקציאָנאַליטעט איז נישט די פעליקייט ברירה. ברעט קאָנפיגוראַציע איז געוואָרן מאָדיפיצירט צו געבן זיי די מעגלעכקייט. זעט סעקציע 3.5: APIs פֿאַר מער פרטים.
- ברעט שטיצע פּעקל:
- די באָרד שטיצע פּעקל כולל fileס פאר קאנטראלירן און מאניטארירן די 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 ווערן אויסגעפירט אויף א קאארדינירטן אופן צו פארזיכערן א גלאטן אפעראציע און גענויע רעזולטאטן. די ארכיטעקטור איז דיזיינט צו זיין גרינג אויסברייטערבאר, דערלויבנדיג באנוצער צו לייגן נייע פונקציאנאליטעטן און באנוץ-פאלן ווי נויטיג. פעליקייט קאנפיגוראציע איז צוגעשטעלט פארן לויפן איין ברעט מיט דיגיטאלע אינדוסטריעלע IOs. די דזשאַמפּער סעטינגס דארפן אויך זיין אין פעליקייט מאָדוס ווי באשריבן אין טאבעלע 2. דיגיטאלע אינפוט דיגיטאלע אויט שפיגלונג (DIDO) איז דער פעליקייט פירמווער אפליקאציע באנוץ-פאל.
פאָלדער סטרוקטור
די פאלגענדע פאָלדערס זענען אַרייַנגערעכנט אין די ווייכווארג פּעקל:
- דאַקיומענטיישאַן כּולל אַ קאַמפּיילד HTML file דזשענערייטאַד פון די מקור קאָד, דיטיילינג די ווייכווארג קאַמפּאָונאַנץ און אַפּיס.
- דריווערס כּולל:
- אַן STM32Cube HAL טעקע, וואָס געפינט זיך אין די סוב-טעקעס STM32G0xx_HAL_Driver. די files ווערן נישט דא באשריבן ווייל זיי זענען נישט ספעציפיש צו די X-CUBE-ISO1 ווייכווארג נאר קומען גלייך פון די STM32Cube פריימווערק.
- אַ CMSIS טעקע וואָס כּולל די Cortex® מיקראָקאָנטראָללער ווייכווארג צובינד נאָרמאַל fileס פון אָרעם. די files זענען פארקויפער-אומאפהענגיקע האַרדווער אַבסטראַקציע שיכטן פֿאַר די קאָרטעקס®-M פּראַסעסער סעריע. די טעקע קומט אויך אָן ענדערונגען פֿון די STM32Cube פריימווערק.
- אַ BSP טעקע וואָס אנטהאלט די קאָדן פֿאַר די קאָמפּאָנענטן IPS1025H-32 און CLT03-2Q3 און APIs פֿאַרבונדן מיט X-NUCLEO-ISO1A1.
- אַפּליקאַציע כּולל די באַניצער טעקע וואָס כּולל די main.c file, דער אַפּליקאַציע נוצן פאַל file, st_iso_app.c און די board_config.h file, צוגעשטעלט פֿאַר דער NUCLEO-G071RB פּלאַטפאָרמע.
BSP טעקע
די X-CUBE-ISO1 ווייכווארג ניצט צוויי פארשידענע קאמפאנענטן fileס, וואָס זענען אינעווייניק 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, מיט פֿולשטענדיקע מעגלעכקייטן צו לייענען אַלע פּין שטאַטן. דער דרייווער גיט פֿונקציעס צו איניציאַליזירן דעם מיטל, לייענען יחיד קאַנאַל סטאַטוס, און באַקומען סטאַטוס אינפֿאָרמאַציע פֿאַר אַלע קאַנאַלן סיימאַלטייניאַסלי. עס שטיצט קייפל מיטל קאָנפיגוראַציעס און האַלט אינערלעכן שטאַט פֿאַר עפֿעקטיוו קאַנאַל פאַרוואַלטונג.
די X-CUBE-ISO1 ווייכווארג APIs זענען צעטיילט אין צוויי הויפּט מקור files, וואָס זענען אינעווייניק פון דער ISO1A1 אונטערפאָלדער:
ISO1A1
די ISO1A1 fileס שליסן איין א פולשטענדיגע סעט פון API פונקציעס וואס זענען געמאכט פאר ברעט קאנפיגוראציע, קאמפאנענט אינטעראקציע, און פעלער מענעדזשמענט. די פונקציעס ערלייכטערן לייענען און שרייבן אפעראציעס, פעלער דעטעקציע און אפדעיטס, און שליסן איין פארשידענע הילף יוטיליטיס צו שטיצן די הויפט API פונקציעס. דערצו, די fileס צושטעלן פאַנגקשאַנאַליטי פֿאַר LED קאָנטראָל, GPIO איניציאַליזאַציע, ינטעראַפּט האַנדלינג, און UART קאָמוניקאַציע.
PWM API
די PWM API גיט פונקציעס פארן איניציאליזירן, קאנפיגורירן, אנפאנגען, און אפשטעלן PWM סיגנאלן. עס ערלויבט צו שטעלן די PWM פרעקווענץ און דיוטי ציקל פאר ספעציפישע טיימער פּינס, און זיכער מאכן גענויע קאנטראל איבער PWM אפעראציעס.
אַפּליקאַציע טעקע
די אַפּליקאַציע טעקע אנטהאלט די הויפּט fileס פארלאנגט פאר די פירמווער, אריינגערעכנט כעדערס און מקור fileאונטן איז א דעטאלירטע באשרייבונג פון די files אין דעם טעקע:
- board_config.h: קאָנפיגוראַציע מאַקראָס פֿאַר דער ברעט.
- main.c: הויפּט פּראָגראַם (קאָד פון די עקסampוואָס איז באַזירט אויף דער ביבליאָטעק פֿאַר ISO1A1).
- st_iso_app.c: אַפּליקאַציע פונקציעס פֿאַר ברעט טעסטינג און קאָנפיגוראַציע.
- stm32g0xx_hal_msp.c: HAL איניציאליזאציע רוטינעס.
- stm32g0xx_it.c: אינטעראַפּט הענדלער.
- syscalls.c: סיסטעם רוף אימפלעמענטאציעס.
- sysmem.c: סיסטעם זכּרון פאַרוואַלטונג.
- system_stm32g0xx.c: סיסטעם איניציאליזאציע.
ווייכווארג פארלאנגט רעסורסן
די נוקלעאָ דעווייס קאנטראלירט און קאמוניקירט מיטן X-NUCLEO-ISO1A1 ברעט דורך GPIOs. דאס פארלאנגט די נוצן פון עטליכע GPIOs פאר אינפוט, אויטפוט, און פעלער דעטעקציע פון די אינדוסטריעלע IO דעווייסעס וואס געפינען זיך אין דעם X-NUCLEO-ISO1A1 ברעט. זעט די האַרדווער באַניצער מאַנואַל UM3483 פאר מער פרטים און די דזשאַמפּער קאָנפיגוראַציעס.
ברעט קאָנפיגוראַציע (board_config.h)
די באָרד_קאָנפיג.ה file דעפינירט די רעסורסן געניצט און די קאָנפיגוראַציאָנעלע מאַקראָס צו קאָנפיגורירן די ווייכווארג לויט די ברעט קאָנפיגוראַציע. עס האַנדלט ביז צוויי ברעטער (אַזאַ ווי די סטאַקינג פון צוויי ברעטער).
די ווייכווארג DEFAULT קאנפיגוראציע איז אויסגעשטעלט מיט די X-NUCLEO-ISO1A1 אויסברייטערונג ברעט מיט אירע דזשאַמפּערס אין די דיפאָלט פּאָזיציעס. צו קאנפיגורירן די ווייכווארג פאר X-NUCLEO-ISO1A1 אין איר דיפאָלט סעטינג, דעקאמענטירט די BOARD_ID_DEFAULT מאַקראָ אין די board_config.h file.
די ווייכווארג ALTERNATE קאנפיגוראציע ווערט איינגעשטעלט דורך אויסקאמענטירן דעם BOARD_ID_ALTERNATE מאקרא אין דעם board_config.h file און טוישן די דזשאַמפּער פּאָזיציעס אויף דער ברעט.
כדי צו ניצן צוויי ברעטער גלײַכצײַטיק אין אַ סטאַק-אַפּ קאָנפיגוראַציע, נעמט אַראָפּ די קאָמענטן פֿון ביידע BOARD_ID_DEFAULT און BOARD_ID_ALTERNATE מאַקראָס און מאַכט זיכער אַז איין ברעט'ס דזשאַמפּערס זענען אין דער דיפאָלט פּאָזיציע און די אַנדערע אין דער אַלטערנאַטיווער פּאָזיציע. באַמערקט אַז עס איז נישט רעקאָמענדירט צו האָבן ביידע ברעטער אין דער זעלבער קאָנפיגוראַציע (אָדער ביידע אין דיפאָלט אָדער ביידע אין אַלטערנאַטיוו) און קען רעזולטירן אין אומגעוואונטשע נאַטור.
ווען איר ניצט נאָר איין ברעט, זאָרגט אַז די ווייכווארג איז קאָנפיגורירט פֿאַר נאָר איין קאָנפיגוראַציע און אַז די מאַקראָ וואָס קאָרעספּאָנדירט צו דער אַנדערער קאָנפיגוראַציע איז קאָמענטירט.
פאַר-סקיילערס
מיר קענען קאָנפיגורירן די פאַר-סקיילער ווערטן אין board_config.h צו דערגרייכן פאַרשידענע פרעקווענץ ראַנגעס פֿאַר די PWM אַוטפּוט דורך שטעלן די צונעמען מאַקראָס. צו נוצן אַ פאַר-סקיילער ווערט, אַראָפּנעמען די קאָמענטאַרן פֿאַר די קאָרעספּאָנדירנדיקע מאַקראָ און קאָמענטירן אַנדערע. דורך פעליקייַט, ווערט DEFAULT_PRESCALAR גענוצט.
- פּרעסקיילער_1
- פּרעסקיילער_2
- פעליקייט_פאר-סקיילער
די פּרי-סקיילער ווערטן ווערן נאָר גענוצט ווען טיימערס ווערן גענוצט, און זענען נישט נויטיק פֿאַר קיין גרונטלעכע I/O אָפּעראַציע. די ווערטן פון די פּרי-סקיילער מאַקראָס און זייערע קאָרעספּאָנדירנדיקע פרעקווענץ ראַנגעס קען מען זען אין די קאָד דאָקומענטאַציע אָדער אין דעם קאָד אַליין.
העאַרטבעאַט געפירט
מיר קענען קאָנפיגורירן די גרינע באַניצער LED, D7, צו בלינקען אין אַ האַרץ-קלאַפּ שטייגער, ווי אַ טעסט פֿאַר אַ ריכטיקע פֿאַרבינדונג צום NUCLEO-G071RB ברעט. די מאַקראָ, HEARTBEAT_LED, ווען נישט קאָמענטירט, בלינקט די גרינע LED אויף X-NUCLEO-ISO1A1 ווען עס איז פֿאַרבונדן צום NUCLEO. עס בלייבט אָן פֿאַר 1 סעקונדע און אויס פֿאַר 2 סעקונדעס, מיט די צייטונג באַהאַנדלט דורך טיימערס. ווען עס ווערט נישט גענוצט אָדער קיין פֿונקציע וואָס באַציט זיך צו LEDs ווערט גערופֿן, זאָל די מאַקראָ זיין נישט קאָמענטירט.
אינפוט און אויטפוט GPIO קאנפיגוראציע
יעדע X-NUCLEO-ISO1A1 ברעט איז אויסגעשטאַט מיט צוויי אינפוט פּאָרטן און צוויי אויטפוט פּאָרטן. די מעגלעכקייטן פון דער ברעט קענען אויסגעברייטערט ווערן דורך שטאַפּלען צוויי X-NUCLEO-ISO1A1 ברעטער איינע אויף די אַנדערע, דערמיט דערמעגלעכנדיק די נוצן פון פיר דיגיטאַלע אינפוט פּאָרטן און פיר דיגיטאַלע אויטפוט פּאָרטן. די צוגעשטעלטע ווייכווארג כולל קאָמפּרעהענסיווע APIs וואָס דערמעגלעכן לייענען, שטעלן און ויסמעקן די פּאָרטן. דערצו, די APIs דערמעגלעכן די גלייכצייטיקע שטעלן, לייענען אָדער ויסמעקן פון אַלע פּאָרטן. דעטאַלירטע אינפֿאָרמאַציע וועגן די API פונקציעס איז בנימצא אין די קאָד דאָקומענטאַציע ווי אויך אין די API אָפּטייל פון דעם דאָקומענט.
דאָ באַצייכנט דער פּרעפיקס DI אַ דיגיטאַלן אַרייַנגאַנג פּאָרט און DO באַצייכנט אַ דיגיטאַלן אַרויסגאַנג פּאָרט. פֿאַר אַן אַנדערער קאָנפיגוראַציע, ניצט די ווייכווארג די זעלבע נאַמינג קאָנווענשאַנז מיטן _alt סופֿיקס.
די פאלגענדע טאבעלע דעטאלירט די GPIO מאקראס דעפינירט אין די ווייכווארג קארעספאנדירנדיק צו פארשידענע IO פארטן:
טאַבעלע 2. GPIOs צוגעטיילט פֿאַר דיפאָלט און אַלטערנאַטיווע ווייכווארג קאָנפיגוראַציעס
נאָמען | פֿונקציע | פעליקייַט קאַנפיגיעריישאַן | אָלטערנאַטיוו קאַנפיגיעריישאַן |
אַרייַנגאַנג פּין | אריינגאנג פּין 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 טיימינג ימפּלאַמענטיישאַן. עס איז קאָנפיגורעד פֿאַר אַ פּעריאָד פון 1 סעקונדע דורך דיפאָלט.
די פאלגענדע טאבעלע דעטאלירט די טיימערס וואס זענען פאראן פאר יעדן פין אין אונזער קאוד:
טאַבעלע 3. טיימערס בנימצא פֿאַר יעדן שטיפט
שטיפט נאָמען | ווייכווארג רעפרעזענטאציע | טיימער | טייַמער קאַנאַל | אַלטערנאַטיווע פֿונקציע |
QA0_CNTRL_1_PIN | QA_0 | TIM2 | טים_קאַנאַל_4 | GPIO_AF2_TIM2 |
QA1_CNTRL_2_PIN | QA_1 | TIM1 | טים_קאַנאַל_3 | GPIO_AF2_TIM1 |
QA0_CNTRL_2_PIN | QA_0_ALT | TIM1 | טים_קאַנאַל_4 | GPIO_AF2_TIM1 |
QA1_CNTRL_1_PIN | QA_1_ALT | TIM17 | טים_קאַנאַל_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א בילד פון ווי אזוי די דאטן דערשיינען אין טעראטערם. דער פארט נאמען קען זיין אנדערש לויטן סיסטעם און סעריעלן פארט וואס ווערט גענוצט.
IO פּין מאָדע קאָנפיגוראַציע
די IO פּין מאָדע קאָנפיגוראַציע נוצפּראָגראַם ערלויבט באַניצער צו שטעלן די אַרייַנגאַנג און אַרויסגאַנג פּאָרטן פון דער ברעט ניצנדיק די ST_ISO_BoardConfigure() פונקציע. די פונקציע שטיצט קאָנפיגורירן צוויי אַרויסגאַנג פּאָרטן (QA0, QA1) און צוויי אַרייַנגאַנג פּאָרטן (IA0, IA1) צו אָדער אַרייַנגאַנג/אַרויסגאַנג מאָדע, PWM אַרויסגאַנג מאָדע, אָדער ינטעראַפּט אַרייַנגאַנג מאָדע. דורך אַדזשאַסטינג די פּאַראַמעטערס און רופן די פונקציע, קענען באַניצער לייכט קאַסטאַמייז די ברעט'ס IO קאָנפיגוראַציע צו טרעפן ספּעציפֿישע באדערפענישן.
אין אינפוט/אויטפוט מאָדע, איניציאליזירט די יוטיליטי די GPIO פּינס פֿאַר אַלגעמיינע דיגיטאַלע אָפּעראַציעס. אין PWM אויסגאַנג מאָדע, שטעלט זי אויף די טיימערס פֿאַר פּינקטלעכע PWM סיגנאַל קאָנטראָל. ווען אין אינטעראַפּט אינפוט מאָדע, קאָנפיגורירט די יוטיליטי די פּינס צו שעפּן אינטעראַפּטס, וואָס ערמעגליכט רעספּאָנסיוו געשעעניש-געטריבן פּראָגראַממינג.
איבעררייַס האַנדלינג
פֿאַר האַנדלען מיט FAULT סיגנאַלן, די ווייכווארג אַקטיוויזירט די פֿאַרבונדענע ינטעראַפּט ליניעס, וואָס אַלאַוז פֿאַר רעספּאָנסיוו געשעעניש-געטריבן פּראָגראַממינג. אַ קאַסטאַמייזד האַנדלער קען זיין פֿאַרבונדן מיט די ינטעראַפּטס דורך די
די HAL_GPIO_EXTI_Rising_Callback פונקציע איז דעפינירט אין די API. די ווייכווארג שליסט איין אייגנשאפטן פארן איניציאליזירן GPIO פּינס אין אינטעראַפּט מאָדע דורך די ST_ISO_BoardConfigure פונקציע און קאנפיגורירן ספעציפישע אקציעס אין די EXTI IRQ הענדלער. דאס ערלויבט באנוצער צו קאסטומיזירן ווי די ברעט רעאגירט צו עקסטערנע געשעענישן, און זיכער מאכן אז זי קען עפעקטיוו פירן פארשידענע שולד באדינגונגען און טריגערס.
APIs
די X-CUBE-ISO1 ווייכווארג API גיט א פולשטענדיגע סעט פון פונקציעס צו קאנטראלירן און מאניטארירן די X-NUCLEO-ISO1A1 ברעט, אריינגערעכנט PWM סיגנאל דזשענעריישאַן און GPIO אפעראציעס. די API איז דיזיינט צו זיין גרינג צו נוצן און אינטעגרירן אין פארשידענע אפליקאציעס, צושטעלנדיג בייגיקייט און קאנטראל איבער די ברעט'ס פונקציאנאליטעט.
די X-CUBE-ISO1 ווייכווארג API איז דעפינירט אין די BSP/ISO1A1 טעקע. אירע פונקציעס ווערן פּרעפיקסירט דורך ST_ISO. די API איז קענטיק פאר די אַפּליקאַציעס דורך די iso1a1.c און pwm_api.c files איז אַ קאָמבינאַציע פֿון קאָנסטאַנטן, דאַטן־סטרוקטורן און פֿונקציעס.
Sampפירמווער אַפּליקאַציעס נוצן די APIs צו ווייַזן עטלעכע מעגלעכע נוצן פון די פונקציעס.
די X-CUBE-ISO1 ווייכווארג פּעקל גיט צוויי סעטן פון APIs:
- ISO1A1 API
- PWM API
ISO1A1 API
די ISO1A1 API איז דעפינירט אין די iso1a1.h און iso1a1.c fileעס גיט פונקציעס צו קאָנפיגורירן און קאָנטראָלירן די ISO1A1 ברעט, אַרייַנגערעכנט GPIO אַרייַנשרייַב/אַרויסגאַנג אָפּעראַציעס און שולד דעטעקציע.
שליסל פאַנגקשאַנז
- ST_ISO_BoardConfigureDefault: קאָנפיגורירט די ברעט'ס IO פּאָרטן מיט דיפאָלט GPIO קאָנפיגוראַציע.
- ST_ISO_BoardConfigure: קאָנפיגורירט דעם מאָדע פון די אַרייַנגאַנג און אַרויסגאַנג פּאָרץ פֿאַר דער ברעט.
- ST_ISO_BoardInit: איניציאליזירט די ברעט האַרדווער.
- ST_ISO_BoardMapInit: איניציאליזירט די ברעט פונקציאָנאַליטעט באַזירט אויף די קאַנאַל כאַנדאַלז קאָנפיגוראַציע.
- ST_ISO_GetFWVersion: גיט צוריק די איצטיקע פירמווער ווערסיע.
- ST_ISO_GetChannelHandle: נעמט צוריק דעם קאַנאַל הענטל פֿאַר אַ ספּעציפֿישן קאַנאַל נאָמען.
- ST_ISO_InitGPIO: איניציאליזירט דעם ספעציפיצירטן GPIO פּין מיטן געגעבענעם מאָדול ID.
- ST_ISO_InitInterrupt: איניציאליזירט דעם ספעציפיצירטן GPIO פּין ווי אַן אינטעראַפּט מיט דער געגעבענער מאָדול ID.
- 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 API
די 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. פארשידענע אויסגאבע קאנאלן קענען אויפגעשטעלט ווערן מיט פארשידענע פרעקווענצן און דוטי ציקלען; טוישן פרעקווענץ אדער דוטי ציקל ווירקט נישט אויף די אנדערע, עס בלייבט די זעלבע.
דיטיילד טעכניש אינפֿאָרמאַציע וועגן די אַפּיס בנימצא צו דער באַניצער קענען זיין געפֿונען אין אַ קאַמפּיילד 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 צובינד אויף דעם נוקלעאָ מיטל, און דערמעגלעכט דעם סטאַטוס צו זיין viewאויף אַ סעריעל פּאָרט ניצנדיק אַפּליקאַציעס ווי טעראַ טערם.
- טעסט קעיס פונקציע (ST_ISO_APP_TestCase): די פונקציע פירט אויס א סעריע טעסטן און אקציעס באזירט אויף דער ברעט קאנפיגוראציע. זי קאנטראלירט דעם פעלער סטאטוס, לייענט דעם סטאטוס פון צוויי דידזשיטאלע אינפוט קאנאלן, און פירט אויס אקציעס באזירט אויף זייערע ווערטן. די פונקציע העלפט שנעל אפשאצן די ברעט'ס פערפארמאנס און פונקציאנאליטעט און באקומען וויזועלע באמערקונגען דורך פארשידענע LED מוסטערן. זיכערט אז די HEARTBEAT_LED מאקרא אין די board_config.h file איז קאָמענטירט צו אָבסערווירן געהעריקע LED מוסטערן.
- PWM דזשענעריישאַן (ST_ISO_APP_PWM _OFFSET): די פונקציע הייבט אָן דעם PWM סיגנאַל אויף ביידע אַוטפּוט קאַנאַלן מיט אַ פרעקווענץ פון 1 הערץ און אַ דוטי ציקל פון 50%. עס איניציאליזירט דעם PWM סיגנאַל, שטעלט די פרעקווענץ און דוטי ציקל, און הייבט אָן דעם PWM סיגנאַל פֿאַר די ספּעציפֿיצירטע ברעט ID. דער PWM סיגנאַל ווערט דזשענערירט מיט אַן אָפסעט צווישן ביידע קאַנאַלן און אַזוי זענען זיי נישט אין פאַזע.
- שולד דעטעקציע טעסט (ST_ISO_APP_FaultTest): די פונקציע עוואַלויִרט די שולד דעטעקציע דורך מאָטאָרינג די איינגעבויטע דיאַגנאָסטיק פּינס פון סמאַרט אַוטפּוט מאָדול IPS1025. אין אָדער פּאָלינג אָדער ינטעראַפּט מאָדע. עס קאָנפיגורירט די שולד דעטעקציע מאָדע, איניציאַליזירט שולד דעטעקציע, און דערהייַנטיקט די שולד סטאַטוס סטרוקטור באזירט אויף די אויסגעקליבענע מאָדע. די פונקציע איז קריטיש פֿאַר ענשורינג די רילייאַבילאַטי און זיכערקייַט פון די ברעט דורך דעטעקטירן און האַנדלען מיט שולדז עפעקטיוולי. ווען עס איז אין פּאָלינג מאָדע, די שולד סטאַטוס איז דערהייַנטיקט יעדער סעקונדע מיט דער הילף פון אַ טייַמער און איז ריפלעקטאַד אין די סטרוקטור defaultBoardFaultStatus אָדער alternateBoardFaultStatus. ווען עס איז אין די ינטעראַפּט מאָדע, די שולד סטאַטוס איז דערהייַנטיקט בלויז ווען די שולד פּאַסירט, און עס טריגערז די ווייכווארג צו ויסמעקן די קאָראַספּאַנדינג אַוטפּוט פּאָרט.
- PWM וועריאציע טעסט (ST_ISO_APP_PwmVariationTest): די פונקציע איז דיזיינט צו טעסטן די וועריאציע פון PWM (פולס ברייט מאדולאציע) סיגנאלן אויף פארשידענע אויטפוט קאנאלן באזירט אויף די ברעט קאנפיגוראציע. עס איניציאליזירט די PWM סיגנאלן פאר ביידע פעליקייט און אנדערע ברעט קאנפיגוראציעס, שטעלן זייער פרעקווענץ צו 100 הערץ און די ערשטע דוטי ציקל צו 0%. די פונקציע וועריירט דאן די דוטי ציקל פון 0% צו 100% אין אינקרעמענטן פון 5%, און צוריק פון 100% צו 0% אין דעקרעמענטן פון 5%, מיט א 2-סעקונדע פארשפעטיגונג צווישן יעדן שריט. די קאנטראלירטע וועריאציע ערלויבט די אבזערוואציע און עוואלואציע פון די PWM סיגנאל אויפפירונג אויף קאנאלן QA_0 און QA_1 פאר די פעליקייט ברעט, און QA_0_ALT און QA_1_ALT פאר די אנדערע ברעט.
דורך נאכפאלגן די קאנפיגוראציעס און נוצן די צוגעשטעלטע אפליקאציע פונקציעס, קענט איר עפעקטיוו אויפשטעלן און נוצן די X-NUCLEO-ISO1A1 ברעט פאר פארשידענע דעמאנסטראציע נוצן פעלער.
סיסטעם סעטאַפּ פירער
האַרדוואַרע באַשרייַבונג
STM32 נוקלעאָ פּלאַטפאָרמע
STM32 Nucleo אַנטוויקלונג באָרדז צושטעלן אַ אַפאָרדאַבאַל און פלעקסאַבאַל וועג פֿאַר ניצערס צו פּרובירן סאַלושאַנז און בויען פּראָוטאַטייפּס מיט קיין STM32 מיקראָקאָנטראָללער שורה.
די Arduino® קאָנעקטיוויטי שטיצע און ST מאָרפאָ קאָנעקטאָרס מאַכן עס גרינג צו יקספּאַנדירן די פאַנגקשאַנאַליטי פון די STM32 Nucleo אָפן אַנטוויקלונג פּלאַטפאָרמע מיט אַ ברייט קייט פון ספּעשאַלייזד יקספּאַנשאַן באָרדז צו קלייַבן פון.
די STM32 Nucleo ברעט טוט נישט דאַרפן באַזונדער פּראָבעס ווייַל עס ינטאַגרייץ די ST-LINK / V2-1 דיבוגגער / פּראָגראַמיסט.
די STM32 Nucleo ברעט קומט מיט די פולשטענדיק STM32 ווייכווארג HAL ביבליאָטעק צוזאַמען מיט פאַרשידן פּאַקידזשד ווייכווארג עקס.amples.
אינפֿאָרמאַציע וועגן דעם STM32 נוקלעאָ ברעט איז פֿאַראַן ביי www.st.com/stm32nucleo
X-NUCLEO-ISO1A1 עקספּאַנשאַן ברעט
די X-NUCLEO-ISO1A1 איז אן עוואַלואַציע ברעט מיט אפגעזונדערטע אינדוסטריעלע אינפוט/אויטפּוט, דיזיינד צו יקספּאַנדירן די STM32 נוקלעאָ ברעט און צושטעלן מיקראָ-PLC פאַנגקשאַנאַליטי. צוויי פון די X-NUCLEO-ISO1A1 ברעטער קענען זיין סטאַקלט צוזאַמען אויף שפּיץ פון אַ STM32 נוקלעאָ ברעט מיט די צונעמען סעלעקציע פון דזשאַמפּערס אויף די יקספּאַנשאַן ברעט צו ויסמיידן קאָנפליקט אין 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 אַלאַוז שנעל עוואַלואַציע פון די איינגעבויטע ICs ניצן די X-CUBE-ISO1 ווייכווארג פּעקל.
ייַזנוואַרג סעטאַפּ
די פאלגענדע ייַזנוואַרג קאַמפּאָונאַנץ זענען דארף:
- איין STM32 נוקלעאָ אַנטוויקלונג פּלאַטפאָרמע (פֿאָרגעלייגטער אָרדער קאָד: NUCLEO-GO71RB)
- איין אינדוסטריעלע דיגיטאַלע אַרויסגאַנג יקספּאַנשאַן ברעט (באַשטעלונג קאָד: X-NUCLEO-ISO1A1)
- איין USB טיפ A צו מיקראָ USB קאַבל צו פאַרבינדן די STM32 נוקלעאָ צום פּיסי
- אן עקסטערנע מאַכט צושטעל (24 V) און די פֿאַרבונדענע דראָטן צו צושטעלן די X-NUCLEO-ISO1A1 יקספּאַנשאַן ברעט.
ווייכווארג סעטאַפּ
די פאלגענדע ווייכווארג קאמפאנענטן זענען נויטיג צו אויפשטעלן א פאסיגע אנטוויקלונג סביבה פארן שאפן אפליקאציעס פארן STM32 נוקלעא אויסגעשטאט מיטן 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-G071RB ברעט מיטן X-NUCLEO-ISO1A1 עקספּאַנשאַן ברעט.
אויפשטעלן פֿאַר X-CUBE-ISO1 יקספּאַנשאַן פּעקל
דער X-NUCLEO-ISO1A1 מוז זיין קאָנפיגורירט מיט די ספּעציפֿישע דזשאַמפּער פּאָזיציעס באַזירט אויף וועלכע קאָנפיגוראַציע איר ניצט די ברעט. די פרטים וועגן דעם קענען מיר ווייטער קוקן אין די האַרדווער מאַנואַל.
- שריט 1. שטעקט אריין די X-NUCLEO-ISO1A1 עקספּאַנשאַן ברעט אויף שפּיץ פון די STM32 נוקלעאָ דורך די מאָרפאָקאָנעקטאָרס.
אויב איר ניצט צוויי ברעטער איינע אויף די אנדערע, שטאַפּלט זיי ווי אין פיגור 11. - שריט 2. פֿאַרבינדט די STM32 נוקלעאָ ברעט צו אַ פּיסי מיטן 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 נוקלעאָ ברעט'ס זכּרון.
- שריט 8. לויפט דעם קאָד אויף דער STM32 נוקלעאָ ברעט און באַשטעטיקט דאָס ערוואַרטעטע נאַטור.
רעוויזיע געשיכטע
טיש 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 ווייכווארג אויסברייטערונג, ווייכווארג אויסברייטערונג |