打印

求助:MCD2程序无法烧进PIC18F6621单片机

[复制链接]
1869|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 txycjlu 于 2013-6-5 16:18 编辑

  小弟最近在用MPLAB IDE V8.40和PICC调试程序,然后利用PIC16—MCD2仿真器烧写程序,目前的情况是:
1、单片机型号是PIC18F6621,仿真器型号PIC16—MCD2;
2、程序能调试编译成功,如图;

3、硬件电路检查没有问题,20MHZ晶振,电源供电4.96V,单片机所有VSS全部接地,所有VDD全部接VCC=4.96V的电源,复位电路如下:

4、编程口6根线连接如下图,经测试,都与单片机完好连接,也没有接反,并且PGC、PGD连接没有容性或感性器件;

5、仿真器没有问题。因为我利用同一个仿真器给另外一块板子烧写程序,能正常烧写进去。
6、配置字Configuration Bits设置如下图:



遇到的问题:
     链接的时候,弹出提示:ICDWarn0020: Invalid target device id (expected=0x55, read=0x0),如下图

    不管选择目标板自供电还是仿真器供电,都会有这个错误,如果点击链接过快,有时候还会自检不通过,target VDD 显示为low。
如果强行烧写的话,会弹出提示框如下:


  如果点OK继续的话,烧写失败。

   由于我接触PIC单片机时间不长,所以难免会犯很多错误,这个问题一直困扰着我,在网上搜了很多可能原因,一一排查,还是没有解决,所以真心求教,希望有人能帮忙解决这个问题,不胜感激!
我的QQ:316767584
沙发
txycjlu|  楼主 | 2013-6-5 17:45 | 只看该作者
@yewuyi   版主帮帮忙啊

使用特权

评论回复
板凳
yewuyi| | 2013-6-5 17:54 | 只看该作者
显示的你的芯片型号不对,检查MPLAB中设置的芯片型号和你目标板芯片型号是否一致。

使用特权

评论回复
地板
txycjlu|  楼主 | 2013-6-5 17:57 | 只看该作者
yewuyi 发表于 2013-6-5 17:54
显示的你的芯片型号不对,检查MPLAB中设置的芯片型号和你目标板芯片型号是否一致。 ...

这个应该没有问题,我用的是PIC18F6621,芯片类型也是这个,截图如下:

使用特权

评论回复
5
弓长月月鸟| | 2013-6-6 08:26 | 只看该作者
建议楼主查看一下连接线是否有松动。这种情况我也遇到过。我的情况是ICD自供电,烧写程序正常。后来不知道怎么回事,就写不进去了。改成目标板自供电源,写入程序就正常了。还有就是我的线跟烧写端口接触不好。后来索性焊接上去。居然可以烧写。希望能帮助楼主啊。

使用特权

评论回复
6
yewuyi| | 2013-6-6 09:06 | 只看该作者
1、不管是选择ICD2供电还是目标板自供电,你应该用万用表量一下VCC是否真的正确?
2、ICD2到目标板MCU的ICSP线不适合太长,一般控制在20cm以内为好。
3、还是要仔细检查ICSP的连接顺序是否确定正确?
4、再次确认目标板芯片和MPLAB中所设置的芯片是否完全一致
5、你当前是在debug模式还是programmer模式?要注意两者的区别。
6、保证所有的ICSP连接线接触良好
7、官方无MCD2这个东西,你这是买的第三方的仿制ICD2工具,请联系工具制造商确定

使用特权

评论回复
7
zwp0822| | 2013-6-6 09:55 | 只看该作者
ye版主的回答真是仔细!

使用特权

评论回复
8
txycjlu|  楼主 | 2013-6-6 18:29 | 只看该作者
弓长月月鸟 发表于 2013-6-6 08:26
建议楼主查看一下连接线是否有松动。这种情况我也遇到过。我的情况是ICD自供电,烧写程序正常。后来不知道 ...

这个情况我也排查了,将ICD2与目标板插好后,将水晶头拔出来,然后万用表一边在板子上,一遍放在水晶头各个引脚的缝隙中,检查连接完好,没有问题。

使用特权

评论回复
9
txycjlu|  楼主 | 2013-6-6 18:35 | 只看该作者
yewuyi 发表于 2013-6-6 09:06
1、不管是选择ICD2供电还是目标板自供电,你应该用万用表量一下VCC是否真的正确?
2、ICD2到目标板MCU的ICS ...

1、VCC=4.96V,每个地方都测过,没有问题;
2、刚测过,ICD2到目标板MCU的ICSP线为23cm,这个地方我等会再找短的连接线实验
3、检查过,连接顺序正确,没有接反;
4、设置的芯片跟目标板完全一致;
5、确定是programmer模式;
6、这个情况我也排查了,将ICD2与目标板插好后,将水晶头拔出来,然后万用表一边在板子上,一遍放在水晶头各个引脚的缝隙中,检查连接完好,没有问题;
7、仿真器应该没有问题。因为我利用同一个仿真器给另外一块板子烧写程序,能正常烧写进去。
8、真的非常感谢版主。


使用特权

评论回复
10
txycjlu|  楼主 | 2013-6-6 18:36 | 只看该作者
zwp0822 发表于 2013-6-6 09:55
ye版主的回答真是仔细!

是啊,版主真好,太感谢他了

使用特权

评论回复
11
弓长月月鸟| | 2013-6-7 10:55 | 只看该作者
因为我利用同一个仿真器给另外一块板子烧写程序,能正常烧写进去

这里你说的另一块板子单片机的型号也是18f6621吗?另外看到MCD2这个烧写工具,是不是不支持18f6621?这个叶版主指出来了,楼主不妨看一下,是否需要另外安装其他的软件驱动什么的。

使用特权

评论回复
12
txycjlu|  楼主 | 2013-6-7 15:11 | 只看该作者
弓长月月鸟 发表于 2013-6-7 10:55
这里你说的另一块板子单片机的型号也是18f6621吗?另外看到MCD2这个烧写工具,是不是不支持18f6621?这个 ...

1、另一块板子的型号是PIC18F4520;
2、仿真器是PIC16—MCD2,支持PIC18F6621。

使用特权

评论回复
13
兰天白云| | 2013-6-7 15:22 | 只看该作者
把复位端的电容去掉

使用特权

评论回复
14
txycjlu|  楼主 | 2013-6-7 16:32 | 只看该作者
兰天白云 发表于 2013-6-7 15:22
把复位端的电容去掉

datasheet上的复位电路就是这样的啊,我试试你说的方法

使用特权

评论回复
15
兰天白云| | 2013-6-8 11:40 | 只看该作者
txycjlu 发表于 2013-6-7 16:32
datasheet上的复位电路就是这样的啊,我试试你说的方法

电容会影响烧写,试了再说

使用特权

评论回复
16
txycjlu|  楼主 | 2013-6-18 11:34 | 只看该作者
兰天白云 发表于 2013-6-8 11:40
电容会影响烧写,试了再说

试过了,还是不行,还是同样的错误

使用特权

评论回复
17
txycjlu|  楼主 | 2013-11-6 21:19 | 只看该作者
过了好久了,忘了结帖,原因找到了,是编程口整个焊反了,也就是ICD2到目标板MCU的ICSP线接口全部反了,正确接了之后,可以成功烧写程序了,谢谢版主和各位回帖的小伙伴们。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

18

帖子

0

粉丝