0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用STM32CubeMX实现快速角色交换

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-16 09:57 次阅读

ST USB-C供电(PD)生态系统,在其评估板 (STM32G081B-EVAL)和STM32CubeMX实用程序之上更新STM32G0 的固件,以及新的STM32GO Discovery Kit的商业可用性,以及我们新的STM32CubeMonitor-UCPD的部署。这一广泛而独特的举措将使开发人员能够熟悉 USB 实施者论坛 (USB-IF) 的最新标准。从那里,他们可以开始创建他们的 USB-C PD 应用程序来更新他们当前的设计或提出一个新的设计,这要归功于可以促进这一过程并缩短产品上市时间的原始工具。

随着几个月前推出的STM32G0,我们的第一款90nm主流MCU意法半导体也率先在业界提供了具有两个USB-C PD(或UCPD)接口的通用微控制器。这意味着设计人员不再需要外部 PD 控制器,从而简化了 PCB 设计,降低了材料清单,并提供了比传统控制器更多的功能。随着这一波更新和发布,我们现在站在我们的合作伙伴旁边,让利用这些新标准和协议变得比以往更容易。 由于 USB-C PD 协议可以处理高达 100 W 的功率传输,因此该连接器在各种新的工业和专业消费市场中占有一席之地,这就是为什么我们提供代码示例和工具来帮助工程师,无论他们的背景如何。

使用STM32CubeMX实现快速角色交换

USB-C PD 标准的一个流行特性是双角色端口(或 DRP),这意味着同一个 USB-C 连接器可以充当电源(发送电源)或接收器(从电源接收电源) 。 然而,STM32G0 具有开创性,因为它实现了 Power Delivery 3.0 协议的所有标准和可选功能。例如,Fast Role Swap 超越了 DRP,使 USB-C PD 系统能够在不到 150 µs 的时间内从接收端切换到源端,反之亦然。让我们假设一个用户将笔记本电脑连接到集线器为计算机充电并将视频信号输出到显示器。如果有人绊倒集线器的电源线,PC 可以使用快速角色交换从接收器快速切换到源,从而为集线器供电,集线器将继续发送视频信号而不会中断。

为了帮助工程师集成所有这些可选功能,我们正在更新我们的 STM32CubeG0 固件和我们的 STM32CubeMX 实用程序,以提供驱动程序、库、示例应用程序和源代码。例如,STM32CubeMX 有一个图形用户界面,可以帮助工程师定义每个 USB-C 端口(接收、源或双)的角色,只需点击几下。然后系统生成头文件,开发人员需要将它们包含到他们的应用程序中,绕过复杂的操作和数小时的文档。我们的库还帮助开发人员实现快速角色交换等功能,这意味着只要他们遵循我们的设计和代码,他们就能够相对快速有效地向最终用户提供最新功能。

尝试使用 STM32G0 探索套件测试备用模式

我们随 STM32G0 UCPD 接口提供的 USB-C PR 协议的另一个可选特性是交替模式或 Alt-Modes。非常简单,它将 USB 连接器的数据线重新用于发送非 USB 信号,例如视频、以太网数据包或像 Thunderbolt 3 这样的高速链路。例如,制造商现在可以更轻松地创建扩展坞用于连接到电视的视频游戏机或智能手机。USB-C 端口将为游戏机或手机供电,但它也将管理来自电视的 HDMI 请求,因此只需使用一根电缆即可享受所有这些功能。

问题是制造商并不总是清楚地表明他们的设备是否支持alt-mode。一个设计也可能有多个 USB-C,但只有一个与该功能兼容。因此,我们发布 STM32G0 USB-C Discovery 至关重要,该套件可以连接到 USB-C 端口并检测其角色、电源信息以及是否与备用模式兼容。即使是对这种新协议经验很少的工程师也可以插入套件并使用“独立模式”来获取关键信息。我们还提供“嗅探器和 USB PD 仪表模式”,使设备能够位于两个 USB-C 设备之间,以显示电压和电流方向和信息。测试设置从未如此简单。

启动 STM32CubeMonitor-UCPD 以尝试供应商定义的消息和电源配置文件

pYYBAGKBr7uASLPrAAIOMFsIa3M517.png

STM32CubeMonitor-UCPD截图

新的 STM32G0 探索套件还具有第三种模式,称为“高级用户”,这将使想要加载应用程序、调试代码或配置 USB-C 系统的开发人员感到高兴。为了使我们的套件更加强大,确保与 STM32CubeMonitor-UCPD 兼容,这是一种新的软件和监控工具,可与我们所有的 USB-C PD 接口和库一起使用,并帮助工程师测试和实施主要的 Power Delivery 3.0 功能。它的 GUI 提供了一个界面来跟踪接收器和源之间的电流、电压和消息。甚至可以配置供应商定义的消息,该功能使制造商能够请求不属于 USB 规范的信息。例如,VDM 可以询问组件的温度,并且使用我们的软件,工程师可以定制他们的 USB-C 应用程序,以使自己在竞争中脱颖而出。

工程师将享受这样一个事实,即他们可以直接从 STM32CubeMonitor-UCPD 设置多个电源配置文件,以根据用户连接到系统的充电器来调整设备的行为。他们甚至可以更进一步,使用 STM32G0 实现 USB-C 身份验证(或 C-AUTH)。它使产品能够要求电缆或另一端的设备提供电气特性或 XID,证明它通过了 USB-C IF 认证。 如果它们不存在或不兼容,系统可以停止充电操作。我们注意到此功能在我们的一些客户中特别受欢迎。例如,电子烟制造商希望防止使用廉价替代品,因为如果用户携带设备时发生故障,可能会导致灾难性后果。

与 ST 的 USB-C PD 生态系统搭上潮流

ST 是当今唯一一家提供如此庞大且易于使用的工具集以利用 USB-C PD 3.0 所提供的所有功能的公司。我们还将继续更新我们的硬件和软件。随着时间的推移,用户可以期待新的应用程序和包。此外,我们还将在 2020 年上半年推出带有用于数据和电源的 USB-C 接口的 STM32G0,正如我们在推出 MCU 时所宣布的那样。 目前,STM32G0 主要面向需要多合一系统以降低成本同时实现更多功能的低功耗应用。这些应用仅使用 USB-C 连接器供电,并在当前型号中找到合适的性价比。随着我们推出更强大的 STM32G0 版本,我们将调整我们的硬件以适应将受益于这些更强大 MCU 的新设计。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 充电器
    +关注

    关注

    100

    文章

    4138

    浏览量

    115167
  • 连接器
    +关注

    关注

    98

    文章

    14587

    浏览量

    136795
  • usb
    usb
    +关注

    关注

    60

    文章

    7961

    浏览量

    265124
收藏 人收藏

    评论

    相关推荐

    使用stm32cubeMX无法生成mdk工程文件?

    几年前使用过cubemx,可以生成keil的工程文件。最近有个工程使用cubemx创建,结果只能生成stm32cubemx类型的文件,无法生成mdk的工程文件。 请教如何解决。 (我之前使用过多次
    发表于 01-04 20:03

    STM32CubeMX的菜单介绍

    相信初学者打开STM32CubeMX一定是一脸懵逼,里面都是全英文的,不知道从何入手。这里先给大家简单讲解一下。在新建工程这一栏里,我们最常用的是第一个,它会弹出一个芯片列表供你选择,然后就会创建一
    的头像 发表于 12-25 21:03 136次阅读
    <b class='flag-5'>STM32CubeMX</b>的菜单介绍

    如何使用STM32CubeMX修改STM32Cube_FW_MP2?

    在该固件包中我找不到任何通过STM32CubeMX生成的.ioc文件
    发表于 07-24 06:17

    STM32CUBEMX界面重影严重的原因?怎么解决?

    STM32CUBEMX 界面重影严重,有相同问题的吗
    发表于 06-03 07:46

    请问对实时性要求较高要用STM32CubeMX吗?

    对实时性要求较高要用STM32CubeMX么?
    发表于 04-24 06:18

    STM32cubemx的库和KEIL的库有什么不同?

    STM32cubemx软件有对应各个系列芯片的库. 使用cubemx,生成代码框架,比如生成MDK的代码框架。但MDK也有自己的PACK。那么MDK的PACK和CUBEMX的库有什么区别,两者时什么关系呢?
    发表于 04-11 06:02

    STM32CubeMX生成代码软件卡死的原因?怎么解决?

    STM32CubeMX 生成代码 软件卡死!在生成代吗时,一直卡死在如图所示的状态,进度条一直就不走了。试过多次,一直如此。请问如何解决该问题,原因可能是什么?STM32CubeMX版本5.1.0
    发表于 04-10 06:03

    请问STM32L4如何利用STM32CubeMX实现EXTI控制LED?

    STM32L4利用STM32CubeMX如何实现EXTI控制LED?
    发表于 04-09 08:07

    关于STM32CubeMX FatFs遇到的问题求解

    大家好!有个问题请教,我在使用STM32CubeMX 生成带FreeRTOS,FatFs 的代码时,syscall.c 文件中使用了 osSemaphoreCreate
    发表于 04-09 07:39

    STM32CubeMX HAL_UART_Receive函数怎么使用?

    STM32CubeMX HAL_UART_Receive函数的使用
    发表于 04-03 08:19

    STM32CubeMX STM32WL不能配置LoRaWAN的原因?

    STM32CubeMX 中使用STM32WL配置LoRaWAN时不能配置,请问为什么?
    发表于 04-02 07:47

    STM32CubeMX安装最新版本V6.9,Motor Control Workbench生成项目工程总是显示STM32CubeMX not found的原因?

    STM32CubeMX安装最新版本V6.9,但Motor Control Workbench生成项目工程,总是显示STM32CubeMX not found?
    发表于 03-14 07:28

    STM32CUBEMX界面重影严重怎么解决?

    STM32CUBEMX 界面重影严重,有相同问题的吗
    发表于 03-14 07:13

    如何在stm32cubemx中精确查询?

    stm32cubemx中finder功能的确很方便,但我遇到一个问题 现在片子上pin复用功能越来越多,越来越方便 我同时需要多个接口,如,1个can,2个spi,1个csi...... 选择时,会出现数量上满足了,但不少pin是复用,不能共存。 请教如何在cubemx
    发表于 03-12 06:11

    如何使用STM32CubeMx配置STM32MP135的LTDC外设?

    请问一下,如何使用STM32CubeMx配置STM32MP135的LTDC外设,打开后LTDC配置项是空的
    发表于 03-11 07:37