随着高科技电子技术的发展,各类电子产品中对存储器的容量也要求越来越大,从最初的256byte容量到现在128Mbyte,而容量越大意味着使用过程中擦除、烧录时间也越长。
那么问题来了,在使用SPI Flash时,我们都采用什么烧录方式的呢?一般情况,我们都采用烧录工具(如编程器),将待烧录文件烧写到芯片中,再贴板运行。但对于在调试阶段,或者一些需要先贴板后烧录工序的产线,又应该如何烧录?在调试阶段,对小容量来说,我们可以通过主控芯片编写驱动程序,直接将二进制代码写到Flash上调试,或者将芯片焊下,通过第三方工具烧录后再贴板运行,两种方式效率都不高。
ISP(In System Programming)在系统可编程,指电路板上的空白器件可以变成写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。这一技术对处于研发阶段的优势在于,为工程师提供一种无需焊取芯片即可对Flash里的数据更新、调试,节省流程和时间,也有利于保护芯片和电路板;在量产阶段,对于一些需要先“贴板后烧录“流程的产品,用户只需要在电路板上留下相应的编程接口,ISP在线烧录就可以对贴板后的器件进行烧录和更新。这不仅极大的方便客户产线需求,也能省下烧录夹具的成本。
ISP在线烧录注意事项
在线烧录相对于离线烧录,还是有很多外部因素影响其烧录的稳定性,这需要我们加以注意。
首先,芯片是贴在电路板上的,板子上的走线及外围器件(如上下拉电阻,大电容)等都有可能会影响编程信号,比如编程接口的下拉电阻会使编程信号电压减少,又如大电容电路中上电瞬间可能会导致过流等等,对于时序要求比较严格的IC来说,更需要注意。
其次,SPI协议是一种短距离传输协议,烧录工具和待烧录板子之间的引线不能过长(尽量在50cm以内),使用性能较好的屏蔽线,当线距较长时,需要适当降低SPI频率。
最后,对于有些板子,有可能在上电后,主控MCU已经取得了对待烧录芯片的编程接口的控制,如果此时烧录工具对待烧芯片烧录,则有可能会导致烧录失败,所以烧录时,需要保证主MCU处于复位状态。