1創建項目
打開 STM32CubeIDE 并創建一個新的 STM32 項目。作為目標選擇,從Board Selector選項卡中選擇 NUCLEO-G0B1RE
單擊“下一步”,然后輸入您的項目名稱。將其他字段保留為默認值,然后單擊“完成”。
當提示使用默認模式初始化外圍設備時,單擊否。
2配置系統↑
此時,您的項目已創建,您只剩下 STM32CubeMX 視圖。在接下來的步驟中,我們將配置項目所需的外圍設備和選項。
2.1清除引出線↑
要從空白配置開始,請單擊Pinout菜單并選擇Clear Pinouts。這將重置引腳布局視圖中的引腳布局。
2.2配置系統時基↑
對于這個簡單的例子,我們將使用 SysTick 作為系統時基。在 System Core 部分,選擇SYS并將Timebase Source更改為SysTick。
2.3配置UCPD外設↑
在Connectivity選項卡中,選擇UCPD1外圍設備并在源模式下啟用它。在NVIC 設置選項卡下,啟用 UCPD 全局中斷。
在DMA 設置選項卡下,添加 UCPD1_RX 和 UCPD1_TX DMA 請求。為 RX選擇DMA1 通道 4,為TX 選擇 DMA1 通道 2。
您可以使用任何您想要的 DMA 通道,但 DMA1_Channel1 除外,它稍后將由 BSP 驅動程序使用。
2.4配置FreeRTOS中間件↑
在中間件部分,使用CMSIS_V1接口啟用FreeRTOS 。在Config Parameters選項卡下,將“TOTAL_HEAP_SIZE”更改為 7000 字節。
然后,在Include Parameters選項卡下,啟用eTaskGetState包含定義。
信息
如果G0 使用STM32G4 ,則需要將 LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 設置為 3而不是 CubeMX 的默認值 5。在某些使用 STM32G4 的情況下,將其設置為 5 會使代碼執行卡在 vPortValidateInterruptPriority 函數中。
2.5配置USBPD中間件↑
在中間件部分,使用以下配置 啟用USBPD :
端口配置:端口 0:UCPD1
堆棧配置:PD3 全棧
定時器服務來源:TIM1
在PDO General Definitions選項卡下,驗證以下配置:
端口 0 的接收器 PDO 數量:1
Port 0 Sink PDO 10x0001912C(對應簡單的5V/3A source)
下表摘自USB 供電規范,表 6-9 固定電源 PDO - 源。該項目的使用值和相關解碼已添加到表中。
位描述使用價值解碼
B31..30固定供應00b固定的
B29雙重角色權力0b不
B28支持 USB 掛起0b不
B27不受約束的權力0b不
B26USB 通信能力0b不
B25雙重角色數據0b不
B24..22保留 - 應取消設置為零000b不
B21..20峰值電流00b峰值等于
B19..10以 50mV 為單位的電壓0001100100b5V
B9..0以 10mA 為單位的最大電流0100101100b3A
2.6配置ADC外設↑
為使供電堆棧正常工作,需要監控 VBUS。為此,需要配置一個 ADC 來測量 VBUS 電壓和電流。
由于我們將使用 X-NUCLEO-SRC1M1 BSP,因此不需要在 CubeMX 中完成 ADC 配置。
由于我們需要 ADC LL 驅動程序才能正常工作,因此我們仍然需要在 CubeMX 中配置 ADC 以使其包含驅動程序文件,但實際配置和初始化函數不會在我們的項目中調用。
在模擬部分,啟用ADC1外設通道 0。保留默認配置,因為 X-NUCLEO-SRC1M1 BSP 將重新配置它。
2.7配置I2C外設↑
由于 X-NUCLEO-SRC1M1 擴展板包含一個通過 I2C 通信的 TCPP02-M18,我們需要在我們的項目中啟用 I2C 外設。
在連接部分,在I2C模式下啟用I2C2外設。保留默認配置,因為 X-NUCLEO-SRC1M1 BSP 將重新配置它。
注意:我們需要在 CubeMX 視圖中啟用 I2C2 外設以生成代碼以包括 I2C 驅動程序,就像我們為 ADC 所做的那樣。
2.8配置時鐘↑
在Clock Configuration主選項卡下,將系統時鐘 mux 更改為PLLCLK。它將HCLK時鐘設置為 64MHz。
信息
簡單 USB-PD 接收器應用程序的強制設置已完成。
強烈建議使用以下部分進行調試
2.9 [可選] 配置 Tracer 進行調試↑
2.9.1配置LPUART↑
在STM32G0 Nucleo-64板子上,連接ST-LINK的Virtual COM口是LPUART1。
警告
必須更改 LPUART1 使用的默認 STM32CubeMX 引腳以匹配 STM32G0 Nucleo-64 硬件:
TX 的 PA2
用于接收的 PA3。
在連接部分,在異步模式下啟用LPUART1,波特率為921600 波特。其余保持默認。
在引腳布局視圖中,左鍵單擊 PA2 和 PA3 以將它們重新映射到LPUART1_TX和LPUART1_RX。
在DMA 配置選項卡下,添加對LPUART1_TX的請求。使用DMA1 通道 3。
最后,在NVIC 設置選項卡下,啟用 LPUART1 全局中斷。
2.9.2配置嵌入式tracer↑
在Utilities部分,選擇TRACER_EMB并使用LPUART1作為跟蹤源。
然后,返回USBPD中間件配置并選中 Tracer Source 復選框。
2.9.3配置UCPD監控固件響應器調試↑
如果需要與 USB-PD 堆棧交互,可以使用 UCPD 監控工具STM32CubeMonUCPD激活固件交互式堆棧響應器。在 Utilities 部分,啟用 GUI_INTERFACE,然后輸入自由文本來描述電路板。
-
usb
+關注
關注
60文章
7936瀏覽量
264483 -
PD
+關注
關注
4文章
473瀏覽量
43970
發布評論請先 登錄
相關推薦
評論