微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > JDM PIC 编程器的制作

JDM PIC 编程器的制作

时间:05-21 来源:互联网 点击:

前段时间rd09朋友提供了FENG3对JDM PIC 编程器改进版的制作方法,我照做了一个,觉得这是一款性价比非常高的烧写器,为让大家在制作过程中少走弯路,尽快品尝到成功的喜悦,特撰此文共享。
JDM PIC 编程器最初的设计是一个奇特的创新,它非常灵活地运用了三极管及串口的工作原理,在无外部电源供应的情况下实现了VDD+5V、VPP+ 13V电源供应和时钟、数据的收发。而且串口的使用也不拘泥于其端口引脚的原定义,令人不得不佩服设计者的智慧。当初原设计时作者应该写了一个DOS下的驱动,而后来IC-PROG对其的支持使其在WINDOWS下面发扬光大。鉴于现在JDM被推荐和受欢迎的程度,我们实在应该感谢Jens Dyekjar Madsen创造了JDM,而Bonny Gijzen对它的支持则使其发扬光大。

图一是其最初的设计线路,使用25针的串口,其端口名称在9针的串口中同样可以找到。RTS口在提供时钟信号的同时还通过D3、D4整流、5.1V (D2)稳压管提供+5.1V的VDD电压,DTR与CTS配合实现数据的传送与接受,而TxD则提供烧写时的VPP+13V,这里+13V经过D6与 D2串连稳压得到。这里VDD是一直有供应,而VPP只在烧写时供应。

图二是日本一个火腿族FENG3的改良版,最初的改良是为了使其可以用同一个卡座烧写40PIN及以下的直插式MCU,并且加了一个LED指示烧写状态。其后又增加了Q3,为的是在VPP在VDD之前加到MCU上,我在他的网站上没有找到关于为何要“VPP Befor VDD”的理由,但我猜想是为了一些有内部RC振荡的MCU所设计,因为如果使用有内部振荡的MCU而又选择了这个功能,在多次重复烧写时可能出现问题。试想如果MCU原来烧有程序,在VDD上电的同时MCU开始运作,由于有许多脚接地,在MCU初始化端口后就会导致某些设置成输出脚对地短路而烧坏 MCU。但是这里实现这个功能时有个问题,这将在其后说明。
按FENG3的说明,“制作这个烧写器之前,我推荐首先查一下您的个人计算机串口有没有足够的电压输出。如果TxD, DTR, 和 RTS没有超过±7.5V,这个烧写器将不能正常工作。特别是最近的手提电脑通常使用低电压的RS232芯片。”我在这里要说明的是,实际上在±7.5V 范围烧写器还是不能工作的。至少要达到13.5V才行。什么道理大家可以想到。
FENG3提示其它的要点有6个,请制作者仔细阅读:

  1. 串口的地线 直接与烧写器的VDD相连,电路图中所有的接地符号均是PIC烧写器的地,请不要将串口的地与烧写器的地相连。(我一年前做过一个没成功,因为当时没搞清,误将串口的地和烧写器的地相连)
  2. 这个PIC烧写器的VPP必须在烧8-18PIN和28-40PIN时通过一个开关切换,如果您在烧写时没有正确地选择好开关的位置,过电压可能将您的PIC烧坏。
  3. 这个PIC烧写器不支持所有的PIC MCU,(不支持PIC16C5X; 20PIN的PIC16C770/771可以通过使用一个转接头来烧写。
  4. 因我没有全系列的PIC芯片,所以我没有试过所有的PIC,使用这个烧写器我成功烧写并校验成功了如下型号: PIC12F629, PIC12F675, PIC16F627, PIC16F628, PIC16F630, PIC16F676, PIC16F818, PIC16F819, PIC16F84A, PIC16F873, PIC16F877A, PIC18F2320, PIC18F452.(本人成功烧写和校验了16F7X系列)。
  5. 烧写软件使用Bonny Gijzen. 的IC-Prog,目前的版本是1.05C,大家可以到WWW.IC-PROG.COM去下载。
  6. IC-Prog 中的Hardware settings(硬件设置)同JDM programmer.(这里我要提醒大家注意,如果使用WINDOW2000以上,Hardware settings的INTERFACE中要选择WINDOWS API选项,而不要选择DIRECT I/O,因为在32位操作系统中是不允许一般软件直接操作硬件的。虽然这样写的速度会慢一点,但没办法。最多把I/O DELAY值设置成0,但要看电脑配置和芯片烧写校验错误率怎样,我的1.7G赛扬设置成DELAY=0时烧写一片2K字的16F72大概25秒左右,已经很不错了。如果烧写成功率不高,那就设置得长一点。WIN98一下我没试过。)见图三.

rd09 朋友的贴子中有它的PCB图,照此我制作了一个,但是仅烧写了一次就坏掉!LED也不亮了,查是D6—6.2V的稳压管烧掉。究其原因,原来我使用的是 1/2W的稳压管,而台式机的RS232接口的输出电流可达20mA,两个稳压管应该选用1W的才行。而且6.2V的稳压管不是标准的型号,所以干脆采用精密的稳压基准TL431+合适的分压电阻代替,再次烧写,结果还是不行!LED也很亮,就是校验失败!在烧写时测量13V电压居然只有3.5V?结果查下来是第一次烧写过的那片16F873牺牲了……换一个16F72上,烧写、校验一次OK!感谢RD09!感谢JDM!为了让大家提高制作的成功率

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top