历史上的今天
今天是:2025年02月07日(星期五)
2020年02月07日 | 如何实现PIC18F4550的ICSP连接电路
2020-02-07 来源:elecfans
ICSP(In-Circuit Serial Programming)即在线串行编程,通过保持RB6和RB7引脚为低电平,VDD 为编程电压,并将MCLR(VPP)引脚电压从VIL增加到VIHH,器件便进入编程/校验模式。此时,RB6为编程时钟线,RB7为编程数据线。在该模式下,RB6和RB7都是施密特触发器输入,当RB7驱动数据时,它是CMOS输出驱动。
复位后,为使器件进入编程/校验模式,程序计数器(PC)指向00h地址。然后可向器件发送一个6位的命令,根据这一命令是装入还是读出,14位编程数据将被提供给器件或是从器件中读出。但是在线串行编程模式下,看门狗定时器电路不能产生器件复位。
硬件电路
在线串行编程电路应该注意以下问题:
1) MCLR/VPP引脚与电路其它部分相隔离
通常设计中MCLR/VPP引脚与RC电路相连,上拉电阻接VDD,电容接地。VPP电压必须与电路的其它部分隔离,根据电容器的大小,RC电路可能影响ICSP的操作。因此当RC电路与MCLR/VPP相连时,可以使用了肖特基型二极管来隔离电路。当对PICmicro ? 单片机编程时,MCLR/VPP引脚将被同时驱动至大约13V,因此应用电路必须与编程器提供的编程电压隔离。
2) RB6和RB7的负载
RB6和RB7引脚用于PICmicro?单片机的串行编程。RB6是时钟线,RB7是数据线。RB6由编程器驱动,RB7是双向引脚,编程时由编程器驱动,校验时由PICmicro?单片机驱动。这两个引脚必须与电路的其它部分隔离,从而在编程时不会对信号产生影响。将RB6和RB7与电路其它部分隔离时必须考虑编程器的输出阻抗。隔离电路必须使RB6能够作为PICmicro?单片机的输入,而RB7能够作为双向引脚(PICmicro? 单片机和编程器都能驱动它)。
3) VDD、MCLR/VPP、RB6和RB7引脚的电容问题
编程引脚的总电容将影响编程器输出信号的上升速率。典型电路中,一般在VDD和地之间接有几百微法的滤波电容以抑制噪声和电源电压波动。但是这种电容需要编程器必须具有相当强的驱动能力,才能满足VDD上升速率的要求。大多数编程器只能对PICmicro?单片机进行编程,而不能驱动整个应用电路。一种解决方案是在编程器和应用电路之间加一块驱动电路板。驱动电路板有独立的电源,应该满足VPP和VDD引脚电压上升速率的要求,并可为整个应用电路供电。RB6和RB7是否需要缓冲取决于具体的应用。
4) VDD的最小和最大工作电压
Microchip 编程规范规定器件应在5V电压下编程。如果应用电路只能在3V电压下工作,那么需要一些特殊的措施。例如在编程时将PICmicro?单片机与其它应用电路完全隔离。另一个问题是,必须在应用电路的最小和最大工作电压下对器件进行校验。例如,在一个使用三个1.5V电池供电的系统中,其工作电压范围是2.7V到4.5V。而编程器必须在5V电压下对器件进行编程,并且必须在2.7V和4.5V电压下对程序存储器进行校验,以确保编程正确。这样可以保证PICmicro? 单片机在整个工作电压范围内都能正常工作。
5) PICmicro?单片机的振荡器
PIC单片机在代码执行前振荡器上电延迟定时器要等候1024个振荡周期。RC振荡器不需要上电延迟时间,因此不使用上电延迟定时器。编程器必须在RC振荡器振荡4次之前,令MCLR/VPP达到进入编程模式所需的电压。如果RC振荡器振荡了4次或4次以上,程序计数器将会增加到一个不确定的值X。如果这时器件进入编程模式,程序计数器不为零,编程器将从偏移量X开始烧写代码。有一些方法可以弥补MCLR/VPP的低上升速率问题。第一种方法是先不接RC振荡器的电阻,对器件编程后再接入R电阻。另一种方法是在编程时用编程接口将 PICmicro? 的OSC1引脚短接到地,这样在编程期间便不会产生振荡。
综合考虑以上情况,使用最简方式实现PIC18F4550的ICSP连接电路。在电路中,增加了由RD0和RD1口驱动的发光二极管,由此来验证烧写电路是否能够正常工作。

对于ICSP接口与PIKkit? 3连接的如下图所示,必须使PIKkit? 3与ICSP的引脚对应。

PIC单片机在线串行编程(ICSP)的实现
上一篇:PIC单片机的应用技巧介绍
史海拾趣
|
为了促进大家对模拟电路的学习和提升,模拟板块准备开始一系列的DIY活动,以上的的5个题目供大家来选择,可以选择多个,也可以选择一个,根据大家的投票会决定先开始某一个的DIY,当然如果大家觉得有必要,我们也可以一个一个得来DIY。大家还有什么 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 据外电报道,美国亚马逊公司近日宣布,该公司6月适用于电子书阅读器KINDLE的电子书销量达到了纸质图书的1.8倍。 亚马逊没有透露具体销量。4~6月的电子图书销量为纸质图书的1.4倍。今年上半年 ...… 查看全部问答> |
|
vmware上运行vxworks,按网上说的做,>make CPU="PENTIUM" tool="gnu" ln97xe 提示make 不是内部或外部命令 而在path里,已经添加了make的位置了啊:\\Tornado\\target\\config\\82559? 把makefile ln97xEnd.c拷贝到\\Tornado\\target\\config\\82559文件夹下,make,又提示vxrm不是。。。… 查看全部问答> |
|
一个基于无线局域网的远程控制系统项目,欢迎个人、团队参与,详细情况请参见以下说明 项目说明: 该项目由个人操作终端和远程接收控制终端构成,可利用ARM7或ARM9在linux下完成。 要求: 该项目要求开发者(或团队)熟悉ARM CPU, 熟悉无 ...… 查看全部问答> |
|
向老师请教: 在2407中实现卷积的计算,用到了乘法器,指令是MAC。 其中相乘的两个数据一个是小数0.4830,一个是整数34 在汇编语言编写时,我将小数写成Q8格式:4830*256/10000;整数写成0022h。不理解的是,两个数是怎么相乘的?是不是DSP会将0 ...… 查看全部问答> |




