双向、计算机控制和开源的终极 USB Type-C 开关介绍

十多年来,Codethink 已经帮助众多客户改进了构建、集成和测试工作流程。

这项工作的一部分是让像汽车娱乐系统这样的复杂嵌入式系统的测试实现自动化。我们正在寻找一个 USB 转换开关,它可以模拟这种系统的移动电话和存储设备的插入和拔出。我们在市场上找不到任何价格合理的产品,无法建议客户购买数百个,所以我们决定自己做一个这样的产品。

(图片来源:Codethink)

它是什么?

简单地说,它是一个能够通过编程方式拔掉、重新插入和切换 USB C 设备之间有线连接的设备。这种开关设计采用全功能 USB C 端口。这意味着它具有典型 C 型端口所有的特性和能力,如充电、高速和超速数据传输。具有双向功能,允许用户选择哪个端口连接到主机,而对应启用的端口则会自动配置为连接到外设。这确保了安全性和易操作性。

您可以用它来干什么?

这个开关是一个即插即用的解决方案,适用于任何想实现以下功能的人:

  1. 简化多个主机和外设之间的连接。
  2. 自动进行需要将不同外设连接到主机的测试,一次一个。人们需要使用具有交换机功能的集线器来切换多个外设与主机之间连接。

(图片来源:Codethink)

您如何控制它?

只需通过 USB C 电缆将该开关连接到您的笔记本电脑即可。使用您选择的工具连接到开关的 CDC 串口,并将其中一个控制命令回传到该串口即可开始切换。

该项目有多少是开源的?

硬件是完全开源的,它是用 KiCAD 6 设计的。

目前可用的固件是免费使用的,但使用了 ST 的工具链和库,所以我们不能称其为自由软件(只是现在)。我们正在努力将固件移植到 libopencm3 上,这样我们就能够自由许可它。

我们设计了一个可以 3D 打印的外壳,以保证开关的安全。这个外壳的 STL 文件是获得 CC by SA 4 授权的。

(图片来源:Codethink)

想给自己买几个这种开关吗?

请联系我们的销售团队,了解 Codethink 如何帮助您将这个开关集成到您的硬件和软件测试程序中。

如果您想自己造一个,只需要点击几下就可以了。只要遵循这几个简单的步骤:

  • 硬件:
    1. 复制硬件库
    2. 将生产文件夹中的 Gerber、BOM 和贴片文件上传到您选择的电路板厂的网站。
    3. 您想订多少就订多少!

拿到 USB 开关硬件后,就可以开始烧录固件。

  • 固件:
    1. 通过复制固件库并按照 README 中的构建步骤,在您的本地机器上构建固件。
    2. 将编程器 (ST-LINK) 连接到 SWD 端口,并使用 ST CUBE 编程器烧录。

外壳文件可以在硬件库中的外壳文件夹下找到。您可以使用提供的 STL 进行 3D 打印,或者也可以在网上订购!

关于此作者

Codethink provides software engineering and consultancy services to Electronic Companies, Technology Providers, and Service Infrastructure Operators throughout Europe, Asia, and the USA, working across various industries and verticals. Focusing on system-level engineering, they develop and maintain system-level software infrastructure. Traditionally specializing in Linux, Embedded systems, and Open Source, they deliver on extremely difficult and technically complex projects and have expertise from critical embedded devices to cloud-scale infrastructure.

More posts by Codethink
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum