发作品签到
标准版

29编程器 EEPROM29

工程标签

5.4k
0
0
5

简介

eeprom 29系列编程器,读写amic29 mx29 sst39 w29

简介:eeprom 29系列编程器,读写amic29 mx29 sst39 w29

开源协议

Public Domain

创建时间:2022-06-23 22:37:44更新时间:2023-07-03 14:27:42

描述

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

 

arduino软件 文件 - 首选项 -  添加开发板管理json地址,然后开发板支持库搜索atmega安装
 
可选芯片型号 32脚的
Atmega8 88 168 328 可以是 A、P、PA,不能使用 PB,因为PIN定义不同
 
再说PC端
需要安装python3 至少也要是 3.6以上版本,现在应该有 3.10。 3.9和以上的版本不支持win7
安装的时候需要安装 pip 和 添加bin到path的选项
装好后cmd中用pip安装依赖
pip install pyqt5 pyqt5-sip pyserial pyinstaller
在有main.py目录中cmd运行 pyinstaller -F -w main.py 可以打包成 main.exe 可执行文件

 

给Atmega下载程序或者烧录bootloader 可以使用烧录了ISP的 arduino uno 或者其他avr的arduino的开发板(百度有教程)

或者自己造 avr 编程器  https://oshwhub.com/createskyblue/ch552_badusb_copy

 

 

芯片选择分为单字节写入 和 128字节/页 的写入

 

zJpNkO8tlwLH5rg6A13MFQb3BKCATut3GxSy2Z5Z.png

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航