admin 管理员组文章数量: 1086019
2024年4月30日发(作者:杨戬下一部是什么)
PIC单片机在线串行编程(ICSP)和低电压编程(LVP)
前言:
呵呵,不是论文。
刚开始研究PIC,因为想自己做个开发板。除了如何让板子工作外,如何下程序就最关
键了。所以搜罗了些资料,经过一番研究,终于懂得了一些,拿出来分享一下。有些前辈们
在网上早就写过的资料,摘了一些。特此感谢啊!
副言:
因为想做PIC16F877和16F887的板子,所以只对这两个做了研究,但是貌似其他的型
号的PIC单片机的在线编程和这个一样!
正文:
ICSP,全称In-Circuit Serial Programming,在线串行编程。这行英文和ICSP这四个
字母,一般使用时都带有TM标记的,也就是说,这是MICROCHIP的商标。也是MicroChip
独有的吧。呵呵!
ICSP分高电压在线串行编程(High-voltage In Circuit Serial Programing)和低电压在
线串行编程(low-voltage ICSP)两种方法。低电压编程和高电压编程只是略微有一些不同
(详见下文)。
硬件连接方式:
MicroChip的ICSP,只需要使用芯片上的5个脚就可以,其中包括VDD、VSS(GND),,
然后就是VPP编程电压和输入的数据和时钟两个脚。一般是端口B口的RB6(PGC,也叫
ICSPCLK)和RB7(PGD,也叫ICSPDAT)。
若要对芯片的Flash和其他内存等进行编程,要使单片机工作到“编程/校验模式”。编程
器可以通过以下两种方法单片机工作到“编程/校验模式”。
第一种,VPP优先,时序图如下:
说明:
首先,保持和为低电平。在此期间,先将从低电平(VIL)拉高到编程电压(VIHH,大
约13V),然后将拉高,为芯片供电。接下来,就可以通过和对芯片编程了。不管芯片内的
配置字(Configuration Word)如何配置,都可以使单片机工作到“编程校验模式”。
第二种,优先,时序图如下:
说明:这种方法在板上已经为芯片提供电源时非常有用。这样可以在不切断板上电源的
情况下对芯片进行编程。与上一种方法的区别就是:保持和为低电平的期间,将从低电平(VIL)
拉高到编程电压(VIHH,大约13V),而不必管VDD。
备注:如果芯片的配置为或,并且(具体含义见芯片数据手册),则必须使用第一种编
程方法。
好了,常规编程(即高电压编程)说的差不多了,现在说说低电压编程
高电压编程时,VPP要拉高到13V,低电压编程与高电压编程的区别是,VPP只要拉到
VDD(5V)就可以。
单片机内的配置位LVP控制是否可以使用这种编程方式。并通过RB3(PGM)引脚控制
进入和退出低电压编程模式。
LVP为1时,RB3专门用于低电压编程的控制,而不在用作普通IO口。芯片出厂时
LVP为1,芯片被擦除后,LVP的状态也是1。
LVP使能时,通过先将RB3拉到VDD,然后将VPP拉到VDD,进入低电压编程模式。
其余的的规定就与高电压编程一样了!
接下来,编程接口的设计
编程接口设计的注意事项在《PICKIT2 单片机编程用户指南》上写的很好,网上可以
下载到!俺把它给粘到这里:
在线串行编程(ICSP)需要五个信号:
•VPP——编程电压;施加此电压时,器件进入编程模式。
•ICSPCLK/PGC——编程时钟;编程器到目标器件的单向同步串行时钟线。
•ICSPDAT/PGD——编程数据;双向同步串行数据线。
•VDD——电源正电压。
•VSS——电源参考地。
但是,必须将应用电路设计为允许所有编程信号连接至PIC单片机器件,而不会干扰编
程信号。下图显示了一个典型电路,设计ICSP应用电路时,可以此电路为起点。要成功实
现ICSP编程,必须遵守以下各节中的注意事项。
1)隔离VPP/MCLR/ 端口引脚
施加VPP电压时,必须考虑到应用电路中的典型VPP电压为+12V。在下列情况下,这
可能是一个需要考虑的问题:
a)将VPP 引脚用作MCLR 引脚时
根据器件数据手册的建议,应用电路一般与一个上拉电阻/电容电路连接。注意不要使
VPP电压的变化率变慢,而使其超出编程规范中规定的上升时间(通常为1us)。如果在
MCLR引脚连接监控电路或按钮,建议使用肖特基二极管或限流电阻将它们与VPP电压隔离,
如上图所示。有关配合ICSP使用监控电路的更多信息,请参见应用笔记AN820“
System
Supervisors in ICSP™ Architectures
”(DS00820)。
b)将VPP 引脚用作I/O 端口引脚时
连接到I/O引脚的应用电路可能无法处理+12V电压。建议如图所示使用肖特基二极管
或限流电阻来隔离此电路。
2)隔离ICSPCLK/PGC 和ICSPDAT/PGD 引脚
必须将ICSPCLK/PGC和ICSPDAT/PGD引脚与应用电路隔离,以防止应用电路影响编程
信号。ICSPCLK/PGC是编程器到目标器件的单向同步串行编程时钟线。ICSPDAT/PGD是双
向同步串行编程数据线。如果设计时允许,请将这些引脚专用于ICSP。但是,如果应用电
路需要使用这些引脚,就请采用不会改变信号电平和电压变化率的方式来设计电路。根据不
同的应用,隔离电路会有所差异。图3-1显示了其中一种隔离电路,它使用串联电阻将ICSP
信号与应用电路隔离。
3)VDD
在ICSP编程过程中,必须根据器件规范对PICMCU供电。一般情况下,将PICMCU的
电源连接到应用电路的电源。应用电路可由编程器或外部电源供电。
版权声明:本文标题:PIC单片机在线串行编程(ICSP)和低电压编程(LVP) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1714466634a681416.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论