搜索
bottom↓
回复: 208

最新USPISP(基于M8)的制作和使用介绍

[复制链接]

出0入0汤圆

发表于 2007-12-15 13:55:45 | 显示全部楼层 |阅读模式
声明:
   
    本USBISP是根据网上一德国人的开源设计(http://www.ullihome.de/index.php/USBAVR-ISP)制作的.本人仅在硬件上做了一点改动.

    本人前后共制作了50几个,通过自己的使用和学生的使用,没有出现大的问题(个别出问题均是硬件焊接问题).
   
    该方案为非正式产品,仅供AVR业余爱好者参考使用.本人不提供任何技术支持,对使用该USBISP出现的问题不承担何责任.

    本方案全部采用免费资源,应该无版权的官司之争。如果有侵权的部分,请告之。

    具体见附录E 自制USBISP下载线

========================================================
1.为何使用USBISP?
  为解决使用笔记本电脑没有并口,不能使用并口ISP下载线的问题.提供直接使用USB口对AVR进行编程下载的"超便宜"的方案和手段.

2.USBISP与USBASP
  USBISP与USBASP分别是2个德国人的设计,在硬件上基本兼容,但内核软件有不同,尽管低层USB都采用开源代码,但上层支持协议不同.USBISP是STK500v2 conpatible (direct from AVR-Studio useable) 的,直接在AVR STUDIO中支持和使用.而USBASP需要使用专用的编程软件.另外ASPISP的更新比USBASP快.

3.USBISP与并口ISP(STK200/STK300)的比较
  并口ISP(STK200/STK300)下载线需要PC带真正的LPT口,在ICC、CVAVR、BASCOM-AVR中可以直接使用。
  USBISP使用USB口,只能在AVR STUDIO中使用(其它支持的不稳定)
  USBISP速度稍为慢一点(M8模拟USB)

4。USBISP的可靠性
  前段时间,制作了一批USBISP(使用兼容USBASP的内核)提供学生使用,经过2个学期证明一般应用没有问题,比较可靠。由于USBISP最新的更新已经不提供与USBASP兼容的内核了,因此直接采用USBISP的方案。

=======================================================
相关资料下载:
1.SCH和PCB



2.M8内核固件(hex)
点击此处下载固件(文件大小:9K)

3.M8内核固件源码
点击此处下载源码(文件大小:91K)

4.USBISP的WINDOS驱动(inf)
点击此处下载 WINGDOWS驱动(文件大小:13K) (原文件名:usb-avr-isp_driver.rar)

分别支持XP和VISTA。文件中的改动如下,将第一行注销,使用第二行.这样在WINDOWS的设备中,USBISP的设备名称为"USBASP-ISP"
;Modem3="Communications Port"
Modem3="USBASP-ISP"


========================================================
制作
1。硬件......
2。将固件写入AVRISP的M8中。
    a/ 在USB口接入5V电源,将JP短路,选择其它的一个AVR编程器如并口的ISP编程器,将其编程口接在AVRISP的编程口上。
    b/ 配置AVRISP上ATmega8的熔丝位:电源检测电压为2.7v;检测有效;系统使用高频外部晶体;高频满幅震荡。具体参数如下:
    BODLEVEL = 1                (BOD电压为2.7v)
    BODEN = 0                (BOD有效)
    CKSEL=1111,SUT=11        (高频外部晶体,64ms启动延时时间)
    CKOPT = 0                (高频满幅震荡)

    c/ 写固件

3。将AVRISP上的JP开路,插到本本的USB口上,安装wondows驱动。驱动安装成功后,可以在windows的设备管理中看到一个串口设备USBASP-ISP。该驱动将AVRISP作为串口设备,占用一个COM口。请查看该COM口的号码。见4下面的图.

4。如果你的本本中有很多的串口设备,需要进行调整,将USBASP-ISP对应的COM口号降到9以下,即在COM0-COM9。原因是AVR STUDIO中的串口仅能连接COM9以下的串口设备。(这个对计算机不熟悉的用户就不方便了)


==========================================================
使用
1。以上完成后,打开AVR STUDIO。在Tools->Program AVR->Connect中选择"STK500 or AVRISP"
可以使用aoto让STUDIO自己找,也可直接选择AVRISP对应的COM口。


2。出现以下窗口STK500 with top module '0x00'说明AVRISP正常,可以工作。USBISP的LED1亮表示与AVR STUDIO连接成功.
注意正确选择要编程的(目标板上的)AVR芯片型号,和编程方式为ISP mode!!


3。在这里可以设置AVRISP的编程速度(AVRISP有记忆的)。选择速度后按WRITE按钮。


4。对于编程工作在1M以下的AVR芯片,要降低AVRISP的编程速度,否则回出现错误提示:


5。当被编程的AVR芯片工作在4M以上时,可以使用最高的编程速度(1.845M),下载程序还是比较快的。USBISP下载速度的选择比较重要,如果采用低速,下载程序的时间比较长,速度过高,会出现上图的错误提示.USBIAP的下载速度一般应稍微小于目标系统频率的1/4。

6。在使用中可能会由于目标板的上电、断电等,会造成USBISP连接不上(LED1不亮),此时将AVRIAP从USB口拔下,然后重新插上,在AVR STUDIO中需要重新连接一下(从1开始)既可。

7.USBISP由PC的USB口供电工作.USB提供5V电源,由HT7536转换成3.6v提供M8使用.USBISP不提供目标板电源,因此目标板需要自己供电,主要是为了PC上USB口的安全.USBISP的信号电平为3.6v,即符合USB协议的标准(解决了原来USB设备不能识别的问题),同时也可适应目标板上5V或3V系统.

8.具网友介绍,可能不支持大于64K代码的下载(如M128).本人没进行过测试.


总结:
不如并口的ISP方便,因为在ICC、CVAVR、BASCOM中可以直接使用STK200/STK300的并口ISP。AVRISP只能在AVR STUDIO中使用。但对没有并口的本本来说,还是一个比较好的方案。

另外,对于这个AVRISP的制作,可以在它的基础上深入学习,提高水平,因为是全部公开的。其它的方案只能作为工具使用,不方便深入的学习和研究。这也是我推荐AVRISP的原因。

============================================================================
使用例子

使用USBISP配合AVR-51多功能实验版,实现对M16的编程下载.(开发环境CVAVR,新M16,系统使用外部4M晶体).USBISP的下载口与并口下载线接口完全兼容.

1.在CVAVR中编写代码,编译生成HEX文件.
2.将USBISP插到电脑的USB口上,将下载线将USBISP与AVR-51板上的下载口连接(可以直接使用并口ISP的下载连接线)
3.启动AVR STUDIO,连接USBISP.LED1亮表示AVR STUDIO与USBISP连接成功.LED3亮表示USBISP下载口已经接到目标板上,且目标板电源已开启.
4.将USBISP的下载速度降低(因为新的M16使用内部RC1M),选择115.2k,按"write"


5.配置M16的溶丝位,使用外部4M晶体
6.将USBISP的下载速度提高(因为新的M16使用内部RC 1M),如460k,按"write",见上图
7.加载要写如M16的HEX文件,按"编程按钮"(FLASH部分).编程过程中,LED1灭,LED2闪烁(1次/1.5s左右),编程结束LED1亮,LED2熄灭.

出0入0汤圆

发表于 2007-12-15 15:24:33 | 显示全部楼层
收下

出0入0汤圆

发表于 2007-12-16 22:15:17 | 显示全部楼层
马老师,看了这个图,我有几个问题不明白,能不能有空的时候帮我解答一下呢:
一.图中的M8是监控芯片吗?要编程的芯片放在哪呢?
二.下面的图在我在原理图中截下来的,请问,这是什么东西?

出0入0汤圆

 楼主| 发表于 2007-12-16 23:08:31 | 显示全部楼层
这是支持ISP编程的DD.

M8通过USB与PC上的编程软件通信,将PC下发的编程指令和代码通过ISP编程口(图中的J2口)对目标芯片编程.

目标芯片(被编程的芯片)在系统目标板上,板上有支持ISP下载的口,J2就是与这个口连接.具体参考AVR-51实验板的设计.

J2口与我推荐的并行ISP下载线的接口是兼容的.

看来是新手,下载本栏顶部前11章先仔细学习.

出0入0汤圆

发表于 2007-12-17 01:20:37 | 显示全部楼层
目标板要供给电源很麻烦.能不能改成由USB口供电?这样编程芯片比较方便(把J2的第2脚接USB的5伏可以吗?)

出0入0汤圆

 楼主| 发表于 2007-12-17 01:27:45 | 显示全部楼层
如果你是老手,不怕(会)把PC上USB口出问题烧掉的话,可以的.原图USB的5V到J2的2脚有个断路跳片,我把它去掉了.

不建议这样做.

出0入0汤圆

发表于 2007-12-17 02:12:25 | 显示全部楼层
谢谢马老师.
你看这样有没有效果:在USB的5伏与J2的2脚之间加上场效应管控制他们的通断,由M8控制,用ADC1/PC1判断目标板是否有短路
先谢了

出0入0汤圆

 楼主| 发表于 2007-12-17 08:48:36 | 显示全部楼层
这样是可行的,但需要考虑以下几个问题:

一般USB提供的电压为5V,500MA.如何处理使用3V的目标板?目标板需要的电流大于500MA如何处理?

出0入0汤圆

发表于 2007-12-17 15:45:14 | 显示全部楼层
谢谢马老师!

出0入0汤圆

发表于 2007-12-18 20:04:23 | 显示全部楼层
马老师,感谢您提供这么好的资料!
我前几天刚刚按照您发布的老版的资料做了一个下载线,很好用,速度比使用Ponyprog和并口下载线快很多,但是也遇到了一些问题,想请教一下您。
1.从德国人的网站上下载的新的固件均不好用,即使装上新的驱动也不行,只有您提供的3月28日的固件可以正常使用,这可能是什么原因?
2.把3月28日的固件下载到制作的AVRISP中后我的电脑运行速度变得很卡(可正常使用),从USB口上拔下来就立即运行顺畅,重新插上又立刻变卡,而在其他两台电脑上使用没有这种现象,使用其他版本的固件也不存在这种现象,是不是插上后和我的电脑其他软件冲突?
3.这个新版的和旧版有些改动,请问新版在性能上有什么提升吗?
再次谢谢马老师!

出0入0汤圆

发表于 2007-12-18 22:46:54 | 显示全部楼层
顶一个

出0入0汤圆

 楼主| 发表于 2007-12-18 23:01:26 | 显示全部楼层
我先前(所谓"老板"),硬件与USBASP兼容,主要是看看USBISP和USBASP哪个好用.最后使用的是USBISP的固件(兼容USBASP的).

>1.从德国人的网站上下载的新的固件均不好用,即使装上新的驱动也不行,只有您提供的3月28日的固件可以正常使用,这可能是什么原因?
>3.这个新版的和旧版有些改动,请问新版在性能上有什么提升吗?
=================================================================
基于M8的USBISP有:
STK500v2 Firmware in Intel Hex Format for ATmega8 stand 2007-08-31      ==>USBISP,我新版使用
(STK500v2 Protokoll,STK500v2 set software version)

AVR910 Firmware in Intel Hex Format for ATmega8 stand 2007-08-31
(AVR910 Protocoll)

STK500v2 USBASP compatible Firmware in Intel Hex Format for ATmega8 stand 2007-05-25    ==>兼容USBASP
(STK500v2 Protokoll,STK500v2 set software version)

STK500v2 Firmware in Intel Hex Format for ATmega8 stand 2007-05-25       ==>USBISP
AVR910 Firmware in Intel Hex Format for ATmega8 stand 2007-06-12

Firmware in Intel Hex Format stand 2007-03-28               ==>USBISP              
USBasp compatible Firmware stand 2007-03-28                 ==>兼容USBASP

因此如果你的硬件是"老版"的,最新的固件是5.25, 后面的不能用.但你可用另外一个德国人的USBASP固件,或国内某些网友改进过的固件.
我之所以推出"新版"是我发现该德国人可能推出的更新不支持兼容的USBASP了.而新版多一个LED和ADC,可以提示是否接到目标板上(上电的).其它没有太大的差别.

>2.把3月28日的固件下载到制作的AVRISP中后我的电脑运行速度变得很卡(可正常使用),从USB口上拔下来就立即运行顺畅,重新插上又立刻变卡,而在其他两台电脑上使用没有这种现象,使用其他版本的固件也不存在这种现象,是不是插上后和我的电脑其他软件冲突?

我没碰到这种情况.估计是软件或端口有冲突.请在PC的设备管理中看一下.

出0入0汤圆

发表于 2007-12-18 23:33:43 | 显示全部楼层
.

出0入0汤圆

发表于 2007-12-18 23:33:48 | 显示全部楼层
好贴,刚升级了p35主板,串并口都没了,是时候做个usb的了 :-)
谢谢马潮老师

出0入0汤圆

发表于 2007-12-22 10:31:23 | 显示全部楼层
前几天忙于考试,几天没来了,看了马老师的解答现在明白了,谢谢马老师!

出0入0汤圆

发表于 2007-12-22 16:33:15 | 显示全部楼层
马老师,这个下载线的下载速度怎么样?跟stk500比?
还有这下载线支持哪些芯片?

出0入0汤圆

发表于 2008-1-4 09:41:46 | 显示全部楼层
谢谢马老师
学习试试

出0入0汤圆

发表于 2008-1-4 10:08:59 | 显示全部楼层
谢谢马老师提供这么好的资料,收藏先

出0入0汤圆

发表于 2008-1-7 20:42:21 | 显示全部楼层
今天我做成了!


边角料 正好用来做这个东西.

出0入0汤圆

发表于 2008-1-13 10:38:09 | 显示全部楼层
我也做了一个,可是下载速度也实在是慢啊,如果选择快一些一速度烧完目标板上跟没烧程序一样。为什么?

出0入0汤圆

 楼主| 发表于 2008-1-13 11:30:18 | 显示全部楼层
下载速度在AVR STUDIO中可以调节的,但下载频率必须<1/4目标芯片系统时钟频率.

因此当目标芯片系统时钟为1M以下时,是有点慢.但并不是"实在慢"的感觉.

出0入0汤圆

发表于 2008-1-13 15:01:20 | 显示全部楼层
我有个改装成mkii的,速度和串口的STK500差不多,只需要把指示灯和复位一脚自己定义一下,根据avr-doper和本站的资料改的,感觉还行,可以使用cvavr、AVR STUDIO、icc也支持,不过不是很稳定,不支持s51 s52(因为这个把我的两片52搞报废了)需要的话就发上来,改的很乱,觉得有点丢人,所以没有敢发上来。

出0入0汤圆

发表于 2008-1-16 12:42:24 | 显示全部楼层
好,做个标记

出0入0汤圆

发表于 2008-1-22 05:34:52 | 显示全部楼层
有哪位朋友在VISTA下安装驱动成功吗?

出0入0汤圆

发表于 2008-1-22 11:06:22 | 显示全部楼层
呵呵,我还在用XP,那个VISTA系统太大了

出0入0汤圆

发表于 2008-1-24 13:54:49 | 显示全部楼层
能否用11.059的晶振?

出0入0汤圆

发表于 2008-1-24 20:11:12 | 显示全部楼层
To  WSQL

請问你使用是DIP零件,怎么连接线?
你的可以同时插入3个到PC吗? 在系统硬件管理里面会出现几个?
盼望回复

出0入0汤圆

发表于 2008-1-30 08:36:17 | 显示全部楼层
马老师 谢谢你提供的资料
M8为什么不用5V电源 那样不是更简单?

出0入0汤圆

 楼主| 发表于 2008-2-1 00:19:24 | 显示全部楼层
出于2个考虑:

1.usb规范规定的USB两个信号线的电平为3.6v.

2.M8采用3.6v工作,其输出为3.6v,这样的话,可以更好的与5V与3V的目标系统配合使用.

出0入0汤圆

发表于 2008-2-2 09:54:48 | 显示全部楼层
谢谢马老师
如果用直插(不是贴片)封装的M8 固件的文件需要修改吗?

出0入0汤圆

发表于 2008-2-2 09:58:28 | 显示全部楼层
另外请问马老师 我买不到HT7536 只有HT7135(30MA) 够用吗?谢谢

出0入0汤圆

 楼主| 发表于 2008-2-2 13:35:48 | 显示全部楼层
1.DIP与贴片的M8相同,使用同样的HEX.
2.30MA感觉小了点,最好是>50MA.自己做的话,可以串2个二极管代替HT7536.

出0入0汤圆

发表于 2008-2-5 20:19:11 | 显示全部楼层
太好了

出0入0汤圆

发表于 2008-2-9 14:48:11 | 显示全部楼层
马老师 春节好!
我也做了一个 硬件 驱动都好了
当打开AVSSTUDIO/TOOLS/AVR PROG/时 提示"No supported board fond!" 我没用过STUDIO 我都是用BASCOM
所以很不熟悉 请指点 我只是想用来解决本本没有并口的问题 能烧写就可以了
在打开要烧写的HEX文件时 下方也提示错误
    Error loading objectfile D:\My Documents\设备\定时\定时E.HEX
是什么原因?
我用的是STUDIO4
谢谢!!

出0入0汤圆

发表于 2008-2-9 15:39:19 | 显示全部楼层
马老师 前面的问题1是我自己搞错了 问题2还存在
我现在的问题是 驱动程序装完后 检查硬件管理器中正常
等再次开机 管理器中就没有它了 但是插上硬件 不再提示发现新硬件 换个USB口 发现新硬件 但马上自动安装了驱动程序 并告诉可以使用 但管理器中还是看不到 所以 我也确定不了驱动程序是否安装好啦 如果不提示发现新硬件 如何主动安装驱动程序呢
现在 连接不上 不知道是不是这个原因

出0入0汤圆

发表于 2008-2-9 16:54:31 | 显示全部楼层
马老师 不好意思 还要请教:
软件提示我 固件的版本不对 你哪个固件的文件是对的 与之兼容的STUDIO的版本是哪个?
或哪位仁兄能告诉我?也可以把HEX文件发给我 DLVISA@163.COM  先谢谢了!
我急呀 不然 去不了现场调试了

出0入0汤圆

发表于 2008-2-10 01:06:42 | 显示全部楼层
实验证明不用稳压IC的,直接使用USB的5V供电,在USB的D+ D-上面串联两个330ohm的电阻就可以了,在多台笔记本和台式机上面实验过了,串联电阻太小反而在笔记本上认不到硬件,串电阻太大了信号的上升下降沿太长也不行

出0入0汤圆

发表于 2008-2-10 17:48:01 | 显示全部楼层
马老师 我在35 36楼的问题已经解决了 谢谢

出0入0汤圆

发表于 2008-2-20 08:36:24 | 显示全部楼层
马老师
  您好,我按照你的方法昨天做了一次,可是没有成功,但是在电路上有点不同。我使用的稳压块时1117-3.3.下载M8固件时是使用TLG的并口工具。在ID检测的时候有时可以正确读取ID,有时候读取的ID却是错误的。有时可以写入固件,在写入固件时,提示校验错误。后来写了几次,一块M8片子就坏了,再也检测不到ID了。
  我使用3.3V稳压   M8 8PI   其他是按照您上述电路做的。

    等待您的答疑。谢谢了

出0入0汤圆

发表于 2008-2-20 10:16:01 | 显示全部楼层
有几个usb接口就可以插几个,每插一个就多出一个串口.

出0入0汤圆

发表于 2008-2-20 10:17:02 | 显示全部楼层
传一下我的单面直插,方便大家购买-焊接-热转印

1
包含重画的sch,网络表,pcb2为工作版本,pcb1用于试制,pcb3用于转印
点击此处下载ourdev_216337.rar(文件大小:40K)

出0入0汤圆

发表于 2008-2-20 10:35:14 | 显示全部楼层
我刚才的问题解决了,主要原因还是在昨天使用的下载工具 不好导致下载数据时的错误,并且损坏了一个M8芯片心疼!
今天用专用下载工具重新下载数据和设置熔丝位才,很成功,应为没有目标板只能和STUDIO连接正常。
  我在这小发表一下自己DIY的经验,(大侠莫见怪)
  
   在下载数据前板子的电压最好是5V电源供电,和下载软件连接正常后先设置熔丝位,设置结束后再下载固件程序,然后改用3.3-3.6V供电。最后就可以使用了。

  连接状态指示灯的意识不是太明白。待理解。
   我使用稳压块是1117-3.3V 现在基本验证可以在3.3V工作。

          楼上已经有PCB图了,我这也不献丑了,而且我设计板子时还少画了一条线。

出0入0汤圆

发表于 2008-2-20 13:10:28 | 显示全部楼层
【41楼】 LLLL  太感谢了。

我在找usb公头的封装,就是你的这个样子的,多谢。

出0入0汤圆

发表于 2008-2-25 09:29:30 | 显示全部楼层
我安装usb驱动后显示如下图片,没有串口端口数显示,请问下这个是什么原因呢?
1

出0入0汤圆

发表于 2008-2-25 09:55:37 | 显示全部楼层
sorry,我弄错了,做的是usbasp的线,应该要写usbisp的程序。

出0入0汤圆

发表于 2008-2-26 08:33:06 | 显示全部楼层
请问马老师 可否直接使用BASCOM下载?如果可以 如何选项呢 请指点 谢谢啦

出0入0汤圆

 楼主| 发表于 2008-2-28 13:42:22 | 显示全部楼层
47楼,可以使用BASCOM下载.BASCOM-AVR的下载使用介绍请下载本栏上部,我编写的教材第五章的5.4.3节.

=============================
我可能理解错了47楼的问题.我指的是使用BASCOM-AVR配合并行ISP将USBISP固件下载到M8中.

但BASCOM-AVR本身是不支持使用USBISP对其它AVR的下载.

出0入0汤圆

发表于 2008-2-28 18:10:36 | 显示全部楼层
记号。。。

出0入0汤圆

发表于 2008-3-1 09:59:37 | 显示全部楼层
可否下载S51\S52单片机,可否支持双龙公司的SLISP下载软件?
期待中!!!!!


==========================
我推荐的USBISP仅由AVRSTUDIO支持对AVR编程.类似的东西有网友改制的,能支持S51,请在本站中查一下.

出0入0汤圆

发表于 2008-3-5 11:57:00 | 显示全部楼层
我的问题跟  dlvisa 的有点像,我插上USB后在电脑上发现未知新硬件然后说驱动已安装可以使用了,然后什么都没了,我把下的驱动安装下也没用,也没那个虚拟的COM口,也就是说完全打不上驱动,察看资源管理器说是即插即用设备无驱动,郁闷了.

出0入0汤圆

发表于 2008-3-6 22:15:49 | 显示全部楼层
请问马老师,sch图中的电阻R9,R10是否是测量目标板电压用的?如果是可不可以去掉(对isp功能有无影响)谢谢!

出0入0汤圆

 楼主| 发表于 2008-3-6 22:27:01 | 显示全部楼层
应该是的,这是原图,我只改了电源部分.取掉应该可以的,对ISP本身无影响.但不知道固件如何处理的,需要试一下(固件代码我没有彻底去读过,我是搬过来的,上面已经说明过了)

出0入0汤圆

发表于 2008-3-6 22:33:20 | 显示全部楼层
恩,晓得了。looklook程序,只要不影响isp就好。

出0入0汤圆

发表于 2008-3-22 08:15:35 | 显示全部楼层
请问马老师,这个5736可不可以不用,因为手头上没有3.6V的稳压块.可不可以直接用5V供AVCC?如果不行就只能用稳压管降下来了.

出0入0汤圆

发表于 2008-3-22 11:08:42 | 显示全部楼层
之前下过一次,现在找不到了,再重下收藏!

出0入0汤圆

发表于 2008-4-6 19:19:08 | 显示全部楼层
马老师好!这个AVRISP下载线的PCB可以买到吗?
有没有套件出售啊?

出0入0汤圆

发表于 2008-4-17 13:00:45 | 显示全部楼层
这个上面的固件下载后灯不亮

出0入0汤圆

 楼主| 发表于 2008-4-17 13:03:47 | 显示全部楼层

出0入0汤圆

发表于 2008-4-17 13:39:40 | 显示全部楼层
与电脑连接正常但下载总是出现http://ouravr.com/bbs/bbs_upload197134/files_7/armok01154948.jpg这个错误,用另外个页面的全部资料中的固件灯一个亮一个闪,但还是出现错误,搞不清楚到底哪个固件是好用的哦!用MEGA8做的,硬件连接没问题

出0入0汤圆

发表于 2008-4-17 14:24:03 | 显示全部楼层
这个板子,在烧写程序比较大的时候上了12K就很容易烧录失败,是怎么回事啊,另外如果用来下到程序到M64成功率只有1/10,怎么解决?

出0入0汤圆

 楼主| 发表于 2008-4-17 14:42:19 | 显示全部楼层
再次声明:
     
    本USBISP是根据网上一德国人的开源设计(http://www.ullihome.de/index.php/USBAVR-ISP)制作的.本人仅在硬件上做了一点改动.

    本人前后共制作了50几个,通过自己的使用和学生的使用,没有出现大的问题(个别出问题均是硬件焊接问题).
     
    该方案为非正式产品,仅供AVR业余爱好者参考使用.本人不提供任何技术支持,对使用该USBISP出现的问题不承担何责任.

    本方案全部采用免费资源,应该无版权的官司之争。如果有侵权的部分,请告之。

出0入0汤圆

发表于 2008-4-19 22:19:21 | 显示全部楼层
终于制作成功了,原来板子上干扰太大,郁闷哦!

出0入0汤圆

发表于 2008-4-22 08:21:15 | 显示全部楼层
马老师您好!
感谢您提供这么好的资料。我爱好AVR,学做了一个用M8做的usb下载线,基本是成功的,就是下载速度只能115K一下,可能是我达的电路不规范比较乱把,我会重新作好的。
我以前学习AVR编程是用 GCCAVR 与 AVRSTUDIO 4 配合。我想了解学习您介绍的这 用M8做的usb下载线的固件内核原码,要用什么软件怎样打开哪一个工程或文件才能进行修改编译?
谢谢您的指教!

出0入0汤圆

 楼主| 发表于 2008-4-22 15:04:06 | 显示全部楼层
USBISP的固件是用GCC写的,开源,可到德国人的网站上下载.

出0入0汤圆

发表于 2008-4-22 22:46:17 | 显示全部楼层
谢谢马老师,我实在不好意思,我的英语水平实在太差劲了,在德人网站找了好久没找到,请您给我个 "用M8做的usbavrisp下载线的固件内核原码" 的地址好吗?

出0入0汤圆

 楼主| 发表于 2008-4-22 22:56:51 | 显示全部楼层
地址不是在贴子里给出了吗?另外我书中配的光盘里有源代码.

出0入0汤圆

发表于 2008-4-22 23:14:21 | 显示全部楼层
好的,我有书有光盘。谢谢。

出0入0汤圆

 楼主| 发表于 2008-4-22 23:25:47 | 显示全部楼层
68楼,读书不认真仔细,让我心痛呀.

出0入0汤圆

发表于 2008-4-23 13:53:02 | 显示全部楼层
我的也做好了,很好用的,这下我可以用我的本本做实验了,谢谢.

出0入0汤圆

发表于 2008-5-15 19:46:43 | 显示全部楼层
这个converter能烧AT89S51不?

出0入0汤圆

发表于 2008-5-15 22:06:52 | 显示全部楼层
准备做一个了……

出0入0汤圆

发表于 2008-5-20 16:04:34 | 显示全部楼层
打算做个试试~~

出0入0汤圆

发表于 2008-5-21 14:23:04 | 显示全部楼层
按您给的图做了一个,准备写固件,短路帽给戴上,用USB连接线把它跟PC连上,结果PC提示“无法识别的USB设备”,一定还要将其编程口接在另一个AVR ISP的编程口上吗?跟复位有关?貌似复位脚一直在低电平。打算用它来下载HEX文件到AT89S52里做些小试验,AT89S52 RESET是高电平复位,而这个ATmege8是低电平复位,ISP下载口有一个脚就是RESET,需要做高低电平转换吗?

出0入0汤圆

 楼主| 发表于 2008-5-21 20:56:48 | 显示全部楼层
1.该USBISP的M8当然需要先写如固件的.没有固件也会出现“无法识别的USB设备”的提示,这是USB口上D+,D-上拉电阻的作用.

2.本栏提供的东西本身不支持AT89SXX,需要修改固件.下载软件也不支持的.所以本方案不支持.国内有人在做改动,你查一下.

出0入0汤圆

发表于 2008-5-26 15:27:01 | 显示全部楼层
留个小记号 :)

出0入0汤圆

发表于 2008-6-20 14:23:40 | 显示全部楼层
谢谢 老师 学习学习

出0入0汤圆

发表于 2008-6-21 23:36:26 | 显示全部楼层
准备做一个,谢谢!留个记号。

出0入0汤圆

发表于 2008-6-27 15:35:47 | 显示全部楼层
不错~~~晚上我也一个!相信我能做好.谢谢马老师!

出0入0汤圆

发表于 2008-7-17 13:34:37 | 显示全部楼层
先看如下参数:
&#8226; 工作电压
  2.7 - 5.5V (ATmega8L)
  4.5 - 5.5V (ATmega8)
&#8226; 速度等级
  0 - 8 MHz (ATmega8L)
  0 - 16 MHz (ATmega8)

然后请问:你这里的电路用的12MHZ晶振,那么你应该选的是ATmega8芯片,但是HT7536提供的是3.6的工作电压,而ATmega8的工作电压是4.5 - 5.5V (ATmega8),这样的话,就是一个矛盾的问题了。

请问:如果使用2.7 - 5.5V (ATmega8L)来做,晶振频率是否可以改到8MHZ或8MHZ以下呢?

出0入0汤圆

发表于 2008-7-18 19:01:47 | 显示全部楼层
马潮老师说ATMEGA8可以工作在3.6V 12M的环境,可我没有这个芯片

我只有ATMEGA8L TQFP32贴片的,请问这个芯片能用吗?能用的话要注意哪些问题呢?

出10入210汤圆

发表于 2008-7-18 19:31:04 | 显示全部楼层
【84楼】 cpucore 放心吧,ATMEGA8L没问题的。只要不焊错就行。

出0入0汤圆

发表于 2008-7-18 21:03:14 | 显示全部楼层
rainbow 老陈,谢谢指点!

出0入0汤圆

发表于 2008-7-20 19:04:47 | 显示全部楼层
谢谢马老师的帖子啊,学到了

出675入8汤圆

发表于 2008-8-3 01:49:23 | 显示全部楼层
今天做了这个下载器,不过有个问题,就是使用不大方便,现在我把我的问题公布一下:
这个下载器的下载速度不错,很快,但是每下载完一次程序 后,就要把下载器从USB口把下,重新点开AVR STUDIO -》tools -》AVR PROGRAM来下载程序,这点有点不方便,不知道是我的设置有问题还是大家都是这样的,想了解一下大家的制作情况
如果是我软件的设置有问题?有人知道怎么解决吗?

出0入0汤圆

发表于 2008-8-3 02:39:52 | 显示全部楼层
我也做过,发现9楼说的现象,插在电脑上后,CPU占用率马上从2%升到50% ,电脑很卡,而用其它USB-232的东西没有过这问题,烧进USBASP的固件也没有任何问题,估计是此firmware还是有些问题.

PS:下载了新的usbasp硬件兼容的固件,不再有以上现象了
usbasp_hex_m8_2007-05-25.zip  ourdev_367053.zip(文件大小:9K) (原文件名:usbasp_hex_m8_2007-05-25.zip)

PPS:试了一会,这东西相当的不稳定,没有USBASP好用。

出0入0汤圆

发表于 2008-8-3 12:11:26 | 显示全部楼层
没碰到这种情况。
呵呵,我都是用自己重新做的硬件和固件程序

出0入0汤圆

发表于 2008-8-3 18:49:26 | 显示全部楼层
请问马潮老师,这东西你说是全部资料都公开的,那M8里的源代码与USB的驱动的编写也公开的吗?具体那个是,谢谢你!

出0入0汤圆

 楼主| 发表于 2008-8-3 21:46:14 | 显示全部楼层
在LZ位第1行就给出了地址了。

出0入0汤圆

发表于 2008-8-3 22:36:09 | 显示全部楼层
留个记号吧

出0入0汤圆

发表于 2008-8-6 15:11:53 | 显示全部楼层
回85楼老陈,..为什么我的M8L(8PU)就是用不了呀,用M8(16PU)就绝对行,试了很多次了,8L可以识别驱动,但写的时候就是会出错呀..

出0入0汤圆

发表于 2008-8-6 15:54:22 | 显示全部楼层
原版本不带指示灯(程序里有但好像显示不怎么好)
  我已经将其改为带一个双色灯,烧写时显黄色,烧成功显绿色,烧写不成功显红色。另外还加一个蜂鸣器,烧写成功响一下,烧写不成功响两下。也就完全像SL的那个个USBISP。


USB ISP PCB板 (原文件名:USB ISP.JPG)

  以上功能基本实现,但现在有一个问题,STK500的协议里好像没有烧写校验失败时给下面设备发一个错误代码,这样造成的结果就是只有无法进入烧写模式时才能显示出错误,而在校验失败里下面烧写器还显示成功。
  
  有没有人现在已经有解决的办法,请指教。
  期待着也大完一起完善!
  QQ:54954620

出0入0汤圆

发表于 2008-8-6 16:15:00 | 显示全部楼层
原版里面上电时复位控制线(对外烧写的一个口)是高电平,而烧写一次之后复位控制线是低电平(将目标板上单片机拉成复位状态),这对于要加一个244做输出缓冲器的时候就有问题,比如:当烧写器与目标板上的单片机口对接时244输出电平可能与目标板上单片机口输出冲突,严重时可能会将烧写器或是目标板上的单片机烧掉。
  我的解决办法是:
  1:将烧写器芯片程序改一下,在上电后马上把复位控制线拉低,让目标板单片机处于复位状态。
  void CDC_init(void)
{
          uint8_t    i, j;
  
          BUF_init(&rxbuffer,rxbuf_bd,RX_BUFSIZE);
          BUF_init(&txbuffer,txbuf_bd,HW_CDC_PACKET_SIZE);

          /* activate pull-ups except on USB lines */
          //USB_CFG_IOPORT   = (uint8_t)~((1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT)); //改成如下

        USB_CFG_IOPORT   = ((uint8_t)~((1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT)))&(~((1<<PB2)|(1<<PB3)|(1<<PB5)));

  2: 244有一个低电平有效的输出允许口 (1脚和19脚),将这两个口接到复位控制线上,使其244的工作与目标板上的单片机复位同步。(还没有验证)

出0入0汤圆

发表于 2008-8-6 16:15:00 | 显示全部楼层
原版里面上电时复位控制线(对外烧写的一个口)是高电平,而烧写一次之后复位控制线是低电平(将目标板上单片机拉成复位状态),这对于要加一个244做输出缓冲器的时候就有问题,比如:当烧写器与目标板上的单片机口对接时244输出电平可能与目标板上单片机口输出冲突,严重时可能会将烧写器或是目标板上的单片机烧掉。
  我的解决办法是:
  1:将烧写器芯片程序改一下,在上电后马上把复位控制线拉低,让目标板单片机处于复位状态。
  void CDC_init(void)
{
          uint8_t    i, j;
  
          BUF_init(&rxbuffer,rxbuf_bd,RX_BUFSIZE);
          BUF_init(&txbuffer,txbuf_bd,HW_CDC_PACKET_SIZE);

          /* activate pull-ups except on USB lines */
          //USB_CFG_IOPORT   = (uint8_t)~((1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT)); //改成如下

        USB_CFG_IOPORT   = ((uint8_t)~((1<<USB_CFG_DMINUS_BIT)|(1<<USB_CFG_DPLUS_BIT)))&(~((1<<PB2)|(1<<PB3)|(1<<PB5)));

  2: 244有一个低电平有效的输出允许口 (1脚和19脚),将这两个口接到复位控制线上,使其244的工作与目标板上的单片机复位同步。(还没有验证)

出0入0汤圆

发表于 2008-8-29 19:54:13 | 显示全部楼层
相当不错,做个记号!谢谢老师!

出0入0汤圆

发表于 2008-9-9 15:04:48 | 显示全部楼层
不错,做个记号

出0入0汤圆

发表于 2008-9-12 09:34:00 | 显示全部楼层
好贴,多谢

出0入0汤圆

发表于 2008-9-17 16:26:06 | 显示全部楼层
http://c8051fmcu.blog.sohu.com

出0入0汤圆

发表于 2008-9-24 22:58:36 | 显示全部楼层
很好,谢谢了

出0入0汤圆

发表于 2008-10-9 11:39:15 | 显示全部楼层
马老师书上那个旧版本有两个LED的那个比新版本有三个LED的稳定好用..我两种都做了.只是给一下我的意见.

出0入0汤圆

发表于 2008-10-31 15:09:48 | 显示全部楼层
马老师,我照着做了个ASP下载器,还加了烧写座。我用的是progisp,支持USBASP,发现烧写M16及M32能正常完成(根据显示的状态,还没验证),但烧写M8及M48就不行,显示:chip&nbsp;enable&nbsp;program&nbsp;error!相应的脚可接的都是对的呀。另外,我接到另一块51开发板的ISP口上,S51芯片能读,也能擦除(显示是擦除成功,但接着再读呢还是有数据),要写的话,就出错:flash&nbsp;verify&nbsp;Error&nbsp;at&nbsp;:0h!Z这到底是什么问题呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 13:03

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

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