一种实用的PIC编程嚣的设计方法
发布时间:2008/5/27 0:00:00 访问次数:580
    
    
    来源:单片机及嵌入式系统应用 作者:武汉理工大学 廖传书 程鑫
    
    摘要 介绍一种简便实用的pic编程器实现方案。设计思想是:以单片机作为主控机,欲写入的pic程序代码存放在主控机中,由主控机提供pic芯片编程所需信号,并监测整个编程流程。在时钟脉冲信号作用下,把代码写入pic的flash中以达到对芯片编程的目的。该方案可以在脱离pc的环境下运行,适用于对批量的pic芯片进行编程。
    
    关键词 piclof202 串行编程 89c51
    
    随着工业生产的扩大,存在着对同一型号芯片进行相同代码编程的需要。目前采用的编程方式是通过专用的编程器来执行,其编程过程离不开pc机。在对一定批量的芯片编程时,操作比较烦琐,保密性能差,且难以在工业现场进行。
    本编程器设计简单,操作方便,保密性好,易携带,需要的外部设备少。编程器以piclof202为例进行设计。piclof2xx系列是microchip公司生产的低功耗,高性能flash单片机。其封装小,易于使用,成本低。性能稳定,在通用电子设计中被广泛使用。本设计的基本思想适用于其他类型的单片机。
    
    1 picl0f2xx的存储结构及编程方法
    1.1 存储空间映射
    以picl0f202为例,其内部程序存储空间映射如下:
    0000h~0lffh是用户可以使用的代码存储空间,0200h~03ffh是系统的配置空间。其中01ffh单元是复位向量,系统复位后程序指针pc将指向此地址单元。0200h~0203h是用户id信息存储区间。0204h地址单元存放的是备份的osccal值,被预留用来测试内部晶振,因此该值在任何情况下都不应该被更改。一旦被擦除,必须恢复该值,否则芯片不能正常工作。03ff地址单元存放系统的配置字,其他地址单元系统保留。
    
    1.2 芯片编程方法
    采用串行在线编程的方式,串行时钟信号由主控单元的i/o口发出,从pic的时钟引脚isclk输入。在串行时钟信号作用下,串行数据从数据引脚isdat输入/输出,完成对芯片的flash的代码写入。
    只有在进入编程模式后,piclof202才能允许对其存储空间的操作,如图l所示。当保持isdat(串行数据输入端)和isclk(串行时钟输入端)为低电平时,vcc(芯片电源)上升到高电平。经tl延时,mclr(编程模式选择端)上升到高电平,再经t2延时,开始时钟脉冲和数据的输入/输出。此时piclof202进入编程模式。
    
    
    2 系统硬件结构
    系统逻辑框图如图2所示,由主控机、控制模块、监控显示模块和目标芯片组成。主控机选用89c51单片机,用单片机的2个i/o口分别提供isdat和isclk信号;目标芯片即pic。pic的mclr端为编程模式选择端。为了让pic10f202能够进入编程状态,需要由控制模块实现对mclr端的电平控制。监控显示模块用于指示目前系统的工作状态和监控系统运行。
    
    
    2.1 控制模块的实现
    为了实现控制模块对mclr端的电平控制,使用2个晶体管t1、t2,如图3所示。当单片机i/o口为高电位时,t1导通,其发射级为低电位,t2导通,于是电源vpp与pic的mclr端接通;当i/o口为低电位时,t1截止,其发射级为高电位,t2截止,vpp和mclr端之间断开。
    
    
    2.2 监控显示模块
    采用一组发光二极管来显示系统状态和编程结果。系统的工作状态包括:目标芯片检测、就绪等待、编程进行中、代码校验等。系统在就绪等待状态下,就绪状态灯亮,主控机监控按键指令;接到指令后即进入编程状态,同时编程灯亮,编程后执行校验,校验完成后结束灯亮,说明完成整个缩程工作。整个编程过程中,若遇到故障,相应故障灯显示。
    
    3 系统软件设计
    3.1 数据(命令)输入方法
    无论是指令还是需要写入的
    
    
    来源:单片机及嵌入式系统应用 作者:武汉理工大学 廖传书 程鑫
    
    摘要 介绍一种简便实用的pic编程器实现方案。设计思想是:以单片机作为主控机,欲写入的pic程序代码存放在主控机中,由主控机提供pic芯片编程所需信号,并监测整个编程流程。在时钟脉冲信号作用下,把代码写入pic的flash中以达到对芯片编程的目的。该方案可以在脱离pc的环境下运行,适用于对批量的pic芯片进行编程。
    
    关键词 piclof202 串行编程 89c51
    
    随着工业生产的扩大,存在着对同一型号芯片进行相同代码编程的需要。目前采用的编程方式是通过专用的编程器来执行,其编程过程离不开pc机。在对一定批量的芯片编程时,操作比较烦琐,保密性能差,且难以在工业现场进行。
    本编程器设计简单,操作方便,保密性好,易携带,需要的外部设备少。编程器以piclof202为例进行设计。piclof2xx系列是microchip公司生产的低功耗,高性能flash单片机。其封装小,易于使用,成本低。性能稳定,在通用电子设计中被广泛使用。本设计的基本思想适用于其他类型的单片机。
    
    1 picl0f2xx的存储结构及编程方法
    1.1 存储空间映射
    以picl0f202为例,其内部程序存储空间映射如下:
    0000h~0lffh是用户可以使用的代码存储空间,0200h~03ffh是系统的配置空间。其中01ffh单元是复位向量,系统复位后程序指针pc将指向此地址单元。0200h~0203h是用户id信息存储区间。0204h地址单元存放的是备份的osccal值,被预留用来测试内部晶振,因此该值在任何情况下都不应该被更改。一旦被擦除,必须恢复该值,否则芯片不能正常工作。03ff地址单元存放系统的配置字,其他地址单元系统保留。
    
    1.2 芯片编程方法
    采用串行在线编程的方式,串行时钟信号由主控单元的i/o口发出,从pic的时钟引脚isclk输入。在串行时钟信号作用下,串行数据从数据引脚isdat输入/输出,完成对芯片的flash的代码写入。
    只有在进入编程模式后,piclof202才能允许对其存储空间的操作,如图l所示。当保持isdat(串行数据输入端)和isclk(串行时钟输入端)为低电平时,vcc(芯片电源)上升到高电平。经tl延时,mclr(编程模式选择端)上升到高电平,再经t2延时,开始时钟脉冲和数据的输入/输出。此时piclof202进入编程模式。
    
    
    2 系统硬件结构
    系统逻辑框图如图2所示,由主控机、控制模块、监控显示模块和目标芯片组成。主控机选用89c51单片机,用单片机的2个i/o口分别提供isdat和isclk信号;目标芯片即pic。pic的mclr端为编程模式选择端。为了让pic10f202能够进入编程状态,需要由控制模块实现对mclr端的电平控制。监控显示模块用于指示目前系统的工作状态和监控系统运行。
    
    
    2.1 控制模块的实现
    为了实现控制模块对mclr端的电平控制,使用2个晶体管t1、t2,如图3所示。当单片机i/o口为高电位时,t1导通,其发射级为低电位,t2导通,于是电源vpp与pic的mclr端接通;当i/o口为低电位时,t1截止,其发射级为高电位,t2截止,vpp和mclr端之间断开。
    
    
    2.2 监控显示模块
    采用一组发光二极管来显示系统状态和编程结果。系统的工作状态包括:目标芯片检测、就绪等待、编程进行中、代码校验等。系统在就绪等待状态下,就绪状态灯亮,主控机监控按键指令;接到指令后即进入编程状态,同时编程灯亮,编程后执行校验,校验完成后结束灯亮,说明完成整个缩程工作。整个编程过程中,若遇到故障,相应故障灯显示。
    
    3 系统软件设计
    3.1 数据(命令)输入方法
    无论是指令还是需要写入的
上一篇:恢复交流稳压电源的设计