前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >USB Type-C PD spec (2)

USB Type-C PD spec (2)

作者头像
Jasonangel
发布2023-08-22 14:10:16
2200
发布2023-08-22 14:10:16
举报

2、物理层

  • USB PD 物理层由一对通过单条信号线(CC) 进行通信的发送器和接收器组成
    • 所有通信都是半双工的。
  • 发送器
    • 从协议层接收包数据
    • 计算并附加 CRC
    • 对包含 CRC 的分组数据(即有效载荷)进行编码(4b5b)
    • 使用 BMC 在 CC 上跨信道传输数据包(前导码、SOP*、payload、CRC 和 EOP)
  • 接收器
    • 恢复时钟并从前导码锁定到数据包
    • 检测 SOP*
    • 解码包含 CRC 的接收数据
    • 检测 EOP 并验证 CRC
      • 如果 CRC 有效,则将分组数据传送到协议层
      • 如果 CRC 无效,则过滤掉接收到的数据

2.1、符号编码

使用 4b5b 线路编码

  • 有序集
    • 由 4 个 K-code 组成
    • 有效性:至少 3 个 k-code 正确

2.2、位传输顺序

2.3、数据包格式
  • 前导码
    • 由 64bit 交替的 “0“ 和 “1” 组成,以 ”0” 开头,以 “1” 结尾
    • 用于使接收器锁定到载波上
    • 不应进行 4b5b 编码
  • SOP*
    • SOP* 无效,则丢弃整个传输数据
  • 有效载荷 -从协议层传入
  • CRC
    • CRC 不正确,整个传输数据应该丢弃
    • CRC 正确,数据包应该传递到协议层
  • EOP
    • 可用于提前终止传输数据包,如发送硬复位前
2.4、Hard Reset
  1. 如果 PHY 层当前正在发送消息,则应通过发送 EOP 来中断该消息,并丢弃其余的消息
  2. 如果 CC 不空闲,请等待它变为空闲
  3. 等待 tInterFrameGap
  4. 如果 CC 仍然空闲,则发送硬复位信令
  5. 禁用信道(即停止发送和接收),重置 PHY 层并通知协议层 PHY 层已重置
  6. 当协议层请求时重新启用信道
2.5、Cable Reset
  1. 只能由 DFP 发送
  2. 用于重置电缆插头
2.6、双相标记编码 (BMC) 信令方案
  • 在每个位的起始存在一个变换
  • 传输 1 时,位中间有一个变换,传输 0 时,则不变换
  • 传输速率:270~330 Kbps
  • 1Ul: 3.03~3.70us
  • EOP 最后一位产生下降沿时,发送器应在 CC 上驱动
  1. 持续 tHoldLowBMC 驱动低电平
  2. 持续 tEndDriveBMC 驱动低电平,从帧的最后一位的后沿开始测量
  3. 将 CC 释放到高阻抗
  • EOP 最后一位产生上升沿时,发送器应在 CC 上驱动
  1. 多驱动 1UI 高由平
  2. 持续 tHoldLowBMC 驱动低电平
  3. 持续 tEndDriveBMC 驱动低电平,从帧的最后一位的后沿开始测量
  4. 将 CC 释放到高阻抗
  • 帧间间隔:min 25us
  • 发送器波形有效性
    • 上升时间不得快于 tRise
    • 下降时间不得快于 tFall
  • CC 总线空闲定义
    • 在 tTransitionWindow 内没检测到有传输,则认为总线空闲
2.7、冲突规避
  • 监控传输通道,在 CC 总线空闲时发起新一轮传输
  • CC 不空闲时则应丢包,并在 CC 空闲时通知协议层
  • 在显性契约期间,由 Source Rp 来控制
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式Linux系统开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.3、数据包格式
  • 2.4、Hard Reset
  • 2.5、Cable Reset
  • 2.6、双相标记编码 (BMC) 信令方案
  • 2.7、冲突规避
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档