Answers:
我建议始终以这种数量(小)包含标头。如果数量更多,可以考虑使用pogo pin垫(您必须制作固定装置以使PCB对齐),或者,如果数量较大,则可以使用其中仅需要孔且无填充的Tag Connect电缆之一垫(它们卡在板上)。
除了使您可以从需要进行编程更新中恢复过来,这还使您可以在编程之前让组装厂填充电路板,从而改善物流。
预编程当然是一种选择,即使是在批量生产时(您甚至可以让分销商为您完成),但似乎最常用于最简单的应用程序中。通常,板上的芯片是在组装后编程的(或能够编程的)。
如果您有足够的空间放置插头,那可能是最好的选择,并且Majenko建议使用稍微交错的插针是将连接器固定在适当位置而不增加复杂性的好方法。
但是,这是另一种方法,适用于没有足够空间容纳接头的板子,或者标准接头不能完成所有编程/设置/板子测试任务的板子。
在这里使用小尺寸的PCB(直径33mm)
您可以使用测试点(背面标有)进行布局
并为其创建测试夹具(使用Pogo Pins)
这需要一定的加工能力,并且至少要有立柱钻(因为弹簧针必须完全垂直)。但是,如果您愿意冒险使用原型PCB,则可以将其夹在一块材料上,并通过测试点孔“发现”,以将pogo引脚正确地放置在正确的位置。(我从Itead那里以低得离谱的价格获得了10个PCB,所以输掉一个没什么大不了的)。
使用车床和铣床,制作支柱和夹具以将PCB恰好定位在正确的位置是轻而易举的事,但是使用简单的工具并不是很难。
然后,您只需装配每个PCB,对其进行编程和测试。松动的连接器通常连接到TI Launchpad上的插头引脚,该引脚用于通过SBW接口对该MPU(TI MSP430)进行编程,但是相同的原理也适用于JTAG或其他接口。(顶部的棕色电缆是将校准信号传送到频率计数器的同轴电缆)。
抛光的桃花心木底座是可选的;我只是碰巧更喜欢蒸汽朋克风格的测试装置。
我总是为ICSP标头添加空间,即使它没有被填充也是如此。根据情况,我目前有三种方法。
我的一项设计具有一个非常细的间距接头,为此我构建了一个适配器(0.6mm实心线非常适合):
当空间绝对宝贵时,我使用此连接器。(对不起,我的手机的摄像头很乱。)
我经常使用的第二种安排是将ICSP合并到另一个头文件中。如果ICSP引脚也可以用作GPIO引脚,并且可以通过可分离的连接使用它们,那么以最低的成本包含您可能需要的任何其他ICSP连接(例如,MCLR)就足够简单了。然后,您只需使用足够简单的适配器将程序员插入该标头即可。
第三种方法是为ICSP提供“交错”或“偏移”报头封装。我主要在开发板上使用它,最终用户可能想要做ICSP,但又不想通过永久焊接接头来破坏开发板。这种占用空间使标准插头可以压入配合并实现良好的固体接触,而无需任何焊料:
当您开始处理大量产品时,让芯片制造商为您的固件预编程芯片无疑会更具成本效益。我认为所有主要制造商都提供该设施。
如果一个人正在使用可以在电路中重新编程的处理器,我强烈建议将电路板设计为允许其使用,即使实际使用该功能需要为此目的制造固定装置,而不打算建造一个。如果在制造大量电路板后发现固件问题,则构建可以对这些电路板进行重新编程的固定装置可能比重新加工或重建它们要便宜得多。
在某些情况下,一种好的方法可能是选择电路板的I / O布局,以便将电路内重新编程所需的控制器引脚用于“自然”导致其暴露于易于访问的触点的目的。例如,设计用于金属弹片触点的电路板可能会将触点本身连接到在线编程引脚上。这样的设计不需要在编程连接器的布局中留出任何空间,但是-特别是如果电池触点的尺寸也一般,则允许编程连接器通过简单的弹簧触点来使用。
注意,代码是否经过良好测试并不一定重要;从一批芯片换成另一批芯片仍会导致意外问题。例如,我设计了一种产品,该产品应该在处理器控制下通过将其在应为“开”的状态下在引脚上输出为“高”来关闭自身。在第一批10,000个单元中,一切正常,但是在后一批中,处理器的电压达到2伏时将开始发生故障,并且可以将该引脚切换回“高”电平;2伏“高”输出几乎不足以重新打开设备。由于处理器被指定为处于IIRC 1.6伏特以下的睡眠模式,可以通过对设备进行重新编程来纠正问题,以使它们在激活其关机状态时进入睡眠模式。如果不可能进行这样的重新编程,则将需要更昂贵的返工(或报废和重建)。