标签: USBasp USB下载线 单片机下载线 S52下载线 ATmega8
正如圈圈所说,“在这个USB流行的时代,下载线也得要赶上时髦才行。并且现在很多电脑已经没有并口和串口了,以前使用并口和串口的ISP下载线已经无法 再继续使用了,所以自己制作一个USB下载线已经刻不容缓”。本人这学期刚刚接触单片机,就因电脑没有并口而不得不自做一个,USB的下载线—— USBasp。这是我平生第一次搞电子制作,前后碰到很多的问题,经过N次的“放弃”,得到众多网友的帮助,历经长达十天的时间才制作成功。谨以此文作为 纪念,并以此感谢帮助过我的广大网友!倘若能帮到一两个像我这样刚刚接触单片机的菜鸟朋友,小弟将深感欣慰!
(以下部分内容摘自:http://www.luckymcu.com/dispbbs.asp?boardID=117&ID=1022&page=1 )
一、usbasp 的一般性介绍:
1、下载线,是“ISP”(In System Programmability:“在系统编程”)或“IAP”(In Application Programing:“在应用编程”) ,都是“在线编程”的一种方式。
这里的 usbasp 下载线,则是指利用ATMega8芯片,模拟USB接口、并控制下载过程的一种电路单元;主要适合于AVR系列芯片的程序下载(读写),现在使有网友改正的固件可以用于S51,S52系列芯片的程序下载(本人就是用于给AT89S52下载 )。
fischl_de usbasp 是 usbasp下载线的“鼻祖”,已经连续推出了多种版本。其网页链接是:http://www.fischl.de/usbasp ;如果您有兴趣深入,该网页上有源程序可以参考……
2、usbasp 由于不需要电脑串口或并口,仅使用电脑USB接口,所以具有一定的实用价值;国内亦已进行了不少的仿制和改进。比较集中的讨论,可以去 ouravr 网站了解:
http://www.ouravr.com/bbs/bbs_list.jsp?bbs_id=1000
3、usbasp 下载线可以适用的MCU芯片,和usbasp本身的固件(控制程序)以及配套使用的电脑软件相关。譬如,下面具体介绍的 usbasp的固件,就增加了对于89s51/89s52芯片的支持。
二、usbasp 的电路图:
以下是网上常见的电路图 :
1、fischl_de usbasp 提供的“公版”电路图(2007-07-23/2007-10-23)
这个公版电路和以前的公版电路的区别,是在其USB接口的数据线上,增加了两个3V6的稳压二极管D1/D2;以便于更好地和电脑的USB接口的信号线电平匹配,提高 usbasp 下载线的适应性。
2。改进版usbasp
以上改进版usbasp由zhifeng在www.zhifengsoft.com中提供。
3. wxf 实际制作用的电路图:
在上面的电路里,包含了最新“公版”电路图的基本因素。
特别注意:上面两个电路图的ISP输出端子定义,是不同的——实际制作的电路图,和BBMV并口下载线(原则上)兼容。
4。本人自做的电路图跟以上“改进版usbasp”基本相同,也是来自网上,因网上有相应的PCB图,懒于自己动手,于是稍做改动而用之(将原来的母口USB改为公口USB)。(本人自己也画过PCB图,但不理想!)
以上压缩包中包含本人制作时用的原理图和PCB文件(已改)。
三、制作过程
1.跟椐上面的资料制作电路板并焊上元件。
2。给ATmega8芯片下载固件及修改熔丝位!
说明:1).如果你跟我一样,第一次接触单片机,还不知道固件为何物,那我告诉你固件就是一个单片机程序,也就是你在下面的地址中下载 的压缩包里面的.hex文件,如: 。因为你用来做USB下载线的芯片ATmega8本身就是一个单片机,需要下载程序(固件)才能工作。可使用编程器下载,也可以用并口的下载线对它在线编程。本人就是用并口的下载线配合ISPlay在线编程的!
2). 网上的USBasp固件版本很多,一般来说用新版本的固件较好,老版本不支持S52、S51的下载。新版本一般可自动调节速度(电路图中的调速跳线可不 用)并支持s51、s52的下载。特别推荐用billowtust改写的固件,不但可自动调节速度,支持s51、s52的下载,还解决了因复位电容太大而 在在线编程时出现“chip enable program error!”的问题。
下载地址:http://blog.ednchina.com/billowtust/102317/message.aspx
3)、 因芯片ATmega8是AVR单片机,与51单片机不同,除了要给它下载程序外还要修改它的熔丝位才能正常工作。关于熔丝位改法网上有多种不同的改法,本人也不刚接触单片机,还不知道其中的原理(如果你知道的话还请你教教我),只知道按圈圈介绍的改法是可以正常使用的:”首 先将两个跳线J1和J3连上,然后用其它的ISP编程器给它下载固件。下载固件后,还要配置熔丝,配置为外部高速晶体模式,即对CKSEL0编程 (CKSEL0=0,CKSEL1~3=1)。SUT0也编程(即SUT0=0)。然后将J1和J3跳线断开,就可以使用了“。(引自圈圈的BLOG:http://blog.21ic.com/user1/2198/archives/2008/45205.html ”J1“.”J3“是改进版usbasp中的”J1“、“J3”,不同版本电路图可能标号不同,注意区别)
熔丝位也可以用ISPlay修改,但注意在ISPlay中熔丝位选项中打勾表示的是”0“,空表示”1“。一定不要搞错!要不有可能会将芯片锁住,锁住就不能再用了!本人就锁坏了一片。
正确熔丝配置:
点击上图中的“写入”即可!
把你那下载固件及修改熔丝后的USBasp插到电脑USB口上,如果电脑提示发现新硬件USBasp,恭喜你,你成功了!!若你的电脑无法识别!则说明你的USBasp还问题!请仔细检查电路、固件及熔丝位!
特别提醒:需要确保您的电脑的USB接口是完好的;确保您的USB延长线的质量是可靠的——最好是直接插入电脑后面的USB插座里
3.驱动
usbasp 下载线在使用之前,必须先安装(usbasp)驱动程序:
usbasp的驱动程序,包含三个文件:libusb0.dll、libusb0.sys、usbasp.inf,需要先行拷贝到电脑里某个合适的子目录里的一个文件夹里;
驱动下载:
正确安装:正常安装了usbasp驱动程序的电脑系统的结果是:
4。配套下载软件PROGISP1.6.6:
下载地址:www.zhifengsoft.com
给S52下载时的配置:
至此:你就可以跟我一样用 自己做的USB下载线给自己的单片机下载程序了!!
附:本人制作USBasp的全部资料: (含 原理图、PCB、固件、驱 动、熔丝设置、说明……)
最容易出的问题!
1)。电脑无法识别!
若你的电脑无法识别!则说明你的USBasp还问题!应该仔细检查电路、固件、熔丝位、电脑的USB接口是完好的、确保您的USB延长线的质量是可靠!如果你用的是改正版电路,可以在USB的D-、D+与GND之间加上2个3.6V的稳压管试试。
2)。“chip enable program error!”。
若电脑已以识别,并正常安装了驱动。但用它下载程序时提示“chip enable program error!”。可以肯定你的USB下载线已经没有问题了!这时应该检查你的目标板是否有问题!连接USBasp与目标板的连线是否有问题,连线是否太长(最好不要超过30CM)。还可以用我推荐的billowtust改写的固件试试看!
说明:
从网上看到好多人在说usbasp的稳定性问题,下面讲讲我的经验,不妥的地方请各位指正。
1.
需要确保您的电脑的USB接口是完好的;确保您的USB延长线的质量是可靠的——最好是直接插入电脑后面的USB插座里。
2.
有可能会有极少数的电脑(你的电脑应该不是,如果真那么巧你就可以去买彩票了^_^)不能使用 usbasp 下载线——无法正常安装 usbasp 驱动程序和进行正常的下载进程。
3. 由于avr模拟usb对时序的要求很高,对于晶振包括谐振电容,走线就应有一定的要求,如果选择搞得不合理,就会造成工作起来不稳定,比如装不上驱动,装上驱动后,在通讯时少量数据不会出错,大量数据时就会出错。如果是连接正常后,在下载数据时出错就可能是这个原因。
4. 由于usb电源标准是3.3v这样选择D+,D-上的三个电阻一定要合适否则可能也会出错。从原理上说只要遵循usb1.1协议的主机接口都可正常的与usbasp通讯,否则的情况其他的硬件实现的usb设备也不能通讯。
5.熔丝的配置一定要正确。
6.有问题可以回帖讨论
l 参考资料:
电脑圈圈:
http://blog.21ic.com/user1/2198/archives/2008/45205.html
http://blog.ednchina.com/billowtust/102317/message.aspx
·
快活单片机论坛:
http://www.luckymcu.com/dispbbs.asp?boardID=117&ID=1022&page=1
【AVR (原ourAVR.com) 技术论坛】:ISP专栏
http://www.ouravr.com/bbs/bbs_list.jsp?bbs_id=1000&sub_kind_id=1210
【长汀无线电厂交流论坛】 GandF: http://ctwxdc.512j.com/viewthread.php?tid=21662
zhifeng
鸣谢:
特别感谢下列网友在我制作USBasp过程中对我的帮助
1.电脑圈圈
2.billowtust
3.快活烝
4.wxf
5。zhifeng
6。ouravr上的广大网友