UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件

这篇具有很好参考价值的文章主要介绍了UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言


不同品牌终端和适配器之间不能有效识别,只能实现较低功率的充电。一方面,用户快充体验受到很大的制约和限制,不兼容问题成为用户的一大痛点;另一方面,由于充电标准不统一,导致产业链上下游厂商研发通用快充电源芯片和配件的风险和成本相对高昂。技术制式的不统一也将妨碍终端绿色能源和循环经济的长期发展。

目前USB-PD已经成为欧洲的标准,所有厂商都表示支持。中国也在2021年提出了UFCS标准,目前正在积极推广中,基于中国是世界第一大手机市场,更是第一大的电子产品制造国,UFCS应该有着巨大的前景!

一、UFCS 与USB-PD的优缺点比较

UFCS 的物理层就是UART串口,几乎所有的MCU都自带UART串口硬件,这就让产品开发起来很简单了。而USB-PD 采用BMC编码,简单说就是用脉冲的宽窄代表1和0,而且信号的高电平才1V左右,这就必须要有硬件比较器,增加了成本。好处当然是抗干扰的能力更强。然而UART经过几十年的发展,也有许多的工业应用,比如RS232, RS485, LIN, MODBUS…, 足够应付各种场景了吧?!

USB-PD的频率是300Kbps, 软件发送边沿的跳变就要600KHz, 接收采样就需要5-10倍的速度,才能有效保证不丢数据位,这对于ARM32位的MCU也需要主频48MHz 才能够用。对于应用量更大的8位MCU,就只能靠硬件来实现物理层了,纯软件处理速度跟不上。用硬件的缺点首先是增加了成本,其次硬件开发周期长,合并进入芯片,这个过程至少也要半年一年。芯片debug也就是流片的成本,又要几十万,上百万。而在UART基础上做个UFCS的协议软件,也就2-3周时间。

还有一点很重要,USB-PD需要额外的两条CC线,来传送数据,完成通讯。UFCS则是利用USB原有的D+,D-两条数据线来通讯。这和高通,华为等手机大厂的方式一样,好处又是硬件简单。而且可以在USB-A/B USB-C 等所有USB 口上实现,USB-PD就只支持新的type-C接口了。

基于以上的点看,USB-PD标准发布至今已经10年了,才刚刚开始大面积应用,应该是跟各种硬件成本和应用难度不无关系,重新开发硬件,开发软件都不是简单的事情。

当然,UFCS目前功能还比较简单。USB-PD的以下功能,UFCS暂时还没有:

  1. Dual-role, 就是一个口,又能充电也能放电,就是有的手机口还能当充电宝,给其他手机充电。只看手机对手机,感觉比较鸡肋。但是,如果发挥想象力,你的手机,电脑,显示器,笔电等等电器都用USB线连在一起,只需要一个充电器了。乱七八糟的插座,是不是就不要那么多了?
  2. Alternative, 就是这个PD口可以代替视频线,音频线,HDMI,雷电,等等,你的显示器,只需要一根线跟主机连接,连电源线也不要了。所有的设备之间连接只有USB,不管是信号线还是电源线,只有USB一种,简单了吧?

以上是最近几个月学习USB-PD和UFCS,的一些体会,下面也分享一些有用的东东给大家,希望对UFCS的发展添砖加瓦。(本文欢迎转发,但请保留作者联系信息 i2tv@qq.com)

二、UFCS协议分析工具

1.PULSEVIEW

PULSEVIEW 是sigrok开源的协议分析软件,无数的协议分析仪和示波器都用了这家的软件,上百种协议的软件都是开源的,比如UART, IIC, SPI, USB-PD, LIN, CAN呀, 相当赞!我来贡献UFCS协议分析包,不知道能否被接受呢。先共享出来给大家用吧。
UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件
UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件
硬件价格从20元人民币到几万美元的都有,分析UFCS就去某宝或者PDD上买个几十元的就够用了。协议支持都是基于sigrok开源共享的,只是采样速度和阈值电平的调节不同。以上的图是用muselab家的板子采的,不是最低价,主要表示对开源的支持!

说到开源,我觉得是一种共享知识的模式,能让软件硬件迅速发展和普及,建议UFCS等等协议也应该开源,协议开放,并且提供参考源代码,参考硬件设计,让开发者可以拿来就用,这样发展就快了。第一步我先把自己写的UFCS协议分析包开源提供在这里,或者Gitee, github(访问太慢了,这是共享软硬件的资源宝库,应该设法加速呀!)。

2.DSview

另外,还要分析USB-PD的话,推荐DSlogic。也是基于sigrok的共享软件,二次开发的。
UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件
UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件
DSlogic主要优点是阈值电平可以调节,也就是识别更低的电平,因为USB-PD的高电平1V左右,普通MCU无法直接识别,必须有硬件比较器的电平转换。
另外一个重要优点就是上图蓝色的部分,直接点击搜索需要的特征值,然后点击就可以迅速找到数据包的位置,这个对于协议分析的效率很高,pulseview 要左右拉来拉去,用肉眼找数据,还是很费脑子的;)

个人版300-500元的价格,跟老外的价格比较起来,就是挣个茶水费喽。

3.UFCS协议分析软件插件共享

基于sigrok的协议分析软件,都有一个decoders目录,里面每个子目录是一个协议,包括两个文件__init__.py 和 pd.py。所以看这些python源码就可以知道上百种协议的原理了。改到MCU上,用c语言实现也就轻松愉快。
下载链接1
https://gitee.com/renxn/ufcs.git
下载链接2
https://github.com/392625227/UFCS-protocol-compare-with-USB-PD

只要下载里面的两个文件,在你的pluseview或者dsview的decoders下面加一个ufcs目录,再把__init__.py 和pd.py 拷贝到decoders/ufcs目录下,重新打开pulseview 或者 dsview就可以分析UFCS协议包了。
主要几个文件,最重要的最长,放在本文章最后面,直接黏贴都可以不用下载。.sr 文件是pulseview软件抓取的波形,先选UART,然后再选UFCS,就可以分析UFCS数据包。.dsl是DSview软件抓的UFCS波形,协议直接选UFCS就行。要学习UFCS的协议包格式,除了看TTAF 083-2022 移动终端融合快速充电技术规范.pdf,就是用pulseview 或者dsview直接看图识字,最简单不过了。开本文的分享的代码也很简单。
只要这里两个文件,在decoders下面加一个ufcs目录,再把__init__.py 和pd.py 拷贝到decoders/ufcs目录下,重新打开pulseview 或者 dsview就可以用分析UFCS协议包了。

1__init__.py 主要就一句话,为了pulseview, DSview软件找到这个协议文章来源地址https://www.toymoban.com/news/detail-432985.html

from .pd import Decoder
  1. pd.py 有点儿长,凑合看吧;)
##
## This file is part of the libsigrokdecode project.
##
## Copyright (C) 2023 edison ren <i2tv@qq.com>
## ref from uart & usb_power_delivery 
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, see <http://www.gnu.org/licenses/>.
##

import sigrokdecode as srd

# Control Message type
CTRL_TYPES = {
   
    0: 'PING',
    1: 'ACK',
    2: 'NCK',
    3: 'ACCEPT',
    4: 'SOFT RESET',
    5: 'POWER READY',
    6: 'GET OUTPUT CAP',
    7: 'GET SOURCE INFO',
    8: 'GET SINK INFO',
    9: 'GET CABLE INFO',
    10: 'GET DEVICE INFO',
    11: 'GET ERROR INFO',
    12: 'DETECT CABLE INFO',
    13: 'START CABLE DETECT',
    14: 'END CABLE DETECT',
    15: 'EXIT UFCS MODE',
}

# Data message type
DATA_TYPES = {
   
    1: 'OUTPUT CAP',
    2: 'REQUEST',
    3: 'SOURCE INFO',
    4: 'SINK INFO',
    5: 'CABLE INFO',
    6: 'DEVICE INFO',
    7: 'ERROR INFO',
    8: 'CONFIG WATCHDOG',
    9: 'REFUSE',
    10: 'Verify_Request',
    11: 'Verify_Response',
    255: 'Test Request'
}

class Decoder(srd.Decoder):
    api_version = 3
    id = 'ufcs'
    name = 'UFCS'
    longname = 'Universal Fast Charging Specification'
    desc = 'Universal fast charging specification for mobile devices. T/TAF 083-2021. Coding by edison ren 2023.1.25 <i2tv@qq.com>'
    license = 'gplv2+'
    inputs = ['uart']
    outputs = []
    tags = ['PC/Mobile']

    options = (
        {
   'id': 'fulltext', 'desc': 'Full text decoding of packets',
         'default': 'no', 'values': ('yes', 'no')},
    )
    annotations = (
        ('type', 'Packet Type'),
        ('training', 'Training'),
        ('header', 'Header'),
        ('data', 'Data'),
        ('crc', 'Checksum'),
        ('warnings', 'Warnings'),
        ('src', 'Source Message'),
        ('snk', 'Sink Message'),
        ('payload', 'Payload'),
        ('text', 'Plain text'),
        ('cable', 'Cable Message'),
        ('reserved', 'Reserved'),
        
    )
    annotation_rows = (
       ('phase', 'Parts', (1, 2, 3, 4,)),
       ('payload', 'Payload', (8,)),
       ('type', 'Type', (0, 6, 7, 10, 11)),
       ('warnings', 'Warnings', (5,)),
       ('text', 'Full text', (9,)),
    )

    def __init__(self):
        self.reset()

    def reset(self)

到了这里,关于UFCS中国的快充统一标准,共享PULSEVIEW 和 DSview协议分析软件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 中国信通院携手合合信息开启《文档图像篡改检测标准》制定工作

        文档图像是信息的重要载体,却经常被不法分子利用软件、算法进行篡改。这些虚假材料往往被用于散播谣言、经济诈骗、编造虚假新闻,给个人、社会造成了恶劣的影响。AIGC全球爆火后,人们对“生成式造假”风险的攀升倍感忧虑,图像内容的安全与可信性也成为了公

    2024年02月09日
    浏览(56)
  • Spring Cloud - Nacos 配置统一管理、热部署、多环境配置共享

    目录 一、Nacos 配置统一管理 1.1、启动 Nacos 服务 1.2、Nacos 新建配置 1.3、引入依赖 1.4、Nacos 地址读取   1.5、演示效果 二、Nacos 配置热部署 三、多环境配置共享 在当前文件下打开终端,输入如下指令启动 nacos 服务 访问 nacos 主页,点击配置管理查看配置列表,然后新建配置

    2024年02月10日
    浏览(37)
  • TCS2010(中国标准编写模板)安装教程+解决三级标题条无法设置

    TCS2010可以轻松编制符合GB/T 1.1-2020要求的标准。 TCS2010发布已经很长一段时间,且软件要求只能安装在office2007或2003的版本中。 小编的电脑是win10(64位)系统,且软件是office2016,发现也可以成功使用TCS2010,现将经验分享给大家。 一、工具/原料 装有win10(64位)系统的电脑

    2024年02月06日
    浏览(30)
  • Java将中国标准时间字符串转换为Date格式

    当前方法作用,主要将标准时间格式如: 星期三 五月 01 22:25:49 CST 2023 输出按照指定格式内容 Data 和 String 以上内容可以根据 自己需要的格式进行更改

    2024年02月10日
    浏览(33)
  • 【Java】微服务——Nacos配置管理(统一配置管理&热更新&配置共享&Nacos集群搭建)

    Nacos除了可以做注册中心,同样可以做配置管理来使用。 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以

    2024年02月03日
    浏览(40)
  • 【Spring Cloud】深入理解 Nacos 的统一配置管理,配置热更新,多环境配置共享,集群搭建

    在微服务架构中,配置管理是一个至关重要的问题。随着系统规模的扩大,配置的管理和更新变得更加繁琐。Nacos 作为一个全能的服务发现和配置管理平台,为解决这一问题提供了全方位的支持。在本文中,我们将深入理解 Nacos 的配置管理,包括配置的统一管理、热更新、多

    2024年02月02日
    浏览(44)
  • Js各种时间转换问题(YYYY-MM-DD 时间戳 中国标准时间)

    指定格式 YYYY-MM-DD HH:MM:SS 时间戳 中国标准时间 Sat Jan 30 2022 08:26:26 GMT+0800 (中国标准时间) new Date() 获得系统当前时间就会是这种形式 时间戳转换为 yyyy-mm-dd或yyyy-MM-dd HH-mm-ss yyyy-mm-dd或yyyy-MM-dd HH-mm-ss 转为时间戳 中国标准时间转为 yyyy-mm-dd hh-mm-ss yyyy-mm-dd hh-mm-ss 转为中国标准时间

    2024年01月21日
    浏览(29)
  • Nacos和Eureka比较、统一配置管理、Nacos热更新、多环境配置共享、Nacos集群搭建步骤

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在类上加上@RefreshScope 视频地址https://www.bilibili.com/video/BV1LQ4y127n4?p=29spm_id_from=pageDrivervd_source=0a29c2be3bdd946212330ee312ca98b5 比较难,我没怎么记。以后工作需要再来学 16G内存真的跑不动 有需要的可以去看看黑

    2024年01月21日
    浏览(72)
  • vue element ui里的日期时间选择器 中国标准时间转化为年月日时分秒

    上面代码效果图 element ui上的日期时间选择器里面的时间为中国标准时间,选择时间,打印出来为下图 但一般后台需要的是年月日时分秒,需要我们进行处理 补充—————————————————————————————————— element ui上面有个属性format显示输入

    2024年02月11日
    浏览(43)
  • 基于安卓的接的快接单平台/基于Android的快的接单平台

    【摘要】 随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用 接的快接单平台 也在不断的使用,本文首先分析了 接的快接单平台 应

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包