微控制单元设备的制作方法

文档序号:22096856发布日期:2020-09-04 12:30阅读:131来源:国知局
微控制单元设备的制作方法

【技术领域】

本实用新型属于微控制单元设备领域,尤其涉及一种微控制单元设备。



背景技术:

现有的一种升级微控制单元(microcontrollerunit,mcu)设备固件方式,将微控制单元设备的主存储区划分为引导加载程序(bootloader)区和应用程序(app)区,其中,bootloader区用于存放bootloader的代码,bootloader代码完成的主要功能为:微控制单元设备上电后,首先运行bootloader程序,检测是否有计算机设备与微控制单元设备建立连接,若有,微控制单元设备判断与之连接的计算机设备中是否包含更新微控制单元设备的固件升级程序文件,包含则更新并跳转到app区;如果不包含,则直接跳转到app区执行主程序代码。

微控制单元设备在主存储区中存储bootloader代码,并且通过运行bootloader代码实现微控制单元设备升级固件,在用户通过计算机设备对微控制单元进行固件程序升级时,对主存储区进行的读写和擦除,容易误操作,破坏甚至擦除了bootloader代码,导致无法执行bootloader代码,固件程序升级失败。



技术实现要素:

本实用新型的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本实用新型而了解。本实用新型的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

本实用新型实施例提供了一种微控制单元设备,用以解决目前在对微控制单元设备的主存储区进行读写和擦除,容易误操作,破坏甚至擦除bootloader程序代码,导致固件程序出现升级失败的问题。

针对上述问题,本实用新型提供了一种微控制单元设备,包括:控制模块、外部接口模块和存储模块;

其中,所述控制模块与所述存储模块连接,以及,所述控制模块和所述外部接口模块连接,所述控制模块用于对所述存储模块和所述外部接口模块的功能进行控制;

所述外部接口模块,用于与计算机设备进行通信,进行数据的发送和接收,其中,所述外部接口模块包括接口单元和目标协议处理单元,所述接口单元用于与所述计算机设备进行连接,所述协议处理单元用于对通过所述外部接口模块连接的所述计算机设备与所述微控制单元设备之间传递的数据进行基于目标协议的数据处理,其中,所述目标协议包括hid协议、spi协议和i2c协议的至少一种;

所述存储模块包括用户存储单元和系统存储单元,其中,用户存储单元用于存储从所述计算机设备获取的固件升级程序,所述系统存储单元用于存储外部接口配置程序,其中,所述外部接口配置程序用于对所述外部接口模块进行配置和启动,使所述外部接口能够通过所述目标协议与所述计算机设备进行通信。

示例性地,所述外部接口模块包括:usb接口、spi接口、i2c接口中的至少一种。

示例性地,在所述外部接口模块包括所述usb接口时,所述接口单元包括usb接口子单元,所述目标协议处理单元包括hid协议处理子单元,所述外部接口配置程序包括hid接口配置程序;

其中,所述usb接口子单元用于与所述计算机设备进行连接,所述hid协议处理子单元用于对通过所述usb接口连接的所述计算机设备与所述微控制单元设备之间传递的数据进行基于hid协议的数据处理,所述hid配置程序用于对所述usb接口进行配置和启动,使所述微控制单元设备能够通过所述hid协议与所述计算机设备进行通信。

示例性地,在所述外部接口模块包括所述usb接口时,所述外部接口模块还包括uart接口,所述目标协议还包括uart协议;

所述uart接口与所述控制模块连接,用于连接所述微控制单元与所述计算机设备,所述外部接口配置程序还包括uart接口配置程序,所述uart接口配置程序用于对所述uart接口进行配置和启动,使所述微控制单元设备能够通过所述uart协议与所述计算机设备进行通信;

其中,所述计算机设备根据所述微控制单元设备的标识符确定所述计算机设备和所述微控制单元设备物理连接时所述微控制单元设备的外部接口模块,当所述外部接口模块为所述usb接口时,所述计算机设备将固件升级请求根据所述hid协议,通过所述usb接口发送到所述微控制单元设备;当所述外部接口模块为所述uart接口时,所述计算机设备将固件升级请求根据所述uart协议,通过所述uart接口发送到所述微控制单元设备;其中,在所述计算机设备接收到微控制单元设备的响应后,所述计算机设备将所述固件升级程序通过所述usb接口和/或所述uart接口发送给所述微控制单元设备。

示例性地,在所述外部接口模块包括所述spi接口时,所述接口单元包括spi接口子单元,所述目标协议处理单元包括spi协议处理子单元,所述外部接口配置程序包括spi接口配置程序;

其中,所述spi接口与所述控制模块相连;

所述spi接口子单元用于与所述计算机设备进行连接,所述spi协议处理子单元用于对通过所述spi接口连接的所述计算机设备与所述微控制单元设备之间传递的数据进行基于spi协议的数据处理;

所述spi接口配置程序用于对所述spi接口进行配置和启动,当所述微控制单元设备上电后,所述微控制单元设备将从所述系统存储单元启动,运行系统存储单元中的spi接口配置程序,对所述spi接口进行配置和启动,将所述spi接口配置为spi接口类型,使所述微控制单元设备能够通过所述spi协议与所述计算机设备进行通信。

示例性地,在所述外部接口模块包括所述i2c接口时,所述接口单元包括i2c接口子单元,所述目标协议处理单元包括i2c协议处理子单元,所述外部接口配置程序包括i2c接口配置程序;

所述i2c接口子单元用于与所述计算机设备进行连接,所述i2c协议处理子单元用于对通过所述i2c接口连接的所述计算机设备与所述微控制单元设备之间传递的数据进行基于i2c协议的数据处理;

所述i2c接口配置程序用于对所述i2c接口进行配置和启动,当所述微控制单元设备上电后,所述微控制单元设备将从所述系统存储单元启动,运行系统存储单元中的i2c接口配置程序,对所述i2c接口进行配置和启动,将所述i2c接口配置为i2c接口类型,使所述微控制单元设备能够通过所述i2c协议与所述计算机设备进行通信。

示例性地,微控制单元设备还包括:启动模式选择模块,用于选择确定所述微控制单元设备复位后的启动区域。

示例性地,微控制单元设备还包括:启动模式选择按键,和/或,跳线,和/或,触摸显示屏,其中,在选择启动模式时,所述按键、所述跳线和所述触摸显示屏中的任意一种用于选择启动模式。

本实用新型提供的微控制单元设备,采用控制模块、外部接口模块和存储模块的结构,其中,控制模块与存储模块连接,以及,控制模块和外部接口模块连接,控制模块用于对存储模块和外部接口模块的功能进行控制;外部接口模块,用于与计算机设备进行通信,进行数据的发送和接收,其中,外部接口模块包括接口单元和目标协议处理单元,接口单元用于与计算机设备进行连接,协议处理单元用于对通过外部接口模块连接的计算机设备与微控制单元设备之间传递的数据进行基于目标协议的数据处理,其中,目标协议包括hid协议、spi协议和i2c协议的至少一种;存储模块包括用户存储单元和系统存储单元,其中,用户存储单元用于存储从计算机设备获取的固件升级程序,系统存储单元用于存储外部接口配置程序,其中,外部接口配置程序用于对外部接口模块进行配置和启动,使外部接口能够通过目标协议与计算机设备进行通信。采用该结构能够将外部接口配置程序和从计算机设备获取的固件升级程序分隔开来,从而有效防止固件程序升级失败的情况,实现固件升级的正常进行。此外,该结构在采用hid协议实现计算机设备与微控制单元设备之间数据传递时,计算机设备无需借助转接器或预先安装驱动程序,便可实现微控制单元设备固件程序的升级。

【附图说明】

附图用来提供对本实用新型的进一步理解,并且构成说明书的一部分,与本实用新型的实施例共同用于解释本实用新型,并不构成对本实用新型的限制。

在附图中:

图1为本实用新型所提供的一种微控制单元设备1的结构示意图;

图2为本实用新型实所提供的usb接口的结构示意图;

图3为本实用新型实所提供的另一种微控制单元设备2的结构示意图;

图4为本实用新型实所提供的另一种微控制单元设备2的固件升级的方法流程图。

【具体实施方式】

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示针对于前述提及的技术问题。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

如图1所示,微控制单元设备1包括控制模块、usb接口和存储模块。

控制模块,与存储模块、usb接口分别连接,对微控制单元设备1的usb接口和存储模块的功能进行控制。

usb接口,如图2所示,包括usb接口子单元和hid协议处理子单元。hid协议子处理单元适用于与具有以下操作系统的计算机设备进行通信:windows10、windows8、windows7、windowsxp、linux等。其中,在上述的windows版本中内置有hid设备的驱动程序,计算机设备可以直接运行这些驱动程序来与具备hid协议处理子单元微控制单元设备1进行直接通信,无需要下载任何驱动程序,操作方便,能够实现微控制单元设备1固件程序的升级。

存储模块,包括用户存储单元和系统存储单元。用户存储单元用于存储从计算机设备获取的固件升级程序;系统存储单元,用于存储hid接口配置程序,该hid接口配置程序能够对usb接口进行配置和启动,将usb接口配置为hid类型的通信接口,使微控制单元设备1能够根据hid协议,通过usb接口子单元与计算机设备进行通信。其中,用户存储单元的数据可以由用户进行读、写和擦除操作,而系统存储单元的数据则是由微控制单元设备厂商在微控制单元设备生产过程中使用专用的工具进行读、写和擦除操作,用户无法访问系统存储单元的数据。

可以理解地,本实施例中将hid接口配置程序单独存储在独立的系统存储单元,在微控制单元设备从计算机设备获取固件升级程序后进行的读写和擦除等操作,不会破坏hid接口配置程序(其作用包括bootloader程序实现的功能),从而保证固件程序能够成功升级。此外,计算机设备通过hid协议可以直接与微控制单元设备1进行通信,无需要下载任何驱动程序,操作方便,能够实现微控制单元设备1固件程序的升级。

微控制单元设备1固件升级的方法包括:

301:将微控制单元设备1和计算机设备物理连接,微控制单元设备1上电,计算机设备上电。

302:微控制单元设备1从系统存储单元启动,然后执行hid接口配置程序,对usb接口进行配置,将usb接口配置为hid类型的通信接口,使微控制单元设备1能够根据通过hid协议的方式与计算机设备进行通信。

在一实施例中,微控制单元设备1还包括启动模式选择模块,用于选择确定微控制单元设备1复位后的启动区域。

在一实施例中,微控制单元设备1的启动模式有三种,在系统复位后,系统时钟的第4个上升沿,boot引脚的值将被锁存。用户可以通过设置boot1和boot0引脚的状态,来选择在复位后的启动模式。

在一实施例中,微控制单元设备1的三种启动模式具体为:当启动模式引脚boot0和boot1设置为0x,则用户存储单元被选为启动区域;当启动模式引脚boot0和boot1设置为10,则系统存储单元被选为启动区域;当启动模式引脚boot0和boot1设置为11,则微控制单元设备1内置的静态随机存取存储器(staticrandom-accessmemory,sram)被选为启动区域。

在一实施例中,将boot1和boot0选择为10,使得微控制单元设备1在复位后从系统的存储单元启动。

在一实施例中,微控制单位设备还包括启动模式选择按键,和/或,跳线,和/或,触摸显示屏。

可选地,用户可以通过在微控制单元设备1上设置的启动模式选择按键进行选择。

可选地,用户可以通过在微控制单元设备1上设置跳线的方式进行选择。

可选地,用户还可以通过在微控制单元设备1上设置触摸显示屏的方式进行选择。

进一步地,当微控制单元设备1上电后,用户在微控制单元设备1上选择启动模式,控制模块识别启动模式选择信号,控制微控制单元设备1根据启动模式选择结果运行对应存储单元的程序进行微控制单元设备1的启动。

可以理解地,在系统存储单元中存储了hid接口配置程序,当微控制单元设备上电后,微控制单元设备1的控制模块根据启动模式启动,如果启动模式选择引脚信号为10,则控制模块控制从存储模块的系统存储单元启动,执行存储在系统存储单元的hid接口配置程序,对usb接口进行配置,将usb接口配置为hid类型的通信接口,使微控制单元设备1能够通过hid协议的方式与计算机设备进行通信。

303:计算机设备与微控制单元设备1进行握手交互。

当微控制单元设备1与计算机设备通过usb接口进行物理连接,并且在系统存储单元启动,执行hid接口配置程序,对usb接口进行hid接口配置后,计算机设备可以识别微控制单元设备1的usb接口,并且将usb接口枚举为hid接口设备类型,将固件升级请求根据hid协议的方式通过usb接口发送到微控制单元设备1。微控制单元设备1则响应计算机设备的固件升级请求。

304:计算机设备通过usb接口向微控制单元设备1发送固件升级程序文件。

计算机设备接收到微控制单元设备1的响应后,将固件升级程序文件通过usb接口发送给微控制单元设备1,微控制单元设备1的控制模块监视usb接口,接收固件升级程序文件。

305:微控制单元设备1的控制模块将固件升级程序写入用户存储单元实现固件程序升级。

在一实施例中,微控制单元设备1将接收到的固件升级程序以文件形式写入用户存储单元。

可以理解地,在步骤s301-s305中,微控制单元设备1在实现固件升级的过程中仅擦除了用户存储单元的原固件升级程序文件,而不会对存储在系统存储单元中的hid接口配置程序进行更改,从而保证微控制单元设备在更新时固件程序能够成功、安全升级。此外,微控制单元设备1通过采用hid协议实现计算机设备与微控制单元设备1之间数据的传递。计算机设备无需借助转接器或预先安装驱动程序,便可实现微控制单元设备1固件程序的升级。

本方案的另一实施例中,如图3所示,微控制单元设备2包括控制模块、存储模块、usb接口和uart接口。

控制模块,与存储模块、usb接口和uart接口分别连接,对储存模块、usb接口和uart接口的功能进行控制。

usb接口,如图2所示,包括usb接口子单元和hid协议处理子单元。hid协议处理子单元适用于与具有以下至少一种操作系统的计算机设备进行通信:windows10、windows8、windows7、windowsxp、linux等。其中,在上述的windows版本中内置有hid设备的驱动程序,计算机设备可以直接使用这些驱动程序来与具备hid协议处理子单元微控制单元设备2进行直接通信。通过与具备hid协议处理子单元的微控制单元设备2进行通信,计算机设备不需要下载任何驱动程序,操作方便。

uart接口,用于微控制单元设备2与计算机设备进行通信,计算机设备需要安装uart驱动程序。

存储模块,包括主存储单元和系统存储单元。主存储单元用于从计算机获取的固件升级程序;系统存储单元,用于存储hid接口配置程序和uart接口配置程序,分别用于对usb接口和uart接口进行配置和启动,分别使微控制单元设备2通过usb接口和/或uart接口与计算机设备进行通信。

可以理解地,微控制单元设备2可以同时包括usb接口和uart接口,微控制单元设备2可以通过hid协议和/或uart协议与计算机设备进行通信,其中,在采用hid协议进行通信时,计算机设备无需预先按照驱动程序,可实现微控制单元设备2固件程序的升级。

图4为微控制单元设备2固件升级的方法流程图,操作主体为微控制单元设备2。

501:将微控制单元设备2和计算机设备物理连接,微控制单元设备2上电,计算机设备上电。

502:微控制单元设备2从系统存储单元启动,然后执行hid接口配置程序和uart接口配置程序,对usb接口和uart接口进行配置,使微控制单元设备2能够通过hid接口或uart接口与计算机设备进行通信。

在一实施例中,微控制单元设备2的启动模式有三种,在系统复位后,系统时钟的第4个上升沿,boot引脚的值将被锁存。用户可以通过设置boot1和boot0引脚的状态,来选择在复位后的启动模式。

在一实施例中,微控制单元设备2的三种启动模式具体为:当启动模式引脚boot0和boot1设置为0x,则用户存储单元被选为启动区域;当启动模式引脚boot0和boot1设置为10,则系统存储单元被选为启动区域;当启动模式引脚boot0和boot1设置为11,则微控制单元设备2内置的静态随机存取存储器(staticrandom-accessmemory,sram)被选为启动区域。

在一实施例中,微控制单位设备2还包括启动模式选择按键,和/或,跳线,和/或,触摸显示屏。

可选地,用户可以通过在微控制单元设备2上设置的启动模式选择按键进行选择。

可选地,用户可以通过在微控制单元设备2上设置跳线的方式进行选择。

可选地,用户还可以通过在微控制单元设备2上设置触摸显示屏的方式进行选择。

进一步地,当微控制单元设备2上电后,控制模块识别启动模式选择信号,控制微控制单元设备2根据启动模式选择结果运行对应存储单元的程序进行启动。

在一实施例中,将boot1和boot0选择为10,使得微控制单元设备2在复位后从系统的存储单元启动。

在系统存储单元中存储了hid接口配置程序和uart接口配置程序,当微控制单元设备2上电后,微控制单元设备2的控制模块读取启动模式选择引脚的信号,如果启动模式选择引脚信号为10,则控制模块控制从存储模块的系统存储单元启动,执行存储在系统存储单元的hid接口配置程序和uart接口配置程序,对usb接口和uart接口进行配置。

503:计算机设备与微控制单元设备2进行握手交互。

当微控制单元设备2与计算机设备进行物理连接后,并且在系统存储单元启动,执行hid接口配置程序和uart接口配置程序,对usb接口和uart接口进行配置后,计算机设备根据设备标识符识别与之物理连接的微控制单元设备2的接口,如果识别是usb接口连接,则将固件升级请求根据hid协议的方式通过usb接口发送到微控制单元设备2;如果识别是uart接口连接,则将固件升级请求通过uart接口发送到微控制单元设备2。微控制单元设备2则响应计算机设备的固件升级请求。

504:计算机设备通过usb接口和/或uart接口向微控制单元设备2发送固件升级程序文件。

计算机设备接收到微控制单元设备2的响应后,将固件升级程序文件通过usb接口和/或uart接口发送给微控制单元设备2,微控制单元设备2的控制模块监视usb接口和uart接口,接收固件升级程序文件。

505:微控制单元设备2的控制模块将固件升级程序写入用户存储单元区实现固件程序升级。

在一实施例中微控制单元设备2将固件升级程序以文件形式写入用户存储单元。

可以理解地,在步骤s501-s505中,微控制单元设备1在实现固件升级的过程中仅擦除了用户存储单元的原固件升级程序文件,而不会对存储在系统存储单元中的hid接口配置程序和uart接口配置程序进行更改,从而保证微控制单元设备在更新过程中固件程序能够成功升级。此外,微控制单元设备2通过采用hid协议和/或uart协议实现计算机设备与微控制单元设备2之间数据的传递。计算机在包括hid接口配置程序时,可以将usb接口配置为hid接口类型,在uart接口无法与计算机设备进行通信时,微控制单元设备2无需使用usb转uart转接器或安装uart驱动程序,便可实现微控制单元设备2固件程序的升级。

可选地,计算机设备还可以通过spi(serialperipheralinterface)接口与微控制单元设备进行通信,具体可采用4线spi总线模式。计算机设备通过spi接口与微控制单元设备进行通信时,上述微控制单元设备包括spi接口。该spi接口包括spi接口子单元和spi协议处理子单元,微控制单元设备的系统存储单元中存储spi接口配置程序。

进一步地,当微控制单元设备上电后,从系统存储单元启动,运行系统存储单元中的spi接口配置程序,对spi接口进行配置和启动,将spi接口配置为spi接口类型,使微控制单元设备能够通过spi协议与计算机设备进行通信。可以理解地,微控制单元设备在实现固件升级的过程中仅擦除了用户存储单元的原固件升级程序文件,而不会对存储在系统存储单元中的spi接口配置程序进行更改,从而保证微控制单元设备在更新过程中固件程序能够成功升级。

可选地,计算机设备还可以通过i2c(inter-integratedcircuit)接口与微控制单元设备进行通信。计算机设备通过i2c接口与微控制单元设备进行通信时,上述微控制单元设备包括i2c接口。i2c接口包括i2c接口子单元和i2c协议处理子单元,程序微控制单元设备的系统存储单元中存储i2c接口配置程序。

进一步地,当微控制单元设备上电后,从系统存储单元启动,运行系统存储单元中的i2c接口配置程序,对i2c接口进行配置和启动,将i2c接口配置为i2c接口类型,使微控制单元设备能够通过i2c协议与计算机设备进行通信。可以理解地,微控制单元设备在实现固件升级的过程中仅擦除了用户存储单元的原固件升级程序文件,而不会对存储在系统存储单元中的i2c接口配置程序进行更改,从而保证微控制单元设备在更新过程中固件程序能够成功升级。

本实用新型提供的微控制单元设备,采用控制模块、外部接口模块和存储模块的结构,其中,控制模块与存储模块连接,以及,控制模块和外部接口模块连接,控制模块用于对存储模块和外部接口模块的功能进行控制;外部接口模块,用于与计算机设备进行通信,进行数据的发送和接收,其中,外部接口模块包括接口单元和目标协议处理单元,接口单元用于与计算机设备进行连接,协议处理单元用于对通过外部接口模块连接的计算机设备与微控制单元设备之间传递的数据进行基于目标协议的数据处理,其中,目标协议包括hid协议、spi协议和i2c协议的至少一种;存储模块包括用户存储单元和系统存储单元,其中,用户存储单元用于存储从计算机设备获取的固件升级程序,系统存储单元用于存储外部接口配置程序,其中,外部接口配置程序用于对外部接口模块进行配置和启动,使外部接口能够通过目标协议与计算机设备进行通信。采用该结构能够将外部接口配置程序和从计算机设备获取的固件升级程序分隔开来,从而有效防止固件程序升级失败的情况,实现固件升级的正常进行。此外,该结构在采用hid协议实现计算机设备与微控制单元设备之间数据传递时,计算机设备无需借助转接器或预先安装驱动程序,便可实现微控制单元设备固件程序的升级。

本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本实用新型旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

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