一种8031系列MCU在线下载模块及实现方法与流程

文档序号:12664216阅读:263来源:国知局

本发明涉及一种生产厂商没有提供内置在线下载功能的8031系列MCU在线下载模块及实现方法,属于处理器应用开发领域。



背景技术:

在嵌入式系统中,在线下载技术应用越来越广。在应用程序开发、调试、修改及产品生产、更新等过程中,需频繁将程序写入器件。传统的8031系列MCU没有提供内置在线下载/编程功能。传统的做法是将程序存储器解焊拿到编程器上烧写,操作繁琐复杂,不仅增加了人工和时间成本,尤其对于贴片封装以及解焊极易出现损伤的器件来说,更是容易造成物力财力的浪费,特别是针对当前系统微型化趋势,传统的8031系列MCU程序下载方法,阻碍了产品的微型化发展和批量产品的在线升级。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种8031系列MCU在线下载模块及实现方法,操作简单有效,可避免程序存储器件的损伤,降低成本,有利于产品的微型化和批量产品的在线升级。

本发明的技术解决方案是:一种8031系列MCU在线下载模块,包括ISP接口配置模块、数据存储器和程序存储器;

8031系列MCU通过总线与数据存储器和程序存储器连接;

所述ISP接口配置模块包括非门N1、非门N2、或门OR1、或门OR2以及一个与门AND;其中非门N1的输出端与8031系列MCU的EA管脚连接,非门N1的输入端与外部电平连接;8031系列MCU的管脚同时与数据存储器的管脚以及或门OR1的一个输入端连接,8031系列MCU的管脚同时与数据存储器的管脚以及或门OR2的一个输入端连接,或门OR1的另一个输入端以及或门OR2的另一个输入端同时与非门N1的输入端连接,或门OR1的输出端与程序存储器的管脚连接,或门OR2的输出端与与门AND的一个输入端连接,与门AND的另一个输入端与8031系列MCU的PSEN管脚连接,与门AND的输出端与程序存储器的管脚连接;非门N1的输入端与非门N2的输入端连接,非门N2的输出端与数据存储器的管脚连接。

所述数据存储器和程序存储器的存储空间均不大于64K。

利用所述在线下载模块实现8031系列MCU在线下载的方法,包括如下步骤:

(1)外部电平向非门N1的输入端输入低电平,使数据存储器无效,程序存储器读管脚和写管脚有效;

(2)使用烧写器将驻留监控模块预先存储在程序存储空间中;

(3)8031系列MCU通过串口接收PC机发送的待下载程序,通过总线转发给驻留监控模块,驻留监控模块接收并解析待下载程序,将解析后的程序存储在程序存储器相应的地址;

(4)外部电平向非门N1的输入端输入高电平,使数据存储器有效,完成8031系列MCU的在线下载。

所述步骤(3)中驻留监控模块对解析后的待下载程序进行校验,如果校验结果有误,则不存储该程序且向8031系列MCU返回错误信号,8031系列MCU接收错误信号后,向驻留监控模块重新发送该程序;否则,向8031系列MCU返回正确信号,将解析后的程序存储在程序存储器相应的地址。

所述驻留监控模块包括主控制子模块、输入输出接口子模块、HEX文件处理子模块以及编程子模块;

所述主控制子模块负责进行驻留监控模块初始化,设置8031系列MCU和PC机之间的串行口工作方式;

输入输出接口子模块采用Xmodem串口通信协议接收8031系列MCU转发的程序,将来自HEX文件监视模块的正确信号或错误信号返回给8031系列MCU;

HEX文件处理模块包括HEX文件监视模块和HEX文件解码模块,HEX文件解码模块对接收到的程序进行解包,得到数据长度和待下载程序数据,将待下载程序数据按字节转换为十六进制或二进制文件,将数据长度发送给HEX文件监视模块,将十六进制或二进制文件发送给编程子模块;

HEX文件监视模块统计HEX文件接收缓冲区接收到的数据长度,与来自HEX文件解码模块的数据长度对比,如果两者一致,则向输入输出接口子模块发送正确信号;如果两者不一致,则向输入输出接口子模块发送错误信号;编程子模块在每次下载前,对程序存储器的存储单元进行擦除,然后将来自HEX文件处理模块的十六进制或二进制文件写入程序存储器的存储单元。

本发明与现有技术相比的优点在于:本发明突破8031系列MCU生产厂商没有提供内置在线下载功能,以及该系列芯片内部资源过少的瓶颈,引入了ISP接口配置模块和驻留监控模块,实现在线下载,与传统8031系列MCU需要将存储器件解焊拿到编程器上烧写相比,本发明操作简单有效,可避免存储器件的损伤,降低成本,有利于产品的微型化和批量产品的在线升级。

附图说明

图1为本发明在线下载模块示意图。

具体实施方式

如图1所示,本发明提出一种8031系列MCU在线下载模块,包括ISP接口配置模块、数据存储器和程序存储器。8031系列MCU通过总线与数据存储器和程序存储器连接。ISP接口配置模块包括非门N1、非门N2、或门OR1、或门OR2以及一个与门AND,其中非门N1的输出端与8031系列MCU的EA管脚连接,非门N1的输入端与外部电平连接,8031系列MCU的管脚同时与数据存储器的管脚以及或门OR1的一个输入端连接,8031系列MCU的管脚同时与数据存储器的管脚以及或门OR2的一个输入端连接,或门OR1的另一个输入端以及或门OR2的另一个输入端同时与非门N1的输入端连接,或门OR1的输出端与程序存储器的管脚连接,或门OR2的输出端与与门AND的一个输入端连接,与门AND的另一个输入端与8031系列MCU的PSEN管脚连接,与门AND的输出端与程序存储器的管脚连接;非门N1的输入端与非门N2的输入端连接,非门N2的输出端与数据存储器的管脚连接。

程序存储器(EEPROM或FLASH)的存储空间不大于64K,数据存储器(SRAM)的存储空间不大于64K。

本发明通过ISP接口配置模块实现在线下载模式和用户运行模式的有效切换,通过对数据存储器的控制端电平进行控制,禁止对其进行操作,实现在线下载模式,外部程序存储器被映射到外部数据存储空间,从而使程序存储器在驻留监控模块的控制下接收来自MCU的新代码或数据。在线下载完毕后,通过改变程序存储器和数据存储器的控制电平,将程序存储器恢复映射到程序存储空间,进入用户运行模式。

本发明实现在线下载的方法如下:

(1)外部电平向非门N1的输入端输入低电平,使数据存储器无效,程序存储器读管脚和写管脚有效。

(2)使用烧写器将驻留监控模块预先存储在程序存储空间中。

驻留监控模块包括主控制子模块、输入输出接口子模块、HEX文件处理子模块以及编程子模块。主控制子模块负责进行驻留监控模块初始化,设置8031系列MCU和PC机之间的串行口工作方式,包括波特率、数据位、校验方式、串口号(如波特率115200bps、数据位为把8位、奇校验、串口号为1)。输入输出接口子模块采用Xmodem串口通信协议接收8031系列MCU转发的程序,将来自HEX文件监视模块的正确信号或错误信号返回给8031系列MCU。

HEX文件处理模块包括HEX文件监视模块和HEX文件解码模块,HEX文件解码模块对接收到的程序进行解包,得到当前待下载程序的数据长度和待下载程序数据,将待下载程序数据按字节转换为十六进制或二进制文件,将数据长度发送给HEX文件监视模块,将十六进制或二进制文件发送给编程子模块。

HEX文件监视模块在当前程序传送结束时,统计HEX文件接收缓冲区接收到的数据长度,与来自HEX文件解码模块的数据长度对比,如果两者一致,则向输入输出接口子模块发送正确信号;如果两者不一致,则向输入输出接口子模块发送错误信号。

具体算法:识别文件的数据起始标志后,对接收到的HEX文件进行长度累加统计,记为CK_L,直到文件结束;来自HEX文件解码模块的数据长度为文件中记录的有效数据长度。二者进行比较,返回正确或错误信息。

编程子模块在每次下载前,对程序存储器的存储单元进行擦除,然后将来自HEX文件处理模块的十六进制或二进制文件写入程序存储器的存储单元。

(3)8031系列MCU在驻留监控模块作用下通过串口接收PC机发送的待下载程序,通过总线转发给驻留监控模块,驻留监控模块接收并解析待下载程序,对解析后的待下载程序进行校验,如果校验结果有误,则不存储该程序且向8031系列MCU返回错误信号,8031系列MCU接收错误信号后,向驻留监控模块重新发送该程序;否则,向8031系列MCU返回正确信号,将解析后的程序存储在程序存储器相应的地址。

(4)外部电平向非门N1的输入端输入高电平,使数据存储器有效,完成8031系列MCU的在线下载,进入用户运行模式(MCU向数据存储器发送数据,进行程序计算等操作)。

本发明能够实现程序直接下载,操作简单有效,可避免程序存储器件的损伤,可有效节省人力、物力、时间成本,能够有效提高生产率,有利于产品的微型化和批量产品的在线升级。

本发明未详细阐述部分属于本领域公知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1