给显示器加上 Type-C 一线通
本文最后更新于:2023年11月19日 下午
最近换了明基的 SW240,其实是我妥协之下的结果,实在是割舍不下一些功能,所以想通过一些曲线的方法实现,这个过程中踩了不少坑,也学了很多东西,现在来分享一下。
Type-C 一线通
所谓的一线通,就是只使用一条 Type-C 线,连接设备和显示屏,同时实现供电、视频传输和数据传输,这个数据传输不仅仅包括显示器上连接的键盘鼠标硬盘这些外设,还包括显示器自身的数据(这在一些硬件校色显示器上是必须的,没有这个数据无法校色)。
如果显示器没有这个功能,我们可以想到使用拓展坞来做到类似的效果,真实践起来就发现其实这里面隐藏的坑不少。
如何输出视频?
以 SW240 为例,它有三个视频口,DVI-D、HDMI 2.0、DP 1.2,应该用哪个接口来实现呢?HDMI 是我经常用的,用它连接了一个切换器来使用更多的设备。这样看来,HDMI 是个好选择,实际测试中,发现两个问题:
- C 转 HDMI 会消耗很多系统资源
C 口包含的协议是 DP,所以这个转换过程本质上是 DP 转 HDMI,有一层转换自然会消耗更多资源。 - C 转 HDMI 会有颜色误差
这个误差肉眼看可能不会注意到,但当你用校色仪,就会发现它误差还是挺大的,平均 ΔE 高达 8,最大 ΔE 飙到了 15,用 PMU 校色得到的结果甚至不能通过,这种程度很难说能用。
前面提到,C 里面的协议是 DP,那么 DP 合适吗?结果是合适的,因为拓展坞做的,只是从 C 中分离出 DP 信号,再转送即可,不会有过高的资源消耗,不涉及转换自然也不会产生因转换而导致的颜色问题,所以视频,我们用 DP 接口。
如何供电?
其实市场之所以有 Type-C 一线通的需求,大部分原因,来自于 MacBook,如果想让 MacBook 在合盖状态下输出视频,就必须要有供电,所以,并不是说我不充电就可以不供电,其实供电是必选项。
为什么这会成为一个问题?直接在拓展坞的 C 口插上充电器不就行了?是这样没错,不过有些拓展坞的 C 口接头耐用度差,会导致针脚偏移,使用中一旦供电针脚触碰到数据针脚,Boom!天才吧一日游,换主板您是刷卡还是 Apple Pay?至于苹果在电路保护的设计方面需不需要负一定的责任,这就是另外的话题了。
如何避免呢?上述的拓展坞并不是那种劣质便宜货,主要是走量的大众品牌,当然上述问题在今天可能已经解决了,但保险起见,还是选大厂大牌产品,在这个案例中,我选的是 Dell DA310。
如何传输数据?
SW240 不具备 KVM 功能,它只有一根 USB 上行线,校色又必须用到这根线,所以它如果能在其他设备和 C 口设备当中自由切换那就很方便了。
没有 KVM 我们自己加一个外置 KVM?这个想法刚产生就被我否了,首先 KVM 大多是 HDMI 接口,刚才已经讲了,我们用 DP;其实也有 DP 口的 KVM,但他所有的口都会是 DP,我的 PC 目前还是 HDMI,之后如果购入 Mac mini 的话也是 HDMI,所以 KVM 不可行。
USB 切换器,市面上还有这种东西,本意是在不能共享打印机的场景下方便物理切换打印机用的,我们可以把“打印机”换成“上行线”,这样就能实现上行线的切换,利用显示器上的 USB,还可以切换键盘鼠标等外设。
怎么选呢?“USB 2.0 四进一出”,我买的是这个类型,“四进”指四台电脑,“一出”指一台 USB 设备,我知道你在想什么,能反过来插吗?不能,效果等同于没插。另外,这类设备通常是 USB 2.0,线不能太长,进出加起来不要超过 4.5m,超出的话电流太小会检测不到设备。最后,把切换器接到拓展坞的 USB 上就可以使用了。
拓展坞的线太短怎么办?
前置步骤都准备好了,线不够长,可以买个 C 公对母的线,注意还是得挑个插头质量好的,不然供电那一步的拓展坞就白选了。然后,我要说一个特别特别冷的冷知识:
Type-C 其实分正反
先别笑话我没常识,我知道 Type-C 可以正反插,但这不代表它不分正反。如果你按照我上面的步骤跟我买了一样的产品的话,插上 C 口延长线,你会发现键盘鼠标这些外设可能用不了,把延长线母口翻转一个面再插上就能用了,不是线坏了,这就是证明,Type-C 在极特殊情况下是分正反的。为什么?
网上几乎没有遇到这个问题的人,经过一段时间的研究,大概说一下我的理解,仅供参考。
这和 Type-C 的针脚定义有关,在公头上,它通过 CC1 来确认传输方向和正反插,当公头反转,母头仍然有 CC2 可供使用。在 2.0 模式下(对,Type-C 可以工作在 2.0 甚至 1.1 版本上),数据通过 D+ 和 D- 来传输,发现问题了吗?公头中他俩对应的位置上,即 B6 B7 是空的。
公头:
母头:
来设想一下:
- 拓展坞公头位置不变,延长线母头反转,这个环节中公母沟通正常,无论它们方向如何,母头都可以正确接收公头的信息。
- 延长线母头现在要把接收到的信息传送给它的公头,问题在这里产生,公头 B6 B7 是空的,如果在上一步中公母都是正的,没问题,空的针脚本身也不会有信息,但现在是反的,空的针脚有信息,应该有信息的 A7 A6 反而无信息。
- 最后你会发现,插上的鼠标键盘无效,可如果插一个移动硬盘或者 U 盘这类存储设备,在或者外接个屏幕、网线,却可以正常使用,只留下一脸诧异的你在原地晒干了沉默。
关于如何处理上述第二步中的问题,有两个方案:
- 将公头的 A5 与 B5 聚合,将 A6 与 B6 聚合,即无论设想中第一步的正反为何,延长线公头 6 7 两队针脚均有信号。
- 简单粗暴,一一对应连接,母头收到谁有信号就传到公头对应位置上。
乍一看方案一的普适性更高,但经不住细想,因为这是在 USB 2.0 协议下的工作方式,如果上到 3.0 或更高,这种魔改连接方式会使高版本协议无法使用,所以不会有人采用这种方案。实际上使用的是第二种方案。
在公母沟通中,VCONN 可以包含 CC 的功能,但 CC 却不能替代 VCONN 的作用。像设想那样反插,本该出现在公头 CC1 一侧的 D+ 现在跑到了 VCONN 那侧,再往下接收延长线公头的设备就迷惑了,这不符合标准协议啊?于是抛弃 6 7 这两对针脚发来的信息,结果就是 2.0 的设备无法正常使用。
所以只要把延长线的母头通过正确的方式连接,无论它的公头如何与电脑连接,都可以正常使用所有设备了。
那为什么 3.0 或更高协议没这问题呢?因为它们用的是 VBUS 等其他针脚,不涉及 6 7 位置。
拓展方舟🚣
哈哈有没有想起被小学的“数学大本”里拓展方舟支配的恐怖。现在我们再进一步,在上面的设想第二步后面再加一步:
另找一根 Type-C 延长线,同样反转母头连接在上一根延长线公头后面,此时第二根延长线公头连接电脑,那此时键盘鼠标能用吗?
反转再反转,使得刚才错误的针脚信息回到了它该在的位置上,答案是可以,没错,它负负得正。
效果
做完上面这些步骤,就能真正实现“外挂 Type-C 一线通”了,试了一下,除了明基这款显示器不能自动切换信号源以外,体验非常好。不用的时候电源线也不需要拔下来,用北电的电能表实测,DA310 在待机状态下仅消耗 1W 左右功率(智能插座本身一般也消耗 1W 左右)。
本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 协议 ,转载请注明出处,禁止商用。