EDN首页   博客首页

日志档案

发表于 2008/4/9 21:35:13

6

标签: 无标签

MEGA8 USB编程器固件改进

        用的是圈圈找的USB编程器的原理图(http://blog.21ic.com/user1/2198/archives/2008/45205.html),做了一块小PCB板,下载器用起来很爽,但是也有一个缺点,就是编程的时候经常报错“chip enable program error!”,这是复位信号未在短时间内成功建立的原因。

        圈圈发布原理图与固件的RAR时,里面带了MEGA8的C程序,但是苦于是用AVR GCC编译的,前些日子一直没有找到好方法重新编译,好在昨天在网上看到一个AVR开发软件能在WINDOWS下使用GCC对AVR程序进行编译,于是对原来的固件进行了小修改。

      修改内容是:S5x芯片时,在执行RST信号拉高后,加了N多延时,等待RST高电平信号稳定后再接着进行后续操作。MEGA系列芯片则是在RST信号变低后,加了N多延时,也是等待复位信号稳定。

        好了,不说废话了,下面就是修改后的固件,大家可以试用一下,有问题就再提,反正我不怕麻烦,哈哈。

点击下载mega8usb.rar

        我用修改后的固件成功的给S51,S52,MEGA8下载了程序,都没有再出现“chip enable program error!”错误,编程速度还是和以前的一样,我没有改动编程部分的语句。

 

        现在有USB接口编程器的空PCB板和成品或套件发售:

        PCB:http://auction1.taobao.com/auction/item_detail-0db2-effe05a90374cb3c170672c8bbcecf12.jhtml

        成品:http://auction1.taobao.com/auction/item_detail-0db2-ff1ea855abd0aea06310fceadf20b995.jhtml

       成品照片:http://blog.ednchina.com/billowtust/114406/message.aspx

系统分类: 单片机   |   用户分类: 无分类   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(9351)    回复(40)  

投一票您将和博主都有获奖机会!

最新评论

  • hongke

    2008/4/10 0:25:19

    非常谢谢!原来我做的USBASP就是“经常报错“chip enable program error!””大概要点20次左右才能成功1次!!其他19次左右提示“chip enable program error!!”。 本人为此苦闷多日!! 问个好多网友!!!末能解决!! 今天经圈圈介绍!!(http://blog.21ic.com/user1/2198/archives/2008/45205.html) 用了你给的新固件!!连试了10几次没出过错!! 非常谢谢! 非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!

  • hongke

    2008/4/10 0:27:24

    非常谢谢!原来我做的USBASP就是“经常报错“chip enable program error!””大概要点20次左右才能成功1次!!其他19次左右提示“chip enable program error!!”。 本人为此苦闷多日!! 问个好多网友!!!末能解决!! 今天经圈圈介绍,用了你给的新固件!!连试了10几次没出过错!! 非常谢谢! 非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢! 非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!非常谢谢!

  • billowtust

    2008/4/10 8:37:27

    hongke朋友太热情了,哈哈

  • lcyacp

    2008/4/10 17:59:39

    哈哈。。这位朋友碰到救星了

  • channlv

    2008/4/12 16:03:29

    晶振必须是12m吗?是为usb通讯吗?

  • hongke

    2008/4/12 20:54:15

    晶振应该可以不要,M8内有1M的振荡!!不过最好还是要了!!不要的话熔丝设置也不一样!!

  • lqingcheng

    2008/4/13 12:33:28

    为什么写下该程序之后两灯在不停的闪?再之后该芯片就不能用了,我想了好久不明白怎么回事,请指点一下

  • hongke

    2008/4/13 13:16:13

    下该程序之后两灯在不停的闪是不正常的!!“之后该芯片就不能用了”有可能是你有熔丝位设置不对把芯片锁死了!!

  • billowtust

    2008/4/14 11:35:53

    MEGA8芯片内部是有RC振荡器,但在这个编程器应用中,是使用的12M外部晶振,程序也是按照12M时钟源来编写的,所以还是加上外部晶振,不然可能插上电脑会出现无法识别的结果

  • hong

    2008/4/14 16:15:44

    請問 MEGA8 SMD 第一次進行下載固件是否需要用编程器進行? (因我第一次不可以用ISP進行编程,用编程器後,以後就可以用ISP了) 請指點一下!!

  • billowtust

    2008/4/16 16:28:43

    默认ISP功能是打开的,也就是可以直接使用ISP对MEGA系列芯片编程,除非在之前的编程中锁定了ISP编程功能。 新买的芯片应该都可以直接进行ISP编程的。

  • hongke

    2008/4/17 12:30:17

    如果MEGA8因熔丝设置错误被锁了怎么办?芯片还可以用吗? 我做USBasp的时候熔丝设置错了,再想ISP就检测不到芯片了!!

  • will666

    2008/4/24 14:03:57

    就是高

  • billowtust

    2008/4/27 11:37:06

    应该是可以通过编程器(非ISP型)来重设熔丝的

  • 武夷之颠

    2008/5/3 12:36:29

    有没有谁试过MEGA16啊,我出现了同样的问题。“chip enable program error!”。但在89S52上却相当问题,弄了很久也没弄出来。请指点迷津,非常感谢!

  • 武夷之颠

    2008/5/3 13:19:20

    不好意思,在89S52上是很稳定

  • billowtust

    2008/5/7 16:22:28

    还没有试过MEGA16,手头上没有这个芯片。 上次改过固件后试过给MEGA8编程,没碰到这个问题。回头我弄片16试试吧

  • yangdilove

    2008/5/11 14:15:33

    下载S52老是校验错误... 平均100次就成功5、6次... 用的是你改进的固件,上位机是zhifeng的1.6.6 怎么解决??

  • billowtust

    2008/5/17 20:54:20

    有这事?你用慢速试试,要不换个S52试试,我这边编程没出这问题

  • ccc111

    2008/7/20 14:05:00

    我自己做了一个M8的下载器,可以识别,但是装不上驱动程序 在令一台电脑上试了一下,它可以自动的装驱动程序,但是也不能用。

  • daat

    2008/7/31 12:39:05

    我有一个MEGA8 USB编程器,和你原理图是一样的,需要重新写入固件。我用的是双龙isp下载软件,下载时出现打印口没有找到匹配的下载线缆,这是怎么回事。我用的是51单片机的并口下载线,是不是不能给MEGA8下载程序?应该怎样下载固件?你的QQ号码是多少?求助高手,殷切盼望解答,谢谢!

  • billowtust

    2008/9/12 21:53:49

    楼上的不好意思了,7月那时候我在上班,很少有时间上网。 用双龙的ISP,看来你是选中了并口下载线,你接上那根线了吗,还有就是那线是配双龙的软件使用的吗? 双龙的软件是不支持USBASP的。

  • cuit4017

    2008/10/1 22:08:18

    很笨很诚地问一下,那个,怎么给MEGA8下载程序呀?51单片机的并口下载线不能用? 我是个初学者,什么都不太懂,恰电脑除了USB什么都没有.... 我看楼上的有人问起过,但貌似没有个明确的回答.所以再次发问....

  • billowtust

    2008/10/15 9:09:34

    大伙要是给我发站内信,我的答复就要及时一些了,因为比较忙,就没怎么上BLOG看看了。 楼上的这位,51单片机的并口下载线有很多种,不知道你用的那根线是不是支持MEGA系列片子的。如果你的线用的软件是SLISP,那么应该是支持的。 做USBASP对新手的麻烦之处在于没有工具给M8写程序,不过还是想想办法吧,借一个也成。

  • zoumulin

    2008/10/24 9:51:43

    请问先生您用的MEGA8的C程序是用AVR的哪个软件编译的?好像你提供的里面不是整个工程文件。不知能否提供工程文件。本人想学学I/O口模拟USB时序。谢谢

  • billowtust

    2008/11/2 21:52:36

    上面的程序就是整个工程文件了,原作者用的应该是GCC AVR,不过我从智峰那儿下了个AVR GCC IDE来用,还不错

  • wuliangzi591

    2008/11/11 21:37:28

    在89S52上出现了“chip enable program error!”。弄了很久也没弄出来。请指点迷津,非常感谢!

  • meitongmeijie

    2008/11/20 17:26:25

    圈圈,我是个新手,按着你给的图做了板,但有下面几个问题困扰我几天了,想请教: 1. 我在用双龙的SLISP下载固件时,选你给的固件main.hex后,就会自动退出程序,无法用,不知道是什么原因。我的一个朋友以前做了这样的下载线,我就把他的芯片拿来读出来,然后再往我的板子上烧,就行了。 2. 我看了一下它的熔丝配置,只有SUT0、BOOTSZ1、BOOTSZ0打了勾,而我按着你说的熔丝选择的话,就没法在电脑上找到硬件。(同时,我要把板上的R3短接了才行) 3. 用你的window驱动也没法安装驱动,还是拿朋友的才安装上了驱动。 4. 可我再用双龙SLISP给AT89S51下载程序时,却说串口没有找到匹配的下载电缆。而用PROGISP166下载时,选择了USBASP,可没法工作,按读出时,提示没找到USBASP设备,我晕呀。 我把MOSI、MOSO、SCK分别接到了AT89S51的P1.5、 P1.6 、P1.7上了,(因为我做的并口也是用这几个接口接相应的线),RESET和电源线就不用说了。我不知道到底是哪里有问题,为什么别人做的都没问题,而我却有这么多的问题,呵呵。。。

  • meitongmeijie

    2008/11/20 17:27:30

    圈圈,我是个新手,按着你给的图做了板,但有下面几个问题困扰我几天了,想请教: 1. 我在用双龙的SLISP下载固件时,选你给的固件main.hex后,就会自动退出程序,无法用,不知道是什么原因。我的一个朋友以前做了这样的下载线,我就把他的芯片拿来读出来,然后再往我的板子上烧,就行了。 2. 我看了一下它的熔丝配置,只有SUT0、BOOTSZ1、BOOTSZ0打了勾,而我按着你说的熔丝选择的话,就没法在电脑上找到硬件。(同时,我要把板上的R3短接了才行) 3. 用你的window驱动也没法安装驱动,还是拿朋友的才安装上了驱动。 4. 可我再用双龙SLISP给AT89S51下载程序时,却说串口没有找到匹配的下载电缆。而用PROGISP166下载时,选择了USBASP,可没法工作,按读出时,提示没找到USBASP设备,我晕呀。 我把MOSI、MOSO、SCK分别接到了AT89S51的P1.5、 P1.6 、P1.7上了,(因为我做的并口也是用这几个接口接相应的线),RESET和电源线就不用说了。我不知道到底是哪里有问题,为什么别人做的都没问题,而我却有这么多的问题,呵呵。。。

  • meitongmeijie

    2008/11/20 17:28:34

    圈圈,我是个新手,按着你给的图做了板,但有下面几个问题困扰我几天了,想请教: 1. 我在用双龙的SLISP下载固件时,选你给的固件main.hex后,就会自动退出程序,无法用,不知道是什么原因。我的一个朋友以前做了这样的下载线,我就把他的芯片拿来读出来,然后再往我的板子上烧,就行了。 2. 我看了一下它的熔丝配置,只有SUT0、BOOTSZ1、BOOTSZ0打了勾,而我按着你说的熔丝选择的话,就没法在电脑上找到硬件。(同时,我要把板上的R3短接了才行) 3. 用你的window驱动也没法安装驱动,还是拿朋友的才安装上了驱动。 4. 可我再用双龙SLISP给AT89S51下载程序时,却说串口没有找到匹配的下载电缆。而用PROGISP166下载时,选择了USBASP,可没法工作,按读出时,提示没找到USBASP设备,我晕呀。 我把MOSI、MOSO、SCK分别接到了AT89S51的P1.5、 P1.6 、P1.7上了,(因为我做的并口也是用这几个接口接相应的线),RESET和电源线就不用说了。我不知道到底是哪里有问题,为什么别人做的都没问题,而我却有这么多的问题,呵呵。。。

  • wxcheng

    2008/11/22 17:19:00

    电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wxcheng

    2008/11/22 17:20:28

    圈圈,电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wxcheng

    2008/11/22 17:20:58

    圈圈,我是个新手,电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wxcheng

    2008/11/22 17:21:59

    圈圈,我是个新手,电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wxcheng

    2008/11/22 17:22:33

    圈圈,我是个新手,电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wxcheng

    2008/11/22 17:24:12

    圈圈,我是个新手,电脑能找到新硬件。用你的window驱动也没法安装驱动,请哪位高手帮帮忙!

  • wangsidongcx

    2009/1/8 15:41:08

    我做了一个能够识别,也装了固件,就是在用progisp的时候说没有找到usbasp,看样子圈圈同志的资料还是有所保留的

  • ravenbj

    2009/1/20 15:34:47

    hahaha,你的新固件太有意思了,用你的固件avr都不识别了,用原来的51不能识别了,哈哈鱼和熊掌不能兼得

  • wangsidongcx

    2009/2/17 12:39:46

    假的,没做成功

  • billowtust

    2009/3/5 9:46:17

    太久没有过来看看了,大家的发方不少。看来是有些朋友没有做成功 这个编程器固件是我现在在用的固件,你们说会不会有问题。而且源代码都给了,如果非得有人说有所保留,可以细心看看源代码,自己编译一下试试 这个固件也有人用成功的,比如一楼的那位朋友 固件肯定是没有问题的,做电路的时候得用心,仔细查一下,看看是不是哪儿出了点儿问题。 再有就是原电路中VCC和GND间是没有画电容的,做电路的时候最好放一个100uf的电容。