工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->微机单片机电路图->单片机综合电路图->单片机USB-ISP下载线制作教程

单片机USB-ISP下载线制作教程

作者:dolphin时间:2017-09-13

现在的笔记本包括台式机都渐渐地舍弃了并口、串口;很多网友也跟我说,台式没有并口了,下载线没法用了,让我帮他想想办法。看来做个USB-ISP下载线是势在必行了。
主要有两种方案,一种是用FT245串口芯片加ATMEGA8的方案,另一种是只用ATMEGA8进行USB串口协议的软件模拟和ISP下载全部完成。据说第一种稳定,但成本高,电路复杂,不便自制。我们还是本着低成本,简单易做的原则进行。就用单个M8来做。
易于自制的图。


  在制做前首先要搞清楚几点,第一,这个USB下载线本身就是一AVR单片机,在制做完成后首先也得通过其它并或串口ISP下载线给它下载程序,这样它才能工作。第二先得大概了解一下这个AVR单机机M8的基本资料。这样才能对电路有个了解,从而便于调试。因此,你原先用的并口ISP下载线在这里还得起着关键的作用,可别扔掉啊!我图示一下这个过程先:

接下来按上述图的要求准备元件。

  元件准备好后,先得检测下质量,电阻的阻值、发光管的极性、电容是否有短路。要测试下两个稳压管的稳压值是否正确。最最重要的是先把USB接口用延长线接到PC上,然后用万用表测一下正极在哪,做个标记,这样就能搞清楚了D+、D-的位置,也不会接反电源了。免得焊好后发现错了极性反复焊,焊盘很容易脱落,也避免接反烧了元件。(我开始用的是USB公头接口,后来发现在板子上吃不上劲,稍一用力很可能会松脱。所以换成母口了)
  电路图我整理了一下,因为有的元件不需要,有的为了方便检查,避免漏连了线。

焊接过程就没什么好说的了,不是PCB板,是洞洞板的,在事先大概做个布局(布局原则就是减短引长度,跳线尽量少。好像我做的跳线并不少哦!)然后就按照上面的电路图焊接,完成后如下图,感觉是不是还不错?:





再来张反面吧,有点惨不忍睹吧!

在调试前也还得先弄清几个问题:
  第一、电源题:原先的并口下载线是靠S51板上来供电的,也就是说当你焊好你的USB-ISP板后给它装固件时,USB-ISP板得向原并口下载线供电,而固件装好后USB-ISP板就是靠PC的USB口向我们的USB-IS板供电了,而你以后的51实验板就不能向这个USB-ISP板供电了,否则PC和51实验板都向USB-ISP供电,那么电压不同就有可能烧坏PC口或元件的。因此J2跳线就是为了区别装固件和正常下载而使用的。装固件时另附电源加在USB-ISP上,J2短接,可以过J2口向原来的并口下载线供电。当正常使用时,USB-ISP板上的附加电源撤掉,由PC的USB口供电,将J2断开,隔离开USB-ISP板和51板电源。

  J1是降速跳线,短接时慢速,在装固件时要求在慢速下。J3是M8复位跳线,装固件时要求M8在复位状态。正常使用时就断开这三个跳线了。
  第二、ISP接口问题:得弄清下载接口的对应接线,MOSI、MISO、RST、SCK要一一对应不能弄错。也就是说你原先并口下载线的并口各功能线接到十针的ISP接口和USB-ISP下载线的接口要对得上。例如我的51板是自己做的,上面的十针下载接口是我自己随意接的没有按照什么标准。因此我做并口下载线时,就将并口下载线上的各功能线与51板上的一一对应,这样就能调试通。现在做USB-ISP下载线还是一样,得按照我自己的十针接口方式,只要各功能线准确无误地对上就好。
  J1是降速跳线,短接时慢速,在装固件时要求在慢速下。J3是M8复位跳线,装固件时要求M8在复位状态。正常使用时就断开这三个跳线了。
  不同的PC端下载软件对并口脚的定义是不同的,这一点一定要弄清楚,否则是不可能正常下载的。有的软件有配置文件,可以跟据你的要求设置并口的某个脚为什么功能。如ISPLAY 1.5。这些软件可在http://www.51hei.com 单片机论坛取得(按标题搜索下载线),它的配置文件如图:

你可以通过修改这些MOSI、MISO、SCK、RST、OE、LE等功能输出的并口脚号以适应你的下载线。
  我的原先并口下载线用的是官方的一张图:

它的配套PC端下载软件ISP-30A是不能自己设定并口引脚号的。界面如下图。

好!下面开始调试,检查USB-ISP下载板没有连错线或短路现象。将USB-ISP下载板的三个跳线短接,接上外加电源,测量电流为6mA,应该没问题。将原先的并口下载线的并口端接至PC,将十脚ISP接口端与USB下载板对接,测量并口板上的电压已正常。如下图:(我这是示意图,因为在房子里插上PC光线不好,照得不清楚)


此时USB下载板上的发光管是不会亮的,因为它里面没有程序还无法运行。开始进行下载。在PC上运行ISPLAY1.5如图:

  事先我将配置文件Pin_config.ini内的各功能线已修改为和我的并口下载线相同的脚号。在左下角的“程序设置”里选好那个配置文件。点击“检测器件”钮,但始终检测不到器件,如上图。我想我的并口下载线肯定是好的,一直在用啊!难道配置文件不起作用?或那个LE控制时序和我那个板上的要求不同?干脆用那个我一直使用的ISP-30A试试吧!于是将它运行。因为是要给ATMEGA8下载程序,所以在器件选项里选MEGA8。

果然,我点了下Read,居然能正常读取了,于是我点Open file然后选择网上下的那个11K大小的main.hex,点击Write接下来就是写程序和校验一切OK。然后点击Fuse Bytes(熔丝字节),在下图的SUT0和CKSEL0前点上勾,


  然后回到主界面点Write LBs。当写完之后我把三个跳线一拔,绿色发光管已经亮起,说明M8的程序运行了。这样我的USB下载板的固件就算装好了。
  将USB下载板从并口下载器上拔下,我去掉附加电源后将它插到PC的USB口上,立即就发现了新USB设备,一切没有悬念,安装驱动程序一路正常(这部分软件的使用网上已写的很详细,我就不重复了),PC告诉我设备可以使用了。我将我的51板和USB下载线连上


运行PROGISP1.6.6

  一阵狂喜过后我在“编程器及接口”下的选择框中选USBASP,在“选择芯片”里选AT89S51。
点击“芯片识别字”右边的RD钮,哦!可就是检测不到器件如下图:


  弹出这个窗,说明USB下载线是正常的了,就是检测不到51目标板。莫非是ISP连线太长?我又做了根只有10CM的ISP连线,但状况依旧。唉!沮丧啊。休息休息,喝口水……
  突然想起网上说起过用修改过的固件可以针对51板出现的Chip Enable Program Error。立即上网找来那个18K大小的USBISP.hex,重做刚才的下载工作,一切顺利,再运行PROGISP1.6.6
  哈哈!检测到51器件了,

  特征字不匹配,不管它了,先点击“是”。于是便试着点击“读出Flash”钮。成功!
我接着点“调入Flash”选择一个我以前的HEX文件,点击下面的自动,红色的发光管在不停地闪烁着,我开心啊!
     然而在写完后校验时却总通不过,汗!

  是下载线太长不稳定?就剩10CM长了,难道真的天都不可怜我吗?在一阵无助的胡乱操作中,突发奇想选AT89S52试试。
  这一试不要紧呀!居然成功啦! 反复下载不同的程序,一切都OK。
  再换上我那长40CM的ISP连线,反复下载程序试验,你猜怎么着?不要太稳定哦!
  至此大功告成!
总结:
  下载固件时,如果你原先的并口下载软件支持ATMEGA8。最好就用你一直使用的并口下载软件。这样可以先排除并口下载线上的问题。
  遇到问题多试试几种操作,不要轻易放弃。
  还有就是这个PROGISP1.66是不是有BUG?明明是S51,偏偏要选S52才能正常读写。还有那个ISPLAY1.5,估计不是配置文件不起作用就是那个LE的时序和我并口下载线上的要求不一样。后面抽空再找找原因。



评论

vaioshop · 2017-12-12 08:30:19

学习一下。

技术专区