DIY简化版的 PICKIT2

2020-02-08 09:05发布

DIY简化版的“PIC单片机下载线”
      笔者最近在学习PIC16F877A单片机,但是学习单片机肯定少不了一条ISP下载线,因此我到网上到处寻找资料来DIY一条PIC单片机的ICSP下载线。找到了一款比较适合来DIY的“pickit2下载线” 。它是使用USB接口来通讯的下载线,能够对Microchip 的大多数闪存PIC单片机和串行EEPROM器件进行编程。

【1】简化分析
     但是原版的“pickit2” 对于DIY来说还是太复杂了点,而且有一些元器件也不好找,我就想能不能把“pickit2”简化一下,使它更简单一些,更容易DIY一些,像“USBASP ”一样简单那该多好!为此我对照着“pickit2”的原版电路图和参照一些淘宝市场上卖的“pickit2” 进行分析和简化,去掉了一些对我们单片机学习者不经常使用的功能:离线下载功能和向目标板供电功能,以使电路尽量简单。简化后的电路图由附件SCH文件所示,原版的电路图读者可自行到网上百度一下。

【2】简化版的“pickit2”电路工作原理分析
      Pickit2下载线它本身也是由PIC单片机PIC18F2550来做主控芯片的。PIC18F2550使用内部自带的“USB2.0” 来接收USB数据之后再来控制ICSP的时序。在原理图中“ J1” 是给我们的“pickit2”里的PIC18F2550 下载和升级固件用的ICSP接口。“J2”是“pickit2”向目标芯片下载程序用的ICSP 接口。“J3”是USB通信接口,要插入电脑的USB接口。
     由图(1)所示:三极管Q1、二极管VD1、电感L1、电容C2、C12、组成的升压小模块产生Pickit2的高压编程电压。高压编程电压经过R2和R3分压之后反馈回给PIC18F2550的RA0引脚进行模数转换检测,于形成闭环控制,使高压编程电压Vpp保持在恒定的12V。
     三极管Q2、Q3、Q4、和电阻R4、R5、R6、R7组成开关电路,由PIC18F2550来控制它们何时给目标芯片提供高压编程电压Vpp.
当然如果读者连PIC的高压编程都不用的话(PIC也支持低压编程,像51和AVR一样,不过不要忘了首先要在PIC的配置位里配置为可低压编程。),也可把升压模块和开关电路的电感L1、电阻、三极管等都给通通的去掉,这样整个  PICKIT2  差不多是只用一片PIC18F2550就可搞定,这就真的简单的和51/AVR单片机的USBASP下载线一样(USBASP 也是只用一片ATmega8 就搞定了)。不过我为了给一些不能低压编程的PIC单片机下载程序,在这里我就没有把它给省掉。通过此番简化能能够大大的降低了我们DIY “pickit2” 的难度。

【3】pickit2  的制作过程
      笔者的整个“pickit2”  电路做在一块75*45的单面感光板上。焊接好的电路,整个电路够简单的了,在这里所使用的都是一些常见的电阻、电容、和三极管S8550、S8050等,因此只要到淘宝上买一片PIC18F2550 和有一根能够下载PIC18F2550的ICSP下载线即可来DIY我们的简化版的“pickit2”了。
     笔者我在http://www.e-dsw.com/bencandy.php?fid=27&id=5999《电子设计网》网站上下载了“ pickit2 v2.61” 上位机软件。在电脑上安装好“ pickit2 v2.61” 软件之后,从 “ pickit2 v2.61” 软件的安装目录里找到名字为“PK2V023200.hex”的固件。然后给刚刚才新做的“pickit2” 供给+5V的电压,使用另一条下载线给刚刚焊接好的 “pickit2”下载固件。
最后把“pickit2” 插入电脑的USB接口,如果能听到USB接口插入的经典响声“东的一声” ,那么恭喜你!已经DIY成功了!否则请细心的检查一下电路和确认hex固件版本是否正确。然后独立给要在线编程的目标板供电,把ICSP引线插入目标板,打开“ pickit2 v2.61” 软件,如果一切正常它能自动检查到目标芯片,并显示型号,即可进行ICSP编程了。否则请再次细心的检查一下电路。

【4】制作注意事项
      (1)升压用的电感不能用普通的低品质因数的 {MOD}环电感,而应该使用低内阻的高品质因素的电感。至于电感容量吗?经笔者测试过,电感量为400uH到1000uH都可正常工作。笔者因一时找不到合适的电感,就用直径为0.4mm的漆包线在外径为10mm环形磁芯上绕了25砸,用数字万用表一测量哦有600uH,哦!还蛮般配的吗?
      (2)晶振一定要使用20MHz的,否则“pickit2”不能正常工作,因为它的固件是按照20MHz来设计编写的。
      (3)“pickit2”的HEX固件要和 “pickit2” 的上位机软件相对应,既它们的版本要是同一版本的,否则可能不能正常工作。对应版本的“pickit2” 的HEX固件可在“pickit2”上位机软件的安装目录里找到。读者可到  Microchip  公司的网站上下载“pickit2”的官方上位机软件安装包。
      (4)此简化版的“pickit2”不能够给目标板供电,因此目标板要另外单独使用一个电源来供电。
      (5)使用“pickit2” 给目标芯片下载程序时,目标芯片的ICSPCLK、 ICSPDAT引脚处不能有强的负载,既不能有能影响ISCP引脚电平变化的因素存在。而且也不能有影响目标芯片Vpp电压上升速度的因素存在,否则会导致编程失败。因此目标芯片的这三个引脚如果可以的话最好与应用电路隔离,或者干脆把这三个引脚只作为ICSP引脚独立使用。




       简化版的:PICKIT 2     protel dxp 2004原理图 ourdev_588031IU682T.zip(文件大小:38K) (原文件名:my pickit2.zip)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
JQ_Lin
1楼-- · 2020-02-10 03:14
 精彩回答 2  元偷偷看……
millwood0
2楼-- · 2020-02-10 05:05
pickit3 has a couple firmware updates so far but the issue still persists - particularly the issue with losing firmware and becoming unrecognizable by the pc.

pickit3 has the advantage over pickit2 in terms of its support for newer devices. so if you intend to use some of the newer devices, you have no choice but using pickit3. otherwise, pickit2 is a far superior product.
JQ_Lin
3楼-- · 2020-02-10 11:03
millwood0 发表于 2012-6-18 23:54
pickit3 has a couple firmware updates so far but the issue still persists - particularly the issue w ...

好吧,就它了,Pickit2 !
放弃被骗的 ICD2.5,我也不去 DIY Pickit2 了。

谢谢 millwood0。

millwood0
4楼-- · 2020-02-10 15:46
hope it helped.

If you are picking on a mcu to learn (thus needing a programmer), I would suggest that avr is the way to go. atmel is doing a much better job (than microchip) in bringing to market feature rich modern chips. pics, in comparison, are really really antiquated vs. avrs: not having vectored interrupts is really so 1980s.

plus, the initial investment in avr is considerably less.

If you have to go down the pic path, pick pic24f instead.

good luck.
JQ_Lin
5楼-- · 2020-02-10 16:30
millwood0 发表于 2012-6-19 06:08
hope it helped.

If you are picking on a mcu to learn (thus needing a programmer), I would suggest t ...

谢谢 millwood0 。

我现在只是想,把我自学单片机(后悔当初选择了PIC且没有选择C)写下的、唯一的一个汇编程序写到芯片里,通电跑跑看。
该程序意在完全实现并大大增强我在职时采用模拟和数字器件开发的一个产品(至今一成不变地生产了十五年)的功能。那时完全不懂单片机,也没有机会和时间来学习单片机。

为了验证自己写出来的程序,好多年前网上买到一个自称“永不掉固件”的ICD2.5,还特地多购了一对已经写好同样固件的16F877和18F4550,以作备份。
结果还是一个杯具,不能被计算机识别,卖家远程协助也未能搞定。后来我还发现,连那短短的数据线也有断线。拖了好久,不了了之。
现在,想再花一点钱,买个可靠的 PICKIT2,验证、修改、再验证......,了结一下就可以了。

当初自学单片机,我纯粹为了“补课”和体验一把。也是经过很长时间的自我壮胆、自我鼓劲,才下决心的。
现在,我的年纪又大了许多,已经没有胆量和精力再去触及更好的单片机和C语言了。
如果,......。对我来说,已经没有“如果”了。
不过,还是要感谢 millwood0 的建议和友好。

millwood0
6楼-- · 2020-02-10 21:25
 精彩回答 2  元偷偷看……

一周热门 更多>