0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建 USB-PD 接收設(shè)備(下)

麥辣雞腿堡 ? 來源:意法半導(dǎo)體 ? 作者:意法半導(dǎo)體 ? 2023-01-31 16:10 ? 次閱讀

6配置屏蔽的跳線

如圖所示,將跳線放在 X-NUCLEO-SNK1M1 屏蔽上。

pYYBAGPYzQmAffe8AAcWCYISH34714.PNG

如果您改用 X-NUCLEO-USBPDM1 擴展板,請遵循以下配置:

poYBAGPYzQqABVl2AAbbjYjjIi4255.png

7編譯并運行應(yīng)用程序

編譯必須在沒有錯誤或警告的情況下執(zhí)行。

通過單擊

pYYBAGPYzQuAcjOsAAADTVPJoVA800.png

按鈕(或選擇Project/Build Project)來構(gòu)建應(yīng)用程序。

通過單擊

poYBAGPYzQuAd1viAAADG8DiTHw646.png

按鈕運行應(yīng)用程序(或選擇運行/運行)

8建立第一個顯性契約

在電路板上運行您的應(yīng)用程序后,啟動 STM32CubeMonitor-UCPD 應(yīng)用程序。點擊“Refresh list of connected boards”時,用戶的板子必須出現(xiàn)在列表中,所以雙擊相應(yīng)的行(或單擊“NEXT”)。

poYBAGPYzQyAaiNJAAJI0SwDKqw647.png

注意:ComPort 可能不同。這取決于計算機上安裝的板卡數(shù)量。 然后雙擊所需的 UCPD 端口,此處為端口 0,或選擇它并單擊“下一步”。

poYBAGPYzQyACvOtAAGz1sIStOg929.png

單擊右下角的TRACES按鈕以獲取協(xié)議跟蹤。然后,您可以將供電電源插入 X-NUCLEO-SKN1M1 防護罩的 USB Type-C? 插座。屏幕可能如下所示:

pYYBAGPYzQ2AafH2AAGP_JEmIic004.png

上圖顯示了 STM32G0 與右側(cè)面板上的供電電源之間的通信。可以驗證正確的順序以達成明確的合同:

功能由源發(fā)送(IN 綠色消息)。

請求由STM32G0發(fā)送(OUT橙色信息)。

ACCEPT和PS_RDY由源發(fā)送(IN 綠色消息)。

合同協(xié)商以POWER_EXPLICIT_CONTRACT通知(藍色消息)結(jié)束。

有關(guān)如何使用此工具的更多詳細信息,請參閱UM2468。有關(guān)協(xié)議的更多詳細信息,請參閱UM2552。請注意,此跟蹤對于調(diào)試和應(yīng)用程序開發(fā)非常有幫助。

9 [可選] 高級 USB-PD 應(yīng)用程序

25px-Warning_white.png

警告

此部分是可選的,針對想要從源中選擇特定 PDO 的用戶。在參考本節(jié)之前,需要先完成 wiki 的第一部分。

從這一點開始,您構(gòu)建了最簡單的接收器,它不處理接收器和源 PDO 的匹配。這必須通過用戶代碼來完成。這是在 USBPD_DPM_SNK_EvaluateCapabilities 函數(shù)中完成的。目前,這個函數(shù)只是請求第一個可用的源 PDO,即 5V。

要選擇特定的 PDO(例如 9V),您必須選擇相應(yīng)的源 PDO 編號。這可以通過與先前在 STM32CubeMX 中定義的接收器 PDO 以及相應(yīng)的可用源 PDO 相匹配的用戶代碼來完成。

本節(jié)提供了該系統(tǒng)可能實現(xiàn)的代碼。

你需要:

在STM32CubeMX中添加所有你想支持的sink PDO

在您的應(yīng)用程序中添加下面提供的用戶代碼

9.1添加支持的sink PDO ↑

重新打開 STM32CubeMX 視圖。在Middleware部分,對于USBPD中間件,在PDO General Definitions選項卡下,添加您希望接收器支持的 PDO 數(shù)量。對于此示例,我們定義了 3PDO,對應(yīng)于 5V/1.5A、9V/1.5A 和 15V/1.5A 的簡單灌電流配置。這是通過將 PDO 設(shè)置為:

0x00019096(固定 PDO:5V 1.5A)

0x0002D096(固定 PDO:9V 1.5A)

0x0004B096(固定 PDO:15V 1.5A)

poYBAGPYzQ6AXc5_AACzzU_pObY846.png

9.2在GitHub上獲取usbpd_user_services.c/h文件↑

通過訪問以下鏈接在 GitHub 上獲取 usbpd_user_services.c/h 文件:

- usbpd_user_services.c

- usbpd_user_services.h

將 usbpd_user_services.c/h 文件復(fù)制到您的應(yīng)用程序 USBPD 文件夾中。

然后,為了告訴 STM32CubeMX 在代碼生成時包含這些文件,在項目的根文件夾中創(chuàng)建一個名為“.extSettings”的文件(請注意文件名中的點字符)并用以下代碼填充它:

[項目文件] 標頭路徑= [其他] 定義= 哈爾模塊= [團體] USBPD=USBPD/usbpd_user_services.c

9.3 usbpd_dpm_user.c中修改↑

在/* USER CODE BEGIN-END Includes */標簽之間添加以下代碼:

/* 用戶代碼開始包括 */ #include “usbpd_user_services.h” /* 用戶代碼結(jié)束包括 */

在開關(guān)中的/* USER CODE BEGIN-END USBPD_DPM_SetDataInfo */標簽 之間添加以下代碼:

/* Case Received Source PDO values 數(shù)據(jù)信息 : */ case USBPD_CORE_DATATYPE_RCV_SRC_PDO : /*!《 Storage of Received Source PDO values */ USBPD_USER_SERV_StoreSRCPDO ( PortNum , Ptr , Size ); 打破;

在/* USER CODE BEGIN-END USBPD_DPM_SNK_EvaluateCapabilities */標簽之間添加以下代碼(替換之前添加的代碼):

/* 用戶代碼開始 USBPD_DPM_SNK_EvaluateCapabilities */ USBPD_USER_SERV_EvaluateCapa ( PortNum , PtrRequestData , PtrPowerObjectType ); /* 用戶代碼結(jié)束 USBPD_DPM_SNK_EvaluateCapabilities */

您現(xiàn)在可以重新生成代碼,構(gòu)建并運行它。您的應(yīng)用要求匹配 PDO 的最高電壓(源和吸收支持的電壓/電流)。

您可以進一步修改此用戶代碼,例如選擇最高功率的 PDO 而不是最高電壓。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7879

    瀏覽量

    263728
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354307
  • PD
    PD
    +關(guān)注

    關(guān)注

    4

    文章

    458

    瀏覽量

    43889
收藏 人收藏

    評論

    相關(guān)推薦

    USB-PD適配器中常見的拓撲

    本文首先回顧了USB-PD適配器的發(fā)展,并和大家聊一聊USB-PD適配器中常見的拓撲。接著著重介紹ST在快充領(lǐng)域的最新產(chǎn)品和技術(shù)路線。最后我們會以demo板為例,跟大家探討一USB-PD
    發(fā)表于 08-18 14:18 ?2816次閱讀

    應(yīng)用指南—如何使用DSLogic分析USB-PD信號?

    ,兩設(shè)備協(xié)商后 VBUS 的電壓會有所改變。 VBUS 電壓是 USB 總線上的電源電壓,通常為5V。在 USB-PD 中,它可以在5V、9V、12V、15V或20V之間變化,以提供不同功率級別的電力
    的頭像 發(fā)表于 09-04 14:42 ?1243次閱讀
    應(yīng)用指南—如何使用DSLogic分析<b class='flag-5'>USB-PD</b>信號?

    USB-PD實現(xiàn)中大功率USB充電應(yīng)用

    伏特VBus電源線,提高支援電壓等級至12或20伏特。 無庸置疑,USB-PD產(chǎn)品能否問世的關(guān)鍵,就在于負責電源訊號通訊的USB VBus設(shè)計。新控制方案須達到夠高的頻率,以免影響傳統(tǒng)USB設(shè)
    發(fā)表于 06-04 05:00

    PD 快充是什么?一篇文章帶你了解USB-PD快充協(xié)議

    前言  說起 USB-PD 協(xié)議,全名 USB Power Delivery ,可能對于很多人來說還很陌生,但是目前越來越多的手機已經(jīng)開始支持這一協(xié)議并用來做為設(shè)備快速充電的功能?! ∩杂辛私獾娜?/div>
    發(fā)表于 08-27 09:50

    目前主流的快充協(xié)議USB-PD介紹

    USB-PD 是由 USB-IF 組織制定的一種快速充電規(guī)范,是目前主流的快充協(xié)議之一。 USB-PD 快充協(xié)議是以 Type-C 接口輸出的,但不能說有 Type-C 接口就一定支持 USB
    發(fā)表于 10-28 08:55

    基于USB Type-C的一種電源供電標準USB-PD

    USB-PD(Power Delivery)是基于USB Type-C的一種電源供電標準,最大供電功率可達100瓦(W);隨著USB Type-C的普及,越來越多的設(shè)備(手機、平板、顯
    發(fā)表于 09-14 07:24

    請問從USB-PD端口請求更高電壓最簡單最快的方法是什么

    你好,我正在將 STM32G0B1RE 處理器用作 USB-PD SINK。請問從USB-PD端口請求更高電壓(例如9V或12V)最簡單最快的方法是什么(最好使用CubeMX)?任何人都可以分享最簡單的代碼來從 USB-PD
    發(fā)表于 12-23 06:45

    致遠電子發(fā)布USB-PD快充測試方案

    USB-PD(Power Delivery)是基于USB Type-C的供電標準,最大功率可達100W。
    發(fā)表于 05-17 09:47 ?16次下載

    致遠電子發(fā)布 USB-PD 快充測試方案

    USB-PD(Power Delivery)是基于USB Type-C的供電標準,最大功率可達100W。雖然USB-PD快充越來越熱,但行業(yè)內(nèi)并沒有針對快充的測試工具,ZLG致遠電子正式發(fā)布U
    發(fā)表于 05-17 18:10 ?4486次閱讀
    致遠電子發(fā)布 <b class='flag-5'>USB-PD</b> 快充測試方案

    什么是USB-PD?

    10P0R,VIVONEX 3S等新出的機型,快充應(yīng)用迎來爆發(fā)。如果您還不熟悉這項技術(shù),并且想了解更多信息,請閱讀以下的使用信息 什么是USB-PD?USB-PDUSB部分代表通用串行總線。您應(yīng)該熟悉它,因為它定義了相同的技術(shù)
    的頭像 發(fā)表于 10-11 09:40 ?3.6w次閱讀
    什么是<b class='flag-5'>USB-PD</b>?

    AN5418_使用STM32CubeMX構(gòu)建一個簡單的USB-PD接收器應(yīng)用程序

    AN5418_使用STM32CubeMX構(gòu)建一個簡單的USB-PD接收器應(yīng)用程序
    發(fā)表于 11-21 08:11 ?0次下載
    AN5418_使用STM32CubeMX構(gòu)建一個簡單的<b class='flag-5'>USB-PD</b><b class='flag-5'>接收</b>器應(yīng)用程序

    如何使用STM32CubeMX構(gòu)建簡單的USB-PD接收器應(yīng)用程序

    如何使用STM32CubeMX構(gòu)建簡單的USB-PD接收器應(yīng)用程序
    發(fā)表于 11-21 17:07 ?8次下載
    如何使用STM32CubeMX構(gòu)建簡單的<b class='flag-5'>USB-PD</b><b class='flag-5'>接收</b>器應(yīng)用程序

    如何創(chuàng)建 USB-PD 接收設(shè)備(上)

    。將其他字段保留為默認值,然后單擊“完成”。 2配置系統(tǒng) 15分鐘 此時,您的項目已創(chuàng)建,您只剩下 STM32CubeMX 視圖。在接下來的步驟中,我們配置項目所需的外圍設(shè)備和選項。 2.1配置UCPD
    的頭像 發(fā)表于 01-31 16:02 ?2263次閱讀
    如何<b class='flag-5'>創(chuàng)建</b> <b class='flag-5'>USB-PD</b> <b class='flag-5'>接收</b><b class='flag-5'>設(shè)備</b>(上)

    如何使用DSLogic分析USB-PD信號?

    一文檔介紹本文將一步步介紹如何使用DSLogic邏輯分析儀采集和分析USB-PD信號。此次將演示使用快充充電器給一臺安卓手機充電。二需要測量哪幾個信號邏輯分析儀需要測量CC1信號,兩設(shè)備協(xié)商后
    的頭像 發(fā)表于 01-12 14:09 ?983次閱讀
    如何使用DSLogic分析<b class='flag-5'>USB-PD</b>信號?

    USB Type-C與USB-PD技術(shù)對比

    本篇文章主要詳述 24P、16P 與 6P USB-TypeC接口的引腳定義,以及USB-PDUSB接口類型,以便廣大讀者在進行硬件設(shè)計時提供參考依據(jù)。
    發(fā)表于 01-26 12:23 ?2491次閱讀
    <b class='flag-5'>USB</b> Type-C與<b class='flag-5'>USB-PD</b>技術(shù)對比