作者:John VanNewkirk
Data I/O的ImageWriterTM是一款高速系统内编程系统,适用于在制造过程中对目标板上的微控制器和串行存储芯片进行烧录。ImageWriterTM支持行业最常用的微控制器和串行存储器,为汽车电子、消费电子和工业自动控制产品制造商提供了一种高产量的烧录办法。
ISP器件简化了产品设计,但是增加了把程序数据写入这些器件的工序,也带来问题。决定最佳的编程策略——何时写入程序以及使用什么工具写入——要求对各种方法都进行评估。除了通常的成本、技术和物流上的考虑,制造商还必须考虑数据以及生产能力的问题。数据方面的考虑包括数据量和数据类型、数据的存储以及编程方法。在生产能力方面,需要的考虑的问题包括与组装线速度(生产节拍)相关的芯片编程速度、电路板的大小和拼板、产量和配合的问题。
数据和生产能力问题
用在终端产品上的数据存储类型和器件类型,是影响数据编程策略的第一个变数。一般来说,大型应用,如BIOS-引导 ROM以及其他系统固件,在安装到电路板之前,都已经在并行访问闪存/ EEPROM时写入了大量数据(>1MB)。提前编写数据密集型器件的应用程序,并把它们作为清单上的预设配置项,可以大量减少器件编程时间对组装线生产节拍的不良影响。在装配之前写入器件程序的另一个优点是,并行程序要求有大量到地址线、数据线以及控制线的电气连接。

图1基于ICT的低成本并行编程系统*结构。
用于消费电子产品,尤其是用于掌上电子产品的新型存储器和微控制器这类ISP器件,和传统的并行存取器件(>8MB)相比,这类拇娲⑷萘勘冉闲。?1Mb)。虽然存储容量小,但是串行编程ISP器件还是需要较长的编程时间。因为它的数据(包括地址寻址)都必须按顺序地写入器件,而不是同时并行地送到地址线、数据线、控制线。虽然串行存储器体积小,但编程所耗费的时间却和大存储量并行编程器件差不多[1]。
随着电路板尺寸减小,制造商们开始将眼光转向拼板——在一块拼板上组装,焊接以及测试,在最终组装前再把它们切开成为一块块独立的电路板。拼板降低了制作成本,但是它一样要求对每块板上多个ISP器件逐一进行编程。随着ISP器件存储器容量增加,由于必须对拼板逐个进行编程,导致数据量成几何倍数增加。由于串行芯片的编程速度本来就很低,在含有串行ISP器件拼板的大批量生产中,生产能力便成了一个大问题。
有一些制造商将芯片编程外包给第三方编程厂或程序提供商。虽然外包可以消除编程时间对产品生产的影响,但是,在产量增加时,单位成本增加了。或许更需要关注的是,由于产品市场寿命带来物流方面的问题,例如库存的器件已经预先编程,需要去掉和返工,改变程序代码是不可避免的。

表1列出了现有各种编程器的优缺点。
在开始进行小批量生产的情况下,产品工程师会“自己动手”,使用低成本的编程器。刚开始时会用低成本的解决办法,但是这样做会增加隐性成本,因为它的资料记录少、难以重复,所以当需求改变时,经常会要求设计这个办法的工程师再编程、提供支援以及修改程序。
最近,许多制造商都将独立的编程器纳入组装线。在SMT贴装之前,这些在线系统会直接对ISP器件进行编程。由于安置在最终产品电路板上的空白器件在几秒钟内就可以编好程序,中间存货量相应减少了。然而,这种编程-安装的方法也有它的局限性,尤其是将单板独有的数据写到芯片中去时。它只适用于少数情况下,例如预先确定序列号或知道数据代码。影响这个策略的另一个因素是在线编程设备的成本很高。编程时间长的是受到器件的限制而不是编程器的影响,于是瓶颈出现了,除非在集群程序烧录头上追加投资。随着时间的推移,出现了各种各样的ISP芯片,尤其是对于高度混合的产品或市场寿命较短的产品,在线系统也同样需要追加额外的支持费用、以及软硬件的持续投资。如果由于订单的变化或修改,需要进行返工,这一编程、安装的策略还会对返工造成限制。一旦芯片装到电路板上后,没有方便的方法可以重新给芯片编程,除非将它拿下来。
为了得到在线编程的所有益处,满足每个芯片对数据的独特要求,以及处理返工的问题,许多工程师开始转向在线测试仪(ICT),对已经安装在电路板的ISP器件进行编程。针床测试夹具可以为器件所有针脚提供通路,如果装配恰当,ICT系统的电子部分可以同时用于并行和串行ISP编程。用这个办法,在组装制造时先将空白器件焊接到电路板上,然后把电路板放在针床测试夹具上,在进行ICT测试时进行编程。
这种技术有点类似于专用的器件编程器。ICT备有专用的测试电子线路,它产生编程信号,而器件使用ICT的测试夹具保持电接触。
一般来说,专用的器件编程器和传统的ICT两者都经过优化,能够用于较大的非易失存储器件的编程,例如并行闪存和UV擦除存储器。但是,由于编程时对时钟信号独特要求,并且要求多种电平的电压,这个办法可能会非常复杂,而且成本也很高。通常,电路板在线编程的办法是不常用的,因为有些编程电压很高,电子测试器不能产生,或是当芯片焊到电路板上后,会损坏附近的组件。
比较新的可编程 器件,例如串行闪存和ISP器件,在编程时并不要求特殊的编程电压和时钟。这就简化了子系统的编程能力,同时也降低了大部分串行ISP器件的编程成本。
虽然不可避免地要在性能方面做一些折中,但是,现有的编程方案存在缺点,使得现有的生产和理想状态差距太大,尤其是拼板大量应用的场合。

图2使用ICT的编程过程。
专用器件编程器。这些编程器不论是人工的还是自动化的,离线的还是在线的,都要求购买昂贵的设备。各种器件都需要特殊的硬件,例如插座元件,这样可以对编程算法单独计算费用。这类器件编程器与ICT编程不同,它们不能处理一些类型的单板数据,例如校正数据。因为器件的编程时间存在着很大的变化,所以在芯片安装之前使用ISP编程器在线编程时,需要对生产线仔细地进行平衡,避免生产中出现瓶颈和设备利用率降低。新型SMT封装,例如TSOP和μBGA等,都需要采用特殊办法处理。用手工的办法把器件装到编程器上以及从编程器上取下来,会产生问题。
传统的ICT由于测试器的电子线路到针床测试夹具的路径很长,信号中的噪音变大,可能会导致编程不可靠,所以这些测试器必须解决信号的质量和速度问题。在器件编程过程中,对于很长的串行数据流,一个噪声尖脉冲就可能会导致程序混乱。在器件的存储容量很大时,用ICT进行编程会遇到瓶颈。传统的ICT进行编译和首次执行器件编程的时间很长(几分钟到几小时)。编程时间也会对生产能力产生不利的影响,尤其是拼板,因为ICT系统一次只能对一个芯片进行编程。从最初购买、使用的夹具、编程测试以及维护费用等方面来看,传统的ICT也是昂贵的。
ISP器件变得越来越普及,针对生产能力、成本和各种芯片的数据不同等问题,开发了一种低成本的ICT并行编程系统*。在一段连续编程时间内,使用集群编程(Gang-programming)技术可以同时对多达24个器件进行编程和校验。通过限制串行器件的编程能力,可以将系统的架构简化,在生产能力和降低成本方面都得到改进。随着拼板的普遍使用,对多个ISP芯片同时进行集群编程的能力是非常重要的。减少了软硬件的预备作业,编程速度可以很容易达到产品说明书给出的速度。
新开发的ISP编程器由通用控制器电路板和缓冲器电路板组成——每个ISP编程器件使用一个硬件。这种统一的结构解决了不同供应商以及不同类型编程器带来的兼容性和编程问题。控制器和编程缓冲器安装在针床测试夹具内部,靠近所要编程的器件,信号干净,编程速度也可以达到最高。编程器在总线算法方面使用应用程序库,包括流行的各种系列ISP器件的算法。用程序库办法把代码数据的开发问题简化为使用标准的子程序,不必研制复杂的算法。

图3用于双拼板编程的ICT测试夹具的底面。
ISP编程
使用内置绝缘继电器,就可以在同一测试夹具上进行ICT测试和ISP编程。在ICT电源切断之后进行ISP编程。电路板电源仅仅用于拼板中的电路板。这些电路板都用在线测试仪进行开路、短路和其他测试,保证了器件不会因为疏忽而损坏。同时还保证了不会对不合格的电路板进行编程,从而防止在最终测试时才出现问题。如果对不合格的电路板进行了编程,却没有从“测试合格”的组件中剔出去,它就可能会通过最终测试,在现场成为质量问题。也没有必要在ISP编程之前把拼板上的每块电路板切开来。所有ISP器件的标准代码都 是同时进行编程的,然后才是写入每个器件的特殊代码。ISP编程器支持标准数据格式。
为了使用这种编程技术,在电路设计时,必须做到ISP编程器在编程时不会抑制其他信号。ISP器件的编程插脚要能够方便地使用N针床测试夹具。电路板或者拼板,它们的布线设计必须为附近的编程插脚提供接近的信号通路,以减少互相干扰和噪音。
结论
在确定最佳的编程策略和装置时,要考虑几点。对于复杂产品中使用的大器件,而程序代码不改变,应当首先考虑专用编程器。而带有专门电子线路的传统ICT测试仪则适合并行闪存器件的编程,尤其是在电路板独有数据必须烧录,以及频繁返工的情况。对于单板或者拼板使用串行器件而产量属于中至高的情况,很明显地应该选用低成本的ICT并行编程器*,这是因为它的独特结构能够成倍地提高产量,而且还降低了成本。
*MultiWriter ISP System, CheckSum, Arlington, Wash. REFERENCES
参考文献
1. Some parallel devices from Intel specify programming speeds exceeding 400 ms/Mb, compared to serial devices with programming speeds in the range of 6 s/Mb.
作者简介
John VanNewkirk是CheckSum公司总裁兼行政总监,联系电话:(1)360-435-5510; 电子邮件:john.vannewkirk@checksum.com。