众所周知,某烧录器的主要职责就是烧录某芯片。次责无非就是:机台通讯,次数显示,error显示,按键手动,log输出,分选机烧录等等,咱们就一点一点的来分析
1.烧录芯片
主责也是最主要的功能,这部分与所被烧录的芯片息息相关,被烧录芯片允许的时序,开始,烧录,结束等,都是有强制要求的。此以苹果标准的73-28时序为例分析。见下图
即高8低2或者高3低7,所对应的二进制代码是1和0,依次传输,最后传输完所有的数据;如上图所传输数据为1110111 ,烧录后在线读取数据,校验烧录的数据,返回成功与失败就是最基础的功能。
2.机台通讯
直接上图
此是一国产芯片的烧录时序,如市面上最常见的烧录厂家(某创图),它所识别的电平信号都是可以更改的,可以自由设置为高有效或者低有效。大部分都需要6根线通讯;vdd,vss,start,busy,success,fail,这是最常规的。当在一个烧录机需要同时多个等,可能需要多个start,busy,success,fail等,也有一个信号控制多个的,只分开成功与失败的,这个就看个人了。
3.次数显示
所外带的显示屏,大部分都为iic或者spi驱动的外设显示,显示简单,已经自带驱动芯片。所以如型号显示,次数,封装等信息显示是很简单,直接在主控中集成英文字库,调用显示即可,如果需要中文,那就需要集成中文字库(会大很多)。这部分可能设计到外挂eeprom或者flash的操作,毕竟市面上主控大部分都是采用32的,字库数据最好不要放在这里面,那么就直接外挂了,无区别。error显示也一样,覆盖显示就好了,光标定点。
4.按键手动
脱机烧录时,集成一个按键,按键按下,开始烧录,大部分操作都是这样。按键大部分使用的外部中断的方式,但是注意,在烧录的时候,也就是正在发时序的时候,防止按键再次按下的情况,所以这里常规的操作都是在烧录的时候屏蔽掉所有的中断,防止打乱时序,造成错误。也可以使用软件轮训的方式,做软触发启动,个人建议第二种,毕竟自己写的软件可靠性更强。国产cpu的外部中断理论说是没有问题的。
5.log输出
这部分那就更简单了,基本都是使用的串口输出log信息。重点在于隐藏,也就是防止有心人去查看你的详细信息,这个保护措施是必要的。可以通过串口传输特定数据去开启或者关闭关键log的输出。
6.分选机烧录
这部分是简单也是最难的,如果你没有就是最简单的,如果你想要做的最好,那就是最难的部分。市面的烧录机99%都是只能支持单颗芯片烧录的,无法同时烧录多颗,就是有可以同时烧录多颗的,也是烧录那部分做C+V操作。但是真正的王者操作是在一个烧录机上做兼容性多颗同时烧录。在原理逻辑分析的时候,我们评估是ok的,但是在实际开发的时候。对硬件要求比普通稍高,但是对于软件的要求会质的提升好几个档次,因为本身烧录芯片的严时序与微短时序就会导致主控负载高,再加上另一烧录芯片的时序穿插,可能说同时烧录的成功率不足10%,所以在微观上还是只能分时烧录,即当烧录完一颗时,再转去下一颗,避免了烧录机台针脚的转换与等待时间,大大减小了烧录时间,提高了烧录效率。