声明:
本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驱动(文件大小:774字节)
文件中的改动如下,将第一行注销,使用第二行.这样在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熄灭.
本贴被 machao 编辑过,最后修改时间:2007-12-15,19:34:54.
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=871314&bbs_page_no=1&bbs_id=9999
文章评论(0条评论)
登录后参与讨论