“电子爱好者如何用电脑”系列文章之七
AVR系列单片机编程器的制作及仿真调试软件的使用 (上)

🏠 首页 《无线电》杂志 2002年 🔗 第8期 🔗 第27页 分类:电脑与单片机 🔗 电子DIY工作室 🔗

ATMEL公司继89系列单片机之后,又在90年代推出了采用高性能RISC指令的90系列单片机,一般我们把这个系列称为AVR系列单片机。该系列单片机具有速度快、性能强、可反复编程、加密性好等优点,将逐渐取代原来的89系列单片机。这里将介绍一款AVR编程器的制作以及AVR单片机仿真调试软件。

AVR串行编程器的制作和使用

我们设计的这一款AVR串行编程器最大的优点是成本低廉、支持芯片类型多、使用方便、编程软件为Windows版中文界面、容易操作。

需要注意的是由于是串行编程,对于部分AVR芯片,不能编程所有的芯片配置位,其中包括串行编程允许位(SPIEN),如果SPIEN位未编程,本适配器将不能支持该芯片(不过对于新芯片,出厂时都默认允许串行编程功能)。


1.本编程器支持的芯片如下:

图1
图1 🔍原图 (850×893)

90S1200

90S2313、90S2323、90S2333、90S2343

90S4414、90S4434、90S4433

90S8515、90S8535


2.电路原理

图2
图2 🔍原图 (443×476)

该电路的原理图如图1所示。

电源部分

电源部分有多种方案,但实际上要求是一样的,只要能提供+5V即可,电流消耗很小,几十毫安即可。

第一种方案是采用外置电源,可以采用普通的9V外置电源加上一个简单的7805稳压电路。

第二种方案是从声卡的游戏口提供电源。声卡的+5V引脚是直接连接到计算机电源的+5V输出的,因此能够提供很大的电流。声卡的游戏口共15针,其中①、⑧、⑨脚是+5V,④、⑤脚是地。

第三种方案是从计算机的USB接口提供电源。计算机的USB接口通常情况下,可提供+5V、100mA的电流。我们此次就采用了这种方案。USB接口共4个引脚,两边的两根分别是+5V(VBUS)和地(GND),如图2所示。

振荡电路部分

为了对AVR单片机进行编程,需要为它提供一个振荡源。振荡电路可采用两种方式,一种是由74LS04为核心的外部振荡电路。另一种是由一个4M晶振和两个电容以及单片机内部电路组成的振荡电路。

对单片机而言,有两个外部振荡引脚:XTAL1和XTAL2,当外接晶体振荡时,XTAL1和XTAL2分别接4M晶振的两个引脚。当使用外部振荡源时,XTAL1是外部振荡源输入脚,XTAL2则要求悬空。

电路原理图中的JP1和JP2两组跳线是用来根据不同的芯片选择振荡电路引脚连接方式的。

主电路部分

三极管9012组成了电压控制部分的电路。外部的+5V电源(这里是从USB接口引入的)接在9012的e极,9012的c极接VDD,给电路各部分提供电源。并口的⑤脚接9012的b极,起到控制作用,编程器软件可通过控制并口的⑤脚的信号来控制+5V电源的通断。

主电路部分很简单,没有太多的元件,只有连线稍微复杂一些。电路通过一根6芯电缆连接到并口,为了使用更方便,USB电缆没有连接到主电路板,而是连接到了并口壳子中,因为计算机的并口与USB接口离得很近,因此USB电缆也不需要太长。做好的电缆如图3所示。

图3
图3 🔍原图 (614×581)

为了让用户使用起来更方便,我们对电路进行了优化,这样仅用了一个活动插座就支持所有的芯片,芯片的插入位置也很容易记忆。不过当用于编程不同的芯片时,需要调整一下编程器上的几个跳线。具体的调整方法如图4所示的两个图(注:在制作时,笔者用跳线代替了DIP开关,两者并无区别,你可根据情况选择)。


3.电路调试

在不插芯片的情况下接通电源(即连接好USB插头),测量VT1的射极,电压应为+5V。如果没有问题,就可以联机调试了。启动软件,进行读取操作,此时测量活动插座的⑩、,正确的电压应为+5V。如果测试都通过的话,就可以用它来编程了。


4.软件使用

本软件嵌套在电子DIY多功能编程器软件2.11版中。首先要安装电子DIY多功能编程器2.11版,安装方法与普通软件相同,安装完毕后,启动该软件,在“选择芯片”菜单下的AVR(串行编程)中选择你要编程的芯片,选中后界面如图5所示。再选中右侧活页夹“芯片设置”下的“使用AVR编程器”,这时会出现一个对话框,提示“选中此项将使用AVR编程器进行编程(不需要配合多功能编程器),确定吗?”,选择“YES”即可。软件将保存你的选择,下次启动该软件时,无需再次设置。

编程示范

首先要将AVR串行编程器连接到计算机。该编程器有两个接头,一个是DB25并口接头,一个是USB接口,USB接口是用来提供电源的。先将DB25接头插入计算机的打印口,然后将USB插头插入计算机的任一USB接口。

然后启动编程器软件,在菜单项中选择待编程的芯片型号,再选择使用AVR编程器。在系统参数栏中有芯片位置,可根据提示将待编程的芯片插入编程器插座的正确位置,然后锁紧。软件中的所有设置项一般情况下一律使用默认值。

在向芯片写入新程序之前,要先清空芯片的内容。具体的方法是在菜单“命令”下选择空检查,检查芯片是否为空,如果不空的话,执行菜单“命令”下的擦除即可将芯片内容清空。

在菜单“文件”下选择“打开”,在出现的对话框中选择你要写入芯片的程序。这时该程序的内容将出现在编程软件的数据区。对于单片机来说,还需要对配置位进行设置。在右边的芯片设置项下有AVR设置,你可以在这里设置芯片的各个配置位。 所有的设置完成后就可以进行编程了。单击编程按钮或者命令菜单下的编程/测试,会出现编程进度条指示编程进度。当提示编程完成时,就可以取下芯片了。

软件中还有一项是:不验证签名位。这是考虑到有的旧芯片无法读取芯片签名位,为了能对这种芯片进行编程,可选中这一项,这样软件将跳过签名位验证,直接进行编程。读者可到ediy.yeah.net上下载此软件。下期,为大家介绍AVR仿真调试软件的使用。

电子DIY工作室