再战28C256编程器

再战28C256编程器

玩6502/Z80之类复古电脑, ROM是必不可少的. 去年做过一个SST39VF编程器, 链接:

做个并行NOR FLASH编程器

不过SST39VF是3.3V的, 65C02及配套的外设IC都支持3.3V甚至1.8V电源电压, 而Z84C00却只支持5V电源电压, 要把Z84C00玩起来, 非得有5V电压的ROM才行. 紫外擦除的27CXX太麻烦了, 还是用EEPROM, 28C256吧. (之前误以为它需要高电压编程, 其实不用.)

MCU用什么呢? 大部分xxx32都只支持3.3V, 用74HC245之类电平转换IC太麻烦了, 还是找个直接支持5V的MCU比较好. 最终选定了PY32F071, 淘宝只要2元, 却提供了USB, DAC, 3个运放, 3个比较器, 还有段式LCD驱动器, 超值吧?

原理图如下, 和上次一样, GPIOB作为地址线, 不过28C256只需要15条地址线. PA0-PA7作为数据线. PY32F071直接从USB的VBUS供电, LDO也省掉了. 为防万一, USB的DP线加了10k的上拉电阻, 实测这个电阻不接也一样能用.

USB库继续用最近流行的CherryUSB, 找了之前的CDC例程, 一试两试怎么不通? 再找PY32F071的官方库, 一查发现它居然用的就是CherryUSB, 只是CDC例程的写法有些不同. 不管那么多, 换上一试, 可以了.

后面就简单了, 先给28C256写个驱动, 从CDC串口测试读/写通过, 然后让ai帮忙写个python的上位机. 随便找个30k左右的文件, 写进去, 读出来, 检查一下前后的crc32校验值, 完全一致, 通过!

速度呢, 实测32k文件写入耗时3.9秒, 读取用时1.6秒, 还不错.

原理图及程序见github链接:

github.com/tomzbj/diy/t
编辑于 2026-06-10 · 著作权归作者所有