DIY编程器网

标题: 手持式单片机编程器 [打印本页]

作者: shangdawei    时间: 2017-4-9 23:04
标题: 手持式单片机编程器
本实用新型涉及一种手持式单片机编程器,包括编程器本体和编程器柄体,所述编程器本体包括稳压电路、CPU主控单元、与CPU主控单元连接的通信接口和编程接口,所述编程器柄体包括用于连接所述编程接口的插座和用于连接目标板的多根弹簧针,其中:所述编程器本体还包括口令保护模块以及加密解密模块,所述口令保护模块用于限制编程次数,所述加密解密模块用于加密和解密编程文件;所述多根弹簧针包括一根用于最先接触目标板的地线的长针。这种编程器能够加密解密编程文件和限制编程数量,编程过程中无需计算机的参与,编程接口灵活,具有多种供电方式,使用方便,适合大批量编程。

说明
手持式单片机编程器

狀舰

本实用新型涉及编程器,更具体地说,涉及一种手持式单片机(MCU) 编程器。

背暈技术

单片机以其结构简单、使用灵活、易于掌握等特点,在工业控制、消费 电子、通信等领域得到大面积的推广。但是随着单片机的大量使用,越来越 多的用户受到单片机大批量编程问题的困扰。目前单片机批量编程主要有两 种方式。 一种是离系统编程,也就是将单片机用编程器烧写好程序后再焊到 目标板上。就这种编程方法而言有如下缺点:不利于单片机程序更新;现有 编程器价格昂贵、体积庞大。另外一种是在系统编程,也就是将单片机安装 到目标板上后再编程。就这种编程方法而言也有如下缺点:编程过程中需要 计算机的参与;需要在计算机上安装专用软件;编程头结构固定,不能灵活 使用;以上缺点使得单片机量产编程极其不方便,影响产品生产进度。

实用新型内容

本实用新型要解决现有编程器批量编程不方便、体积庞大、编程过程中 需要计算机参与以及需要在计算机上安装专用软件等问题,提供一种体积 小、成本低、具有口令保护功能和加密解密功能的可独立编程的编程器。

本实用新型的技术方案是,构造一种手持式单片机编程器,包括编程器 本体和编程器柄体,所述编程器本体包括稳压电路、CPU主控单元、与CPU 主控单元连接的通信接口和编程接口 ,所述编程器柄体包括用于连接所述编 程接口的插座和用于连接目标板的多根弹簧针,其中:

所述编程器本体还包括口令保护模块以及加密解密模块,所述口令保护

模块用于限制编程次数,所述加密解密模块用于加密和解密编程文件; 所述多根弹簧针包括一根用于最先接触目标板的地线的长针。 在本实用新型中,还包括编程接口选择电路,所述编程接口选择电路与

所述编程接口配合实现编程接口类型的切换。

在本实用新型中,使用DIP拨码开关来控制所述编程接口选择电路。 在本实用新型中,所述多根弹簧针为插拔式弹簧针,可插拔成双排十针、

单排五针或单排三针。

在本实用新型中,还包括供电方式选择电路,所述供电方式选择电路与

所述稳压电路配合实现供电方式的切换。

在本实用新型中,所述稳压电路的输入端与外部电源或内部电池连接,

输出端给所述编程器本体供电。

在本实用新型中,所述稳压电路的输入端与外部电源或内部电池连接,

输出端给所述编程器本体以及目标板供电。

在本实用新型中,目标板给所述编程器本体供电。 在本实用新型中,使用DIP拨码开关来控制所述供电方式选择电路。 在本实用新型中,所述编程器本体还包括用于切换手动编程方式和自动

编程方式的编程方式选择模块。

在本实用新型中,所述编程器本体还包括与CPU主控单元连接的编程按

键和复位按键,编程按键用于手动编程,复位按键电路用于复位CPU主控单元。

在本实用新型中,所述编程器本体还包括所述编程内容选择电路,所述 编程内容包括编程目标板和擦除目标板。

在本实用新型中,使用DIP拨码开关控制所述编程内容选择电路。

在本实用新型中,所述编程器本体的编程接口连接一扁平电缆,所述扁 平电缆的另 一端用于连接所述编程器柄体的插座或者目标板。

在本实用新型中,所述编程器本体还包括用于指示编程器工作状态的指 示与告警电路,所述指示与告警电路包括两个LED灯和一个蜂鸣器,其中一 个LED灯以用于指示编程过程,另一个LED灯与蜂鸣器配合用于指示编程是

否成功。

本实用新型中,所述编程接口还包括保护电路,通过该保护电路能够实 现瞬态抑制保护和过流保护。

在本实用新型中,所述通信接口为RS232串行接口,所述CPU主控单元 采用单片机C8051F123,所述编程接口为可切换的C2/JTAG接口,所述编 程器本体通过通信接口电路与计算机连接以进行初始化。

由上述技术方案可知,本实用新型所述的编程器具有加密解密模块和口 令保护模块,能够加密解密编程文件和限制编程数量;通过编程器柄体来编 程目标板,支持多种接口的目标板;在初始化之时通过计算机的超级终端进 行,不需要在计算机上安装专用软件;在编程过程中无需计算机的参与,使 用方便,适合大批量编程。

,,月

下面将结合附图及实施例对本实用新型作进一步说明,附图中:

图1是本实用新型一个优选实施例中编程器本体的原理框图;

图2是本实用新型一个优选实施例中的编程器本体的外观示意图;

图3是与图1所示编程器本体配合的编程器柄体的原理框图;

图4是本实用新型一个优选实施例中编程器本体电路图的CPU等部分;

图5是与图4配合的编程器本体电路图的电源、开关等部分;

图6是本实用新型一个优选实施例中的编程器柄体的电路图。

麟雄讨

本实用新型的编程器包括编程器本体和编程器柄体。本实用新型的一个

优选实施例如图1至图6所示。其中,图1为编程器本体10的原理框图, 图2为编程器本体10的外观示意图,图3为编程器柄体30的原理框图。

如图1和图2所示,在编程器本体10包括稳压电路11、 CPU主控单元 12、通信接口 13、编程接口 14、供电方式选择电路15、编程接口选择电路 16、编程内容选择电路17、 口令保护模块18、加密解密模块19以及编程方 式选择模块。其中,通信接口13连接到CPU主控单元12,并与计算机进行

通信;编程接口 14连接到CPU主控单元12,形成编程接口电路;编程接口 14还包括保护电路,通过该保护电路能够实现瞬态抑制保护和过流保护; 供电方式选择电路15直接与CPU主控单元12相连,与稳压电路11配合实 现供电方式的切换;编程接口选择电路16直接与CPU主控单元12相连,与 编程接口 14配合实现编程接口类型的切换;所述编程内容选择电路17直接 与CPU主控单元12相连,用于选择编程目标板或擦除目标板;口令保护模 块18用于限制编程次数,加密解密模块19用于加密和解密编程文件;所述 编程方式选择模块直接与CPU主控单元12相连,用于切换手动编程方式和 自动编程方式。

所述"供电方式"包括:稳压电路11给编程器本体10供电,其他电源 给目标板供电;稳压电路11给编程器本体10和目标板供电;目标板给编程 器本体10供电,例如,目标板通过编程电缆或者编程器柄体给编程器本体 10供电。这样的供电方式非常灵活的适应编程现场的各种供电情况。

所述自动编程方式是将所述编程器柄体插入目标板编程孔即可实现编 程;所述手动编程方式是将编程电缆或者编程器柄体连接到目标板编程接口 后按下编程按钮实现一次编程。

在本实施例中,稳压电路ll为DC/DC+LDO的稳压电路,其输入端可 与内部电池相连,或者与外部电源连接,例如,稳压电路11的输入端可通 过9V的DC电源输入口与外部220VAC/9VDC电源适配器相连;其输出端给编 程器本体10供电,或者同时给目标板供电。CPU主控单元12采用单片机 C8051F123。通信接口 13为RS232串行接口,可用于连接计算机以进行初始 化。编程接口 14为C2/JTAG编程接口 ,可切换到C2接口或JTAG编程接口 。 编程接口 14可连接扁平电缆并通过该扁平电缆对具有相应接口的目标板进 行编程,也可以让扁平电缆的另一端连接编程器柄体30 (图3)再通过编程 器柄体30对目标板进行编程。

在本实施例中,编程器本体10可以通过RS232通信接口 13和计算机相 连,CPU主控单元12上有UART 口连接到RS232通信接口 13。在计算机上用 超级终端进入编程器初始化操作菜单对编程器初始化,不需要安装其他的专

用软件。初始化包括选择目标器件、擦除编程器数据存储空间、接收用户

HEX文件、设置编程器口令、设置编程方式(手动编程或自动编程)、联机 操作等。

口令保护模块18和加密解密模块19可通过硬件、固件或软件实现。例 如,在进行初始化之时,可在接收HEX文件一栏设置用户口令。用户在使 用编程器之时,要输入用户口令。口令保护模块18比较用户输入的口令以 及HEX文件设置的口令,如果两者一致,则认为用户是授权用户,则允许 编程器按照用户口令里面包含了编程数量、编程日期、编程器编号等信息运 行。另外,加密保密模块19用于加密和解密用户口令、编程文件等,实现 以加解密方式来传送被编程文件,以及在编程器内对文件进行加密解密操 作,增强了保密性。也就是说,通过口令保护模块18以及加密解密模块19, 可以限制了编程数量以及保密编程文件。 一些方案提供商可以利用这种特性 来保护自己的利益。

编程方式选择模块可通过硬件、或软件实现。在本实施例中,以软件的 方式实现编程方式选择模块,在编程器初始化过程中,可通过初始化菜单选 择自动编程方式或手动编程方式。

编程器本体10还包括编程按键26和复位按键电路25,如图2所示。 编程按键26和复位按键电路25直接连接到CPU主控单元12。编程按键26 用于手动编程方式,每触发一次执行一次编程操作;复位按键25用于复位 CPU主控单元12。

图2为编程器本体的外观示意图,从该图中可以看到外壳20表面设有 与内部电路连接的电源输入口21、电源开关22、 6位DIP拨码开关23、编 程按钮26、复位按钮25、 LED状态指示灯28、电源指示灯29以及报警器 24、通信接口 13和编程接口 14。其中,DIP拨码开关来23控制供电方式选 择电路15、编程接口选择电路16和编程内容选择电路17。例如,DIP拨码 开关为6位DIP拨码开关,第1和第2位设置供电方式,第5位选择目标板 接U例如C2或者JTAG接口,第3、 4位设置编程目标板或者擦除目标板, 最后一位保留位,留着将来定义。例如,可以让稳压电路11的输出端和6

位DIP拨码开关的第1位相连,实现目标板为编程器内部电路供电,即,目 标板可通过编程电缆或编程器柄体30给编程器本体10供电。

本实施例采用两个LED状态指示灯28和1个报瞀器24,其中一个LED 灯指示编程过程,在编程过程中以低于或等于10Hz的频率闪烁。另外一个 LED灯用来指示编程结果,编程成功以lHz频率闪烁,同时蜂鸣器发出连续 的两声"嘟"音;编程出错以5Hz频率闪烁,同时蜂鸣器发出一声"嘟"音 长音,持续3秒。具体实施时,可适当调整LED、蜂鸣器和按键的位置。

图3为与图1所示编程器本体配合的编程器柄体30的原理框图,从图 中可以看出,该编程器柄体30包括插座31和多根弹簧针32。插座31可以 是双排十针插座例如普通的间距为2. 54mm的十针插座,用于连接编程器本 体10的编程接口 14例如通过十针的扁平电缆连接编程接口 14。所述多根 弹簧针32可以是双排十针、单排五针或单排三针等。替换地,所述多根弹 簧针32为插拔式弹簧针,可插拔成双排十字,单排五针或单排三针编程头, 这种灵活的编程头能够编程带有双排十针接口/单排五针接口/单排三针接 口的目标板。

优选地,多根弹簧针32为长短针设计,即,具有一根用于最先接触目 标板的地线的长针。

如上所述,本实施例的编程器仅在编程前需要计算^l参与进行初始化, 一旦初始化完成,就不再需要计算机的参与。通过简单地设置拨码开关,编 程器就能独立地或者与编程器柄体配合对目标板进行自动编程或者手动编 程。

图4,图5为编程器本体的电路图,从图5中可以看出,稳压电路的 DC/DC U3输入端通过电源保险丝F4连接到9VDC电源输入口 Pl和电池 BT1的正极。DC/DC输出5V到LDO U4的输入端。LDO U4调压输出4V, 通过二极管D7降压到3.3V连接到电源开关S4,电源开关另外一端3.3V连 接到编程器内部工作电源。这样编程器可由220VAC/9VDC电源适配器供 电,也可由内部电池供电。同时,二极管D7的阴极也连接到拨码开关S2 的bitl位,通过bitl位和目标板工作电源相连。这样,通过设置拨码开关S2的bitl位可以将目标板的电源引入编程器工作电源,从而实现目标板为 编程器供电。设置拨码开关S2的bit2位到ON,表示目标板需要编程器供 电,CPU获得这个标志位,控制MOS管Ql,将编程器电源送到目标板工 作电源,从而实现编程器为目标板供电。以上就是所述编程器的供电方式。 从图5中可以看出,拨码开关除了设置供电方式外,还设置编程接口、 编程内容例如编程目标板或擦除目标板。Bit5选择编程接口, OFF为C2接 口 , ON为JTAG接口 。 CPU获得这个管脚状态后在程序选择相应的软件模 块。Bit3和bit4选择编程目标板或者擦除目标板。拨码开关的Pin8, 9, 10, 11脚连接到图4中CPU Ul的相应10 口 , CPU通过这些IO的状态执行相 应的操作。

图5中的按键S3是手动编程按键,按键变化管脚连接到图4的CPU中 的外部中断管脚。按下一次S3,在CPU上产生一次中断,执行一次编程操 作。这就是手动编程过程。手动编程或自动编程是通过计算机初始化所述编 程器时在菜单中设定的。当选择自动编程时,程序中关闭外部中断,手动变 成按键不起作用。在图4CPU轮询目标板在位信号/C20N (Pin33),如果目 标板在位则执行编程操作,否则不执行。这就是自动编程过程。

从图4中可以看出,CPU通过2线的CPUUART接口 (第54、 55管脚) 与图5中的RS232电平转换芯片U2相连,U2与标准串口插座DB9相连从 而连到计算机的串口,在计算机上通过超级终端对所述编程器进行初始化。

从图4中可以看出,其中有3个LED指示灯和蜂鸣器U30。 D9是工作 电源指示灯,打开图5中电源开关S4, D9灯亮表示系统工作电源正常,熄 灭表示系统电源不正常。Dll为编程过程指示灯,在编程过程中,此灯以低 于或等于10Hz的频率快速闪烁,如果此灯熄灭,则表示编程过程出错,编 程成功此灯常亮;D5为编程结果指示灯,编程过程中此灯常亮,编程成功, 此灯以lHz频率闪烁,编程出错,此灯以5Hz的频率闪烁。蜂鸣器U30用 声音来指示编程结果。编程成功,蜂鸣器发出连续的两声"嘟"音;编程出 错蜂鸣器发出一声"嘟"音长音,持续3秒。通过声、光两种方式来指示编 程状态和编程结果的方式,既简单,又明晰。从图4中可以看出,有一个复位按键S1,按下S1,可以对CPU复位,

这样可以恢复不可预知的情况引起的编程器异常。

从图4中可以看出,所述编程器的主控CPU为C8051F123 Ul。 C8051F123有丰富的IO 口,内部有多达128KB的Flash Memory,其系统工 作频率可以到达100MIPS。CPU通过I0 口连接到外围电路,获取拨码设置、 控制供电方式、连接RS232通信接口电路、连接编程接口电路,实现编程 器所有功能的核心控制。

从图4中可以看出,双排十针插座JP3即为编程接口。 JP3上定义了标 准的JTAG信号和C2信号,另外有电源线和地线,所述编程器就是通过这 个接口连接到目标板完成编程工作。标准JTAG信号和C2信号是由CPU的 10 口 (第33, 34, 35, 36, 37脚)提供。其中JP3的第3脚上信号为在位 信号,在目标板上此信号接地。CPU通过33脚检测这个信号判断目标板是 否在位,在自动编程方式中,CPU也是通过轮询这个信号来实现自动编程 操作。另外,JP3连接的所有信号都通过线路保险丝、瞬态抑制二极管和限 幅二极管对编程接口实现保护。这样,编程口上的过流过压信号不至于对主 控CPU造成损害。

双排十针插座JP3可接十针的扁平电缆,电缆的另一端可接具有相应接 口的目标板或者连接编程器手柄的插座。

另外,在图4,图5所述的编程器本体的软件设计中,对编程器的操作 设计了口令保护以及加密解密保护。具体说来就是,用户将编程器连接到计 算机的超级终端,通过超级终端上的菜单选项对编程器进行初始化设置。初 始化包括选择目标器件,擦除编程器Flash空间、接收用户HEX文件、联 机编程等操作。其中,在接收HEX文件-—栏设置了用户口令,用户必须输 入正确的口令才能将HEX文件接收到编程器中。口令保护模块可用于判断 用户输入的口令是否正确。用户口令里面包含了编程数量、编程日期、编程

器编号等信息。也就是说,每台编程器上的口令是唯--的,并且编程器只接 收最新的口令,同时,通过口令限制了编程数量。--些方案提供商可以利用 编程器的这种加密特性来保护自己的利益。加密保密保护模块用于加密解密用户口令、被编程文件等,增加了保密性。

图6为与所述编程器配合的编程器柄体的原理图。插座31为一个普通 双排十针插座,通过十针扁平电缆连接到所述编程器编程接口 (图4中的 JP3): Jl为双排十针可插拔弹簧针。Jl上的弹簧针第3脚为长针,连接到 目标板的地线,这样保证连接目标板时地信号先连接以实现热插拔。弹簧针 可以拆卸变成单排五针(留下l, 3, 5, 7, 9针)和单排三针(留下l, 3, 5针)。单排五针和单排三针用于编程C2接口目标板,因为C2接口只有时 钟和数据两根线。单排五针和单排三针的设计可以节省目标板的PCB空间。 弹簧针除了可插拔组成灵活的编程头以外,它的另外一大优点是用户握住编 程器柄体顶在目标板编程孔上就可以实现自动编程。
作者: shangdawei    时间: 2017-4-9 23:37
CN201060402Y.手持式单片机编程器 .pdf (841.64 KB, 下载次数: 0)




作者: 喜欢电台    时间: 2017-4-10 17:48
好的资料 要好好学习一下




欢迎光临 DIY编程器网 (http://diybcq.com./) Powered by Discuz! X3.2