欢迎来到天天文库
浏览记录
ID:15799302
大小:96.00 KB
页数:4页
时间:2018-08-05
《pic单片机在线串行编程(icsp)和低电压编程(lvp)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、PIC单片机在线串行编程(ICSP)和低电压编程(LVP)前言:呵呵,不是论文。 刚开始研究PIC,因为想自己做个开发板。除了如何让板子工作外,如何下程序就最关键了。所以搜罗了些资料,经过一番研究,终于懂得了一些,拿出来分享一下。有些前辈们在网上早就写过的资料,摘了一些。特此感谢啊! 副言: 因为想做PIC16F877和16F887的板子,所以只对这两个做了研究,但是貌似其他的型号的PIC单片机的在线编程和这个一样! 正文: ICSP,全称In-CircuitSerialP
2、rogramming,在线串行编程。这行英文和ICSP这四个字母,一般使用时都带有TM标记的,也就是说,这是MICROCHIP的商标。也是MicroChip独有的吧。呵呵! ICSP分高电压在线串行编程(High-voltageInCircuitSerialPrograming)和低电压在线串行编程(low-voltageICSP)两种方法。低电压编程和高电压编程只是略微有一些不同(详见下文)。 硬件连接方式: MicroChip的ICSP,只需要使用芯片上的5个脚就可以,其中包括
3、VDD、VSS(GND),,然后就是VPP编程电压和输入的数据和时钟两个脚。一般是端口B口的RB6(PGC,也叫ICSPCLK)和RB7(PGD,也叫ICSPDAT)。 若要对芯片的Flash和其他内存等进行编程,要使单片机工作到“编程/校验模式”。编程器可以通过以下两种方法单片机工作到“编程/校验模式”。 第一种,VPP优先,时序图如下: 说明: 首先,保持和为低电平。在此期间,先将从低电平(VIL)拉高到编程电压(VIHH,大约13V),然后将拉高,为芯片供电。接下来,就可以通过
4、和对芯片编程了。不管芯片内的配置字(ConfigurationWord)如何配置,都可以使单片机工作到“编程校验模式”。 第二种,优先,时序图如下: 说明:这种方法在板上已经为芯片提供电源时非常有用。这样可以在不切断板上电源的情况下对芯片进行编程。与上一种方法的区别就是:保持和为低电平的期间,将从低电平(VIL)拉高到编程电压(VIHH,大约13V),而不必管VDD。 备注:如果芯片的配置为或,并且(具体含义见芯片数据手册),则必须使用第一种编程方法。 好了,常规编程(即高电压编程)说的差不多了
5、,现在说说低电压编程 高电压编程时,VPP要拉高到13V,低电压编程与高电压编程的区别是,VPP只要拉到VDD(5V)就可以。 单片机内的配置位LVP控制是否可以使用这种编程方式。并通过RB3(PGM)引脚控制进入和退出低电压编程模式。 LVP为1时,RB3专门用于低电压编程的控制,而不在用作普通IO口。芯片出厂时LVP为1,芯片被擦除后,LVP的状态也是1。 LVP使能时,通过先将RB3拉到VDD,然后将VPP拉到VDD,进入低电压编程模式。其余的的规定就与高电压
6、编程一样了! 接下来,编程接口的设计 编程接口设计的注意事项在《PICKIT2单片机编程用户指南》上写的很好,网上可以下载到!俺把它给粘到这里: 在线串行编程(ICSP)需要五个信号: •VPP——编程电压;施加此电压时,器件进入编程模式。 •ICSPCLK/PGC——编程时钟;编程器到目标器件的单向同步串行时钟线。 •ICSPDAT/PGD——编程数据;双向同步串行数据线。 •VDD——电源正电压。 •VSS——电源参考地。 但是,必须将应用电路设计
7、为允许所有编程信号连接至PIC单片机器件,而不会干扰编程信号。下图显示了一个典型电路,设计ICSP应用电路时,可以此电路为起点。要成功实现ICSP编程,必须遵守以下各节中的注意事项。 1)隔离VPP/MCLR/ 端口引脚 施加VPP电压时,必须考虑到应用电路中的典型VPP电压为+12V。在下列情况下,这可能是一个需要考虑的问题: a)将VPP 引脚用作MCLR 引脚时 根据器件数据手册的建议,应用电路一般与一个上拉电阻/电容电路连接。注意不要使VPP电压的变化率变慢,
8、而使其超出编程规范中规定的上升时间(通常为1us)。如果在MCLR引脚连接监控电路或按钮,建议使用肖特基二极管或限流电阻将它们与VPP电压隔离,如上图所示。有关配合ICSP使用监控电路的更多信息,请参见应用笔记AN820“SystemSupervisorsinICSP™Architectures”(DS00820)。 b)将VPP 引脚用作I/O 端口引脚时 连接到I/O
此文档下载收益归作者所有