原创 自制简单方便的51/avr单片机USB ISP 下载线 (硬件部分)

2010-1-29 10:49 15906 9 25 分类: MCU/ 嵌入式

        如今使用笔记本的人越来越多了,可是买了笔记本对于学习很多单片机比如说51或者AVR就不方便了。因为大多数电脑都不带串并口了,但新出的笔记本上的USB接口是足够用的。因而要是用USB转了串口或者并口就能方便单片机学习开发时的ISP编程或者、串口通信实验、AVR的JTAG仿真了。其实很多单片机开发商和销售商都早就有了USBisp的配套软件和硬件了的,只不过都比较昂贵,而且技术资料多是保密的。对于自己小本学习单片机的人而言,都希望能有价廉物美的USBISP烧写器,而且也多想自己动手制做一个。


        网上公开的比较流行的支持51和AVR的烧写器是用ATMEL公司的MAGE8单片机做的,其机理也就是通过虚拟一个并口的方式将USB接口信号转换为并口信号以实现ISP的。其原理图如下图:


点击看大图


                                    图(一)


使用的是个名叫PROGISP的软件,我收集了制作的相关资料在压缩包中https://static.assets-stash.eet-china.com/album/old-resources/2008/11/11/bf1d3595-924d-493f-9893-e595913476bb.rar有兴趣的朋友可以看看或者尝试一下。


        我在这里主要并不是向大家介绍这个MAGE8做的USBISP下载线,因为它的编程软件很强大但是配置太灵活了,对于初学者,很容易配错相关设置,比如AVR的融丝位,弄不好可能将你的AVR单片机锁死了,而且烧入MAGE8的固件有可能不支持51或AVR,找固件比较麻烦。


      我要向大家推荐的另一种方案是用专门的USB转串口的USB芯片。利用它制作的USBISP下载线支持AT89S51/52和若干AVR的单片机,功能算比较强的,电路也并不比MAGE8做的USBISP下载线难多少,只需要在主芯片外接晶振和几个电容电阻就是了。这个方案就是利用国产的南京沁恒公司的CH341A芯片将USB转为并口直接实现ISP编程。可以去南京沁恒公司网页购买或者申请到免费样片(注意要做USB下载线一定要申请CH341A,填写申请表时后缀字母A不能写错了)其电路图如下图:


点击看大图


                                     图(二)


PDF文件格式的原理图


https://static.assets-stash.eet-china.com/album/old-resources/2010/1/29/5b12a2c7-ccd3-443e-9afe-c4894bdc6216.rar


下载线的PCB图:


50ac9c4d-5b59-48cb-b94d-a83962387495.JPG


                              图(三)


        自己买来元器件后很快就可以焊好了的,当然为了保证稳定工作要注意必须给单片机单独供电而且其接地和CH341的USB电源的地必须公地。CH341 是一个USB 总线的转接芯片,通过USB总线提供异步串口、打印口、并口以及常用的2线和4 线等同步串行接口。
        在异步串口方式下,CH341提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM 联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB 总线。
       在打印口方式下,CH341 提供了兼容USB 相关规范和Windows 操作系统的标准USB打印口,用于将普通的并口打印机直接升级到USB 总线。
       在并口方式下,CH341提供了EPP 方式或MEM方式的8位并行接口,用于在不需要单片机/DSP/MCU的环境下,直接输入输出数据。
       除此之外,CH341A 芯片还支持一些常用的同步串行接口,例如2 线接口(SCL 线、SDA 线)和4线接口(CS 线、SCK/CLK 线、MISO/SDI/DIN 线、MOSI/SDO/DOUT 线)等。


功能特性:


● 全速USB 设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。
● 可选:通过外部的低成本串行EEPROM 定义厂商ID、产品ID、序列号等。
● 支持5V 电源电压和3.3V 电源电压。
● 低成本,直接转换原串口外围设备、原并口打印机、原并口外围设备。
● 提供SOP-28、SSOP-20 两种无铅封装,兼容RoHS。
● 由于是通过USB 转换的接口,所以只能做到应用层兼容,而无法绝对相同。


        这款芯片不仅可以方便简洁的完成USB下载线功能还可以很简单的制作成以下一些实用的电路:


USB烧写编程EEPROM点击看大图


                                       图(四)


可以完成USB转并口打印机点击看大图


                                     图(五)      


完成USB转TTL异步串口点击看大图


                                      图(六)


完成USB转三线RS232串口点击看大图


                                     图(八)


完成USB转485接口点击看大图


                                           图(九)


连接单片机串口实现USB通信点击看大图


                                                图(十)


自身串口对接点击看大图


                                                 图(十一)


         厂商已经提供了USB转换的底层驱动,上位机软件也给了些示例(包括多种编程语言VB,VC,DEPHI,DOS,C++BUIDER等等),对应用CH341的人而言,可以很快的学习USB通信和开发自己的应用设备了。很高兴能看到我们自己的国产产品做得这么方便和实用。


CH341A的使用说明书CH341DS1PDFCH341DS2PDF


CH341的USBisp下载线电路原理图https://static.assets-stash.eet-china.com/album/old-resources/2008/11/12/c9ccd8eb-c1a6-4fd4-b64a-bb553cff926e.rar


SPI烧写下载工具软件CH341DPhttps://static.assets-stash.eet-china.com/album/old-resources/2008/11/12/83393b7c-14c4-442d-84a6-26c1e8e0969e.rar


CH341的上位机驱动程序https://static.assets-stash.eet-china.com/album/old-resources/2008/11/12/c924fb47-1f47-4440-ad72-b52a8bd60322.rar


更多的资料自己可以到他们的公司主页http://www.wch.cn/查找。


        下图是我自己用CH431A制作的USB转串口的线,可以用于学习AVR单片机时,连接串口JTAG仿真器:


点击看大图


                                                   图(十二)


连接电脑后“硬件管理”可见:


ba5d443f-e71b-4a5c-82fb-20db7e728cfb.jpg


                 图(十三)


USB转串口电路图:


1ccb693d-a2cf-4035-af86-14d10e2a4001.JPG


PDF格式原理图


https://static.assets-stash.eet-china.com/album/old-resources/2010/1/29/092c4aa6-81a6-4f73-88b7-ecca958f7cef.rar


        经实际使用发现比买的USB转串口线更稳定,而且即使热插拔或关断单片机电源,AVRSTUDIO中还不会出现台式机硬件自带串口会出现的死机或者把JTAG仿真器固件弄丢。

文章评论16条评论)

登录后参与讨论

用户571671 2011-2-16 13:44

请检查你的AT89S51是否已经损坏,如果没有,请将晶振更换为12MHz的,因为USB通信需要精准的时钟信号,另外两个电源分别供电,但是是需要公地的

用户1716949 2011-1-9 21:51

无法识别此MCU,这是什么原因呢,图是按这上面的连的,单片机用的是AT89S51,电源是分别供电,没有共用地,单片机用的晶振11.0592,CH341A的16.18.20.22脚通过300欧姆的电阻接到单片机的7.6.8.9脚,下载程序用的也是上面提供的.两个驱动程序都安装了,

512826028 2010-9-22 11:32

CH341A

用户269969 2010-3-1 11:26

转并口的两种模式MEM和EPP,在应用程序里如何选择啊,在API里不会修改。。。。麻烦~~

用户571671 2010-1-12 12:33

你所说的转串口后是用于什么?要是想作为电脑上的虚拟串口,你照上面图(八)所示的电路连接就是了

用户777574 2009-12-8 16:08

经CH341A转成串口后得出的几根线MOSI,MISO,CLK,RST分别接到MAX232的哪几个脚上啊,急用,望大大告知啊,先谢谢了!

用户777574 2009-12-8 16:01

请问P2中的几根线分别怎么与单片机相连啊,或者说怎么与串口相连啊

用户571671 2009-4-25 09:23

3、6、7脚在自制的USB ISP 下载线中没有用到,图中的照片截图自官方评估板

用户1523216 2009-4-24 18:24

请问图中CH341A中的3、6、7脚是接什么的??

用户571671 2009-3-12 20:56

特别要注意的是:CH341A的V3脚在5V情况下对地接0.01UF的电容.3.3V情况下和VCC相连。电路图中的电容是0.01uf的就必须用0.01uf,0.1uf的就必须用0.1uf。尽量用瓷片的
相关推荐阅读
用户571671 2011-12-14 21:33
关于“自制简单方便的51/avr单片机USB ISP下载线”的一些说明
   之前自己写的“自制简单方便的51/avr单片机USB ISP 下载线(硬件/软件部分)”得到了很多朋友的关注,大家也提出了一些问题。在这里我系统地说明一下:         1.用沁恒公...
用户571671 2010-06-14 20:28
完全解决Protel 99SE汉化版的菜单和功能丢失问题
Protel 99SE是一款极其优秀的PCB设计软件,小巧而又功能丰富,对于电脑的硬件的要求很低,那些凡能跑WINDOW98的电脑也可以运行。可惜有两个典型的不足:1.没有官方的汉化版,这对于懂英语的...
用户571671 2010-06-04 17:07
让Ubuntu10.04中的YAMAHA声卡发声
自己的电脑上已经装了Ubuntu10.04好久了,最近才发现它居然还是个“哑巴“,一直没有声音,不管是启动还是用各种播放器播放MP3歌曲均不能听到声音。都说Ubuntu对于设备的驱动已经做的很好了的,...
用户571671 2010-03-27 12:04
INTERL BUS和MOTOROLA BUS及其区别
在实际应用中用到的很多带并行总线的芯片的硬件连接、读写操作都分为INTERL BUS和MOTOROLA BUS(某些文献上又叫INTERL 模式和MOTOROLA 模式)这可以在相应的芯片手册上看到,...
用户571671 2010-02-27 13:57
LCD BackLight Control for utulinux 2440 LCD 背光控制
LCD BackLight Control for utulinux 2440 LCD 背光控制                     注解:borlittle仅供学习参考,源代码版权归原著者所有 ...
用户571671 2010-02-27 13:55
LED Example for utulinux 2440 LED测试示例
LED Example for utulinux 2440 LED测试示例注解:borlittle仅供学习参考,源代码版权归原著者所有<?xml:namespace prefix = o ns ...
我要评论
16
9
关闭 站长推荐上一条 /2 下一条