原创 一个 AVR初学者的USB接口 ISP 下载线制作笔记

2008-5-18 13:47 3423 7 7 分类: MCU/ 嵌入式

一个 AVR初学者的USB接口 ISP 下载线制作笔记
Twoperson
Laboratory on Machine Perception, School of EECS, PKU
 
摘  要
AVR 单片机是目前广泛使用的 8 位单片机,因为具有 ISP 功能,在 AVR 单片
机上烧录自己的程序变得非常简单。由于现在的个人计算机(PC)已经逐渐淘汰
了并口和串口,使用 USB 接口的 ISP 下载线逐渐被人们重视。本
AVR 初学者制作 USB 接口 ISP 下载线的过程,比较了 AVRISP、USBASP 两种下载
线的基本 单的叙述。
 
因科研要求,本 AVR 单片机实现一个简单的控制器。在使用单
片机开发一个项目之前,首先需要一套开发设备。由于本
在这一方面并不想花很多钱,故需要一个成本 
在软件方面,AVR Studio和 Win AVR构成了一个免费的汇编语言及C语言的
集成开发环境,在“我们的 AVR”网站上,已经有网友写了一个新手开发 AVR
的教程可供参考。
在硬件方面,由于目前的 PC 已经逐渐放弃了对串口和并口这两个古老的数
据接口的支持,制作一个使用USB接口的ISP 下载线是目前成本最低,同
为使用的方案。
同时,这ISP下载线的各种资料比较完整,电路简单,作为初学者的第
AVR作品并无不可。
我在没有使用 AVR 单片机开发过任何项目的情况下,通过在网上查阅相关
资料成功地实现了基于 ATmaga8 的 AVRISP(www.ullihome.de)和 USBASP
www.fischl.de)这两种USB下载线。以下介绍实施的过程。
 
在制作下载线之前,需要保证自己已经准备好了一下设备、器件和资料:
一个可以使用的AVR下载线或者编程器及其软件。
至少两片 AVR 单片机以及他们的插座,一片用来做下载线,另一片用来测
试你的下载线是否可用;一个 12MHz 振荡晶体(有源振荡器也可);usb 插头以
及下载线用的插座、导线;两个68欧姆左右的电阻,一个2K欧左右的电阻,两
片20pf左右的电容,两个用作指示的LED及它们的限流电阻;一块2inch 2inch
的万用板(俗称洞洞板)
把上述器件连接在一起的导线,电烙铁,焊锡以及镊子、钳子之类的工具
为了保证你的下载线工作可靠,还需要准备两个 3.3V 左右的稳压二极管,
一个uF数量级的电解电容以及一个104左右的电容
下载线的电路图(两个下载线的电路相同),烧录在单片机里的 hex 文件,
PC驱动(inf文件)。
如果对自己的焊接手艺不放心,最好找一个usbhub用来做PC与下载线之间
的缓冲,防止下载线损坏PC。
 
首先根据电路图焊接你的电路。
 


焊接完电路之后,需要将hex文件下载到单片机上。刚出厂的单片机理论上
应该使用内部RC振荡器工作在1MHz下,而我们需要单片机工作在12MHz外部
晶振上,这需要把单片机的熔丝位(熔丝这个词用得实在不好,让人想到早期
PAL 里那些一次性烧写的二极管或者金属丝,而 AVR 的熔丝实际上应该是一些
PROM)置成外部晶体振荡器,满幅振荡。需要指出的是,尽管ATMEL的器件手
册上说ATmega8L仅能工作在 8MHz一下,但是事实上在12MHz的频率下,它们
也能工作。烧写单片机的时候如果用的是下载线,需要给单片机供电,如果使用
的下载线是 USBASP,则需要把下载速度调成低速(通过一个跳线帽设置,插上
跳线帽)。为了查看单片机的熔丝位是否正确,你可以读出熔丝位。
hex文件烧写完后,把它插在你的电路的插座上(如果使用的是下载线,这
个时候可能单片机已经在插座上了),注意不要插反。值得欣喜的是,ATMEL 公
司并不像某个设计 74 系列以及 CD4000 系列的公司那样,把 IC 的管脚定义成一
插反上电就烧片子的样子。即使把单片机插反后通上电了,一般
没有问题。
接下来就可以把你的下载线插到你的PC上了。为了保护你的PC,最好把下
载线查到已经连接到 PC 的 USBHUB 上。这时你的下载线上的 LED 应该至少有一
个是亮着的,这就基本 
如果发现下载线上的LED不亮,可能是以下原因造成的:
电路焊接有问题。
程序烧录错误。
单片机插反。
你把下载线插在了RJ45接口上。
PC的USB接口不能正常工作(例如使用了杂牌主板或者机箱,电流不够)。
你焊上去的LED根本就是坏的,或者因为没加 
可以使用万用表测量各点电压确定是否存在故障。
 
当提示找到新硬件后,开始安装驱动。手动安装上你的驱动。如果灯亮了而
不能安装上驱动,可能是因为烧写单片机程序时设置熔丝位错误造成的。
 
安装完驱动后,就可以开始用你的下载线给其他单片机烧写程序了。
USBASP可以使用志峰软件的PROGISP软件作为下载软件,而AVRISP则可以
使用AVRSTUDIO作为下载软件。
如果你到此时仍不能分辨你做的是哪一个下载线,可以用如下方法解决:
到硬件管理器中寻找你的下载线,USBASP是一个USB设备,而AVRISP则是
一个串口设备。
 
如果你制作的是 USBASP,而用它给其他单片机下载程序失败了,则可能是
因为该单片机此时工作在低速状态下,此时需要通过跳线帽设置USBASP为低速。
用下载线下载程序到其他单片机时,需要保证目标单片机有供电,且该单片
机能够产生时钟。

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条