STMicroelectronics UM3469 X-CUBE-ISO1 Pengembangan Perisian
pengenalan
Pakej perisian pengembangan X-CUBE-ISO1 untuk STM32Cube berjalan pada STM32 dan termasuk perisian tegar untuk X-NUCLEO-ISO1A1. Perisian ini menyediakan penyelesaian yang mudah digunakan untuk pembangunan peranti PLC asas yang disediakan oleh X-NUCLEO. Pengembangan ini dibina pada teknologi perisian STM32Cube untuk memudahkan kemudahalihan merentas mikropengawal STM32 yang berbeza.
Perisian ini disertakan dengan pelaksanaan yang dijalankan pada papan pengembangan X-NUCLEO-ISO1A1 yang disambungkan ke papan pembangunan NUCLEO-G071RB (atau sama ada NUCLEO-G0B1RE atau NUCLEO-G070RB). Mulai sekarang, dalam dokumen hanya NUCLEO-G071RB akan disebut untuk kesederhanaan.
Papan X-NUCLEO-ISO1A1 direka bentuk untuk menyokong susunan dua papan dengan tetapan pelompat yang sesuai untuk memanjangkan keupayaan input dan output.
Akronim dan singkatan
Jadual 1. Senarai akronim
Akronim | Penerangan |
PLC | Pengawal logik boleh atur cara |
API | Antara muka pengaturcaraan aplikasi |
PWM | Modulasi lebar nadi |
GPIO | Input/output tujuan umum. |
HAL | Lapisan abstraksi perkakasan |
PC | Komputer peribadi |
FW | Perisian tegar |
Apakah STM32Cube?
STM32Cube™ mewakili inisiatif STMicroelectronics untuk menjadikan kehidupan pembangun lebih mudah dengan mengurangkan usaha pembangunan, masa dan kos. STM32Cube merangkumi portfolio STM32.
STM32Cube versi 1.x termasuk:
- STM32CubeMX, alat konfigurasi perisian grafik yang membenarkan penjanaan kod permulaan C menggunakan wizard grafik.
- Platform perisian terbenam yang komprehensif khusus untuk setiap siri (seperti STM32CubeG0 untuk siri STM32G0), yang merangkumi:
- perisian lapisan abstraksi tertanam STM32Cube HAL, memastikan mudah alih yang maksimum merentas portfolio STM32
- satu set komponen middleware yang konsisten seperti RTOS, USB, TCP/IP dan grafik
- semua utiliti perisian terbenam dengan set lengkap examples.
Seni bina STM32Cube
Penyelesaian perisian tegar STM32Cube dibina di sekitar tiga tahap bebas yang boleh berinteraksi dengan mudah antara satu sama lain, seperti yang diterangkan dalam rajah di bawah.
Pengembangan perisian X-CUBE-ISO1 untuk STM32Cube
Berakhirview
Perisian tegar untuk X-NUCLEO-ISO1A1, papan pengembangan input/output terpencil industri, dibangunkan di sekitar persekitaran dan perpustakaan STM32, memanfaatkan MCU berprestasi tinggi papan Nucleo STM32 untuk mengurus input digital, output dengan diagnostik bersepadu bersama dengan had arus dinamik dan penjanaan isyarat PWM. Ia menampilkan konfigurasi dan kawalan papan yang komprehensif, termasuk rangka kerja untuk keadaan lalai dan ganti, makro untuk menetapkan nilai pra-penskala dan definisi untuk port dan pin GPIO.
Ia menyokong pelbagai sampkes penggunaan aplikasi seperti input digital kepada pencerminan keluaran, komunikasi UART melalui papan Nucleo, pengesanan kesalahan, kes ujian, dan penjanaan PWM yang boleh digunakan secara langsung dan boleh disesuaikan dan dikembangkan dengan mudah.
API menyediakan set fungsi yang mantap untuk kawalan input/output digital, pengesanan kesalahan dan kemas kini status papan, dengan tetapan konfigurasi untuk menjalankan dua papan serentak dalam mod yang berbeza. Fungsi API khusus tersedia untuk memulakan, memulakan, menghentikan dan mengkonfigurasi isyarat PWM untuk saluran keluaran digital.
Pakej sokongan papan termasuk fungsi untuk mengawal dan memantau pin GPIO yang disambungkan dengan IPS1025H-32 dan membaca keadaan pin GPIO yang disambungkan dengan CLT03-2Q3 melalui pengasing digital.
Konfigurasi dan permulaan adalah berdasarkan STM32CubeMX, dengan pembangunan dan penyahpepijatan disokong oleh alat STM32CubeIDE, IAR Systems dan Keil®.
Seni bina
Perisian tegar untuk X-NUCLEO-ISO1A1 boleh dibahagikan kepada beberapa blok berfungsi yang berbeza, setiap satu bertanggungjawab untuk pelbagai aspek operasi sistem:
- Konfigurasi dan Kawalan Papan:
- Papan_config.h file mengandungi makro untuk mengkonfigurasi papan untuk dijalankan dalam keadaan lalai atau alternatif, atau kedua-duanya. Ia juga termasuk definisi untuk nilai pra-skala dan port dan pin GPIO.
- Blok ini memastikan bahawa papan disediakan dengan betul untuk keadaan operasi yang diingini dan semua konfigurasi perkakasan yang diperlukan telah disediakan.
- Kes Penggunaan Aplikasi:
- st_iso_app.h dan st_iso_app.c files mengandungi kes penggunaan aplikasi yang direka untuk menguji pelbagai fungsi papan.
- Kes penggunaan ini termasuk input digital kepada pencerminan output, ujian pengesanan kerosakan dan penjanaan isyarat PWM.
- Exampkonfigurasi disediakan untuk menjalankan dua papan serentak dalam mod yang berbeza, menunjukkan fleksibiliti dan fleksibiliti perisian tegar.
- Fungsi API:
- Iso1a1.h dan iso1a1.c files menyediakan set API yang komprehensif untuk menyokong pelbagai fungsi.
- API ini termasuk fungsi untuk kawalan input/output digital, pengesanan kesalahan dan kemas kini status papan.
- API direka bentuk untuk ringkas dan intuitif, memudahkan pengguna berinteraksi dengan papan dan melaksanakan operasi yang diperlukan.
- Kawalan Isyarat PWM:
- Pwm_api.h dan pwm_api.c files mengandungi fungsi API khusus yang berkaitan dengan penjanaan isyarat PWM.
- Fungsi ini membolehkan untuk memulakan, mengkonfigurasi, memulakan dan menghentikan isyarat PWM untuk saluran output digital.
- Fungsi PWM bukan pilihan lalai. Konfigurasi papan telah diubah suai untuk membolehkannya. Rujuk Bahagian 3.5: API untuk butiran lanjut.
- Pakej Sokongan Lembaga:
- Pakej sokongan papan termasuk files untuk mengawal dan memantau pin GPIO yang disambungkan dengan IPS1025H-32 dan membaca keadaan pin GPIO yang disambungkan dengan CLT03-2Q3.
- Ips1025h_32.h dan ips1025h_32.c files menyediakan fungsi untuk menetapkan, mengosongkan dan mengesan kerosakan pada pin GPIO yang disambungkan dengan IPS1025H-32.
- Clt03_2q3.h dan clt03_2q3.c files menyediakan fungsi untuk membaca keadaan pin GPIO yang disambungkan dengan CLT03-2Q3.
Perisian tegar demonstrasi melaksanakan beberapa kes penggunaan mudah untuk mempamerkan keupayaan sistem. Kes penggunaan dan API pengguna ini dilaksanakan dengan cara yang diselaraskan untuk memastikan operasi lancar dan hasil yang tepat. Seni bina direka bentuk untuk mudah dikembangkan, membolehkan pengguna menambah fungsi baharu dan kes penggunaan mengikut keperluan. Konfigurasi lalai disediakan untuk menjalankan satu papan dengan IO industri digital. Tetapan pelompat juga diperlukan untuk berada dalam mod lalai seperti yang diterangkan dalam Jadual 2. Input digital Pencerminan keluar digital (DIDO ) ialah kes penggunaan aplikasi perisian tegar lalai.
Struktur folder
Folder berikut disertakan dalam pakej perisian:
- Dokumentasi mengandungi HTML yang disusun file dihasilkan daripada kod sumber, memperincikan komponen perisian dan API.
- Pemandu mengandungi:
- folder STM32Cube HAL, terletak dalam subfolder STM32G0xx_HAL_Driver. Ini files tidak diterangkan di sini kerana ia tidak khusus untuk perisian X-CUBE-ISO1 tetapi datang terus daripada rangka kerja STM32Cube.
- folder CMSIS yang mengandungi standard antara muka perisian mikropengawal Cortex® files daripada Arm. Ini files ialah lapisan abstraksi perkakasan bebas vendor untuk siri pemproses Cortex®-M. Folder ini juga tidak berubah daripada rangka kerja STM32Cube.
- folder BSP yang mengandungi kod untuk komponen IPS1025H-32 dan CLT03-2Q3 serta API yang berkaitan dengan X-NUCLEO-ISO1A1.
- Aplikasi mengandungi folder pengguna yang mengandungi utama.c file, kes penggunaan aplikasi file, st_iso_app.c dan board_config.h file, disediakan untuk platform NUCLEO-G071RB.
folder BSP
Perisian X-CUBE-ISO1 menggunakan dua komponen berbeza files, yang terdapat di dalam BSP/Komponen:
IPS1025
Ips1025h_32.h dan ips1025h_32.c files menyediakan pelaksanaan pemacu yang komprehensif untuk pin GPIO yang disambungkan dengan IPS1025H-32, termasuk fungsi lengkap untuk mengawal semua pin dan mengesan kerosakan. Ini files melaksanakan fungsi untuk memulakan peranti, menetapkan dan mengosongkan status saluran, mengesan keadaan kerosakan dan mengurus fungsi PWM. Pemacu menyokong berbilang peranti dan saluran, dengan keupayaan lengkap untuk kedua-dua saluran individu atau sebagai kumpulan.
CLT03
Clt03_2q3.h dan clt03_2q3.c files melaksanakan pemacu berciri penuh untuk pin GPIO yang disambungkan dengan CLT03-2Q3, dengan keupayaan lengkap untuk membaca semua keadaan pin. Pemacu menyediakan fungsi untuk memulakan peranti, membaca status saluran individu, dan mendapatkan maklumat status untuk semua saluran secara serentak. Ia menyokong konfigurasi peranti berbilang dan mengekalkan keadaan dalaman untuk pengurusan saluran yang berkesan.
API perisian X-CUBE-ISO1 dibahagikan kepada dua sumber utama files, yang berada di dalam subfolder ISO1A1:
ISO1A1
ISO1A1 files merangkumi set lengkap fungsi API yang direka untuk konfigurasi papan, interaksi komponen dan pengurusan kerosakan. Fungsi ini memudahkan operasi membaca dan menulis, pengesanan kesalahan dan kemas kini, dan termasuk pelbagai utiliti pembantu untuk menyokong fungsi API utama. Selain itu, files menyediakan fungsi untuk kawalan LED, permulaan GPIO, pengendalian gangguan dan komunikasi UART.
API PWM
API PWM menyediakan fungsi untuk memulakan, mengkonfigurasi, memulakan dan menghentikan isyarat PWM. Ia membenarkan menetapkan kekerapan PWM dan kitaran tugas untuk pin pemasa tertentu, memastikan kawalan tepat ke atas operasi PWM.
Folder aplikasi
Folder Aplikasi mengandungi utama files diperlukan untuk perisian tegar, termasuk pengepala dan sumber files. Di bawah adalah penerangan terperinci tentang files dalam folder ini:
- board_config.h: Makro konfigurasi untuk papan.
- main.c: Program utama (kod example yang berdasarkan perpustakaan untuk ISO1A1).
- st_iso_app.c: Fungsi aplikasi untuk ujian dan konfigurasi papan.
- stm32g0xx_hal_msp.c: Rutin permulaan HAL.
- stm32g0xx_it.c: Pengendali gangguan.
- syscalls.c: Pelaksanaan panggilan sistem.
- sysmem.c: Pengurusan memori sistem.
- system_stm32g0xx.c: Permulaan sistem.
Sumber yang diperlukan perisian
Peranti Nucleo mengawal dan berkomunikasi dengan papan X-NUCLEO-ISO1A1 melalui GPIO. Ini memerlukan penggunaan beberapa GPIO untuk input, output dan pengesanan kerosakan peranti IO industri yang terkandung dalam papan X-NUCLEO-ISO1A1. Rujuk kepada manual pengguna Perkakasan UM3483 untuk butiran lanjut dan konfigurasi pelompat.
Konfigurasi papan (board_config.h)
Papan_config.h file mentakrifkan sumber yang digunakan dan makro konfigurasi untuk mengkonfigurasi perisian mengikut konfigurasi papan. Ia mengendalikan sehingga dua papan (seperti susunan dua papan).
Konfigurasi DEFAULT perisian diselaraskan dengan papan pengembangan X-NUCLEO-ISO1A1 dengan pelompatnya dalam kedudukan lalai. Untuk mengkonfigurasi perisian untuk X-NUCLEO-ISO1A1 dalam tetapan lalainya, nyahkomen makro BOARD_ID_DEFAULT dalam board_config.h file.
Konfigurasi perisian ALTERNATE ditetapkan dengan menyahkomen makro BOARD_ID_ALTERNATE dalam board_config.h file dan menukar kedudukan pelompat pada papan.
Untuk menggunakan dua papan secara serentak dalam konfigurasi tindanan, nyahkomen kedua-dua makro BOARD_ID_DEFAULT dan BOARD_ID_ALTERNATE dan pastikan pelompat satu papan berada dalam kedudukan lalai dan satu lagi dalam kedudukan ganti. Ambil perhatian bahawa mempunyai kedua-dua papan dalam konfigurasi yang sama (sama ada kedua-duanya secara lalai atau kedua-duanya secara bergantian) tidak disyorkan dan boleh mengakibatkan tingkah laku yang tidak diingini.
Apabila menjalankan hanya satu papan, pastikan perisian dikonfigurasikan untuk hanya satu konfigurasi dan makro yang sepadan dengan konfigurasi lain diulas.
Pra-skala
Kita boleh mengkonfigurasi nilai pra-skala dalam board_config.h untuk mencapai julat frekuensi yang berbeza untuk output PWM dengan menetapkan makro yang sesuai. Untuk menggunakan nilai pra-skalar, nyahkomen makro yang sepadan dan ulas yang lain. Secara lalai, DEFAULT_PRESCALAR digunakan.
- PRESCALER_1
- PRESCALER_2
- DEFAULT_PRESCALER
Nilai praskala digunakan hanya apabila pemasa sedang digunakan, dan tidak diperlukan untuk sebarang operasi I/O asas. Nilai makro pra-skalar dan julat frekuensi yang sepadan boleh dilihat dalam dokumentasi kod atau dalam kod itu sendiri.
LED degupan jantung
Kami boleh mengkonfigurasi LED pengguna hijau, D7 untuk berkelip dalam sekelip mata sebagai ujian untuk sambungan yang betul ke papan NUCLEO-G071RB. Makro, HEARTBEAT_LED apabila tidak diulas, berkelip LED hijau pada X-NUCLEO-ISO1A1 apabila ia disambungkan ke NUCLEO. Ia kekal hidup selama 1 saat dan mati selama 2 saat, dengan pemasaan dijaga oleh pemasa. Apabila ia tidak digunakan atau mana-mana fungsi yang melibatkan LED dipanggil, makro harus tidak diulas.
Konfigurasi GPIO input dan output
Setiap papan X-NUCLEO-ISO1A1 dilengkapi dengan dua port input dan dua port output. Keupayaan papan boleh dikembangkan dengan menyusun dua papan X-NUCLEO-ISO1A1 di atas satu sama lain, dengan itu membolehkan penggunaan empat port input digital dan empat port output digital. Perisian yang disediakan termasuk API komprehensif yang memudahkan membaca, menetapkan dan mengosongkan port. Selain itu, API membenarkan tetapan serentak, membaca atau mengosongkan semua port. Maklumat terperinci tentang fungsi API tersedia dalam dokumentasi kod serta dalam bahagian API dokumen ini.
Di sini awalan DI menunjukkan port input digital dan DO menunjukkan port output digital. Untuk konfigurasi alternatif, perisian menggunakan konvensyen penamaan yang sama dengan akhiran _alt dilampirkan.
Jadual berikut memperincikan makro GPIO yang ditakrifkan dalam perisian yang sepadan dengan pelbagai port IO:
Jadual 2. GPIO yang diperuntukkan untuk konfigurasi perisian lalai dan alternatif
Nama | Fungsi | Konfigurasi lalai | Konfigurasi alternatif |
INPUT PIN | Pin input 1 | GPIOC, IA0_IN_1_PIN | GPIOD, IA0_IN_1_PIN |
Pin input 2 | GPIOD, IA1_IN_2_PIN | GPIOC, IA1_IN_1_PIN | |
PIN OUTPUT | Pin keluaran 1 | GPIOC, QA0_CNTRL_1_PIN | GPIOD, QA0_CNTRL_1_PIN |
Pin keluaran 2 | GPIOC, QA1_CNTRL_2_PIN | GPIOC, QA1_CNTRL_2_PIN | |
PIN SALAH | Pin rosak 1 | GPIOC, FLT1_QA0_2_OT_PIN | GPIOD, FLT1_QA0_1_OT_PIN |
Pin rosak 2 | GPIOC, FLT2_QA0_2_OL_PIN | GPIOD, FLT2_QA0_1_OL_PIN | |
Pin rosak 3 | GPIOC, FLT1_QA1_2_OT_PIN | GPIOC, FLT1_QA1_1_OT_PIN | |
Pin rosak 4 | GPIOC, FLT2_QA1_1_OL_PIN | GPIOD, FLT2_QA1_2_OL_PIN | |
MAKRO KONFIGURASI | BOARD_ID_DEFAULT | BOARD_ID_ALTERNATE |
Pemasa dan PWM
Pemasa boleh digunakan dalam perisian tegar X-CUBE-ISO1 untuk menjana isyarat PWM bagi pin tertentu. Secara lalai, pemasa tidak dimulakan kecuali TIM3. Pemasa masing-masing hendaklah dimulakan sebelum menjana isyarat PWM dan port keluaran masing-masing mesti dimulakan dalam mod PWM.
Untuk operasi input/output GPIO biasa, tidak perlu mengkonfigurasi mana-mana pemasa atau port output, kerana ia dijaga secara lalai. Walau bagaimanapun, jika sebaik sahaja pin output ditetapkan dalam mod PWM, kita perlu mengkonfigurasi semulanya dalam mod GPIO untuk digunakan sebagai pin GPIO.
Nota: Apabila pin output digunakan untuk penjanaan PWM, output GPIO dinyahdayakan, kedua-dua fungsi tidak boleh dilaksanakan serentak. Untuk mendayakan semula GPIO selepas penggunaan PWM, seseorang boleh memanggil fungsi API ST_ISO_BoardConfigureDefault() atau ST_ISO_InitGPIO() untuk mengkonfigurasi semua port sebagai GPIO sekaligus atau ST_ISO_Init_GPIO() dengan port dan pin GPIO tertentu.
Seperti yang dinyatakan di atas, perisian ini juga menggunakan satu pemasa secara lalai, TIM3, yang digunakan untuk pemasaan LED pengguna, jam dan pelaksanaan pemasaan UART. Ia dikonfigurasikan untuk tempoh 1 saat secara lalai.
Jadual berikut memperincikan pemasa yang tersedia untuk setiap pin dalam kod kami:
Jadual 3. Pemasa tersedia untuk setiap pin
Nama pin | Perwakilan perisian | Pemasa | Saluran pemasa | Fungsi ganti |
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 |
Utiliti tambahan perisian tegar
Perisian tegar termasuk utiliti tambahan untuk meningkatkan kefungsian papan penilaian X-NUCLEO-ISO1A1. Sebahagian daripadanya diterangkan di bawah.
UART
Ciri komunikasi UART membolehkan pemantauan masa nyata dan penyahpepijatan status papan melalui utiliti PC seperti TeraTerm, PuTTY dan aplikasi lain yang serupa. Perisian ini membolehkan penghantaran data UART melalui UART yang terdapat dalam papan NUCLEO-G071RB. Fungsi `ST_ISO_UART` menghantar maklumat status papan terperinci melalui UART, termasuk masa operasi sistem, konfigurasi perisian tegar dan status kerosakan. Data ini boleh viewed menggunakan mana-mana aplikasi port bersiri, seperti TeraTerm. Fungsi `ST_ISO_APP_DIDOandUART` menggabungkan operasi input/output digital dengan komunikasi UART, menghantar status semua saluran input dan output pada selang waktu tertentu. Di bawah ialah tetapan konfigurasi dan sebagaiamptentang cara data muncul dalam TeraTerm. Nama port boleh berbeza-beza berdasarkan sistem dan port bersiri yang digunakan.
Konfigurasi mod pin IO
Utiliti konfigurasi mod pin IO membolehkan pengguna menetapkan port input dan output papan menggunakan fungsi ST_ISO_BoardConfigure(). Fungsi ini menyokong mengkonfigurasi dua port output (QA0, QA1) dan dua port input (IA0, IA1) kepada sama ada mod Input/Output, mod output PWM atau mod input Interrupt. Dengan melaraskan parameter dan memanggil fungsi ini, pengguna boleh menyesuaikan konfigurasi IO papan dengan mudah untuk memenuhi keperluan khusus.
Dalam mod Input/Output, utiliti memulakan pin GPIO untuk operasi digital tujuan umum. Dalam mod output PWM, ia menyediakan pemasa untuk kawalan isyarat PWM yang tepat. Apabila dalam mod input Interrupt, utiliti mengkonfigurasi pin untuk mengendalikan gangguan, membenarkan pengaturcaraan dipacu peristiwa responsif.
Mengganggu pengendalian
Untuk mengendalikan isyarat FAULT, perisian ini mendayakan talian gangguan yang berkaitan, membolehkan pengaturcaraan dipacu peristiwa responsif. Pengendali tersuai boleh dikaitkan dengan gangguan ini melalui
Fungsi HAL_GPIO_EXTI_Rising_Callback ditakrifkan dalam API. Perisian ini termasuk ciri untuk memulakan pin GPIO dalam mod gangguan melalui fungsi ST_ISO_BoardConfigure dan mengkonfigurasi tindakan khusus dalam pengendali IRQ EXTI. Ini membolehkan pengguna menyesuaikan cara lembaga bertindak balas terhadap peristiwa luaran, memastikan ia dapat mengurus pelbagai keadaan dan pencetus kerosakan dengan berkesan.
API
API perisian X-CUBE-ISO1 menyediakan set fungsi yang komprehensif untuk mengawal dan memantau papan X-NUCLEO-ISO1A1, termasuk penjanaan isyarat PWM dan operasi GPIO. API direka bentuk agar mudah digunakan dan disepadukan ke dalam pelbagai aplikasi, memberikan fleksibiliti dan kawalan ke atas fungsi papan.
API perisian X-CUBE-ISO1 ditakrifkan dalam folder BSP/ISO1A1. Fungsinya diawali dengan ST_ISO. API boleh dilihat kepada aplikasi melalui iso1a1.c dan pwm_api.c files ialah gabungan pemalar, struktur data dan fungsi.
Sampaplikasi perisian tegar menggunakan API ini untuk menunjukkan beberapa kemungkinan penggunaan fungsi ini.
Pakej perisian X-CUBE-ISO1 menyediakan dua set API:
- API ISO1A1
- API PWM
API ISO1A1
API ISO1A1 ditakrifkan dalam iso1a1.h dan iso1a1.c files. Ia menyediakan fungsi untuk mengkonfigurasi dan mengawal papan ISO1A1, termasuk operasi input/output GPIO dan pengesanan kerosakan.
Fungsi utama
- ST_ISO_BoardConfigureDefault: Mengkonfigurasi port IO papan dengan konfigurasi GPIO lalai.
- ST_ISO_BoardConfigure: Mengkonfigurasi mod port input dan output untuk papan.
- ST_ISO_BoardInit: Memulakan perkakasan papan.
- ST_ISO_BoardMapInit: Memulakan kefungsian papan berdasarkan konfigurasi pengendalian saluran.
- ST_ISO_GetFWVersion: Mengembalikan versi perisian tegar semasa.
- ST_ISO_GetChannelHandle: Mengambil semula pemegang saluran untuk nama saluran yang ditentukan.
- ST_ISO_InitGPIO: Memulakan pin GPIO yang ditentukan dengan ID modul yang diberikan.
- ST_ISO_InitInterrupt: Memulakan pin GPIO yang ditentukan sebagai gangguan dengan ID modul yang diberikan.
- ST_ISO_EnableFaultInterrupt: Memulakan pin GPIO yang rosak dalam mod gangguan.
- ST_ISO_SetChannelStatus: Menetapkan status saluran tertentu.
- ST_ISO_SetOne_DO: Menetapkan saluran keluaran digital tunggal.
- ST_ISO_ClearOne_DO: Membersihkan saluran keluaran digital tunggal.
- ST_ISO_WriteAllChannels: Menulis data ke semua saluran output digital.
- ST_ISO_GetOne_DI: Mendapat status saluran input digital tunggal.
- ST_ISO_ReadAllChannel: Membaca status semua saluran input.
- ST_ISO_ReadAllOutputChannel: Membaca status semua saluran output.
- ST_ISO_ReadFaultStatus: Membaca status kerosakan daripada semua port pengesanan kesalahan.
- ST_ISO_ReadFaultStatusPolling: Menguji pengesanan kesalahan papan dalam mod pengundian.
- ST_ISO_DisableOutputChannel: Melumpuhkan output untuk saluran itu.
- ST_ISO_UpdateBoardStatusInfo: Mengemas kini maklumat status papan.
- ST_ISO_UpdateFaultStatus: Mengemas kini status kerosakan untuk saluran tertentu.
- ST_ISO_BlinkLed: Berkelip LED yang ditentukan dengan kelewatan dan kiraan ulangan tertentu.
- ST_ISO_UART: Menghantar maklumat status papan melalui UART.
- ST_ISO_SwitchInit: Memulakan komponen suis.
- ST_ISO_SwitchDeInit: Nyahmulakan tika suis.
- ST_ISO_DigitalInputInit: Memulakan komponen input digital.
- ST_ISO_DigitalInputDeInit: Nyahmulakan contoh input digital.
API PWM
API PWM ditakrifkan dalam pwm_api.h dan pwm_api.c files. Ia menyediakan fungsi berikut untuk memulakan dan mengawal isyarat PWM untuk pin tertentu.
- ST_ISO_Init_PWM_Signal: Memulakan pemasa dan pin khusus untuk isyarat PWM.
- ST_ISO_Set_PWM_Frequency: Menetapkan kekerapan PWM untuk pin tertentu.
- ST_ISO_Set_PWM_Duty_Cycle: Menetapkan kitaran tugas PWM untuk pin tertentu.
- ST_ISO_Start_PWM_Signal: Memulakan isyarat PWM pada pin tertentu.
- ST_ISO_Stop_PWM_Signal: Menghentikan isyarat PWM pada pin tertentu.
Untuk memulakan isyarat PWM pada saluran masing-masing, mula-mula panggil fungsi ST_ISO_Init_PWM_Signal, kemudian tetapkan kekerapan dan kitaran tugas yang dikehendaki dengan memanggil ST_ISO_Set_PWM_Frequency dan
ST_ISO_Set_PWM_Duty_Cycle berfungsi masing-masing dan kemudian anda boleh memulakan isyarat PWM dengan memanggil fungsi ST_ISO_Start_PWM_Signal dan berhenti dengan memanggil ST_ISO_Stop_PWM_Signal.
Fungsi ini perlu dipanggil dengan nama pin yang sepadan dan pemasa yang tersedia, butirannya telah disediakan dalam jadual 3. Saluran keluaran yang berbeza boleh disediakan dengan frekuensi dan kitaran tugas yang berbeza; menukar kekerapan atau kitaran tugas tidak menjejaskan yang lain, ia tetap sama.
Maklumat teknikal terperinci tentang API yang tersedia untuk pengguna boleh didapati dalam HTML yang disusun file terletak di dalam folder "Dokumentasi" pakej perisian di mana semua fungsi dan parameter diterangkan sepenuhnya.
Penerangan permohonan
Aplikasi demonstrasi melaksanakan beberapa kes penggunaan mudah. Apl st_iso dan board_config files memainkan peranan penting dalam menyediakan dan menggunakan papan dan fungsi aplikasinya. Sebelum menggunakan fungsi ini pastikan papan dan konfigurasi perisian adalah selaras antara satu sama lain.
Fungsi Aplikasi (st_iso_app.h dan st_iso_app.c)
Fungsi aplikasi diawali dengan ST_ISO_APP; ia adalah fungsi peringkat atas yang boleh dilihat oleh pengguna yang memanggil fungsi API untuk pelaksanaannya. Fungsi aplikasi boleh dipanggil dalam utama.c file untuk fungsi mereka.
- Gunakan Pemilihan Kes: Pengguna boleh menyahkomen makro kes penggunaan yang diingini dalam st_iso_app.c file. Fungsi ST_ISO_APP_SelectUseCaseMacro(), dipanggil dalam main.c, memulakan kes penggunaan itu dan fungsi ST_ISO_APP_SelectedFunction() melaksanakannya dalam main.c. Pendekatan ini membolehkan konfigurasi mudah bagi mod operasi dengan hanya mengubah suai definisi makro, memastikan kefungsian yang sesuai dilaksanakan berdasarkan kes penggunaan yang dipilih. Secara lalai, kes penggunaan DIDO dipilih dan pengguna tidak perlu membuat sebarang perubahan pada kod untuk melaksanakannya.
- Input Digital ke Pencerminan Output Digital (ST_ISO_APP_UsecaseDIDO): Fungsi ini membaca status semua saluran input dan menulis status yang sama kepada semua saluran output. Ia berguna untuk mencerminkan input digital kepada output digital.
- Input Digital ke Output Digital Mencerminkan dengan UART (ST_ISO_APP_DIDOandUART): Fungsi ini mencerminkan input digital kepada output digital, serupa dengan fungsi ST_ISO_APP_UsecaseDIDO. Selain itu, ia menghantar status papan melalui antara muka UART pada peranti Nucleo, membenarkan status tersebut viewed pada port bersiri menggunakan aplikasi seperti Tera Term.
- Fungsi Kes Ujian (ST_ISO_APP_TestCase): Fungsi ini melaksanakan satu siri ujian dan tindakan berdasarkan konfigurasi papan. Ia menyemak status kerosakan, membaca status dua saluran input digital dan melakukan tindakan berdasarkan nilainya. Fungsi ini membantu dalam menilai prestasi dan kefungsian papan dengan cepat dan mendapatkan maklum balas visual melalui corak LED yang berbeza. Pastikan makro HEARTBEAT_LED dalam board_config.h file diulas untuk melihat corak LED yang betul.
- Penjanaan PWM (ST_ISO_APP_PWM _OFFSET): Fungsi ini memulakan isyarat PWM pada kedua-dua saluran keluaran dengan frekuensi 1 Hz dan kitaran tugas 50%. Ia memulakan isyarat PWM, menetapkan kekerapan dan kitaran tugas, dan memulakan isyarat PWM untuk ID papan yang ditentukan. Isyarat PWM dijana dengan offset antara kedua-dua saluran dan oleh itu ia tidak berada dalam fasa.
- Ujian Pengesanan Kerosakan (ST_ISO_APP_FaultTest): Fungsi ini menilai pengesanan kerosakan dengan menggerakkan pin diagnostik terbina dalam modul keluaran pintar IPS1025. sama ada dalam mod pengundian atau gangguan. Ia mengkonfigurasi mod pengesanan kesalahan, memulakan pengesanan kesalahan dan mengemas kini struktur status kesalahan berdasarkan mod yang dipilih. Fungsi ini adalah penting untuk memastikan kebolehpercayaan dan keselamatan papan dengan mengesan dan mengendalikan kerosakan dengan berkesan. Apabila ia berada dalam mod pengundian, status kesalahan dikemas kini setiap saat dengan bantuan pemasa dan ditunjukkan dalam struktur defaultBoardFaultStatus atau alternateBoardFaultStatus. Apabila ia berada dalam mod gangguan, status kerosakan hanya dikemas kini apabila kerosakan berlaku, dan ia mencetuskan perisian untuk mengosongkan port output yang sepadan.
- Ujian Variasi PWM (ST_ISO_APP_PwmVariationTest): Fungsi ini direka bentuk untuk menguji variasi isyarat PWM (Pulse Width Modulation) pada saluran keluaran yang berbeza berdasarkan konfigurasi papan. Ia memulakan isyarat PWM untuk konfigurasi papan lalai dan ganti, menetapkan frekuensinya kepada 100 Hz dan kitaran tugas awal kepada 0%. Fungsi itu kemudiannya mengubah kitaran tugas daripada 0% hingga 100% dalam kenaikan 5%, dan kembali dari 100% kepada 0% dalam pengurangan 5%, dengan kelewatan 2 saat antara setiap langkah. Variasi terkawal ini membolehkan pemerhatian dan penilaian kelakuan isyarat PWM pada saluran QA_0 dan QA_1 untuk papan lalai, dan QA_0_ALT dan QA_1_ALT untuk papan ganti.
Dengan mengikuti konfigurasi ini dan menggunakan fungsi aplikasi yang disediakan, anda boleh menyediakan dan menggunakan papan X-NUCLEO-ISO1A1 dengan berkesan untuk pelbagai kes penggunaan demonstrasi.
Panduan persediaan sistem
Penerangan perkakasan
Platform Nucleo STM32
Papan pembangunan Nucleo STM32 menyediakan cara yang berpatutan dan fleksibel untuk pengguna menguji penyelesaian dan membina prototaip dengan mana-mana talian mikropengawal STM32.
Sokongan sambungan Arduino® dan penyambung ST morpho memudahkan untuk mengembangkan fungsi platform pembangunan terbuka STM32 Nucleo dengan pelbagai jenis papan pengembangan khusus untuk dipilih.
Papan Nucleo STM32 tidak memerlukan probe berasingan kerana ia menyepadukan penyahpepijat/pengaturcara ST-LINK/V2-1.
Papan Nucleo STM32 dilengkapi dengan perpustakaan HAL perisian STM32 yang komprehensif bersama-sama dengan pelbagai perisian berpakej bekasamples.
Maklumat mengenai papan Nukleo STM32 boleh didapati di www.st.com/stm32nucleo
Papan pengembangan X-NUCLEO-ISO1A1
X-NUCLEO-ISO1A1 ialah papan penilaian dengan input/output industri terpencil yang direka untuk mengembangkan papan Nucleo STM32 dan menyediakan kefungsian mikro-PLC. Dua daripada papan X-NUCLEO-ISO1A1 boleh disusun bersama di atas papan Nukleo STM32 dengan pemilihan pelompat yang sesuai pada papan pengembangan untuk mengelakkan konflik dalam antara muka GPIO. Pengasing digital yang diperakui UL1577 STISO620 dan STISO621 menyediakan pengasingan antara logik dan komponen sisi proses. Dua input sisi tinggi terhad semasa dari bahagian proses direalisasikan melalui CLT03-2Q3. CLT03-2Q3 menyediakan perlindungan, pengasingan dan petunjuk status tanpa tenaga untuk keadaan industri, direka bentuk untuk memenuhi piawaian seperti IEC61000-4-2, IEC61000-4-4 dan IEC61000-4-5. Satu setiap suis sisi tinggi IPS1025H-32/HQ-32 menyediakan output terlindung sehingga 5.6 A dengan ciri diagnostik dan pemanduan pintar. Ini boleh memacu beban kapasitif, rintangan atau induktif. X-NUCLEO-ISO1A1 membolehkan penilaian pantas IC onboard menggunakan pakej perisian X-CUBE-ISO1.
Persediaan perkakasan
Komponen perkakasan berikut diperlukan:
- Satu platform pembangunan Nucleo STM32 (kod pesanan yang dicadangkan: NUCLEO-GO71RB)
- Satu papan pengembangan keluaran digital industri (kod pesanan: X-NUCLEO-ISO1A1)
- Satu kabel USB jenis A ke USB Mikro untuk menyambungkan Nucleo STM32 ke PC
- Bekalan kuasa luaran (24 V) dan wayar yang berkaitan untuk membekalkan papan pengembangan X-NUCLEO-ISO1A1.
Persediaan perisian
Komponen perisian berikut diperlukan untuk menyediakan persekitaran pembangunan yang sesuai untuk mencipta aplikasi untuk STM32 Nucleo yang dilengkapi dengan papan pengembangan X-NUCLEO-ISO1A1:
- X-CUBE-ISO1: pengembangan untuk STM32Cube khusus untuk pembangunan aplikasi yang memerlukan penggunaan papan X-NUCLEO-ISO1A1. Perisian tegar X-CUBE-ISO1 dan dokumentasi berkaitan tersedia pada www.st.com
- Rangkaian alat pembangunan dan Pengkompil: perisian pengembangan STM32Cube menyokong tiga persekitaran berikut:
- Meja Kerja Terbenam IAR untuk rantai alat ARM® (IAR-EWARM).
- NyataView Rantaian alat Kit Pembangunan Mikropengawal (MDK-ARM-STM32).
- STM32CubeIDE.
Persediaan papan
Papan mesti dikonfigurasikan dengan tetapan pelompat yang sesuai seperti yang dinyatakan dalam manual pengguna Perkakasan (UM3483). Mematuhi garis panduan ini dengan teliti adalah penting untuk memastikan kefungsian yang betul dan mengelakkan masalah yang mungkin berlaku.
Panduan persediaan sistem
Bahagian ini menerangkan cara menyediakan bahagian perkakasan yang berbeza sebelum membangunkan dan melaksanakan aplikasi pada papan STM32 Nucleo , NUCLEO-G071RB dengan papan pengembangan X-NUCLEO-ISO1A1.
Persediaan untuk pakej pengembangan X-CUBE-ISO1
X-NUCLEO-ISO1A1 mesti dikonfigurasikan dengan kedudukan pelompat tertentu berdasarkan konfigurasi yang anda jalankan papan. Butiran yang boleh kita lihat lebih lanjut dalam manual perkakasan.
- Langkah 1. Palamkan papan pengembangan X-NUCLEO-ISO1A1 pada bahagian atas Nucleo STM32 melalui penyambung morfo.
Jika anda menggunakan dua papan di atas satu sama lain, susunkannya seperti dalam Rajah 11. - Langkah 2. Sambungkan papan Nucleo STM32 ke PC dengan kabel USB melalui penyambung USB CN1 untuk menghidupkan papan tersebut.
- Langkah 3. Hidupkan papan pengembangan X-NUCLEO-ISO1A1 dengan menyambungkan J1 ke bekalan kuasa DC 24V. Jika menggunakan papan bertindan, pastikan kedua-dua papan dikuasakan.
- Langkah 4. Buka rantai alat pilihan anda (MDK-ARM daripada Keil, EWARM daripada IAR atau STM32CubeIDE).
- Langkah 5. Buka projek perisian dan buat perubahan yang diperlukan pada board_config.h file mengikut konfigurasi papan(-papan) yang digunakan.
- Langkah 6. Tetapkan makro kes penggunaan yang sesuai dalam st_iso_app.c file atau hubungi kes penggunaan yang diperlukan menggunakan fungsi ST_ISO_APP_SelectUseCase dalam main.c file bersama mana-mana fungsi lain yang dikehendaki.
- Langkah 7. Bina projek untuk menyusun semua files dan muatkan kod yang disusun ke dalam memori papan STM32 Nucleo.
- Langkah 8. Jalankan kod pada papan STM32 Nucleo dan sahkan tingkah laku yang dijangkakan.
Sejarah semakan
Jadual 4. Sejarah semakan dokumen
tarikh | Semakan | Perubahan |
14-Mei-2025 | 1 | Keluaran awal. |
NOTIS PENTING – BACA DENGAN TELITI
STMicroelectronics NV dan anak syarikatnya (“ST”) berhak untuk membuat perubahan, pembetulan, penambahbaikan, pengubahsuaian dan penambahbaikan pada produk ST dan/atau pada dokumen ini pada bila-bila masa tanpa notis. Pembeli hendaklah mendapatkan maklumat terkini berkaitan produk ST sebelum membuat pesanan. Produk ST dijual menurut terma dan syarat jualan ST yang ada pada masa penerimaan pesanan.
Pembeli bertanggungjawab sepenuhnya untuk pilihan, pemilihan dan penggunaan produk ST dan ST tidak bertanggungjawab untuk bantuan permohonan atau reka bentuk produk pembeli.
Tiada lesen, nyata atau tersirat, kepada mana-mana hak harta intelek diberikan oleh ST di sini.
Jualan semula produk ST dengan peruntukan yang berbeza daripada maklumat yang dinyatakan di sini akan membatalkan sebarang waranti yang diberikan oleh ST untuk produk tersebut.
ST dan logo ST ialah tanda dagangan ST. Untuk maklumat tambahan tentang tanda dagangan ST, rujuk www.st.com/trademarks. Semua nama produk atau perkhidmatan lain adalah hak milik pemilik masing-masing.
Maklumat dalam dokumen ini menggantikan dan menggantikan maklumat yang dibekalkan sebelum ini dalam mana-mana versi terdahulu dokumen ini.
© 2025 STMicroelectronics – Hak cipta terpelihara
Dokumen / Sumber
![]() |
STMicroelectronics UM3469 X-CUBE-ISO1 Pengembangan Perisian [pdf] Manual Pengguna X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Peluasan Perisian, UM3469, X-CUBE-ISO1 Peluasan Perisian, Peluasan Perisian |