1、引言
STM32N6 是 ST 第一款帶 NPU 的基于 Cortex-M55 內(nèi)核的 MCU,在 STM32N6 開發(fā)過程中,有客戶遇到 MCO2 無輸出問題,他們使用 24MHz 外部晶振,使用 RCC HAL APIHAL_RCC_MCOConfig 設(shè)置 MCO2 輸出,參數(shù)選擇 RCC_MCO2,RCC_MCO2SOURCE_HSE, RCC_MCODIV_1,期待獲得 24MHz 輸出波形,但 MCO2 管腳一直沒有輸出。本文將介紹具體原因及解決辦法。
2、MCO2 輸出設(shè)置
首先需要確定 MCO2 是使用哪個管腳輸出的。我們使用 STM32N6-DK 板,其芯片型號為 STM32N657X0H3 (VFBGA264), 我們查詢 STM32N6 數(shù)據(jù)手冊 DB4396,GPIO PC9AF0 功能為 MCO2。客戶使用的是正確的管腳 PC9。
第二步檢查客戶代碼如下,HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_HSE, RCC_MCODIV_1);這里并沒有異常,我們交叉驗證了 MCO1,使用HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1);MCO1(PA8) 管腳是有正常波形輸出的。
這里,我們發(fā)現(xiàn) MCO2 (PC9) 管腳是由 VDDIO4 獨立供電的。默認情況下 VDDIO4 并不存在,需要通過 OTP 設(shè)置生效。在 STM32N6 中 OTP 設(shè)置可以對系統(tǒng)及外設(shè)進行一定程度的配置。
另外,還需要注意寄存器 VDDIO4SV@PWR_SVMCR1, 使用 PC[1]、PC[12:6]和PH[9:2]I/O 時,必須設(shè)置此位。
3、小結(jié)
本文簡介了 STM32N6 MCO2 無波形輸出問題的根源與解決辦法,供有需要的客戶參考。