29编程器 EEPROM29
简介
eeprom 29系列编程器,读写amic29 mx29 sst39 w29
简介:eeprom 29系列编程器,读写amic29 mx29 sst39 w29开源协议
:Public Domain
描述
gitee地址
https://gitee.com/happysoul/eeprom29
主要功能可用
读写: 29系列的eeprom
擦除: 整个eeprom擦除成 0xff
查空: 查询非FF数据
校验: 编程后与文件内容比较
芯片信息:需要12v电压才能读取芯片信息,这里没用。其实就是读取2个字节的数据,芯片生产厂商和芯片容量,这个信息每个厂商的定义都不一样
芯片空间问题(Atmega8a只有8k的rom空间),只支持32脚的29系列flash芯片,arduino编译后的代码几乎用满了8k的空间
已测试 A29040、MX29F040、SST39F040、W29C020(Winbond) AT29 SST29
上面芯片有很小概率写入失败,可以先使用擦除功能将芯片恢复成 FF 再写入数据,如果芯片擦写次数过多导致的损坏,无论什么烧录器都可能无法正常写入了
备注:AT29C020 和 AT29C040 使用的是256字节/page 写入方式,没写代码支持这2个片,主要还是代码写满了,没空间写代码了,如果要用建议读出来数据用其他芯片替代写入使用
PLCC 的 AT29C512 和 AT29C256 可以选 29C010 读取,然后读出来的数据是数据x2 x4,自己找软件裁剪就可以了,写入的话,前面位置都放 0xFF 拼够了 128KB 容量写入就可以了。
板子使用2片74hc595扩展地址线,也可以使用 Atmega64或128直接IO连接地址线,波特率默认使用 115200,测试发现提高速率会有丢包问题,造成读取数据不完整
感觉rx tx等长布线可能能有用
TODO: 3.3v电压可以考虑增加1117-3.3的ldo降压,不过对应的晶振频率需要降低到8M或者考虑使用内置晶振
开发使用 Arduino 软件开发,PC端使用 Python3+QT5+pySerial
arduino 需要添加 atmega8a 支持
https://github.com/MCUdude/MiniCore
给Atmega下载程序或者烧录bootloader 可以使用烧录了ISP的 arduino uno 或者其他avr的arduino的开发板(百度有教程)
或者自己造 avr 编程器 https://oshwhub.com/createskyblue/ch552_badusb_copy
芯片选择分为单字节写入 和 128字节/页 的写入
评论