一种变波特率的单片机现场升级方法与装置制造方法及图纸

技术编号:2841490 阅读:226 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种单片机现场升级方法及其装置。目的是提供一种变波特率方式的ISP装置并通过该装置对待升级单片机进行ISP操作。本装置由计算机、串口电平转换、变波特率单片机和目标系统中的单片机组成。主要步骤:控制单片机接收来自计算机高端ISP软件的单片机代码,同时通过串口发送一个固定数给待升级单片机,待升级单片机回送所收到的字符。控制单片机据此不断调整波特率,直到两个单片机之间的波特率匹配为止。然后把升级代码发送到待升级单片机串口,完成ISP在线烧写功能。本发明专利技术仅使用少量资源,就可以完成可靠的ISP功能,解决单片机工作在低频条件下导致的波特率太低而出现的常规ISP失败现象。

【技术实现步骤摘要】

本专利技术涉及微处理器
,尤其涉及单片机在线升级方法。
技术介绍
自单片机诞生以来,因其具有体积小、功能强大、开发方便等优点,易于实现初步的数据处理、良好的人机界面以及远程通讯等功能而得到了广泛应用。但随着IT技术发展和市场竞争的加剧,利用单片机开发出的各类仪表系统面临着产品生命周期更短、对产品进行设计复用的要求更强以及可重配置及现场升级性能等需求压力更大。进入新世纪后,需求推动着单片机的蓬勃发展,许多公司如Philips、Microchip等纷纷推出了各有特色的单片机,如高速、Flash ROM化、JTAG接口以及网络化接入技术等,其中ISP/IAP(In-SystemProgram/In-Application Program)更是得到了广泛应用。ISP编程模式是利用单片机的串行接口,在用户设计的目标系统或印刷电路板上对单片机进行编程,从而对仪表系统进行现场升级或功能重构,避免频繁插拔芯片,方便了系统特别是在现场的升级和维护。通常情况下,典型的ISP控制是通过调用芯片的IAP服务子程序实现编程的。ISP控制软件在单片机上电复位时发送一定的时序控制进入ISP操作,也可以通过程序中设计一定的条件进入ISP操作。为了在较宽系统工作频率下都能进行ISP操作,单片机ISP功能的串口通讯采用自动波特率的方式进行的,只要系统的振荡频率足够高,待编程单片机的波特率就可以适应ISP编程器的通讯波特率。仅需一个串行接口的高性能、微功耗51内核单片机在线ISP功能对于应用于全密闭三表(电表、水表、气表)行业的系统维护提供了很大的方便。但是当单片机设置在低功耗、WDT振荡器模式时,由于WDT振荡频率只有400kHz,频率比较低,而现有的ISP编程软件的最低通讯波特率为2400,其结果就是不支持现有的ISP操作。主要原因就是待升级单片机的波特率和ISP下载线的通讯波特率误差比较大,导致通讯出错,单片机和计算机之间无法建立正确的连接。在三表领域的实际应用中,单片机通常设置为内部WDT振荡器模式时,以达到低功耗的目的。在这种情况下,现有的ISP编程器和编程软件无法和待编程单片机建立联接,导致了在需要更新系统程序时不得不将芯片从电路板上焊下来,用专用的烧写器烧写芯片程序。
技术实现思路
本专利技术的目的是提供一种变波特率方式的ISP装置并通过变波特率方式进行现场升级的方法,从而可以有效地克服由于晶振频率低而出现的通讯失败导致无法ISP的缺陷。为实现本专利技术的目的采用以下技术方案和步骤。变波特率方式的ISP装置由计算机、串口电平转换、变波特率单片机和目标系统中的单片机组成。其中计算机高端ISP控制软件通过串口电平转换模块和变波特率单片机相连,控制把待升级单片机的程序代码通过串口发送到变波特率单片机。变波特率单片机的串口与待ISP的单片机的串口相连接,同时控制其复位端和电源。现场升级的方法1)本专利技术装置中的单片机模拟生成ISP时序,控制待ISP单片机进入现场编程状态。2)ISP升级的单片机进入编程状态后,首先通过串口向主控单片机发送一个固定的数据值,十六进制数55H。3)本专利技术装置中的单片机收到待ISP升级的单片机送来固定十六进制数0x55,对应于0x55数据的串行波形为01010101,即为占空比为50%的方波。主控单片机测量获得高电平和低电平脉冲宽度后,就可以据此计算得到待升级单片机串口的波特率。4)在第3步执行正确后,启动接收来自计算机串口的ISP单片机软件代码,并把这个代码数据流发送给待ISP升级的单片机,从而实现变波特率ISP升级。由于本专利技术采用了上述技术方案和步骤,使本专利技术与现有技术相比,有效克服了由于波特率误差导致的ISP失败问题,具有简单实用的优点。附图说明图1是本专利技术所述的变波特率方式的ISP装置示意图。图2是本专利技术所述的变波特率方式ISP装置的一个实例原理图。图3是本专利技术所述的变波特率方式ISP流程图。图1中计算机高端ISP控制软件(1)通过串口电平转换模块(2)和变波特率单片机(3)相连,控制把待升级单片机的程序代码通过串口发送到变波特率单片机。变波特率单片机(3)与待ISP的单片机系统(4)连接。图2中,主控单片机为PIC16F873(U1)的第21脚连接到电阻R1的一端,该电阻的另一端连接到发光二极管D1;第22脚连接到电阻R2的一端,该电阻的另一端连接到发光二极管D2;第23脚连接到电阻R3的一端,该电阻的另一端连接到发光二极管D3。U1的第15脚通过电阻R4连接到三极管Q1的基极。U1的第16脚连接到电阻R5,第17脚连接到电阻R6,第18脚连接到电阻R7。U1的第9、10脚分别连接到晶振Y1的两端,同时并联接到电容C1、C2,C1、C2的另一端连接到地。具体实施例方式为了便于对本专利技术进一步理解,现结合图3所述的流程,对变波特率的现场ISP升级方法做具体实施过程描述。实施过程包括以下步骤步骤301系统启动开始,初始化相关资源。步骤302模拟产生单片机ISP所需要的时序,控制待升级单片机进入ISP程序烧写模式,随后设置定时器,准备测量串口接收高低电平脉宽。步骤303待升级单片机发送一个固定十六进制数0x55,控制主机测量获得其高低电平脉冲宽度,据此计算得到待升级单片机的波特率。步骤304根据步骤303计算得到的波特率,设置本机串口通讯的波特率,然后发送固定十六进制数0x55。步骤305控制单片机等待接收待升级单片机回送的数据0x55,接收完成后,判断是否和之前发送的数据是否相等,如果相等,说明两个单片机的波特率匹配,否则,两者的波特率不匹配,还需要继续调整波特率,跳转到步骤302,重复寻找待升级单片机的波特率。步骤306串口发送待升级单片机软件代码到待升级单片机,开始ISP烧写程序操作。步骤307等待待升级单片机回送ISP成功标识,如果成功,执行步骤308,否则执行步骤309。步骤308ISP操作成功,控制对应LED亮,提示成功。步骤309ISP失败,判断重复ISP烧写次数是否到指定次数,如果未到,则执行步骤306,继续执行ISP烧写。否则执行步骤310,控制对应LED亮,提示ISP烧写失败。步骤310控制对应LED亮,提示ISP升级烧写程序失败。步骤311程序结束,退出。本文档来自技高网
...

【技术保护点】
一种变波特率的单片机现场升级装置,其特征是装置由计算机1、串口电平转换2、变波特率单片机3和目标系统中的单片机4组成。

【技术特征摘要】
CN 2005-12-14 20051013372101.一种变波特率的单片机现场升级装置,其特征是装置由计算机1、串口电平转换2、变波特率单片机3和目标系统中的单片机4组成。2.按照权利要求1所述的变波特率单片机现场升级装置,其特征是所述的单片机由两个组成,其中一个单片机是本装置的控制核心,另一个是待升级的目标单片机。3.按照权利要求1所述的变波特率单片机现场升级装置,其特征是装置中的单片机模拟产生ISP时序。4.按照权利要求1所述的变波特率单片机现场升级装置,其特征是装置中的单片机控制待升级单片机的电源,配合产生ISP时序。5.按照权利要求1所述的变波特率单片机现场升级装置,其特征是装...

【专利技术属性】
技术研发人员:吴允平李汪彪蔡声镇吴进营苏伟达
申请(专利权)人:福建师范大学
类型:发明
国别省市:35[中国|福建]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1