选择微控制器的调试/编程连接器

简而言之:对于 ARM SWD、TI Spy-Bi-Wire 或 Microchip ICD,请使用具有标准引脚/焊盘分配的 Tag-Connect No-Legs 封装,并获取 Tag-Connect 电缆。

在设计使用微控制器的设备时,需要提供调试和编程连接器。这可能仅用于开发阶段(编写和调试软件时),也可以保留在生产单元中,用于工厂内编程。

制造商和工具制造商确保我们生活在一个拥有众多调试连接器且充满困惑的世界中。这就是为什么我们最终会遇到这种情况:

那么,新设计应该选择哪种连接器呢?

本文主要关注具有 SWD(单线调试)接口的 ARM 设备,但也适用于其他元件,如使用 Spy Bi-Wire(2 线 JTAG)协议的 Texas Instruments MSP430、Microchip ICD,甚至需要更完整 JTAG 引脚集的元件。

常用调试连接器

通常考虑的一些常见选择:

  • 0.1" IDC 接头上的 10 针 JTAG。通常使用公接头。缺点:它很大,而且接头要花钱。
  • 使用 0.05" 微型接头(10 针或 20 针,Samtec FTSH-110 和 FTSH-105)的 Cortex 调试连接器。10 针连接器相当小,可作为 SMD 元件提供,但比 IDC 连接器贵。
  • 20 针 0.1" IDC 连接器。你不是真的在考虑那个老古董吧?它比我设计的一些电路板还要大。
  • 定制的 4 或 6 针组(或过孔,或铜焊盘)。这里的问题在于“定制”部分。它将来不可避免地会反咬你一口,就在你的定制连接器在工厂车间坏掉的那一天,你不得不从海外运送一个新的,而生产却停滞了。
  • 某种变体(带腿或无腿)的 Tag-Connect 6 针封装。请注意,这里没有连接器:只是 PCB 上的标准化封装。
  • Tag-Connect 6 针 + Tag-Connect 10 针(用于 ETM 信号):对于这种组合,甚至有预制的电缆可用,带有 20 针 IDC 连接器和标准 ARM Cortex 20 针引脚分配。

一个直接的观察结果是,这些连接器中的大多数都需要,嗯,连接器。这是您需要在电路板上放置的额外元件,这需要花钱。对于生产单元或较大的原型运行,该连接器在产品的整个生命周期中仅使用一次,这是一种浪费。

Tag-Connect 解决方案或带有基于弹簧针连接器的自定义封装在这里具有明显的优势,因为它们不需要在 PCB 上放置任何元器件,因此每块板的调试连接器成本骤降至 0,这太棒了!

这是 Tag-Connect 封装在真实电路板上的样子:

这就是带有弹簧针的电缆的样子: 第二个主要考虑因素是尺寸以及由此产生的电路板空间要求。唯一的竞争者是 10 针 0.05" 微型排针和 Tag-Connect 6 针封装。10 针微型排针实际上在一个方向上稍微小一点,但差异并不显着。这是 10 针 0.05" 微型排针的样子(这个来自 Nordic Semiconductor nRF52832 开发板 PCA10040):

有引脚还是无引脚?

Tag-Connect 连接器电缆有两种变体:一种带“腿”,一种“无腿”。有什么区别?

Tag-Connect 使用弹簧针 (pogo pins),内部有弹簧并顶在 PCB 上。如果您希望连接器保持在原位,则必须持续对其施加力。这对于快速编程来说很好,您可以一只手按住连接器,另一只手启动编程任务,但对于长时间的调试会话来说效果不佳。对于这种情况,“腿式 (legs)”封装(和连接器)效果更好。腿就像小夹子,一旦插入连接器,它们就会卡入到位并将弹簧针紧紧地固定在板上,且时间不限。

“带腿”封装的问题在于它的尺寸:它比“无腿”变体大得多。更糟糕的是,它需要在电路板上有四个大孔。大孔总是一个问题:它们(显然)需要穿过所有层,而且你还需要在它们周围留出禁布区。这意味着“带腿”封装对设计的影响比“无腿”变体大得多。

对于生产单元,连接可能在产品的生命周期中只进行一次,并且可以轻松地一直手持,毫无疑问:您肯定更喜欢“无引脚”封装,这样可以节省电路板空间。但是原型怎么办?一方面,您可以负担得起电路板空间,但另一方面,您不想仅仅因为需要在最终版本中移除孔而重新设计 PCB。

幸运的是,还有另一种解决方案。Tag-Connect 出售一个小固定夹。它是一块 PCB,带有三个插座,适合 Tag-Connect 电缆的引脚。这不是一个机械上完美的解决方案,夹子往往会随着时间的推移而磨损(它们也非常容易丢失!),但在实践中效果很好。

我的建议是始终使用“无引脚”封装和电缆,购买一堆固定夹,从而节省电路板空间并避免重新设计电路板。

使用标准信号分配

我在现实中见过这样的硬件,设计师在 ARM SWD(Cortex-M0 上)使用了 Tag-Connect 封装,但分配了不同的信号。动机很可能是为了混淆接口。

我不建议这样做:这种混淆很容易被发现,而且最终会导致封装不兼容,这不可避免地会在将来造成麻烦。

实用性

Tag-Connect 建议不要在封装的另一侧放置任何元件(或布线)。虽然这是一个很好的建议,但人们并不总是有这种条件,尤其是在布局限制严格的小型电路板上。

正如我发现的那样,即使使用固定夹将电缆固定到位,您也可以将元器件放置在另一侧。不过,我建议在元器件和固定夹之间使用绝缘体,以防止任何可能的短路(纸张效果很好)。虽然这不是推荐的做法,但这确实有效,尽管将调试连接器固定到位会稍微复杂一些。

这是一个原型板的示例(请原谅原型的焊接质量),其中元器件放置在调试封装区域内:

批评

Tag-Connect 并非完美无缺。其网站组织不善,很难找到您想要的信息。提供的变体众多,尽管大多数人只需要一种类型的电缆,但它并没有被突出显示。不幸的是,这似乎是嵌入式领域制造调试和编程设备公司的传统。

我的第二个不满是该公司提供带有 Tag-Connect 封装的可下载 CAD 库,但声明:

这些文件按“原样”提供,不保证它们是完整的、无错误的或适合使用的。请仔细对照 Tag-Connect 网站上提供的最新数据表检查导入的封装(见下文)。特别要注意检查孔径大小、引脚编号,并密切关注焊膏层,以确保没有焊膏沉积在封装焊盘上。

如果您查看提供的 ZIP 文件,通常会有针对给定 CAD 的几种封装变体。我该使用哪一个?为什么我有责任验证它?

我认为 Tag-Connect 应该清理这个库,并提供一套受支持的封装(至少针对较流行的 CAD 软件包),而不是附带免责声明。这应该是该解决方案价值的一部分。

结论

考虑到所有因素,Tag-Connect 仍然是最好的现成调试和编程解决方案。我建议将其标准化并在您的所有设计中使用它。

较早的博客文章: KiCon 2019 (2019-03-27)
以后的博客文章: 新功能:2020 年 5 月 (2020-05-16)

PartsBox 是一款在线应用程序,可让您掌控电子元器件库存、BOM 定价和小规模生产。它跟踪元器件的存储位置、当前库存水平以及哪些项目/BOM 中使用了哪些元器件。

博客索引