ATmega 芯片不能烧程序,快用高压编程解锁熔丝位
针对淘宝购买的AVR芯片可能因熔丝位错误无法烧录的问题,作者设计了一款高压编程解锁工具。该工具基于开源项目改进,支持ATmega8/88/168/328主控,通过12V高压自动修复熔丝位。板载Type-C供电和升压电路,提供DIP-28、QFP-64、QFP-32三种接口,配有状态指示灯和串口输出功能。工具可自动检测芯片型号并重置熔丝,解决了常规编程器无法修复的问题。扩展接口支持其他封装的芯片解锁
tb 买的这些AVR 芯片很多大概是拆机的,到手后没反应,不能直接用USBASP 之类的SPI 编程器烧录程序。这种情况大概有四种可能的原因:
- 芯片没焊好或者电路错误;
- 熔丝位设置了由外部晶振提供时钟,而并没有连接合适的晶振;
- 熔丝位被锁了,不能使用SPI 接口烧录程序;
- 芯片就是坏的;
熔丝位设置引起的问题都可以用高压编程器重置熔丝来解决,把芯片恢复到出厂默认设置,就可以用普通编程器烧程序了;也可以用高压编程器确定芯片是不是彻底挂了。不过tb 上能买到的高压编程器至少得几十块钱一个,有点不值,毕竟只是用它重置个熔丝位而已;而且硬件设计上不太好用,我要检测的芯片都是贴片封装的,比如QFP-64 的ATmega128 和QFP-32 的ATmega328,能买到的高压编程器都只有DIP 封装的锁紧座。
好在找到了一个老外做的上古遗物,正好就是个利用高压编程协议恢复熔丝位的简单工具,不能烧录固件,相应的不需要配合上位机,把有问题的芯片连上去就能自动检测和修复熔丝位。原作者的网站据说是挂掉了,有个人把电路设计和固件之类的资料抢救出来上传到了:GitHub - SukkoPera/avr-fusebit-doctor: Repair dead ATmega and ATtiny microcontrollers。
解锁工具
根据这个原理重画了个板子,立创开源:AVR 高压编程解锁工具。

主控核心部分都集中在左边一块,主控芯片可以用ATmega8 / 88 / 168 / 328。我手头有闲置的DIP 封装ATmega8,所以就用这个当主控。用下面的 2x3p ICSP 接口给主控烧录固件,固件文件之类的去板子的链接下面找。
用上面的Type-C 接口给板子提供5V 供电,板载升压电路用来提供高压编程所需的+12V 电源。
板子右侧放了三个用来连接被测芯片的焊盘,支持DIP-28、QFP-64、QFP-32 封装,DIP-28 的位置可以放个锁紧座,贴片封装就只能用热风枪或加热台直接焊上,所以两个贴片焊盘放的和其他东西间隔比较远,应该不会误伤。QFP-64 焊盘主要是给ATmega128 用的,ATmega8 / 88 / 168 / 328 之类芯片一般都是QFP-32 或者DIP-28 封装。
每次只能连接一个被测芯片,上电或按下START 按钮后,工具会自动检测芯片型号,并重置熔丝位。默认把ERASE 开关拨到左侧,工具会在必要时擦除芯片,否则不会擦除。详细的参考板子的链接。
主控芯片下面是RGB 指示灯,蓝色亮起表示被测芯片上电,检测正在进行中;蓝色灯熄灭后,红色常亮表示无法读取芯片信息,十有八九是坏了,或者没焊对;绿色常亮表示芯片已经重置成功。

串口输出
左上角四个排针用来连接串口,工具运行中可以查看串口输出的信息;这个并不是必要的,也没什么特别需要关注的内容,如果主控芯片换成168 或者328,日志里会输出检测到的芯片型号,否则只会输出芯片签名。
串口波特率:4800,格式:8N1。

扩展
板子最左侧的20P 排针引出了所有高压编程信号,如果需要检测其他封装的芯片,可以从这里飞线,或者再弄个扩展板插在这里。关于高压编程的接线方法,参考芯片的手册。
更多推荐



所有评论(0)