搜索
bottom↓
楼主: zhb2000

【重量级贴子】自已编写的USBASP的ISP上位机软件AVR_fighter,请大家多提意见以便修

  [复制链接]
(428769403)

出0入0汤圆

发表于 2008-2-23 11:03:43 | 显示全部楼层
1、我用的软件是bushound5.0。
点击此处下载ourdev_218356.rar(文件大小:595K)

2、已用测试2版对51和52进行测试,Flash读写正常;但是发现一个问题,不能读写锁定位,S5x系列锁定位操作的指令与AVR不同,数据位也不同(Byte2是写入的数据),数据定义也不同(1是使能)。

3、建议在弹出信息提示同时发出声音提示,而不是点击确定后发出提示;操作失败没有声音提示。

4、能加入扩展信息最好不过,不过我认为可能用不上12位信息,6个字节对应6个扩展足够了。

5、USBasp做起来并不复杂
1

1
(428750147)

出0入0汤圆

发表于 2008-2-23 16:24:39 | 显示全部楼层
今天只能简单地测试 AVR_fighter测试2版,对于89s51/52芯片的读写情况:

一、楼主“建议配合:314forever_main.hex固件使用”;
    1、我昨天使用公司里的电脑测试,使用 314forever_main.hex固件时,“毫无问题”——电脑不需要重新安装usbasp程序(原来的 progisp v1.66 软件、公版驱动程序);
    2、今天在家里使用本本(原来安装的是 progisp v1.67 软件、公版驱动程序),居然不认识 314forever_main.hex固件的usbasp!?
    3、“重新安装 楼主提供的【AVR_S5x_Win驱动】,居然无法安装——反复几次、不行!不知道是哪里出了问题?!
    4、于是,只能使用我一直正常使用的 usbasp+51固件,和 AVR_fighter测试2版进行配合,进行下面的测试——估计亦可以”反应问题。

二、分别在昨天的2M晶振的4LED目标板(对应P0/P1/P2/P3四个8位口,分别驱动四个8段LED数码管)上面,进行ISP试验:
    1、两种89s51/52芯片均可以正常地擦除、读写,没有再出现昨天的“单独·擦除操作”时出现的“擦除不干净”的问题;
    2、写入的程序,经过了实际的运行,表明程序能够正常运行
        89S51,就在ISP的目标板上面,运行“跑马灯”程序,显示正常;
        89s52,ISP之后插到实际的点阵万年历上面,运行显示正常。

三、关于 314forever上面所说的“不能读写锁定位”问题:
    我测试的情况是,软件提示相应的操作“完成”,但是“锁定”之后,芯片内容仍然可以“正常读出”——实际上没有“锁定”?

四、关于【100楼】 314forever所说的“把AVR用的程序烧进S5x中后,就只能用软SPI对其进行操作”,即我在【96楼】所谓的“发现了一种‘前所未有’的情况”的问题:
    我今天“重新”在 AVR_fighter测试2版软件之下把  314forever固件(M8)内容,写到s51芯片之后,再进行读出、校验、擦除、重新编程各种操作,都没有“再出现”不正常的问题——是不是和  AVR_fighter测试2版软件修改了“延时不够我已经改为500ms以上”,所以解决了?

五、其他发现的一些“小问题”:
    1、程序运行时的彩色“执行横条”,运行变化过程里,似乎有突变——前面的版本里,没有注意?
    2、昨天我提出的“空片”在读出时,不能显示“FF”的“问题”:
      我发现可能是我的问题——在界面的【全部容量】前面打钩,就可以了——不好意思!
(428747756)

出0入0汤圆

发表于 2008-2-23 17:04:30 | 显示全部楼层
一、刚才,“不甘心”不能使用 314forever_main.hex的固件,进行 AVR_fighter测试2版软件的测试;
    1、重新取了一块usbasp板子、再次烧录 314forever_main.hex的固件......电脑就“认识”了......不必重新安装驱动程序的。
    2、检查发现,是“原来”的PCB的问题!暂时“不管它”了!

二、“重复”上面【104楼】的测试uj过程,结果和使用 usbasp+51固件的情况一致——不再重复说明了。

三、由此,我对 楼主说:我的确还有好几块 usbasp的“成品”,如果您需要的话,不必客气——都是“为了工作”——“工欲善其事,必先利其器”嘛。

    呵呵,记得第一次看到这个“工欲善其事,必先利其器”,大约是59年还是60年的夏天,我站在到南京的火车的车厢接头处,在一本旧的《无线电》杂志上面、看到的......
    快五十年过去啦,那个情景依然犹如昨天、就在眼前......不过人已老矣,不再容易接受新知识了!
    逼着自己玩玩力所能及的“东西”,不过是想推迟一点点老年痴呆症的来临,而已。
(428747194)

出0入0汤圆

发表于 2008-2-23 17:13:52 | 显示全部楼层
时间隧道?
1
偶然看到,发帖的时间“改变”了?
(428745849)

出0入0汤圆

发表于 2008-2-23 17:36:17 | 显示全部楼层
“一不做,二不休!”

    1、干脆,再取一个usbasp,再写入  版主的 “zhb2000修改的_main.hex” 固件,
       配合 AVR_fighter测试2版软件,进行测试;
    2、仅仅针对89s51芯片,进行“擦除”、“读出”,“编程”、“校验”各种测试......全部“正常”;
    3、包括 【104楼】的第四项测试,没有问题。

    由此可见,楼主的主要改善的方向,是在 AVR_fighter 软件上面。
(428735601)

出0入0汤圆

发表于 2008-2-23 20:27:05 | 显示全部楼层
呵呵,记得第一次看到这个“工欲善其事,必先利其器”,大约是59年还是60年的夏天,我站在到南京的火车的车厢接头处,在一本旧的《无线电》杂志上面、看到的......
    快五十年过去啦,那个情景依然犹如昨天、就在眼前......不过人已老矣,不再容易接受新知识了!

没想到 wxfhw 老前辈资历这么老,还这么敬业,向你致敬!
头像被屏蔽
(428724770)

出0入0汤圆

发表于 2008-2-23 23:27:36 | 显示全部楼层
好东西
头像被屏蔽
(428690268)

出0入0汤圆

发表于 2008-2-24 09:02:38 | 显示全部楼层
【106楼】 wxfhw
"时间隧道"来自虚拟总论坛置顶的方法。之前我好像已经解决了这个问题。但后面可能导致了一点小错误,结果将一个参考的时间错误修改成发贴时间了。不过不要紧,不影响使用。



另:  wxfhw 很热心,也非常牛啊!!  能否担任我们AVR论坛,及电子综合论坛的版主。当然,如果你有特别的专长,也可以为我们主持其它的论坛版块。 如果你有研究成果与心得,并且希望与其它人交流共享,可以在我们这里搞一个个人技术专栏,像马老师专栏那样的。有兴趣吗?

非常感谢你对我们的支持。
(428678380)

出0入0汤圆

发表于 2008-2-24 12:20:46 | 显示全部楼层
谢谢 阿莫,错爱了!

    我不就是一个菜鸟水平的“玩”家嘛......受宠若惊。

    不过,在下只剩有一点点“余温”,却已经知识老化了
    ——如果需要我干一些力所能及的杂事(仅仅是“杂事”哦),可以悉听遵命,“贡献”一二;
    ——若说要和 马老师相提并论,那就折杀我也,免了罢!!!
(428648549)

出0入0汤圆

 楼主| 发表于 2008-2-24 20:37:57 | 显示全部楼层
由于网友及时测试问题发现的很快,使我能及时修改。现送上AVR_fighter测试3版,由于改动了数据库所以全部数据重新上传。请大家继续帮忙测试,(现在上班时间比较紧,所以回帖很慢,请大家见谅) 谢谢了。

AVR_fighter 测试3版:
    1.修改擦除操作为:在弹出信息提示同时发出声音提示,操作失败没有声音提示
    2.修改了片空检查时,进度条突变的问题
    3.增加了各项操作AVR返回指令的检查,使程序操作更为可靠
    4.修改了加密选项界面及指令,使其兼容S5x加密选项.
    5.修正了S5x加密代码及指令 已更改了加密延时(等待测试)
    6.修改了产品记录中对S5x芯片的保存及装入支持
    7.数据库增加5Byte扩展字段在每次发送USBASP_FUNC_CONNECT消息时传送到固件的2~6字节即data[2]~data[6].(由用户自行定义,可用于固件扩展)
    8.原来的chipStyle改为在USBASP_FUNC_ENABLEPROG消息时传送到固件的第3字节即固件中的data[2]处。
    9.修改了芯片编辑中的一些数据输入设置
    10.修正当USBasp未连接而操作时出现找不到usbasp0.dll的错误
    11.压缩包中支持S5x的固件现只保留 314forever_main.hex (兼容性好,推荐使用)
    12.将wxfhw、314forever上传的USBasp实物图(缩小一点后)收录到压缩包的"USBASP资料\实物图"目录下.
    13.将压缩包中的libusb0.dll、libusb0.sys、usbasp.inf 更改为2007年7月的版本.

AVR_fighter 测试3版
点击此处下载ourdev_219136.rar(文件大小:1.55M)

to:【103楼】 314forever
    谢谢你上传的软件很好用,我用它发现了一些平时不易发现的小问题,如有个别指令发送重复啊,传送数据还不是最大量......现以修正,让我自己都觉得用起来很放心了。:)
    你说的第2,3点现已修正,我这儿S5x工作不正常,我用bushound5.0测试发送的数据应该是对的,还请你帮我再测试测试 :)
    以加入了5Byte扩展。(6Byte不好加,如增加第6Byte则第6Byte太大会出,错因为这一字节在传送函数中表示的传送的字节大小的高8位,因此不能太大,经测试会出错,现保留5Byte)
    你做的USBasp很不错,手工焊得很好啊 :)

成功传送5字节扩展信息的图片:
2

to:【104楼】 wxfhw
    谢谢你的测试,每次都很祥细 :)看来AVR_fighter测试2基本工作正常了。现在改为测试3版了S5x的加密问题还请帮忙再测试测试。:)
    引用你的话:"四、关于【100楼】 314forever所说的...“发现了一种‘前所未有’的情况”的问题...AVR_fighter测试2版软件修改了“延时不够我已经改为500ms以上”,所以解决了?" 这个就不知道了。现在是延时500ms以上看来很稳定。
    引用你的话:"五、其他发现的一些“小问题”:1、程序运行时的彩色“执行横条”,运行变化过程里,似乎有突变——前面的版本里,没有注意?"
    你观察的好仔细啊,经测试发现的确是这样,这是在芯片查空时发生的,因为S5x没有eeprom所以不用查就跳过去了(AVR原来采用的是flash和eeprom各占进度条的50%,这样也不科学)现采用好的算法根据flash和eeprom的容量来决定各自进度条的百分比,完美解决。:)
    引用你的话:"2、昨天我提出的“空片”在读出时,不能显示“FF”的“问题”:我发现可能是我的问题——在界面的【全部容量】前面打钩,就可以了——不好意思!"
    应该是我说对不起才对hehe.在上一版我还没有改成这样,原来我设定的是当内容全为0xff就不显示,即使你点了【全部容量】,还是你的提醒我才改过来的啊。:)
    你在105楼说的:"都是“为了工作”——“工欲善其事,必先利其器”嘛。"谢谢啊,看到你做的USBasp好漂亮,你的邮箱我已记住了。要是我要的话给你写信。到时可不要不给了啊,呵呵。
    引用你107楼的话:"由此可见,楼主的主要改善的方向,是在 AVR_fighter 软件上面。"
    说的很对啊,主要是我的S5x硬件环境不行,辛苦你们了! 还请你再帮我测试S5x的加密 :)
    引用你105楼的话:"快五十年过去啦,那个情景依然犹如昨天、就在眼前......不过人已老矣,不再容易接受新知识了!"
    看来您是位长者。如此细心、认真,让我尊敬!

特别感谢热心网友:314forever和wxfhw 的热心帮助和及时测试.
图片:
3
(428644992)

出0入0汤圆

发表于 2008-2-24 21:37:14 | 显示全部楼层
回 【112楼】 zhb2000 :

一、“看到你做的USBasp好漂亮,你的邮箱我已记住了。要是我要的话给你写信。到时可不要不给了啊,呵呵。”
       呵呵......“一言既出,驷马难追”!

二、 AVR_fighter 测试3版,刚刚进行了简单的测试——重点是“还请你再帮我测试S5x的加密 :) ”
     1、89s51芯片的“加密”功能,依然没有解决——M8可以加密,

     2、程序运行时的彩色“执行横条”,运行变化过程里,似乎有突变——依然存在。

1
(428644353)

出0入0汤圆

 楼主| 发表于 2008-2-24 21:47:53 | 显示全部楼层
to:【113楼】 wxfhw
    还在吗?在的话等一下下,我发现了是延时不够,我马上改,一会传到原来的地方,到时通知你.帮我测!
(428644122)

出0入0汤圆

发表于 2008-2-24 21:51:44 | 显示全部楼层
好,我等“一下下”
(428643601)

出0入0汤圆

 楼主| 发表于 2008-2-24 22:00:25 | 显示全部楼层
to: 【115楼】 wxfhw
    已经改好了.上传到112楼原来的地方.请帮忙试一下.谢谢 :)

    你在113楼说的:" 2、程序运行时的彩色“执行横条”,运行变化过程里,似乎有突变——依然存在。 "
    原来突变是存在,就是进度条一下就满了,你这个不是,是进度条消失后刷新主界面造成的,是正常的,不是突变 :)
(428642673)

出0入0汤圆

发表于 2008-2-24 22:15:53 | 显示全部楼层
重新下载,运行......和“原来”的 AVR_fighter 测试3版 “一样”:
——依然不能加密s51!
——虽然软件提示“写BOOTLOAD及加密位...完成”——可以“正常读出”?

AVR_fighter 测试3版软件,究竟是不是“修改”了?
建议:表明一下:“AVR_fighter 测试3版+”,以示“版本区别”,可否?
(428642337)

出0入0汤圆

发表于 2008-2-24 22:21:29 | 显示全部楼层
第一次下载:AVR_fighter 测试3版 ourdev_219082.rar
第二次下载:AVR_fighter 测试3版 ourdev_219082.rar

为什么两次下载的文件编号,都是  ourdev_219082.rar ???
两次上传的“文件编号”,应该是“不一样”的啊?!
(428642301)

出0入0汤圆

发表于 2008-2-24 22:22:05 | 显示全部楼层
楼主,还在吗?
(428642161)

出0入0汤圆

 楼主| 发表于 2008-2-24 22:24:25 | 显示全部楼层
to:117楼 wxfhw
    好,我马上修改.只传个exe到这儿==
(428641826)

出0入0汤圆

发表于 2008-2-24 22:30:00 | 显示全部楼层
等待......
(428641383)

出0入0汤圆

 楼主| 发表于 2008-2-24 22:37:23 | 显示全部楼层
现上传测试3+版(只有.exe 文件)
点击此处下载ourdev_219155.rar(文件大小:684K)
(428641279)

出0入0汤圆

发表于 2008-2-24 22:39:07 | 显示全部楼层
【122楼】 下载.....再试.....

     现在已经可以“加密”89s51芯片了——加密了之后,不能正常(准确)读出原来的程序内容了。

     啊啊,我休息了。
(428640761)

出0入0汤圆

 楼主| 发表于 2008-2-24 22:47:45 | 显示全部楼层
to:【123楼】 wxfhw
    再等等,你刷新一下网页下载112楼的文件,编号为219136.rar的.试一下.hehe
    这个3+版我延时加的多了点,我想改小点应该会快些.:)
(428640603)

出0入0汤圆

发表于 2008-2-24 22:50:23 | 显示全部楼层
什么?
(428640447)

出0入0汤圆

 楼主| 发表于 2008-2-24 22:52:59 | 显示全部楼层
你开始下载的编号都为ourdev_219082.rar 可能是你没有刷新网页,再来再帮我试一下,上面那个112楼ourdev_219136.rar的文件,S5x的加密,那个看看能不能加密,注意,那个也是测试3版(不是3+版) 3Q. :)
(428639310)

出0入0汤圆

发表于 2008-2-24 23:11:56 | 显示全部楼层
测试:“上面那个112楼ourdev_219136.rar的文件,S5x的加密”

1、如果使用【编程选项】界面,勾【芯片锁定】,可以“加密”;
2、但是,
    仅仅使用(左边)【xxxx加密】里的【lock1】、再【写入】,不能加密?
    仅仅使用(左边)【xxxx加密】里的【lock2】、再【写入】,就能加密?

这个,和 VR_fighter 测试3+版(ourdev_219155)运行的结果,好像是一样的。

.......

不好意思,我约定明天早上要去医院;
现在已经有些“迷糊”了,,,,,,无法坚持“准确”的测试,,,,,,只能休息了。
看看,明天有没有可能继续测试?
(428638923)

出0入0汤圆

 楼主| 发表于 2008-2-24 23:18:23 | 显示全部楼层
看来测试3版也有代测试,等你明天的测试结果.

3+版修改了S5x加密延时,其它见112楼 测试3版 的说明.
点击此处下载AVR_fighter测试3+版.rar(文件大小:1.55M)

to:125楼 wxfhw
    您辛苦了.这么晚了还要你测试,真不好意思,我才发现我自己以经很累了.下了班还要写程序.:) 等你明天有时间再帮测试测试3+版..我也要早点睡了.这个程序也算是从去年写到今年,你们不帮忙不知还要多久.虽然主体已经完工,但还有好多杂七杂八的事要做.比如说录入帮助信息.就即费时又无聊.交个朋友吧,呵呵,祝你晚安!
(428638748)

出0入0汤圆

发表于 2008-2-24 23:21:18 | 显示全部楼层
交个朋友吧,呵呵,祝你晚安!
(428603755)

出0入0汤圆

发表于 2008-2-25 09:04:31 | 显示全部楼层
最近生病了,好久没上网了

【97楼】 314forever
S51檫除等待时间是哪儿看到的,能否上传相关资料?

我以前的测试是AT89S52檫除后等待50ms即可檫除完成,我修改的那个版本里等待了60ms.手头没有S51,无法测试S51
头像被屏蔽
(428603081)

出0入0汤圆

发表于 2008-2-25 09:15:45 | 显示全部楼层
谢谢wxfhw的支持。你太客气了。

有什么专长不妨介绍一下,可以带领我们搞一些开源的设计或制作活动啊。
(428580691)

出0入0汤圆

发表于 2008-2-25 15:28:55 | 显示全部楼层
一天不见,发现热闹了许多。嗯,晚上回去试试测试3版。唉……回学校了,寝室上不了网还真有点不方便。

【130楼】 bluerain 网络棋侠:那个S5x的擦除时间是在Datasheet中看到的,我手头的版本是1919A-07/01
1
我不清楚等待60ms你是怎样做的,我记得AVRUSB的文档中说usbPoll()函数要至少要在每50ms内调用一次,所以这个延时我认为最好还是由上位机控制比较好。
(428516020)

出0入0汤圆

发表于 2008-2-26 09:26:46 | 显示全部楼层
132楼】 314forever
你尽管加延时了,没事的,估计那个时候是个空挡的原因。但是500ms不知道是否可以。当然上位机来延时比较好了,由于zhifeng的那个软件没延时所以我加了60ms的延时。当时没注意到手册上的这个500ms呵呵
(428500956)

出0入0汤圆

发表于 2008-2-26 13:37:50 | 显示全部楼层
【128楼】 zhb2000
3+版:大地址仍然不对,发送的指令有错误
c0 09 00 00  01 00 04 00  VENDOR                 264.1.0        
40 06 00 00  80 00 00 01  VENDOR      //好象这个指令 80 00 不正确,应为00 10

这是新版程序:
else if (data[1] == USBASP_FUNC_WRITEFLASH) {

    if (!prog_address_newmode)
      prog_address = (data[3] << 8) | data[2];

    prog_pagesize = data[4];
    prog_blockflags = data[5] & 0x0F;
    prog_pagesize += (((unsigned int)data[5] & 0xF0)<<4);
    if (prog_blockflags & PROG_BLOCKFLAG_FIRST) {
      prog_pagecounter = prog_pagesize;
    }
    prog_nbytes = (data[7] << 8) | data[6];
    prog_state = PROG_STATE_WRITEFLASH;
    len = 0xff; /* multiple out */

  }


熔丝位显示最好加上STK500的显示模式,否则配置时很烦
(428499228)

出0入0汤圆

 楼主| 发表于 2008-2-26 14:06:38 | 显示全部楼层
想增加上位机自动调速功能,原想与zhifeng的兼容,但怎么也发不现他的1.67版发出调速指令.有知道的说一下谢谢.

to:【134楼】 bluerain 网络棋侠
    谢谢你.正想找你来帮我测试大片,你说的我找时间查一下,现在上班很忙.其它的功能可能的话也帮我测一下. :)改好后我会发到这儿,到时再帮我测试. :)
    stk500是怎么显示的,能贴个图吗? (我还没用过stk500)
(428498553)

出0入0汤圆

发表于 2008-2-26 14:17:53 | 显示全部楼层
1
(428498153)

出0入0汤圆

发表于 2008-2-26 14:24:33 | 显示全部楼层
【135楼】 zhb2000
我认为他的自动调速是对并口下载线来说的。
USBASP公版里也没自动调速这一说,自动调速都是后来修改的,方便烧写新片子。
(428495657)

出0入0汤圆

发表于 2008-2-26 15:06:09 | 显示全部楼层
to:zhb2000
  1、3+版有关锁定位的操作基本没什么问题了,也能正常发送扩展信息。
  2、发现一个问题,进入芯片编辑功能,选定一个芯片进行编辑后就退不回原来的芯片选择列表了,也可能是我笨没找到后退键?
  3、zhifeng的上位机自动调速功能是这样实现的:在发送USBASP_FUNC_CONNECT(不是USBASP_FUNC_ENABLEPROG)时data[2]代表SPI速度,data[3]代表芯片类型,data[4]代表是否提供时钟(需要改动硬件),这几个字节就是现在3+版扩展信息的位置。当选择Auto时SPI速度有7档(我猜是3MHz、1.5MHz、750KHz、375KHz、187.5KHz、93.75KHz、软SPI)分别用7-1代表,上位机先用最高速度3MHz通知下位机进入编程模式,如果返回成功字节00就进行下一步操作,否则再用1.5MHz进行尝试,以此类推
c0 01 00 00  07 00 04 00  
c0 05 00 00  00 00 04 00
01
c0 01 00 00  06 00 04 00  
c0 05 00 00  00 00 04 00
01  
c0 01 00 00  05 00 04 00  
c0 05 00 00  00 00 04 00  
01  
c0 01 00 00  04 00 04 00  
c0 05 00 00  00 00 04 00
01  
c0 01 00 00  03 00 04 00  
c0 05 00 00  00 00 04 00
00
……
你找不到发出调速指令的原因是:zhifeng在他的软件中进行了限制,以上内容只针对他自己的产品进行发送……我是一个很偶然的机会才知道上述过程的。这三个信息都比较实用,楼主要是能把扩展信息中的三个字节用来实现这几个功能就再好不过了。下面这个固件搂主可以来用分析一下自动调速的过程:

点击此处下载ourdev_220046.rar(文件大小:4K)

需在原USBasp硬件上作如下改动:D+只接PD2,D-接PD0,PB1接目标RST,PB2可以提供6MHz的时钟;软件用www.zhifengsoft.com上面的那个powerprg,无视HV模式或者ISP模式。
(428493636)

出0入0汤圆

 楼主| 发表于 2008-2-26 15:39:50 | 显示全部楼层
to:【136楼】 bluerain 网络棋侠
    你好.谢谢你提供的图片,原来就是别人说的经典方式,刚才分析了一下上下位机原码你在【134楼】所说的:"40 06 00 00  80 00 00 01  VENDOR      //好象这个指令 80 00 不正确,应为00 10 "
    我做了分析如下,指令应该是对的.。你说的大地址还是不对,是校验还不对吗?请指出.谢谢
1

不知是不是flash页面大小的问题,我改了一下,现在成下面的样子了:
Device  Data                                             
------  -------------------------------------------------
  13.0  c0 09 00 00  01 00 04 00  VENDOR            130ms
  13.0  40 06 00 00  00 00 00 01  VENDOR            4.2ms   //这样不知对否?给你个3.1的测试文件.exe试一下.
  13.0  c0 09 00 01  01 00 04 00  VENDOR            131ms
  13.0  40 06 00 01  00 00 00 01  VENDOR            5.1ms
  13.0  c0 09 00 02  01 00 04 00  VENDOR            131ms
  13.0  40 06 00 02  00 00 00 01  VENDOR            4.2ms

注:只上传了.exe 文件
点击此处下载 测试3.1版.rar (文件大小:685K)

晕,上面的为pagesize为 00了,看来不对,我再试...
(428492946)

出0入0汤圆

 楼主| 发表于 2008-2-26 15:51:20 | 显示全部楼层
to:【138楼】 314forever
    谢谢你的测试及回答,现在我想问你个问题你看一下怎么样:老要兼容zhifeng的也不是办法,1.占用了我们刚约定的扩展字节.2.他老是老改动,不是苦了我们了。我想我们规定个自动调速的协议,上位机发送一个消息如 #define USBASP_FUNC_SETSPEED 60 在固件中如下接收
     if(data[1] == USBASP_FUNC_CONNECT)
     {
       ......
     }
     else if (data[1] == USBASP_FUNC_SETSPEED)
     {
       if (data[2]==XXXX)  //data[2]为上位机传来的当前速度值,你看怎么样?

    当我上位机进入编程模式失败后就自动降低速度值同时发送USBASP_FUNC_SETSPEED消息进行重新进入编程模试,你看一下速度分几档合适?
    同意的话给我回个话。我时间太忙,上位机都快写不过来了。要是同意的话,固件就请你来写(你写的都是经得起测试的精品)谢谢了!:)

    还有你说的:"2、发现一个问题,进入芯片编辑功能,选定一个芯片进行编辑后就退不回原来的芯片选择列表了,也可能是我笨没找到后退键?"
    只要双击"芯片名称"这几个字或删除你写的芯片名子就可以出来了. :)
(428490114)

出0入0汤圆

发表于 2008-2-26 16:38:32 | 显示全部楼层
【140楼】 zhb2000
    我想当初你写这个软件的目的就是为了支持USBasp吧,所以没必要说为了和其它软件保持兼容,所做的一切改动只要是可以支持原版USBasp就可以。
    这样吧,USBASP_FUNC_CONNECT的data[2]代表SPI速度,data[3]代表芯片类型(AVR or S5x),不用再增加一个指令类型了,这样还可以有三字节的扩展信息足够个人“DIY”了。速度我想分为1.5MHz(适用于工作频率不低于6MHz)、750kHz(适用于工作频率不低于3MHz)、375kHz(适用于工作频率不低于1.5MHz)、187.5Hz(适用于工作频率不低750kHz)、软SPI(适用于工作频率不低于32kHz),一共5档就足够了。
    说我写的都是精品那就太抬举我了,不过是瞎猫碰上死耗子赶巧写了一个没有太大问题的程序而已;下位机程序我来写没问题,我会努力尽量把它写好的。
(428489784)

出0入0汤圆

发表于 2008-2-26 16:44:02 | 显示全部楼层
【139楼】 zhb2000

如果是80 00的话:
    prog_pagesize = data[4]; //prog_pagesize = 0x80
    prog_blockflags = data[5] & 0x0F;
    prog_pagesize += (((unsigned int)data[5] & 0xF0)<<4); //prog_pagesize = 0x80  ?



----------------------------------
m128,程序大于64k


芯片编程
芯片擦除完成!
正在编程Flash,请等待...
编程Flash完成
正在校验Flash,请等待...
Flash地址:0x000000处,校验错误
*芯片编程终止*

显示0X000000处校验错误,并且还校验了好久,既然是00出就立刻停止校验才是。
实际上错误出在0X8000处,软件显示错误
(428488856)

出0入0汤圆

发表于 2008-2-26 16:59:30 | 显示全部楼层
【140楼】 zhb2000


既然确定协议,就整理个文挡,把协议列出来好了,可以随软件一同下载的话就方便大家查阅了
(428488732)

出0入0汤圆

 楼主| 发表于 2008-2-26 17:01:34 | 显示全部楼层
to:【141楼】 314forever
    你同意太好了.按你说的那么我就要在芯片编辑中去掉2个扩展字节了.OK? 请写出每一当对应的数值来.我好写上位机.hehe.
    还有你说的:"2、发现一个问题,进入芯片编辑功能,选定一个芯片进行编辑后就退不回原来的芯片选择列表了,也可能是我笨没找到后退键?"
    只要双击"芯片名称"这几个字或删除你写的芯片名子就可以出来了. :)

to:【142楼】 bluerain 网络棋侠
    我上面分析的没错,只是我原来在写flash时页大小都除了2.所以0x100变为0x80了.所有芯片都除了2.但是写小芯片没问题我想是不是因为M128而flash页不能小的原因.改了以后发现页大小都为0了,我再改一下.到时发上来,你帮我测试. :)
    而这句prog_pagesize += (((unsigned int)data[5] & 0xF0)<<4); 我开始没注意到
(428485438)

出0入0汤圆

发表于 2008-2-26 17:56:28 | 显示全部楼层
USBASP_FUNC_CONNECT中:
data[2]代表SPI速度,取值为1-5,1为最低速,5为最高速;
data[3]代表芯片类型,取值为0或1,0代表AVR,1代表S5x;
data[4]-data[6]保留原扩展信息功能。
(428485095)

出0入0汤圆

 楼主| 发表于 2008-2-26 18:02:11 | 显示全部楼层
to :【142楼】 bluerain 网络棋侠
    现在我已经改支持大于256字节的页了.又出了个小问题我再改一下,好了到时帮我再测测.:)
    你在【143楼】说的"既然确定协议,就整理个文挡,把协议列出来好了,可以随软件一同下载的话就方便大家查阅了 "好.到时随正式版本一起提供.

to:【145楼】 314forever
    好的,就按你说的这个规则. :)

    我要下了.晚上单位还要加班.可能要明天还是什么时候才能上去了.回见!
(428464635)

出0入4汤圆

发表于 2008-2-26 23:43:11 | 显示全部楼层
装入产品后熔丝位问题:
1
(428464347)

出0入4汤圆

发表于 2008-2-26 23:47:59 | 显示全部楼层
经常出下下面提示
1
(428405187)

出0入0汤圆

 楼主| 发表于 2008-2-27 16:13:59 | 显示全部楼层
经修改现送上测试3.2版,欢迎测试.

AVR_fighter测试3.2版:
  1.修改AVR芯片擦除时间延时200ms
  2.修改写flash时支持>256字节的页面(原来写flash页时,页大小被我除了2 :( )
  3.修正产品装入时显示的16进制熔丝值
  4.修改数据库中表chip的扩展字段为6字节(保存3个十六进制字符)
  5.按和314forever网友的约定在和固件发送connect消息时data[2]表示连接速度,data[3]表示芯片类型.data[4],data[5],data[6]表示扩展信息
  6.增加了"自动调速"编程选项(data[2]代表SPI速度,取值为1-5,1为最低速,5为最高速;)分5次尝试和固件以不同的速度连接,如有一次成功则以该速度为ISP速度,如都失败则返回进入编程模试错误

  注:第6点增加自动调速功能,固件由314forever网友正在编写中... 上位机通信已经实现,请314forever网友结合固件进行测试,每次尝试连接的时间间隔为60ms左右

AVR_fighter测试3.2版
点击此处下载:AVR_fighter测试3.2版.rar(文件大小:1.55M)

to:【145楼】 314forever
  你好,上位机已按你在145楼的协议设计完成,请结合固件进行测试。:) 谢谢

to:【142楼】 bluerain 网络棋侠
  你好,写flash时页面>=256(M128)的已经改好,下面的数据是我选M128而用M8试得到的,请你用真实的M128再帮我试试,辛苦了 :)
Device  Data                      Description   Delta
------  ------------------------ ------------ ---------
  13.0  40 06 00 fd  00 10 00 01  VENDOR        71ms  
  13.0  40 06 00 fe  00 10 00 01  VENDOR        72ms  
  13.0  40 06 00 ff  00 10 00 01  VENDOR        71ms  
  13.0  c0 09 00 00  01 00 04 00  VENDOR        71ms   //<---
  13.0  40 06 00 00  00 10 00 01  VENDOR        4.2ms  //<---
  13.0  c0 09 00 01  01 00 04 00  VENDOR        72ms  
  13.0  40 06 00 01  00 10 00 01  VENDOR        4.2ms  
  13.0  c0 09 00 02  01 00 04 00  VENDOR        80ms  
  13.0  40 06 00 02  00 10 00 01  VENDOR        5.0ms  
  13.0  c0 09 00 03  01 00 04 00  VENDOR        72ms  
  13.0  40 06 00 03  00 10 00 01  VENDOR        5.1ms  
  13.0  c0 09 00 04  01 00 04 00  VENDOR        72ms  
  13.0  40 06 00 04  00 10 00 01  VENDOR        4.1ms  
  13.0  c0 09 00 05  01 00 04 00  VENDOR        72ms  
  13.0  40 06 00 05  00 10 00 01  VENDOR        28ms  

to:【147楼】 ztrx
  谢谢你的测试,产品模试一直没人测试,你是第一个,谢谢。你在【147楼】说的问题现已在测试3.2版中修正。请继续帮忙测试:)谢谢
  你在【148楼】楼说的经常出现的提示,可能是由于你的ISP速度太快造成的,如果选对了芯片,你用慢速试一下,看看还有上述问题不?请测试好后造知,谢谢。
头像被屏蔽
(428403612)

出0入0汤圆

发表于 2008-2-27 16:40:14 | 显示全部楼层
zhb2000 的软件更新速度比我想像中的要快很多,赞一个 :)
(428403518)

出0入0汤圆

发表于 2008-2-27 16:41:48 | 显示全部楼层
M128仍然不正确。zhifeng的是每次都发09指令的:

c0 09 00 80  00 00 04 00
40 06 00 80  00 10 00 01
(428402645)

出0入0汤圆

 楼主| 发表于 2008-2-27 16:56:21 | 显示全部楼层
to:【150楼】 armok 阿莫
    谢谢莫站长,我不太有时间,老是抽时间来写的,好累 :)
(428402533)

出0入0汤圆

 楼主| 发表于 2008-2-27 16:58:13 | 显示全部楼层
to:【151楼】 bluerain 网络棋侠
    你好,还是不正确啊,我想到低是问题出在写入,还是效验? 你这样试一下,用我的程序写用zhifeng的读出看看,再用zhifeng的写,我的读出看看.结果说一下,谢谢.
(428402249)

出0入0汤圆

发表于 2008-2-27 17:02:57 | 显示全部楼层
【153楼】 zhb2000

用你的校验
---------------------------------
芯片编程
正在校验Flash,请等待...
Flash地址:0x008000处,校验错误
*芯片编程终止*


你的写入也是在这个地方出错。
(428402020)

出0入0汤圆

发表于 2008-2-27 17:06:46 | 显示全部楼层
现在出现:编程一次之后,需要关闭软件,再打开才能再次编程
(428401905)

出0入0汤圆

 楼主| 发表于 2008-2-27 17:08:41 | 显示全部楼层
to:【154楼】 bluerain 网络棋侠

c0 09 00 00  01 00 04 00  VENDOR        71ms   //<---
40 06 00 00  00 10 00 01  VENDOR        4.2ms  //<---

0x10000是地址65535
而 校验Flash地址:0x008000处 是32768  校验就是读出来再比较

不是一个地方,我现在就在想是不读出来不对,
这样试一下,用我的程序写用zhifeng的读出看看,再用zhifeng的写,我的读出看看.结果说一下,谢谢.
   
我要出去了.下次上的时候看你的回贴 :)

to:【155楼】 minier
    出什么错误提示?我试了一下,我这儿好好的.请说明一下错误.
(428387163)

出0入0汤圆

发表于 2008-2-27 21:14:23 | 显示全部楼层
本来觉得,软件的修改和完善,已经是越来越深入了;
我的能力,已经是越来越力不从心,难以胜任了。

    我只是想先试为快,所以下载了 AVR_fighter测试3.2版(ourdev_220735).rar之后,还是安装和享用了一下软件(配合314forever_main.hex固件;硬件,还是原来的简单的51+LED目标板);
    结果,却发现了“低级错误”:
    新的 AVR_fighter测试3.2 软件,却不能准确编程 89s51芯片!?

    1、编程过程之中,软件检测(校验)到了写入的数据“错误”了:
1
    2、装入的FLASH文件内容:
2
    3、读出的“编程”之后是内容:
3

    4、补充说明:
    上面的usbasp和固件和目标板,在 AVR_fighter 软件“之前”的版本之下(包括 progisp 1.66/1.67软件之下),都能够“正常读写”。
    5、测试心情:
    真正体会到,一个相对完美的软件,其“完成”的过程,需要付出如何辛勤的劳动?!
(428378632)

出0入0汤圆

 楼主| 发表于 2008-2-27 23:36:34 | 显示全部楼层
错误不断,改版不断,我再发个测试3.3版.
在3.2版本基础上:
  1.修改了读写芯片时始终发送大地址指令 (请bluerain 网络棋侠 帮忙测试M128现在对了没?)
  2.修改了,片空检察及flash、eeprom效验代码使其更简捷快速、实用

AVR_fighter测试3.3版(文件大小:1.55M)

to:【158楼】 wxfhw
    你总算又出现了,其实我对S5x的代码并没有改,我查了,是数据库中S51的页大小设为1了.不好意思啊.(原来的页大小也设为1的,但程序正常是因为我在程序中将页大小都除了个2)现在我已经改过来了.应该正确了,你说的"真正体会到,一个相对完美的软件,其“完成”的过程,需要付出如何辛勤的劳动?! ",可惜我这儿条件太有限有两样东面一直困扰着我:1、S5x芯片编程,2、M128 大地址芯片编程,这么一段时间我都在搞这两样,要是我有良好的能够运行的S5x环境及一块M128供我测试,我想进展一定会快上N倍,现在的情况就是从你们测试的情况反映给我,如果你们给我的信息有用,那么我就解决问题快,现在我就象在搞 “软件工程”中的“黑盒测试”出问题了我有时只能猜着去做,去改,导致改了这儿那儿又错,唉!看来此事急不得,我还是放松心情慢慢地来。:)
    数据库中我已经改好了页大小为0,你可以测测看,这版对S5x能不能正常.希望继续帮忙测试.
    累了,我想休息一下.:)
(428377206)

出0入0汤圆

发表于 2008-2-28 00:00:20 | 显示全部楼层
S5x我的好像没有问题
(428355958)

出0入0汤圆

发表于 2008-2-28 05:54:28 | 显示全部楼层
回【160楼】zhb2000 :

    1、“你总算又出现了”:
      不好意思,大前天拔了个牙,“强迫”自己“休息”两天;我仍然关注这里,只是有些问题我插不上话。
      最近,我可能“空闲”时间会少很多,不过我会继续尽力而为的。

    2、“要是我有良好的能够运行的S5x环境及一块M128供我测试,我想进展一定会快上N倍”:
      · M128芯片,我没有,无能为力;
      ·“S5x环境”?
      我以前就说过,我可以出力:我可以提供 usbasp下载线、s51/52芯片和最小系统的目标板给您——送或者“借”,都可以——“为了工作”嘛!

    3、AVR_fighter测试3.3版软件,我在【158楼】相同的条件之下,重新简单测试了——烧写51s芯片,正常。
       如果还需要测试“其他”的项目,请说无妨。

    4、关于我在【127楼】里测试51s芯片的“加密”反映的问题:
      【lock1】功能,
      在左边的【BOOTLOAD及加密】界面里操作“写入”时、不能加密;
      而在右边的【编程选项】界面下,打钩“芯片锁定”(同时左边打钩“lock1”,则可以“正常”加密;
      该“运行效果不一致”的现象,在 AVR_fighter测试3.3版软件条件下,同样存在。
      不过,这仅仅是一个小问题。
(428355254)

出0入0汤圆

发表于 2008-2-28 06:06:12 | 显示全部楼层
“贴子回复数目太多,为方便浏览此处隐藏了121个回复。点击此处查看完整的帖子。”
    ——上面复帖时,我为了查看前面的帖子,“点击”了上面的提示;
    ——结果,前面输入的文字,全部因为幅面刷新而“消失”!
    我打字本来就慢......唉......

谢谢【131楼】 armok 阿莫:“有什么专长不妨介绍一下,可以带领我们搞一些开源的设计或制作活动啊。”

    我已经在【111楼】说过:我“已经知识老化了”。
    “好汉不谈当年勇”——更何况,我算不上“好汉”哦......
    不好意思!
头像被屏蔽
(428349430)

出0入0汤圆

发表于 2008-2-28 07:43:16 | 显示全部楼层
【163楼】 wxfhw ,

很多知识是不会老化的,就看如何发挥了 :)

比如音响中的胆机,应该还会一直有人用下去。
(428347463)

出0入0汤圆

发表于 2008-2-28 08:16:03 | 显示全部楼层
【160楼】 zhb2000
M128现在对了

芯片编程
芯片擦除完成!
正在编程Flash,请等待...
编程Flash完成
正在校验Flash,请等待...
Flash校验...ok
读取芯片特征字及效准值...完成
*芯片编程结束*



读取芯片特征字:这个应该在擦除前面吧?


有空增加一下熔丝显示模式吧,增加你所说的经典显示模式
(428323238)

出0入0汤圆

发表于 2008-2-28 14:59:48 | 显示全部楼层
程序我改好了:

点击此处下载ourdev_221355.rar(文件大小:79K)

速度一共是五档:1.5MHz、750kHz、375kHz、98.75kHz和32kHz,原速度跳线无效;已经用Mega8、Tiny13和S51进行了测试,S5x依旧是字节写方式。附件里面我带了一个USB口的Bootload,HID类的不需要驱动;使用时Mega8的熔丝位设置如下LFuse = 0xEF、HFuse = 0xD8,再把bootloadHID.hex烧进Mega8中,然后要下载程序时先把PC2处的跳线(就是那个选择SPI速度的跳线)插上,然后再插入USB口,系统会自动把驱动装好,下载程序命令格式如下(假设bootloadHID.exe文件在D:\Workspace\下,要下载的程序名为main.hex):

D:\Workspace\bootloadHID -r main.hex

下载完成后不需要将编程器拔下就可以直接使用。
(428316767)

出0入0汤圆

 楼主| 发表于 2008-2-28 16:47:39 | 显示全部楼层
抽了一点点空闲上来看了一下,大家都上来了,真好.现在还没时间编程,有时间继续. :)

to:【162楼】 wxfhw
    hehe ,我打算再改一两次对S5x的加密,要是还不行,就问你要或是借usbasp下载线、s51/52芯片和最小系统的目标板了.呵呵.
    还需要你继续帮我测下一测试版的S5x芯片. :)

to:【165楼】 bluerain 网络棋侠
    你这一贴,总算让我看到了期待已久的胜利,心里轻松了许多 :),你所说的:"有空增加一下熔丝显示模式吧,增加你所说的经典显示模式",这个是一个大工程,不是说程序有多难而是这个STK500方式,必需依赖于每块芯片的帮助信息,录入这么多芯片的帮助信息需要大量的时间,而且很无趣.呵呵,我是这样想的:
    1.解决软件当前的BUG
    2.结合314forever写的调速固件先发一个正试版本
    3.花时间(可能比较久)录入芯片的帮助信息
    4.再做STK500熔丝配置方式

to:【166楼】 314forever
    呵呵,你程序写的很快,我看了而且还很好.注意到你程序片段如下:
void spiHWenable()
{
  ......
  case 3 :
    /* enable SPI, master, 375kHz SCK */
    SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1);
    SPSR = (1 << SPI2X);
  break;
  default :    //***这里,我想下一版改为:当上位机不选择自动调速时:这一位输出0,从而采用此默认速度,看了你的程序居然是完全兼容的.呵呵 :)
    /* enable SPI, master, 98.75kHz SCK */
    SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1) | (1 << SPR0);
    SPSR = 0;
  }
  ......
}

void ispSetSCKOption() {
       
  if (prog_speed == 1) {  //***这里当速度档为1时自动用软件模拟,不错不错!
    /* use software spi */
    spiHWdisable();
    ispTransmit = ispTransmit_sw;
   
  } else {

    /* use hardware spi */
    ispTransmit = ispTransmit_hw;
  }  
}
   
    我想改为:当上位机不选自动调速速度档时输出0从而采用默认速度(原来是输出5采用最快速度,可能有的USBasp无法工作),你看可以不?
    从下一版以后都将你的这个压缩包收录到AVR_fighter的目录中让大家使用.没意见吧.呵呵!
(428313608)

出0入0汤圆

发表于 2008-2-28 17:40:18 | 显示全部楼层
没问题,呵呵。至于把程序收到AVR_fighter的目录中,我想还是等有了充分测试后再这样吧;毕竟每个人的使用环境都不相同,我测试没问题可能到别人那里就不行了(我是深有体会,当初让USBasp支持S5x时没有考虑到复位电容的影响,导致在一部分人那里可以工作,一部分人那里不行)。
(428309659)

出0入0汤圆

发表于 2008-2-28 18:46:07 | 显示全部楼层
【166楼】 314forever :

    谢谢您的程序(ourdev_221355.rar)
    按说明看,功能很好。

    1、只是,我是菜鸟,不知道如何“写入”固件(main.hex)——语句“D:\Workspace\bootloadHID -r main.hex”,在什么“条件”之下“工作”?
         低级问题,不好意思。
   
    2、我使用 智峰的 progisp软件,完成了“第一步”:
        “使用时Mega8的熔丝位设置如下LFuse = 0xEF、HFuse = 0xD8,再把bootloadHID.hex烧进Mega8中”——因为 智峰的 progisp软件,设置“熔丝位  如下LFuse = 0xEF、HFuse = 0xD8”,界面比 AVR_fighter软件“方便、直观”;

    3、第二步:“然后要下载程序时先把PC2处的跳线(就是那个选择SPI速度的跳线)插上,再插入USB口,系统会自动把驱动装好”,就不知道如何进行了.....

    4、现在,我的电脑已经有反应了:
1

    呵呵,只要把我“教会”了,所有的“菜鸟”就都可以学会了。
(428249680)

出0入0汤圆

发表于 2008-2-29 11:25:46 | 显示全部楼层
个人感觉这个界面比较好。
(428210538)

出0入0汤圆

发表于 2008-2-29 22:18:08 | 显示全部楼层
为什么我用来写ATMEGA8的熔丝是这样啊?怎么改都是这样啊
1
(428205227)

出0入4汤圆

发表于 2008-2-29 23:46:39 | 显示全部楼层
bootloadHID 只能用一次吗
(428204244)

出0入4汤圆

发表于 2008-3-1 00:03:02 | 显示全部楼层
原来是熔丝写错了
(428171816)

出0入0汤圆

发表于 2008-3-1 09:03:30 | 显示全部楼层
【169楼】 wxfhw
电脑找到设备后,按win(就是Ctrl和Alt中间的) + r后输入cmd,或者执行开始-〉附件-〉命令提示符也可;这时会出现一个类似于DOS的窗口。找到bootloadHID.exe所在的文件夹,比如你把bootloadHID.exe和要烧写的程序放到了D盘Workspace文件夹下(这两个东西一定要放在一起)就依次输入d:、cd workspace,然后输入bootloadHID -r main.hex就行了

1

bootload的好处就是日后如果打算对固件升级,就不需要再把芯片拔下来再另找编程器了(只要不对单片机进行擦除,bootload就可以反复使用)。
(428162299)

出0入4汤圆

发表于 2008-3-1 11:42:07 | 显示全部楼层
不知为什么,我的USBASP速度总是上不去(没有用并口的快),我是用一个USBASP对另一个USBASP下载程序.
(428158797)

出0入0汤圆

发表于 2008-3-1 12:40:29 | 显示全部楼层
谢谢 【174楼】 314forever 的教程!

    我按部就班地操作,已经把 314forever 在【166楼】提供的“USB口的Bootload,HID类的不需要驱动”的固件正常写入了。
    在【160楼】的 AVR_fighter测试3.3版软件之下,读写手头的 M8/89s51/2313/T26芯片,基本正常。
    谢谢  314forever !!!
(428158012)

出0入0汤圆

发表于 2008-3-1 12:53:34 | 显示全部楼层
上传我写入 314forever 在【166楼】提供的“USB口的Bootload,HID类的不需要驱动”的固件的几幅图片:

    0、“Mega8的熔丝位设置如下 LFuse=0xEF、HFuse=0xD8,再把bootloadHID.hex烧进Mega8中”;
        我是在 progisp1.67之下写入的——不必上图了罢?

    1、“把bootloadHID.exe和要烧写的程序main.hex,放到 D盘USBasp文件夹下(这两个东西一定要放在一起)”
1
    2、“电脑找到设备后,按“win”+“r”键 输入cmd,或者执行【开始】-〉【运行】-〉命令提示符,【打开】‘CMD’”......这时会出现一个类似于DOS的窗口......
2
    3、之后,电脑就“认识”了usbasp了:
3
(428155862)

出0入0汤圆

发表于 2008-3-1 13:29:24 | 显示全部楼层
顶!
(428151277)

出0入0汤圆

 楼主| 发表于 2008-3-1 14:45:49 | 显示全部楼层
有一段时间没上来了,太忙 :)

to:【171楼】 hkxiaoma
    你好。读写成功吗?如果成功,你的芯片是不是加密了,加密了的芯片是改不了熔丝位的,要选擦除才行。

to:【174楼】 314forever
    你好啊。 你提供的bootloadHID真好用,如制作新的USBasp时M8熔丝时钟位要设为CKSEL=1111,这时我的USBasp就无法再操纵M8芯片了(我原来用并口下载线又可以操纵),这时bootloadHID就发挥了巨大的作用。呵呵 :)
    我们的自动调速分为1.5MHz、750kHz、375kHz、98.75kHz、32kHz,不知道你的USBasp达到哪一档了?
    我的能达到183.75kHz,但暂时没有这一档,写的时候比原来慢了一些,能不能增加这一档?如增加就变6档速度了,我已经更改自动调速时间间隔为30ms左右(原60ms)嘿嘿 :) 对了,有人测试出你的固件有什么问题吗?我这儿试了,好好的.
    /* enable SPI, master, 183.75kHz SCK */
    SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1);
    SPSR = 0;

to:【175楼】 ztrx
    你好,你用USBasp更新另一个USBasp的程序,由于CKSEL=1111这时USBasp将以低速操作(原因还不知道),你写其它的芯片就可看出速度上去了。

to:【177楼】 wxfhw
    你好啊,图解很祥细。
    你在【162楼】中的:" 4、关于我在【127楼】里测试51s芯片的“加密”反映的问题"经过我查阅资料及用商用编程器实验发现如下:
    S5x的加密分为三档:
    0.Not Lock 不加密
    1.Lock1 禁止外部MOVC指令 (注意:此时还能读出写入的程序)
    2.Lock2 加上禁止读 (加密)
    3.Lock3 再加禁止外部程序
    所以用Lock1还是能读出S5x中的程序的,至于原来用AVR_fighter测试3.3版选Lock1又能加密是我程序在写入时把它改为Lock2了,下一版中将改正。
    呵呵,S5x的问题已解决!如发现其它问题还请及时提出啊。呵呵
(428145912)

出0入0汤圆

发表于 2008-3-1 16:15:14 | 显示全部楼层
【179楼】 zhb2000 :“呵呵,S5x的问题已解决!如发现其它问题还请及时提出啊。呵呵 ”
     “S5x的问题已解决!”敢情好啊!

    我检了几块废的PCB替您做了一块s51的ISP_目标板——最小系统+P2驱动的共阳极数码管:直观显示下载“跑马灯”显示程序是否“运行正常”?

1
点击此处下载ourdev_222356.rar(文件大小:1.08M)

    看来,用不着了?
(428125573)

出0入0汤圆

发表于 2008-3-1 21:54:13 | 显示全部楼层
个人觉得熔丝位设置还是加入向导方式更方便些:)
(428123146)

出0入118汤圆

发表于 2008-3-1 22:34:40 | 显示全部楼层
一个问题,1.0版的速度快,3.2/3.3的都很慢。M8。
(428116992)

出0入0汤圆

 楼主| 发表于 2008-3-2 00:17:14 | 显示全部楼层
to:【180楼】 wxfhw
    你好啊。引用你的话:"我检了几块废的PCB替您做了一块s51的ISP_目标板——最小系统+P2驱动的共阳极数码管:直观显示下载“跑马灯”显示程序是否“运行正常”? "
    你想的真是周到,谢谢你替我做的板子。真好看,我当然要啊,用它除了做实验外,我还可以下载S5x的程序 :) 。我还想要 2 块USBasp成品版。呵呵,我要的真是多,本想自已做但是比了一下,怎么也不会有你们做的好看 :) ,(你做的实验板上的S5x芯片我有,就不要了,USBasp上能不能搞成插座的,上面的M8我也有,就不要了) 要多少邮费及成本费告诉我啊,我给你汇 :)
    说了这么多,我问您要的清单如下:
    1.S5x实验板 (注:不带S5x芯片)
    2.两块USBasp (注:不带M8芯片,最好是带28脚的插座)
    呵呵,要是同意告诉我,我就给你写信罗!

下面是伴我一直走过这么多年的USBasp及实验板的图片(手机照的,不太清楚):
1
2

to:【181楼】 wanghm35
    你好,以后有时间会加入(我更希望能有一种更好的方法),我在167楼对"bluerain 网络棋侠"说的话中有说明 :)

to:【182楼】 rainbow 老陈
    你好,引用你的话:"一个问题,1.0版的速度快,3.2/3.3的都很慢。M8"
    1.你用了 314forever网友的新版自动调速固件了没?最快能达1.5M的SPI(用了应该会快些,要是你的USBasp硬件好的话)
    2.你说1.0版快是指读?还是写?或是其它?
    3.我是改了一点,通过我改了以后读比原来慢一点(为了更好的兼容),但写比原来快,我这儿能用183.75kHz的SPI速度,编程7K多的程序用:擦除、编程Flash、校验Flash、编程熔丝、芯片锁定这么多操作下来还是很快,后来我去掉校验Flash,那叫一个爽!
(428086331)

出0入0汤圆

发表于 2008-3-2 08:48:15 | 显示全部楼层
【183楼】 zhb2000 :
    “说了这么多,我问您要的清单如下:
    1.S5x实验板 (注:不带S5x芯片)
    2.两块USBasp (注:不带M8芯片,最好是带28脚的插座) ”

    没有“问题”:

    1、S5x实验板,上面【180楼】的那个,就是;只是比较简陋了一点点。

    2、两块USBasp成品版...最好是带28脚的插座——意思是除了M8芯片,其它的东西都要有(另带28脚的插座)?
        可以——我替您另外安装两套(插上M8、检查正常之后,再拔去M8)——保证是“完好”的,就是了。

    3、“要多少邮费及成本费告诉我啊,我给你汇 :) ”
        我前面已经说过,送给您一个了。如果您需要快递,再说邮费罢。
        请电子邮件里,告诉我您的详细的邮政地址——快递需要有电话号码。
(428083912)

出0入0汤圆

发表于 2008-3-2 09:28:34 | 显示全部楼层
【179楼】 zhb2000
    CKSEL=1111对应的是外部时钟3+MHz,只能达到187.5kHz,这个不大可能吧。我自己的情况是对于M8,用外部12MHz晶振时SPI速度可以达到3MHz、用8MHz内部RC振荡器时可以达到1.5MHz、用4MHz内部RC振荡器时可以达到750kHz、用2MHz内部RC振荡器时是375kHz,对于S5x在外部晶振24MHz时可以达到1.5MHz。之所以没加入187.5kHz而改用93.75kHz是考虑到速度一共就5档,而对于Tiny13这样的片子可以设置为内部RC振荡4.8MHz,如果加上8分频的话187.5kHz就太快了,为了就合这种情况所以用的是93.75kHz。你要是增加速度档就莫不如加到7档,6档硬SPI加一档软的,这样除了2分频的情况(SPI速度为6MHz,要求系时钟至少为36MHz),能用的速度都包含进来了;调速时间间隔不用那么大,连续发送就行,因为在执行USBASP_FUNC_CONNECT时会对目标芯片进行复位的。
    上面有人说用USBasp对写速度很慢,如果用的是原版的程序估计是把PC2跳线跳上了。即使用原版程序在1.0版和3.x版下速度应该是一样的,因为原版的程序无视那个速度选项,只通过PC2的跳线决定。
(428078397)

出0入118汤圆

发表于 2008-3-2 11:00:29 | 显示全部楼层
to:zhb2000
谢谢你的回复。
我的固件是智峰的那个。无跳线。
TINY2313/8M外部晶振,无分频,1.5K程序,芯片擦除,编程FLASH,校验FLASH三项,速度如下:

1.0版:1秒左右。
3.3/3.2版:17.5秒。

应该是没有用“314forever网友的新版自动调速固件”的问题。
谢谢。
(428065520)

出0入0汤圆

发表于 2008-3-2 14:35:06 | 显示全部楼层
to 【183楼】 zhb2000:

    两块USBasp成品版...带28脚的插座:除了M8芯片,其它的东西都有(插上过 M8、检查正常之后,再拔去M8)——保证是“功能完好”的。

    刚刚,才完成功能测试。
    等待您的邮政地址,以便于寄出。
     1
(428065210)

出0入0汤圆

 楼主| 发表于 2008-3-2 14:40:16 | 显示全部楼层
AVR_fighter测试3.4版又出来了。:) 时间紧啊

AVR_fighter测试3.4版更新如下:
    1.S5x加密已经正常.(如不清楚请见179楼的说明)
    2.编写新的信息提示框并应用到AVR_fighter中,效果很好。
    3.增加:编程结束延时1秒选项 (注:数据库sys表中的proOpt字段已改为长整型)
    4.取消自动调速换档时的延时,使其连续发送 (速度更快)
    5.发现一个BUG高位及扩展位熔丝写不进去.(由于延时不够)现已修正
    6.整理了压缩包中的"USBASP资料"目录中的内容(内有说明)
    7.将314forever网友提供的自动调速压缩包收录到 "314forever网友"目录中

AVR_fighter测试3.4版(欢迎大家测试!) :
点击此处下载AVR_fighter测试3.4版.rar(文件大小:1.61M)

图片如下:
2

to:【184楼】 wxfhw
    你好,你做事真的很细致!是除了S5x、M8其它都要,呵呵,回头信里面再说。

to:【185楼】 314forever
    你好,你在185楼分析的很细致,原来你已经考虑得这么周到了:),我是用的内部1MHz时钟CKSEL=0001,能到187.5kHz(芯片出厂时都是默认1MHz的) :),我按你说的试了。当芯片时钟为8MHz,真的很快哦。你说:"用外部12MHz晶振时SPI速度可以达到3MHz",但USBasp是低速的USB,最大只能到1.5Mb/s 3MHz的话,可能软件也达不到,不太有必要。我征求你的意见,你说保留现再的就保留,你说改就改. :)
    还有我说的CKSEL=1111我说慢是由于设为这样的M8没有外部晶振的情况下,并口的下载线能写,但USBasp不能写它了,不知为什么?

to:【186楼】 rainbow 老陈
    你好,最好还是用新版的AVR_fighter,修改了好多BUG呢,呵呵.
    希望你成功。
(428063940)

出0入0汤圆

发表于 2008-3-2 15:01:26 | 显示全部楼层
1、AVR_fighter测试3.4版软件,已试用过;

2、上传一个我上面的usbasp下载线的参考电路图:
    有两种ISP接口(IDC10和2.54_6)接插件;
    有一个“独立”的Vcc电源电压LED指示灯;
    预留了USB-UART(串口)的端子.......
点击此处打开ourdev_222795.pdf(文件大小:20K)
(428062792)

出0入0汤圆

 楼主| 发表于 2008-3-2 15:20:34 | 显示全部楼层
to:【189楼】 wxfhw
    你好,AVR_fighter测试3.4版,不同颜色提示还好吧? :)
    你的电路图我看了,很不错,下版收录到AVR_fighter压缩包中,可否?
    你在187楼做的USBasp很漂亮,谢谢你帮我测试.:)
    你在94楼说的:"告诉我(wxfhw 126.com),您的地址即可。" 你的邮箱是不是应该是:......

    谢谢你同意收录你画的电路图,看了你【191楼】的话,原来你是有目的的,呵呵.我这上面的也改了,晚上给你写信哦.
(428061564)

出0入0汤圆

发表于 2008-3-2 15:41:02 | 显示全部楼层
【190楼】 zhb2000 :

    谢谢您“欣赏”我做的东西——被人欣赏,总是容易“感觉良好”的哦。
    AVR_fighter测试3.4版,不同颜色提示,不错!
    电路图,您觉得有用,就收录罢。
    关于电子邮件,我是特地这样子的——怕垃圾邮件——其实,在上面的usbasp的PCB照片上面,就有我正确的邮箱嘛:) 。
(428044817)

出0入0汤圆

 楼主| 发表于 2008-3-2 20:20:09 | 显示全部楼层
to:【191楼】 wxfhw
    您好,你是画的不错!谢谢你同意收录你画的电路图.
    我已经给您写了信.呵呵.
    今天我还有些事要做,我现在下了.886
(428036256)

出0入4汤圆

发表于 2008-3-2 22:42:50 | 显示全部楼层
MEGA48的熔丝位写入好象有问题啊,BODLEVEL1写不进去
(428003113)

出0入0汤圆

 楼主| 发表于 2008-3-3 07:55:13 | 显示全部楼层
to:【193楼】 ztrx
    你好,你用的是测试3.4版吗? 原来的版本有此问题,测试3.4版修改了的
(427998977)

出0入0汤圆

发表于 2008-3-3 09:04:09 | 显示全部楼层
5档速度这样吧,要是不太满意可以自行修改isp.c当中的参数,反正改起来很容易而且有bootloadHID烧写固件也很难容易,话说回来3MHz、1.5MHz和750kHz之间在时间消耗上我是没感觉出来有什么太大差别。
    设置成外部晶振,没接晶振但是可以用并口下载线写,这种情况我还是头一次听说,可惜我的并口下载线扔家了,没法试试。
    问一句题外话,为啥说到上位机编程这里很多人推荐C++ Builder或者Delphi呢,相比于MFC之类的很好学吗?
(427997417)

出0入4汤圆

发表于 2008-3-3 09:30:09 | 显示全部楼层
to 【194楼】 zhb2000
我用的是3.4版的
(427996436)

出0入0汤圆

 楼主| 发表于 2008-3-3 09:46:30 | 显示全部楼层
to:【195楼】 314forever
    你好,就按你说的5档. :) 我也试了1.5MHz和750kHz之间速度差不多(但已经很快了),可能是软件及USB传输上面慢了。
    设置成外部晶振我的并口线确实可以写,我也不知道是为什么。呵呵
    VC,BCB,Delphi,VB各有它们的特点和优势,用什么windows编程软件都行,我自己认为关键是看做什么事。我一般是看做什么事需要而决定用什么编程软件的。呵呵。

to:【196楼】 ztrx
    你好。你用的是3.4版的,我再查一下,可能对于M48延时还是短了。M8我试过,是可以的,你要是有M8你可以试一下,等我改好了,下一版,请继续帮我测试。谢谢。
(427994578)

出0入118汤圆

发表于 2008-3-3 10:17:28 | 显示全部楼层
建议加一个功能:
可选择自动检测到目标文件更新时即执行“编程”功能,这样在调试程序时可省些时间。
谢谢!
(427924140)

出0入0汤圆

发表于 2008-3-4 05:51:26 | 显示全部楼层
C++ Builder或者Delphi  vb是快速开发工具,有点基础,稍微学习一下(1个月以内)就可以开发一些小的应用。

vc+MFC 的学习周期比较长,6个月才大概能达到上述水平。
(427912840)

出0入0汤圆

 楼主| 发表于 2008-3-4 08:59:46 | 显示全部楼层
to:【196楼】 ztrx
    你好,经查证,应该是写M48熔丝延时不够的问题.下一版修正后请继续帮忙测试.谢谢.

to:【198楼】 rainbow 老陈
    你好.谢谢你的建议,我会考虑的.其实你这个想法,又让我想起了好久以前我想要实现的一个功能,也许这个功能在下一版中会实现,呵呵.

    下一版将增加手功输入设置熔丝功能,和zhifeng的一样,也就是用键盘输入个16进制数来设定熔丝.(有些朋友可能用的着)
(427904707)

出0入0汤圆

发表于 2008-3-4 11:15:19 | 显示全部楼层
最好一起把芯片选择鼠标滚轮_功能加上,哈哈!
(427874362)

出0入0汤圆

发表于 2008-3-4 19:41:04 | 显示全部楼层
【193楼】 ztrx: “MEGA48的熔丝位写入好象有问题啊,BODLEVEL1写不进去”;
【200楼】 zhb2000 :“to:【196楼】 ztrx   你好,经查证,应该是写M48熔丝延时不够的问题.”8的

    我今天刚刚收到M48的“半成品”PCB,上面的M48是空片.....
    测试了【193楼】 ztrx所说的“BODLEVEL1写不进去”的问题:
    在我这里,可以烧写“BODLEVEL1”位——“0”/“1”均可以正常地写入读出。
(427808627)

出0入0汤圆

 楼主| 发表于 2008-3-5 13:56:39 | 显示全部楼层
有点小问题马上改好 请,===

请刚才下了 本楼的 测试3.5版的朋友改下 205楼的,有个小小问题,改好了. 此楼的内容我已经删除!
(427806724)

出0入0汤圆

发表于 2008-3-5 14:28:22 | 显示全部楼层
越来越美了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-9-25 01:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表