标签 BILLBOARD 下的文章

USB Type-C 设备插入电脑显示 BillBoard设备

前言:

笔者有一台带有 Type-C 接口的口袋电脑,近期为其买了一个C口转A口+以太网口+TF&SD卡+HDMI+PD的强大 USB 扩展坞 ,笔者注意到,扩展坞插入电脑后会在设备管理器中显示一个名为 USB 2.0 BILLBOARD 的设备。众所周知,BillBoard意思是公告板,为什么会出现这样的设备呢?笔者经过一番查证,以下便是它的前因后果。

BillBoard 是什么?

USB-IF 协会于2014年公布了 Power Delivery v2.0 的规格,同时也在原本的USB Class定义了新的分类:Billboard Device Class v1.0。

USB-C 即 Type-C 接口已经广泛应用于各种设备中,相比之前的传统 USB 接口,Type-C 接口具有结构小巧、支持正反插、更高的电力传输,以及可选模式(如 DisplayPort ,即 DP 视频传输/又如 Thunderbolt,即雷电接口)等特性。其中,对于各种可选模式的支持,离不开 Type-C 接口物理结构的支持。Type-C 接口中提供了四组差分信号,他们成中心对称排列于上下两排触点,每排都分别有1收1发,以支持正反插。Type-C 接口可用的场景很多(比如视频音频传输、PD 快充),不再像传统USB接口那样单纯的提供数据传输。有些功能通过简单的外围电路进行识别,如 USB2.0、DCP、Accessory Mode(附件模式);而有些则需要通过 USB 控制器实现,比如 USB3.0 通信时,USB 控制器负责进行协商,分配差分信号通路。

正如前文所述,Type-C 接口除了传统的数据传输,还支持一些其他的功能。而这些功能在设计时是可选的。比如,并不是用了 Type-C 口的设备就一定会有 DP 视频输入输出功能,毕竟需要考虑产品实际需要的功能。这方面,Type-C 定义了一种模式称之为 Alternate Mode(交替模式)。USB 协会为每一个标准的可选模式定义了唯一的标准编码,Host 和 Device 的 USB 控制器通过此编码沟通是否支持某种模式,识别进入退出 Alternate Mode 的相关的命令是由 USB PD 组织 VDM 命令发生的,相关信号的传输是通过 CC 引脚(配置通道)进行的。

这里举一个例子:一台支持通过 Type-C 进行 DP 视频输出的笔记本电脑,和一台 Type-C 接口的 DP 显示器连接,这种显示器一般带有USB扩展坞功能。此时,电脑作为 USB Host ,显示器作为 Device。它们都支持 DP,USB 控制器沟通后会将两路差分对(即一个发送和一个接收)分配给 USB 数据,另两路差分对分配给DP 用作视频流传输。

而如果 DP 显示器通过 Type-C 接口插在了不支持 DP 的显示器上,结果就是作为 Device 的显示器与做为 Host 的计算机沟通进入 Alternate Mode 失败。针对此情况,USB 协会定义:Device 端产生一个 BillBoard 设备,以此通知Host端与用户了解此问题。

综上所述:BillBoard是Device端提供支持的,用于 Device 端发现自己支持的功能没有被 Host 端接受时触发,以提醒该事件。

什么情况会出现 BillBoard?

上文提到,出现 BillBoard 设备表示 Device 端发现自己支持的功能没有被 Host 端接受。所以,电脑出现此提示一般有两个原因:

  1. Host端不支持相应的 Alternate Mode。比如 Type-C 口 DP 显示器通过 Type-C 连接线插在了不支持Type-C 口输出 DP 的电脑上。笔者的破电脑就是这个情况,这种情况自然是无解的,也是正常的。能做的只是咱们忽略这个提示,不使用相关功能。
  2. Host 端支持相应的 Alternate Mode,但设备之间使用了 USB A to Type-C 线。即使用 USB A to Type-C 线,Type-C 的那一头插在 Device 端,USB A 口插在了 Host 端。而 A 口显然是无法提供 Alternate Mode 支持的,因为它没有 Type-C 接口那么多的差分对提供。这种情况换一根双头满 Pin 的 C2C 线就好了。

USB通信协议非常复杂,笔者水平有限,如有错漏,欢迎指正。

参考: