微控制器编程系统及方法

文档序号:6783575阅读:151来源:国知局
专利名称:微控制器编程系统及方法
技术领域
本发明涉及一种微控制器的编程系统和方法,尤其是一种能对微控制器进行升级
编程的系统和方法。
背景技术
微控制器因为成本越来越低,而性能越来越强大,使得它的应用已经无处不在,广 泛应用于工控、消费类电子、汽车等各个领域。在电机控制、条码阅读器/扫描器、消费类电 子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、 微波炉)等领域。 随着产品功能的改进,往往要对微控制器进行升级,这时需要把重新编程好的程 序,例如HEX(十六进制)程序代码,烧写到微控制器内的存储器中。现有的编程设备,如图 5所示,编程器50分别连接PC机40和微控制器(MCU) 60,先操作PC机将HEX程序代码存 储到编程器的存储器中,然后操作编程器将HEX程序代码烧写到微控制器中。
从现有的烧写过程可以看出,如果直接将HEX程序代码交给用户自行烧写,则不 能控制用户对程序的非法复制,即会产生盗版问题。即便将HEX程序代码进行加密并对烧 写次数进行限制再传送给用户,用户也可以在HEX程序代码的烧写次数达到上限值之后, 重新将HEX程序代码再存储到编程器中,即可再次烧写,从而轻易地避开该加密和次数限 制手段,达到无限制烧写的目的。为此,现在的做法只能由微控制器的生产厂家的技术人 员,自行携带软件和编程设备到达用户处,进行现场烧写,不让用户直接接触到HEX程序代 码,以避免发生非法复制的情形。 但是,这样的方式需要技术人员到达现场,大大增加了生产厂商的差旅成本,在需 要服务的客户很多的情况下,也会耽误升级时间,造成客户的使用不便。

发明内容
为此,本发明的所要解决的技术问题在于提供一种微控制器编程系统,其能让用 户自行进行烧写以节省成本,同时对烧写次数进行控制,避免用户非法复制和无限制地烧写。 为了达成上述目的,本发明提供了一种微控制器的编程系统,包括服务器端,用 于将数据代码文件加密并且传输该已加密的数据代码文件;可与所述服务器端远程连接的 客户端,所述客户端可与所述服务器端通信;以及可与所述客户端本地连接的编程器,所述 编程器经由所述客户端接收并储存所述已加密数据代码文件,并且当允许烧写次数值大于 零时,所述编程器可将所述已加密的数据代码文件解密并将还原后的数据代码文件写入微 控制器中,并在成功烧写一次后,将所述允许烧写次数值减去一作为更新后的允许烧写次 数值记录在所述编程器中。 较佳地,上述编程器还包括控制模块以及与控制模块相连的存储器,所述接收到 的已加密数据代码文件储存在所述存储器中,所述控制模块包括主芯片;解密模块,用于解
4密接收到的已加密数据代码文件;烧写模块,用于将根据预设的参数将还原后的数据代码 文件烧写到微控制器中;以及记录判断模块,用于根据允许烧写次数值来判断是否允许解 密模块和烧写模块进行操作,并用于记录更新的允许烧写次数值。 较佳地,上述记录判断模块,还用于记录所述已加密数据代码文件的接收完成时 间,并根据从接收完成时间起到当前时间是否达到预设的烧写有效期来判断是否允许进行 解密模块和烧写模块进行操作。 较佳地,上述编程器还包括用于与所述客户端连接的传输接口,以及用于与所述 微处理器连接的烧写接口。 较佳地,上述服务器端和所述客户端均为PC机,两者通过网络进行远程连接并通 信;所述网络为互联网。 较佳地,所述允许烧写次数值包括在所述加密数据代码文件中或者预先设置在所 述编程器的记录判断模块中。 较佳地,所述烧写有效期包括在所述加密数据代码文件中或者预先设置在所述编 程器的记录判断模块中。 本发明所要解决的另一技术问题在于提供一种能让用户自行进行烧写以节省成 本,同时对烧写次数进行控制,避免用户非法复制和无限制地烧写的微控制器编程方法。
为此,本发明提供了一种微控制器的编程方法,包括远程连接服务器端和客户 端,使得所述服务器端和客户端之间建立通信;本地连接所述客户端和编程器;在服务器 端对数据代码文件进行加密和传输;将所述已加密数据代码文件经由所述客户端储存到所 述编程器中;连接所述编程器和待烧写的微处理器;以及判断所述编程器的允许烧写次数 值是否大于零,若所述允许烧写次数值大于零,则允许所述编程器操作,以将所述已加密的 数据代码文件解密并将还原后的数据代码文件写入微控制器中,并在烧写成功一次之后将 允许烧写次数值减去一作为更新的允许烧写次数记录到所述编程器中;若允许烧写次数值 小于等于零,则不允许进行上述操作。 较佳地,上述的微控制器编程方法,还包括判断从所述已加密数据代码文件的接
收完成时间起到当前时间是否达到预设烧写有效期,若未达到所述预设有效期,则允许所
述编程器进行操作;若已达到所述预设有效期,则不允许所述编程器进行操作。 较佳地,上述微控制器编程方法中,所述允许烧写次数值包括在所述加密数据文
件中或者预先设置在所述编程器中。 较佳地,上述微控制器编程方法中,所述烧写有效期包括在所述加密数据文件中 或者预先设置在所述编程器中。 通过采用上述的微控制器的编程系统和方法之后,可以在生产厂商的控制下,让 客户自行对微控制器进行升级烧写,生产厂商不必再派出技术人员到现场进行服务,大大 节省了差旅成本。另外,因为所传输的升级程序文件是进行了加密处理和次数限制并直接 存储到编程器中的,客户无法自行提取该升级程序进行非法复制;同时也不能对升级程序 进行无限制的复制。


图1为本发明的微控制器编程系统的结构示意 图2为本发明的微控制器编程方法的流程图; 图3为本发明的微控制器编程系统中编程器的模块图; 图4为本发明的另一实施例的编程方法的流程图; 图5为现有技术的微控制器编程系统示意图。
具体实施例方式
图1所示,为本发明的微控制器编程系统的结构示意图。该微控制器的编程系统 包括服务器端1、客户端2和编程器3。服务器端1与客户端2为远程连接并且可进行通 信,客户端2与编程器3为本地连接且也可进行通信。在一实施例中,该服务器端1与客户 端2可以是PC机,通过互联网实现远程连接;客户端2与编程器3之间通过USB接口实现 本地连接。但本发明对此并不作限制,也可采用本领域技术人员熟知的其他连接手段,例 如,通过局域网、无线网络等实现服务器端1与客户端2的远程连接;或者通过其他接口例 如串行口、并行口等实现客户端2与编程器3之间的本地连接。此外,编程器3与微控制器 4连接进行烧写。 本发明编程方法的一个实施例如图2所示,对微控制器4烧写之前,服务器端1将 需要烧写到目标设备(即微控制器)中的HEX代码文件进行数据加密并加入允许烧写的次 数值N(例如N二 100,即表示该编程器最多可以烧写100台微控制器);该加密后数据文件 按照预定的协议通过客户端2传输并保存到编程器3中。 编程器3保存好加密数据文件之后,可解除与客户端2的本地连接,再与待烧写的 微控制器4连接,进行实际的烧写。烧写前,需先判断允许烧写次数值N是否小于等于零。 若N小于等于零,则不允许进行烧写;若N大于零,则允许进行烧写。这样可以防止编程器 无限制地进行烧写,达到控制非法复制的目的。 烧写过程中,编程器3先将HEX代码文件解密,将解密还原后的HEX代码文件写入 到微控制器4中。烧写成功一次后,将允许烧写次数值N减去l,并将该更新后的值N记录 下来,为是否允许下一次烧写提供判断依据。 本发明编程器3的模块示意图如图3所示,其包括控制模块31、分别与该控制模块 31相连的存储器32、烧写接口 33和传输接口 34。编程器3通过烧写接口 33与微控制器4 连接,通过传输接口 34与作为客户端2的PC机相连。通过客户端2下载的加密HEX代码 文件保存在存储器32中。其中,所述存储器32可以是Flash存储器,烧写接口 33可为普 通的16芯接口,传输接口 34可为USB接口。 控制模块31包括一个主芯片310,该主芯片可采用单片机,例如NEC16位单片机, 也可采用本领域技术人员所熟知的其他芯片,本发明对此不作限制。控制模块31还包括解 密模块311,用于解密下载的加密HEX代码文件;烧写模块312,用于将根据预设的参数将还 原后的HEX代码文件通过烧写接口 33烧写到微控制器4中;以及记录判断模块313,用于 根据允许烧写次数值N来控制解密模块311和烧写模块312的操作。S卩,当允许烧写次数 值N大于零时,允许解密模块311和烧写模块312进行操作,并用于记录更新后的实际烧写 次数;若允许烧写次数值小于等于零时,则不允许解密模块和烧写模块进行操作。
在另一较佳实施例中,所述记录判断模块31还可以通过时间参数来控制解密模 块311和烧写模块312的操作。S卩,上述已加密数据代码文件中还可加入预设烧写有效期
6T。例如,T = 30天,表示从数据文件接收完成起30天内允许进行烧写,超过30天,则数据代码文件失效,即便上述允许烧写限制值N大于零,也不允许烧写。 该实施例的流程图如图4所示,其大部分步骤与图2所示的实施例相同,不同之处在于,加密文件时除了加入允许烧写次数限制值N之外,还加入了有效期T ;在判断允许烧写次数值的步骤之后,再进行判断有效期T的步骤。S卩,在允许烧写次数N大于零的前提下,将当前时间与有效期T进行比较,未超出有效期T时,可以进行上述的烧写操作;超出有效期T时,则不允许进行烧写。这样可以进一步防止非法复制。 在另一实施例中,上述判断允许烧写次数值的步骤可以在判断有效期T的步骤之
后,换言之,可以先判断是否超出有效期,再判断允许烧写次数N是否大于零。 为了实现图4所示实施例中的时间控制功能,图3所示的控制模块31中还需包括
时钟(图中未示),用于记录时间,以便判断当前时间是否超出有效期T。 作为本发明的另外实施方式,上述的允许烧写次数限制值N和有效期T可以预先
设置在编程器3中,而不必通过加密数据文件一起传输到编程器3。
权利要求
一种微控制器的编程系统,其特征在于,包括服务器端,用于将数据代码文件加密并且传输该已加密的数据代码文件;可与所述服务器端远程连接的客户端,所述客户端可与所述服务器端通信;以及可与所述客户端本地连接的编程器,所述编程器经由所述客户端接收并储存所述已加密数据代码文件,并且当允许烧写次数值大于零时,所述编程器可将所述已加密的数据代码文件解密并将还原后的数据代码文件写入微控制器中,并在成功烧写一次后,将所述允许烧写次数值减去一作为更新后的允许烧写次数值记录在所述编程器中。
2. 根据权利要求l所述的编程系统,其特征在于,所述编程器包括控制模块以及与控 制模块相连的存储器,所述接收到的已加密数据代码文件储存在所述存储器中,所述控制 模块包括主芯片;解密模块,用于解密接收到的已加密数据代码文件;烧写模块,用于将根 据预设的参数将还原后的数据代码文件烧写到微控制器中;以及记录判断模块,用于根据 允许烧写次数值来判断是否允许解密模块和烧写模块进行操作,并用于记录更新的允许烧 写次数值。
3. 根据权利要求2所述的编程系统,其特征在于,所述记录判断模块,还用于记录所述 已加密数据代码文件的接收完成时间,并根据从接收完成时间起到当前时间是否达到预设 的烧写有效期来判断是否允许进行解密模块和烧写模块进行操作。
4. 根据权利要求2或3所述的编程系统,其特征在于,所述编程器还包括用于与所述客 户端连接的传输接口 ,以及用于与所述微处理器连接的烧写接口 。
5. 根据权利要求1 、2或3所述的编程系统,其特征在于,所述服务器端和所述客户端均 为PC机,两者通过网络进行远程连接并通信。
6. 根据权利要求5所述的编程系统,其特征在于,所述网络为互联网。
7. 根据权利要求1 、2或3所述的编程系统,其特征在于,所述允许烧写次数值包括在所 述加密数据代码文件中。
8. 根据权利要求1 、2或3所述的编程系统,其特征在于,所述允许烧写次数值预先设置 在所述编程器的记录判断模块中。
9. 根据权利要求3所述的编程系统,其特征在于,所述烧写有效期包括在所述加密数 据代码文件中。
10. 根据权利要求3所述的编程系统,其特征在于,所述烧写有效期预先设置在所述编 程器的记录判断模块中。
11. 一种微控制器的编程方法,其特征在于,包括远程连接服务器端和客户端,使得所述服务器端和客户端之间建立通信; 本地连接所述客户端和编程器; 在服务器端对数据代码文件进行加密和传输;将所述已加密数据代码文件经由所述客户端储存到所述编程器中; 连接所述编程器和待烧写的微处理器;以及判断所述编程器的允许烧写次数值是否大于零,若所述允许烧写次数值大于零,则允 许所述编程器操作,以将所述已加密的数据代码文件解密并将还原后的数据代码文件写入 微控制器中,并在烧写成功一次之后将允许烧写次数值减去一作为更新的允许烧写次数记 录到所述编程器中;若允许烧写次数值小于等于零,则不允许进行上述操作。
12. 根据权利要求11所述的微控制器编程方法,其特征在于,还包括 判断从所述已加密数据代码文件的接收完成时间起到当前时间是否达到预设烧写有效期,若未达到所述预设有效期,则允许所述编程器进行操作;若已达到所述预设有效期, 则不允许所述编程器进行操作。
13. 根据权利要求10或11所述的微控制器编程方法,其特征在于,所述允许烧写次数 值包括在所述加密数据文件中。
14. 根据权利要求10或11所述的微控制器编程方法,其特征在于,所述允许烧写次数 值预先设置在所述编程器中。
15. 根据权利要求11所述的微控制器编程方法,其特征在于,所述烧写有效期包括在 所述加密数据文件中。
16. 根据权利要求11所述的微控制器编程方法,其特征在于,所述烧写有效期预先设 置在所述编程器中。
全文摘要
本发明涉及一种微控制器的编程系统,其包括服务器端,用于将数据代码文件加密并且传输该已加密的数据代码文件;可与所述服务器端远程连接的客户端,所述客户端可与所述服务器端通信;以及可与所述客户端本地连接的编程器,所述编程器经由所述客户端接收并储存所述已加密数据代码文件,并且当允许烧写次数值大于零时,编程器可将已加密的数据代码文件解密并将还原后的数据代码文件写入微控制器中,并在成功烧写一次后,将允许烧写次数值减去一作为更新后的允许烧写次数值记录在编程器中。本发明能让用户自行进行烧写以节省成本,同时对烧写次数进行控制,避免用户非法复制和无限制地烧写。
文档编号G11C7/00GK101763886SQ200910253718
公开日2010年6月30日 申请日期2009年12月10日 优先权日2009年12月10日
发明者张中其, 秦铭远, 苑维旺, 陆迪付 申请人:上海格州电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1