ST-標誌

STMicroelectronics UM3469 X-CUBE-ISO1 軟體擴展

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴展

介紹

STM1Cube 的 X-CUBE-ISO32 擴充軟體包可在 STM32 上運行,並包含 X-NUCLEO-ISO1A1 的韌體。該軟體為開發 X-NUCLEO 提供的基礎 PLC 設備提供了一個易於使用的解決方案。此擴充軟體包基於 STM32Cube 軟體技術構建,可輕鬆實現不同 STM32 微控制器之間的移植。

該軟體附帶一個可在 X-NUCLEO-ISO1A1 擴展板上運行的實現,該擴展板連接到 NUCLEO-G071RB 開發板(或 NUCLEO-G0B1RE 或 NUCLEO-G070RB)。從現在起,為簡單起見,本文檔中將僅提及 NUCLEO-G071RB。
X-NUCLEO-ISO1A1 板設計支援兩塊板的堆疊,並具有適當的跳線設置,以擴展輸入和輸出能力。

縮略語

表 1. 首字母縮略詞列表

縮寫詞 描述
可程式邏輯控制器 可程式邏輯控制器
應用程式介面 應用程式介面
脈寬調製 脈寬調製
通用輸入輸出介面 通用輸入/輸出。
哈爾 硬件抽象層
PC 個人電腦
FW 韌體

什麼是STM32Cube?

STM32Cube™ 代表意法半導體的舉措,旨在透過減少開發工作量、時間和成本,讓開發人員的工作更加輕鬆。 STM32Cube 涵蓋 STM32 產品線。
STM32Cube 版本 1.x 包括:

  • STM32CubeMX,一種圖形軟體設定工具,允許使用圖形精靈產生 C 初始化程式碼。
  • 針對每個系列的綜合嵌入式軟體平台(例如針對 STM32G0 系列的 STM32CubeG0),其中包括:
    • STM32Cube HAL 嵌入式抽象層軟體,確保在 STM32 產品組合中實現最大程度的可移植性
    • 一組一致的中間件元件,如 RTOS、USB、TCP/IP 和圖形
    • 所有嵌入式軟體實用程式與全套examp萊斯。

STM32Cube架構
STM32Cube 韌體解決方案圍繞著三個獨立的層級構建,這些層級可以輕鬆地相互交互,如下圖所示。

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-1

STM1Cube 的 X-CUBE-ISO32 軟體擴展

超過view
X-NUCLEO-ISO1A1 工業隔離輸入/輸出擴充板的韌體是基於 STM32 環境和庫開發,利用 STM32 Nucleo 開發板的高效能 MCU 來管理數位輸入、整合診斷功能的輸出、動態電流限制以及 PWM 訊號產生。它具有全面的開發板配置和控制功能,包括預設和備用條件的框架、用於設定預分頻器值的巨集以及 GPIO 連接埠和引腳的定義。

它支援各種ample 應用用例,例如數位輸入到輸出鏡像、透過 Nucleo 板的 UART 通訊、故障檢測、測試用例和 PWM 生成,可直接使用且易於自訂和擴展。

該 API 提供了一套強大的函數,用於數位輸入/輸出控制、故障檢測和電路板狀態更新,並提供配置設置,允許在不同模式下同時運行兩個電路板。此外,還提供特定的 API 函數,用於初始化、啟動、停止以及配置數位輸出通道的 PWM 訊號。

電路板支援包包括控制和監控與 IPS1025H-32 介面的 GPIO 引腳以及透過數位隔離器讀取與 CLT03-2Q3 介面的 GPIO 引腳狀態的功能。
配置和初始化基於 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包含與PWM訊號產生相關的特定API函數。
    • 這些功能允許初始化、配置、啟動和停止數位輸出通道的 PWM 訊號。
    • PWM 功能並非預設選項。已修改開發板配置以啟用此功能。更多詳情,請參閱第 3.5 節:API。
  • 董事會支持包:
    • 董事會支持包包括 file用於控制和監控與 IPS1025H-32 連接的 GPIO 引腳並讀取與 CLT03-2Q3 連接的 GPIO 引腳的狀態。
    • ips1025h_32.h 和 ips1025h_32.c file提供設定、清除和偵測與 IPS1025H-32 連接的 GPIO 引腳故障的功能。
    • clt03_2q3.h 和 clt03_2q3.c file提供讀取與 CLT03-2Q3 連接的 GPIO 引腳狀態的功能。

演示韌體實現了幾個簡單的用例,以展示系統的功能。這些用例和用戶 API 以協調的方式執行,以確保平穩運行和準確結果。該架構設計易於擴展,允許用戶根據需要添加新的功能和用例。提供預設配置,用於運行具有數位工業 IO 的單板。跳線設定也需要設定為預設模式,如表 2 所示。數位輸入數位輸出鏡像 (DIDO) 是預設的韌體應用案例。

文件夾結構

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-3

軟件包中包含以下文件夾:

  • 文檔包含已編譯的 HTML file 從源代碼生成,詳細說明軟件組件和 API。
  • 驅動包含:
    • STM32Cube HAL 資料夾,位於子資料夾 STM32G0xx_HAL_Driver 中。這些 file這裡沒有描述,因為它們不是特定於 X-CUBE-ISO1 軟體,而是直接來自 STM32Cube 框架。
    • CMSIS 資料夾,其中包含 Cortex® 微控制器軟體介面標準 file來自 Arm。 這些 file是 Cortex®-M 處理器系列的獨立於供應商的硬體抽象層。此資料夾與 STM32Cube 框架相同。
    • 一個 BSP 資料夾,其中包含組件 IPS1025H-32 和 CLT03-2Q3 的程式碼以及與 X-NUCLEO-ISO1A1 相關的 API。
  • 應用程式包含包含 main.c 的使用者資料夾 file,應用程式用例 file、st_iso_app.c 和 board_config.h file,為NUCLEO-G071RB平台提供。

BSP文件夾
X-CUBE-ISO1 軟體使用兩個不同的組件 files,位於 BSP/Components 內部:

IPS1025
ips1025h_32.h 和 ips1025h_32.c file為與IPS1025H-32介面的GPIO引腳提供全面的驅動程式實現,包括控制所有引腳和檢測故障的完整功能。這些 file實現了初始化設備、設定和清除通道狀態、偵測故障條件、以及管理PWM功能的功能。此驅動程式支援多個設備和通道,無論是單一通道還是通道組,都具有完整的功能。

CLT03
clt03_2q3.h 和 clt03_2q3.c file為與 CLT03-2Q3 介面的 GPIO 引腳實現功能齊全的驅動程序,能夠讀取所有引腳狀態。此驅動程式提供初始化設備、讀取單一通道狀態以及同時獲取所有通道狀態資訊的功能。它支援多種設備配置,並維護內部狀態以實現有效的通道管理。

X-CUBE-ISO1 軟體 API 分為兩個主要來源 files,位於 ISO1A1 子資料夾內:

ISO1A1
ISO1A1 file包含一套全面的 API 函數,用於電路板配置、元件互動和故障管理。這些函數有助於讀寫操作、故障偵測和更新,並包含各種輔助實用程式來支援主要的 API 函數。此外, file提供 LED 控制、GPIO 初始化、中斷處理和 UART 通訊的功能。

脈寬調變 API
PWM API 提供用於初始化、配置、啟動和停止 PWM 訊號的函數。它允許設定指定定時器引腳的 PWM 頻率和占空比,確保對 PWM 操作進行精確控制。

應用程式資料夾
應用程式資料夾包含主要 file韌體所需的文件,包括頭文件和原始碼 file以下是 files 在這個文件夾中:

  • board_config.h:電路板的設定巨集。
  • main.c:主程式(example,它基於 ISO1A1 的庫)。
  • st_iso_app.c:用於電路板測試和配置的應用程式函數。
  • stm32g0xx_hal_msp.c:HAL初始化例程。
  • stm32g0xx_it.c:中斷處理程序。
  • syscalls.c:系統呼叫實作。
  • sysmem.c:系統記憶體管理。
  • system_stm32g0xx.c:系統初始化。

軟件所需資源
Nucleo 設備透過 GPIO 控制 X-NUCLEO-ISO1A1 開發板並與其通訊。這需要使用多個 GPIO 來對 X-NUCLEO-ISO1A1 開發板中包含的工業 IO 設備進行輸入、輸出和故障檢測。如需更多詳細資訊和跳線配置,請參閱硬體使用手冊 UM3483。

電路板配置(board_config.h)
board_config.h file 定義所使用的資源和配置宏,以便根據電路板配置來配置軟體。它最多可處理兩塊電路板(例如兩塊電路板堆疊)。
軟體預設配置與 X-NUCLEO-ISO1A1 擴充板的跳線在預設位置時保持一致。若要將軟體配置為 X-NUCLEO-ISO1A1 的預設設置,請取消註解 board_config.h 檔案中的 BOARD_ID_DEFAULT 巨集。 file.

透過取消註解 board_config.h 中的 BOARD_ID_ALTERNATE 巨集來設定軟體 ALTERNATE 配置 file 並改變電路板上的跳線位置。
若要在堆疊配置中同時使用兩塊板,請取消註解 BOARD_ID_DEFAULT 和 BOARD_ID_ALTERNATE 宏,並確保一塊板的跳線處於預設位置,另一塊板的跳線處於備用位置。請注意,不建議將兩塊板置於相同的配置(無論是都處於預設位置還是都處於備用位置),否則可能會導致異常行為。
當僅運行一塊板時,請確保軟體僅針對一種配置進行配置,並且註解掉與另一種配置相對應的巨集。

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-4

預分頻器
我們可以在 board_config.h 中配置預分頻器的值,透過設定對應的巨集來實現不同的 PWM 輸出頻率範圍。若要使用預分頻器值,請取消註解對應的宏,並註解其他宏。預設情況下,使用 DEFAULT_PRESCALAR。

  • 預分頻器_1
  • 預分頻器_2
  • 預設預分頻器

預分頻器的值僅在使用定時器時使用,任何基本 I/O 操作都不需要。預分頻器巨集的值及其對應的頻率範圍可以在程式碼文件或程式碼本身中查看。

心跳 LED
我們可以將綠色用戶 LED D7 配置為心跳閃爍,以測試其是否正確連接到 NUCLEO-G071RB 開發板。巨集 HEARTBEAT_LED(取消註解)會在 X-NUCLEO-ISO1A1 連接到 NUCLEO 時使其上的綠色 LED 閃爍。此 LED 亮 1 秒,滅 2 秒,定時由定時器控制。當不使用巨集或呼叫任何涉及 LED 的函數時,應取消註解該巨集。

輸入輸出GPIO配置
每塊 X-NUCLEO-ISO1A1 板配備兩個輸入埠和兩個輸出埠。透過將兩塊 X-NUCLEO-ISO1A1 板堆疊在一起,可以擴展該板的功能,從而可以使用四個數位輸入端口和四個數位輸出端口。提供的軟體包含全面的 API,方便讀取、設定和清除連接埠。此外,這些 API 還允許同時設定、讀取或清除所有連接埠。有關 API 函數的詳細信息,請參閱程式碼文件以及本文檔的 API 部分。

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-5

此處,前綴 DI 表示數位輸入端口,DO 表示數位輸出端口。對於備用配置,軟體使用相同的命名約定,並附加 _alt 後綴。
下表詳細列出了各個IO口對應的軟體中定義的GPIO巨集:

表 2. 為預設和替代軟體配置分配的 GPIO

姓名 功能 預設配置 替代配置
輸入密碼 輸入腳位 1 GPIOC,IA0_IN_1_PIN GPIOD,IA0_IN_1_PIN
輸入腳位 2 GPIOD,IA1_IN_2_PIN GPIOC,IA1_IN_1_PIN
輸出引腳 輸出引腳1 GPIOC,QA0_CNTRL_1_PIN GPIOD,QA0_CNTRL_1_PIN
輸出引腳2 GPIOC,QA1_CNTRL_2_PIN GPIOC,QA1_CNTRL_2_PIN
故障引腳 故障引腳1 GPIOC,FLT1_QA0_2_OT_PIN GPIOD,FLT1_QA0_1_OT_PIN
故障引腳2 GPIOC,FLT2_QA0_2_OL_PIN GPIOD,FLT2_QA0_1_OL_PIN
故障引腳3 GPIOC,FLT1_QA1_2_OT_PIN GPIOC,FLT1_QA1_1_OT_PIN
故障引腳4 GPIOC,FLT2_QA1_1_OL_PIN GPIOD,FLT2_QA1_2_OL_PIN
配置巨集 BOARD_ID_DEFAULT BOARD_ID_ALTERNATE

定時器和PWM
X-CUBE-ISO1 韌體中的定時器可用於為特定引腳產生 PWM 訊號。預設情況下,除 TIM3 外,其他定時器均未初始化。在產生 PWM 訊號之前,應初始化對應的定時器,並且在 PWM 模式下,必須初始化對應的輸出埠。
對於正常的 GPIO 輸入/輸出操作,無需配置任何定時器或輸出端口,因為這些操作已預設完成。但是,如果輸出引腳設定為 PWM 模式,則需要在 GPIO 模式下重新配置它們,才能將其用作 GPIO 引腳。

筆記: 當輸出引腳用於產生 PWM 時,GPIO 輸出將被停用,這兩個功能無法同時實現。若要在 PWM 使用後重新啟用 GPIO,可以呼叫 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 通訊功能可透過 PC 實用程式(例如 TeraTerm、PuTTY 和其他類似應用程式)即時監控和偵錯開發板狀態。該軟體支援透過 NUCLEO-G071RB 開發板中的 UART 進行 UART 資料傳輸。 「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

IO引腳模式配置
IO 引腳模式設定公用程式可讓使用者使用 ST_ISO_BoardConfigure() 函數設定開發板的輸入和輸出連接埠。此函數支援將兩個輸出埠(QA0、QA1)和兩個輸入埠(IA0、IA1)配置為輸入/輸出模式、PWM 輸出模式或中斷輸入模式。透過調整參數並呼叫該函數,使用者可以輕鬆自訂開發板的 IO 配置,以滿足特定需求。

在輸入/輸出模式下,此實用程式會初始化 GPIO 引腳,用於通用數位操作。在 PWM 輸出模式下,它會設定定時器,以實現精確的 PWM 訊號控制。在中斷輸入模式下,此實用程式會配置引腳以處理中斷,從而實現響應式事件驅動程式設計。

中斷處理
為了處理故障訊號,軟體啟用相關的中斷線,從而實現響應式事件驅動程式設計。自訂處理程序可以透過
API 中定義的 HAL_GPIO_EXTI_Rising_Callback 函數。軟體包含透過 ST_ISO_BoardConfigure 函數在中斷模式下初始化 GPIO 引腳以及在 EXTI IRQ 處理程序中配置特定操作的功能。這允許使用者自訂開發闆對外部事件的回應方式,確保其能夠有效管理各種故障條件和觸發事件。

蜜蜂
X-CUBE-ISO1 軟體 API 提供了一套全面的功能來控制和監控 X-NUCLEO-ISO1A1 開發板,包括 PWM 訊號產生和 GPIO 操作。該 API 易於使用,易於整合到各種應用中,從而提供靈活性並可控制開發板的功能。

X-CUBE-ISO1 軟體 API 定義在 BSP/ISO1A1 資料夾中。其函數以 ST_ISO 為前綴。應用程式可以透過 iso1a1.c 和 pwm_api.c 存取該 API。 files 是常數、資料結構和函數的組合。
Sample 韌體應用程式利用這些 API 來展示這些功能的一些可能用途。

X-CUBE-ISO1軟體包提供了兩組API:

  • ISO1A1 API
  • 脈寬調變 API

ISO1A1 API
ISO1A1 API 在 iso1a1.h 和 iso1a1.c 中定義 files. 它提供配置和控制ISO1A1板的功能,包括GPIO輸入/輸出操作和故障檢測。

主要功能

  • ST_ISO_BoardConfigureDefault:使用預設 GPIO 配置來配置板的 IO 連接埠。
  • ST_ISO_BoardConfigure:配置板的輸入和輸出埠的模式。
  • ST_ISO_BoardInit:初始化闆卡硬體。
  • ST_ISO_BoardMapInit:根據通道句柄配置初始化板功能。
  • ST_ISO_GetFWVersion:傳回目前韌體版本。
  • ST_ISO_GetChannelHandle:擷取指定通道名稱的通道句柄。
  • ST_ISO_InitGPIO:使用給定的模組 ID 初始化指定的 GPIO 引腳。
  • ST_ISO_InitInterrupt:使用給定的模組 ID 將指定的 GPIO 引腳初始化為中斷。
  • ST_ISO_EnableFaultInterrupt:以中斷模式初始化故障 GPIO 接腳。
  • ST_ISO_SetChannelStatus:設定指定通道的狀態。
  • ST_ISO_SetOne_DO:設定單一數位輸出通道。
  • ST_ISO_ClearOne_DO:清除單一數位輸出通道。
  • ST_ISO_WriteAllChannels:將資料寫入所有數位輸出通道。
  • ST_ISO_GetOne_DI:取得單一數位輸入通道的狀態。
  • ST_ISO_ReadAllChannel:讀取所有輸入通道的狀態。
  • ST_ISO_ReadAllOutputChannel:讀取所有輸出通道的狀態。
  • ST_ISO_ReadFaultStatus:從所有故障偵測連接埠讀取故障狀態。
  • ST_ISO_ReadFaultStatusPolling:以輪詢模式測試電路板的故障偵測。
  • ST_ISO_DisableOutputChannel:停用該頻道的輸出。
  • ST_ISO_UpdateBoardStatusInfo:更新闆卡狀態資訊。
  • ST_ISO_UpdateFaultStatus:更新特定頻道的故障狀態。
  • ST_ISO_BlinkLed:以給定的延遲和重複次數閃爍指定的 LED。
  • ST_ISO_UART:透過 UART 發送板狀態訊息。
  • ST_ISO_SwitchInit:初始化開關組件。
  • ST_ISO_SwitchDeInit:取消初始化開關實例。
  • ST_ISO_DigitalInputInit:初始化數位輸入組件。
  • ST_ISO_DigitalInputDeInit:取消初始化數位輸入實例。

脈寬調變 API
PWM API 定義在 pwm_api.h 和 pwm_api.c 中 files. 它提供以下函數來初始化和控制特定引腳的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 函數,然後您可以透過呼叫 ST_ISO_Start_PWM_Signal 函數啟動 PWM 訊號,並透過呼叫 ST_ISO_Stop_PWM_Signal 函數停止 PWM 訊號。

呼叫函數時需要傳入對應的引腳名稱和可用的定時器,具體資訊如表3所示。不同的輸出通道可以設定不同的頻率和占空比,改變頻率或占空比不會影響另一個通道,保持不變。
用戶可用 API 的詳細技術信息可在編譯後的 HTML 中找到 file 位於軟件包的“Documentation”文件夾內,其中完整描述了所有功能和參數。

應用說明
演示應用程式實作了幾個簡單的用例。 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 中取消註解所需的用例宏 filemain.c 中呼叫的函數 ST_ISO_APP_SelectUseCaseMacro() 初始化該用例,而 main.c 中的函數 ST_ISO_APP_SelectedFunction() 實作該用例。這種方法只需修改巨集定義即可輕鬆配置操作模式,確保根據所選用例執行相應的功能。預設情況下,選擇用例 DIDO,使用者無需對程式碼進行任何更改即可實現該用例。
  • 數位輸入到數位輸出鏡像 (ST_ISO_APP_UsecaseDIDO):此函數讀取所有輸入通道的狀態,並將相同的狀態寫入所有輸出通道。它對於將數位輸入鏡像到數位輸出非常有用。
  • 使用 UART 實現數位輸入到數位輸出的鏡像 (ST_ISO_APP_DIDOandUART):此函數將數位輸入鏡像到數位輸出,類似於 ST_ISO_APP_UsecaseDIDO 函數。此外,它還透過 Nucleo 裝置上的 UART 介面傳輸開發板狀態,從而允許 view使用 Tera Term 等應用程式在串列連接埠上進行編輯。
  • 測試案例函數 (ST_ISO_APP_TestCase):此函數根據開發板配置執行一系列測試和操作。它會檢查故障狀態,讀取兩個數位輸入通道的狀態,並根據它們的值執行操作。此函數有助於快速評估開發板的性能和功能,並透過不同的 LED 模式來獲取視覺回饋。請確保 board_config.h 檔案中包含 HEARTBEAT_LED 巨集。 file 被評論以觀察正確的 LED 模式。
  • PWM 產生 (ST_ISO_APP_PWM _OFFSET):此函數在兩個輸出通道上啟動 PWM 訊號,頻率為 1 Hz,佔空比為 50%。此函數初始化 PWM 訊號,設定頻率和占空比,並啟動指定板 ID 的 PWM 訊號。產生的 PWM 訊號在兩個通道之間存在偏移,因此它們的相位不同。
  • 故障檢測測試 (ST_ISO_APP_FaultTest):此函數透過驅動智慧輸出模組 IPS1025 的內建診斷引腳,以輪詢或中斷模式評估故障檢測。它配置故障偵測模式,初始化故障偵測,並根據所選模式更新故障狀態結構。此函數透過有效檢測和處理故障,對於確保電路板的可靠性和安全性至關重要。在輪詢模式下,故障狀態會藉助計時器每秒更新一次,並反映在 defaultBoardFaultStatus 或 alternativeBoardFaultStatus 結構中。在中斷模式下,僅在發生故障時更新故障狀態,並觸發軟體清除對應的輸出連接埠。
  • PWM 變化測試 (ST_ISO_APP_PwmVariationTest):此函數旨在根據電路板配置測試 PWM(脈衝寬度調變)訊號在不同輸出通道上的變化。它會初始化預設和備用電路板配置的 PWM 訊號,將其頻率設為 100 Hz,初始佔空比設定為 0%。然後,函數會以 0% 的增量將佔空比從 100% 變為 5%,再以 100% 的遞減量將佔空比從 0% 變為 5%,每一步之間有 2 秒的延遲。這種受控的變化允許觀察和評估預設電路板 QA_0 和 QA_1 通道以及備用電路板 QA_0_ALT 和 QA_1_ALT 通道上的 PWM 訊號行為。

透過遵循這些配置並利用提供的應用程式功能,您可以有效地設定和使用 X-NUCLEO-ISO1A1 板進行各種演示用例。

系統設置指南

硬件說明

STM32 Nucleo平台
STM32 Nucleo 開發板為用戶提供了一種經濟且靈活的方式來測試解決方案並使用任何 STM32 微控制器系列構建原型。
Arduino® 連接支援和 ST morpho 連接器可輕鬆擴展 STM32 Nucleo 開放開發平台的功能,並提供多種專用擴充板供您選擇。

STM32 Nucleo 板不需要單獨的探頭,因為它集成了 ST-LINK/V2-1 調試器/編程器。
STM32 Nucleo 板帶有全面的 STM32 軟件 HAL 庫以及各種打包軟件amp萊斯。

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-8

有關 STM32 Nucleo 開發板的信息,請訪問 www.st.com/stm32nucleo

X-NUCLEO-ISO1A1擴充板
X-NUCLEO-ISO1A1 是一款具有隔離工業輸入/輸出的評估板,旨在擴展 STM32 Nucleo 開發板並提供微型 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 軟體包快速評估板載 IC。

STMicroelectronics-UM3469-X-CUBE-ISO1-軟體擴充-9

硬件設置
需要以下硬件組件:

  1. 一個 STM32 Nucleo 開發平台(建議訂購代號:NUCLEO-GO71RB)
  2. 一塊工業數位量輸出擴充板(訂購代號:X-NUCLEO-ISO1A1)
  3. 一條 USB A 型轉 Micro USB 線纜,用於將 STM32 Nucleo 連接到 PC
  4. 外部電源(24 V)和相關電線為 X-NUCLEO-ISO1A1 擴充板供電。

軟體設定
需要以下軟體元件來設定合適的開發環境,以便為配備 X-NUCLEO-ISO32A1 擴充板的 STM1 Nucleo 建立應用程式:

  • X-CUBE-ISO1:STM32Cube 的擴充板,專用於需要使用 X-NUCLEO-ISO1A1 開發板的應用開發。 X-CUBE-ISO1 韌體及相關文件可在以下位置取得: www.st.com
  • 開發工具鍊和編譯器:STM32Cube擴充軟體支援以下三種環境:
    • IAR Embedded Workbench for 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。 透過 USB 連接器 CN32 將 STM1 Nucleo 開發板透過 USB 連接線連接到 PC,為開發板供電。
  • 步驟3。 將 J1 連接到 1V DC 電源,為 X-NUCLEO-ISO1A24 擴充板供電。如果使用堆疊板,請確保兩塊板都已通電。
  • 步驟4。 打開您喜歡的工具鏈(Keil 的 MDK-ARM、IAR 的 EWARM 或 STM32CubeIDE)。
  • 步驟5。 開啟軟體專案並對 board_config.h 進行必要的更改 file 根據所用電路板的配置。
  • 步驟6。 在 st_iso_app.c 中設定適當的用例宏 file 或使用 main.c 中的 ST_ISO_APP_SelectUseCase 函數呼叫所需的用例 file 以及任何其他所需的功能。
  • 步驟7。 建置專案以編譯所有 file並將編譯後的程式碼載入到 STM32 Nucleo 板的記憶體中。
  • 步驟8。 在 STM32 Nucleo 板上運行程式碼並驗證預期行為。

修訂歷史
表 4. 文件修訂歷史記錄

日期 修訂 變化
14 年 2025 月 XNUMX 日 1 初次發布。

重要通知 - 請仔細閱讀

STMicroElectronics NV 及其子公司(「ST」)保留隨時對 ST 產品和/或本文檔進行更改、更正、增強、修改和改進的權利,恕不另行通知。採購商在下單前應取得ST產品的最新相關資訊。 ST 產品依照訂單確認時的 ST 銷售條款和條件進行銷售。

購買者對 ST 產品的選擇、選擇和使用承擔全部責任,ST 對購買者產品的應用協助或設計不承擔任何責任。
ST 此處未授予任何知識產權明示或暗示的許可。
轉售條款與此處所列資訊不同的 ST 產品將使 ST 對該產品授予的任何保固失效。

ST 和 ST 標誌是 ST 的商標。 有關 ST 商標的更多信息,請參閱 www.st.com/trademarks。 所有其他產品或服務名稱均為其各自所有者的財產。
本文檔中的資訊取代並取代本文檔任何先前版本中先前提供的資訊。
© 2025 義法半導體 – 保留所有權利

文件/資源

STMicroelectronics UM3469 X-CUBE-ISO1 軟體擴展 [pdf] 使用者手冊
X-NUCLEO-ISO1A1、NUCLEO-G071RB、UM3469 X-CUBE-ISO1 軟體擴充、UM3469、X-CUBE-ISO1 軟體擴充、軟體擴展

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *