登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

USB接口的容易DIY的AVR在线编程器 ---- USBasp

作者:winsu 栏目:单片机
USB接口的容易DIY的AVR在线编程器 ---- USBasp
按如下网址:
http://www.fischl.de/usbasp/index.html

Features
Works under multiple platforms. Linux, Mac OS X and Windows are tested.
No special controllers or smd components are needed.
PROGRAMMING speed is up to 5kBytes/sec.
SCK option to SUPPORT targets with low clock speed (< 1,5MHZ).
Planned: serial interface to target (e.g. for debugging).

用一块MEGA8制作的USB在线编程器.
电路十分简单,我用了大半天时间,在面包板上完成,使用的是MEGA8L,超频12M.制作过程除了一些人为疏忽外没发生什么问题.
该网站刚刚刷新(0703).
速度比"小马"快,但没达到最大速度5K/s.
GCC + UE V11 + avrdude + USB下载线 = 十分完美的结合.

迟点再写详细点.
[0728]
用万用板重新做了一个,并放进一个小塑料盒.
因有两个LED指示灯,插进USB与烧录都有显示,界面十分良好.
它还支持新器件,例如Mega48,这在"小马"中不支持.
只可惜熔丝的改写还须时间研究研究.
该贴倍受关注,感谢版主zsmbj等大虾,多谢dorbin2001把它完善了,所以就把名字改了.
个人觉得这个东东十分简单,很适合DIY,还是USB接口的,很值得推广.
[0728]
花点时间研究了一下AVRDUDE的熔丝位修改方法.以下以Mega48为例说明.
1)用以下命令进入"terminal"模式:
avrdude -c usbasp -p ATMEGA48 -t -u
2)查看一下熔丝位,该步是可选的,熟悉后可直接写熔丝.查看"熔丝位低位字节"的命令
dump lfuse
avrdude只是读出熔丝数据,要了解这些数据,必须查看Mega48的手册.
3)先确定你要设置的熔丝位,换成16进制(其他进制)也行数据, 用以下命令写入:
write lfuse 0x00 0xFF
4)再"dump lfuse", 查看一下是否正确写入.
以上熔丝是设置mega48为外部8MHZ石英晶振.
"不可贴图?!"

* - 本贴最后修改时间:2005-7-28 11:55:28 修改者:winsu

2楼: >>参与讨论
农民讲习所
上不了网
 
3楼: >>参与讨论
winsu
所长: 上不了http://www.fischl.de/usbasp/index.html?
我试了一下,可以,不过之前也发现有时打不开的.

"接得住砖头的农民"? 所长最近被很多人抛砖?

4楼: >>参与讨论
zsmbj
USB接口的ISP,不错不错!加个连接!
USBasp - USB programmer for ATMEL AVR controllers
USBasp is a USB in-circuit programmer for ATMEL AVR controllers. It simply consists of an ATMEGA8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.

Features
Works under multiple platforms. Linux, Mac OS X and Windows are tested.
No special controllers or smd components are needed.
PROGRAMMING speed is up to 5kBytes/sec.
SCK option to SUPPORT targets with low clock speed (< 1,5MHZ).
Planned: serial interface to target (e.g. for debugging).


* - 本贴最后修改时间:2005-7-8 14:39:36 修改者:zsmbj

http://www.fischl.de/usbasp/index.html

5楼: >>参与讨论
农民讲习所
现在是专业的砖头收藏家
还是上不去,可能要等到夜深人静时才可以。另外21IC上传图片也总是失败,估计也是睡眠不足造成的。

6楼: >>参与讨论
jinggx
不错,
国外的DIY玩家,确实是比较N,而且还会将资料共享.

7楼: >>参与讨论
雷风
能否通用于51或者cpld?
 
8楼: >>参与讨论
winsu
硬件是不可兼容的。
软件也应该不可以吧,名字都叫AVRDUDE。
CPLD可用224来做,我有块PCB,可做AVR的ISP也可做CPLD的。

9楼: >>参与讨论
wenzhigang
恩?上位几是用哪个软件啊
我做好啦
USB 的驱动装好啦
没有上位几的软件!!!
大侠,再具体指导一下啊


10楼: >>参与讨论
dorbin2001
CLOCK FUSE PLS
给个FUSE
谢谢!


11楼: >>参与讨论
dorbin2001
winsu
"GCC + UE V11 + avrdude + USB下载线 = 十分完美的结合."

具体配置可否写的详细一点?!


12楼: >>参与讨论
dorbin2001
如果用UE的话似乎不能写熔丝位啊
哪位来写一个类似AVRDUDE-GUI.EXE的东西啊?!
强烈支持!

13楼: >>参与讨论
winsu
问题回复
"恩?上位几是用哪个软件啊"
----上位机软件就是AVRDUDE,它是命令行的,没有界面.
"给个FUSE图"
----注意设置使用外晶振就行.
"具体配置可否写的详细一点?!"
----其实主要是UE使用命令行的一些设置,搜索一下可得一些有用资料.
"如果用UE的话似乎不能写熔丝位啊"
----UE仅是一个16进制编辑器,当然没有具体的AVR功能.

14楼: >>参与讨论
dorbin2001
终于能用了,供大家参考!
仅供参考!
包含测试数据,高于5K/S!

* - 本贴最后修改时间:2005-7-26 16:47:44 修改者:dorbin2001

http://www.mcuzone.com/bbs/dispbbs.asp?boardID=7&ID=172&page=1

15楼: >>参与讨论
dorbin2001
发个图
试试看,不知道能不能贴上。

USB AVR ISP

16楼: >>参与讨论
dorbin2001
再试


17楼: >>参与讨论
zsmbj
呵呵,终于贴上了。看着不错!
 
18楼: >>参与讨论
dorbin2001
用着也不错,我们正在写GUI,
马上会发布PRERELEASE版本供大家测试

不错,真的不错,似乎比MUISP和PONYPROG都要快。



19楼: >>参与讨论
dorbin2001
已经在WINAVR里面配置好USBASP,供大家参考:
已经测试通过,希望大家提出自己的好办法,一起分享。

WINAVR+USBASP

20楼: >>参与讨论
winsu
提示一下
在readme.txt中有段话须注意一下:

J3 SCK option
   If the target clock is lower than 1,5 MHz, you have to set this JUMPER.
   Then SCK is scaled down from 375 kHz to about 8 kHz.

因AVR出厂默认是内部1M晶振,所以新的AVR必须连接这个跳线才能烧录,否则出错.我花了点时间才解决这个问题,同时"dorbin2001"所给的连接上有说明了这点.



21楼: >>参与讨论
fsclub
USBISP
http://www.matwei.de/eng/index.php?page1=elektronik&page2=usbisp

The USBisp is another AVR programmer. Compared to the other freely available programmers out there mine has some advantages, I think:  

USB-Interface

The USBisp is very interesting on notebooks where no serial or parallel PORT is available  
STK500-Protocol

The USBisp is compatible to AVR Studio but also to much other programs supPORTing this protocol. For Example, these programs are avrdude and uisp.  

FAST

The USBisp is due to the FAST USB interface but also due to the high SPI clock very FAST compared to the original AVRISP.html">AVRISP from ATMEL or the simple parallel dongles. The isp clock frequency is adjustable from 2MHZ down to about 60kHz via the STK500 protocol. More, even slower, frequencies are planned to be implemented so that AVR with slower clock rates can be programmed.  

updates are easy

The firmware of the USBisp is easy to upgrade. A SOFTWARE upgrade works also via the USB interface. The PACKAGE contains a STK500 compatible bootloader so you can use avrdude to update the firmware. There are 7k of FLASH.html">FLASH left in the MEGA8.html">ATMEGA8  

open

The USBisp is not ONLY a AVR programmer. Due to the open schematic and the bootloader you can use the HARDWARE also as a general USB platform. With a simple PORT expander (some shift registers) you can develop your own USB light show or a USBlcd.  

The HARDWARE:  

There are two imPORTant chips on the USBisp. One is the FT245BM which connects the other imPORTant chip, an MEGA8.html">ATMEGA8, to the USB. Due to the parellel interface between the FT245BM and the MEGA8.html">ATMEGA8 the data throughput between them and the PC can reach easily 6MBit. The PC driver creates a virtual COM PORT (COMx respectively /dev/ttyUSBx) so that no special SOFTWARE is needed to talk to the USBisp. The MEGA8.html">ATMEGA8 is responsible for the conversion between the STK500 protocol and the SPI data channel to the target AVR. Additionally there is a EEPROM connected to the FT245BM which contains some configuration for that chip. Also there is a 4MBit dataFLASH.html">FLASH in the schematic but this is not necessary for the USBisp. It's a hangover from another project with the same HARDWARE. The PCB (I will not release the CAD data of it) has the same outline than that of the original AVRISP from ATMEL. So you can easily update your current AVRISP.html">AVRISP to USB.  

The SOFTWARE:  
Application and bootloader are written in C. The bootloader is a minimized of the application so that it fits into 1024 byte.


翻译参考(欢迎交流指正:)

USBISP是另外一个种编程器,和其它的自由(免费)编程器相比,我这个编程器有一些优点,我认为:

USB接口

这个USBISP支持STK-500协议,在一些没有串口或者并口的笔记本上是很有用的,
USBISP兼容AVR STUDIO,其实很多编程器也支持这个协议,像avrdude 和 uisp

快速

USBISP由于快速的USB接口和高速的SPI总线,与原来的AVRISP或者简单的并口下载线相比,其速度是很快的.这个下载器通过STK500协议,具有2M到60KHZ可调的频率.更多地,计划支持甚至更慢的频率,因此低频率的AVR芯片也可以被编程.

升级更容易

固件很容易升级,软件的升级是通过USB接口来完成的,这软件包中包含兼容STK500的BOOTLOAD,你可以通过avrdude来升级固件.在M8中可以用的程序空间为7K.

开放

这个USBISP不只是一个AVR编程器,因为开放的电路和BOOTLOAD,你可以用这个硬件来作为一个通用的USB接口平台, 通过一些端口的简单扩展(一些移位寄存器),你可以自己开发你自己的USBLIGHT SHOW或者USB LCD.

硬件

在这里用了两个重要的芯片.一个是FT245BM,它连接另一个重要的芯片MEGA8,另一边连着USB接口.因为FT245BM与M8之间通过并行口联接,所以在PC和M8之间可以很容易的就达到6MBIT的速度.PC上的驱动程序会生成一个虚拟的COM口,所以在电脑上不需要特殊的上位机软件与USBISP相联.MEGA8负责以STK500协议传输与SPI数据与目标AVR单片机.,另外增加一个EEPROM来保存一些FT245BM的配置数据.在电路图中的4MB的FLASH对USBISP来说不是必须的. 这是另一个与这个硬件电路相同的项目中残留下来的.电路板(我不会发布相关的CAD电子文件)与AVRISP具有大体相同的轮廓,你可以很简单的把你的连接USB的AVRISP电路升级到USBISP.

软件:

程序和BOOTLOAD都是用C写的,BOOTLOAD已经最小化,所以可以适合1024B的BOOTLOAD


usbisp_05_10_04.tar.bz2
usbisp_05_10_04.zip
usbisp_21_04_05.tar.bz2
usbisp_21_04_05.zip


22楼: >>参与讨论
红日
在应用时作了2点修改
在USB AVR ISP应用时作了2点修改:
1. 增加J4跳线,J3和J4作为选择烧写速度有4档:
      1档 375K    高速
      2档 187.5K  中速
      3档 93.75K  慢速
      4档 8K      超慢速
2.在程序开始利用红色LED作为选择烧写速度的指示信息,选择多少速度档红色LED就闪熄多少次(1~4)。

23楼: >>参与讨论
vhdl
FT245BM 什么价格阿
 
24楼: >>参与讨论
dorbin2001
USB AVR ISP烧写软件GUI4AVRDUDE.EXE欢迎测试
欢迎测试!

下载后解压,运行gui4avrdude-10.exe即可。

* - 本贴最后修改时间:2005-8-6 17:38:01 修改者:dorbin2001

USB AVR ISP 烧写软件测试版!

25楼: >>参与讨论
laoshan
代码有9.144,能烧到MEGA8么?怎么烧得?
 
26楼: >>参与讨论
xyele
没找到目标板,怎么办??
   在WinAVR中烧写时(下载指示灯正常),提示找不到目标CPU,怎么回事??

   连线全部正确,把MOSO和MISO对换也不行...

   板子是没问题的,用并口下载线正常...

* - 本贴最后修改时间:2005-8-6 17:41:14 修改者:xyele

27楼: >>参与讨论
dorbin2001
这里:
 laoshan 发表于 2005-8-6 17:27 AVR 单片机 ←返回版面    

代码有9.144,能烧到MEGA8么?怎么烧得?


9.144是HEX的大小,实际写入的BIN的大小应该是3K多,谢谢。

===================================

没找到目标板,怎么办??

   在WinAVR中烧写时,提示找不到目标CPU,怎么回事??

   连线全部正确,把MOSO和MISO对换也不行


1,J1设置正确没有,如果目标CPU速度低于1M,而你又将J1短接的话就会找不到!!!!切记!!看readme文件!
2,驱动装好没有?
到设备管理器里面看一下,参考我的网站的BBS里面的说明,谢谢。

28楼: >>参与讨论
winsu
avrdude是一个命令行工具,但也有界面的

国外有人做一个GUI:
http://sourceforge.net/projects/avrdude-gui/
虽然不符合一些人的使用习惯,但比命令行就好了很多。

29楼: >>参与讨论
dorbin2001
这个GUI在WINAVR2005版本里面就有了,但是
但是不支持USBASP工具。


参与讨论
昵称:
讨论内容:
 
 
相关帖子
AT90S8515-8PLCC多少钱1pcs?
求助:AVR家族中mega系列存在的主要缺点是什么?
请问Mega8是否可以稳定工作于2.5V或以下?
可外带ram,价格最低的avr芯片是什么型号的?
用过AVR的大侠,51和AVR有何区别?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号