一种程序烧写方法、装置及电子设备与流程

文档序号:13660818阅读:252来源:国知局
一种程序烧写方法、装置及电子设备与流程

本发明涉及单片机领域,尤其涉及一种单片机程序烧写方法、装置及电子设备。



背景技术:

为了实现电子设备的智能化,很多电子设备电路中集成了单片机,单片机的程序烧写通常分为在线烧写和脱机烧写,在线烧写即使用pc烧写,脱机烧写即不使用pc进行烧写。由于在线烧写需要pc,成本高,可移动性差等缺点,脱机烧写在电子设备生产和升级的程序烧写中被更广泛的采用。

脱机烧写通常有测试台形式和芯片座形式。测试台形式将带有单片机的电路板与测试台的压针进行接触,从而达到与单片机连接并烧写的目的;芯片座形式将没有焊接的单片机放入特制的芯片座,进行烧写程序,烧写完成后再将单片机焊接到电路板上。测试台形式的缺点在于必须将电路板从外壳中取出,放在测试台上,才能进行烧写,当进行数量巨大的已有设备程序升级时,外壳的拆装会有巨大的工作量,以至于时间和人工成本不可接受;芯片座形式除了具有测试台形式的缺点外,还具有单片机一旦焊接后不可进行升级程序的缺点。



技术实现要素:

本发明提供一种程序烧写方法、装置及电子设备,以实现芯片焊接后不需要拆装外壳就可以烧写程序的需求。

第一方面,本发明提供一种程序烧写方法,预先将待烧写电子设备和存有烧写程序文件的烧写电子设备通过硬件端子进行连接,通过人机交互触发所述烧写电子设备的烧写任务,对所述待烧写电子设备进行程序烧写。该方法包括:

所述烧写电子设备通过所述硬件端子的启动模式信号线将所述待烧写电子设备设置为isp启动模式,所述烧写电子设备通过所述硬件端子的复位信号线使所述待烧写电子设备进行重启并进入所述isp启动模式,所述烧写电子设备通过所述硬件端子的通信信号线烧写程序到所述待烧写电子设备中。

第二方面,本发明提供一种程序烧写装置,预先将待烧写电子设备和存有烧写程序文件的烧写电子设备通过硬件端子进行连接,通过人机交互触发所述烧写电子设备的烧写任务,对所述待烧写电子设备进行程序烧写。该装置包括:

所述待烧写电子设备,包括功能模块和硬件端子,所述功能模块用于实现所述待烧写电子设备的预定功能,所述硬件端子用于连接所述烧写电子设备的烧写接口模块,进行通信。所述待烧写电子设备的单片机用于在被设置为所述isp启动模式后,并被复位后进入所述isp启动模式后,通过所述单片机出厂自带的isp程序与所述烧写电子设备进行通信,并将所述烧写程序文件存入自身flash中,所述待烧写电子设备的单片机在正常启动模式下运行所述自身flash中的程序。

所述烧写电子设备,包括主控模块、存储模块,显示模块、电源模块、按键模块、烧写接口模块。

所述存储模块用于存储烧写程序文件。

所述显示模块用于显示烧写状态信息。

所述电源模块用于提供电源给主控模块、存储模块、显示模块、按键模块、烧写接口模块。

所述按键模块用于触发主控模块的烧写任务。

所述烧写接口模块用于连接所述待烧写电子设备硬件端子,实现所述待烧写电子设备与烧写电子设备互相通信。

所述主控模块用于控制烧写接口模块的烧写任务、存储模块烧写程序的读取、显示模块显示内容的控制、按键模块触发信号的接收。

所述烧写电子设备用于将所述待烧写电子设备设置为所述isp启动模式,并复位所述待烧写电子设备,所述使待烧写电子设备进入所述isp启动模式,通过所述烧写任务与所述待烧写电子设备进行通信,将所述烧写程序文件发送给所述待烧写电子设备。

第三方面,本发明提供一种电子设备,包括待烧写电子设备和烧写电子设备,其中,

所述待烧写电子设备包括功能电路和usb端子,所述功能电路实现所述待烧写电子设备的预定功能,所述usb端子一端与所述待烧写电子设备的单片机相连,另一端与连接了所述烧写电子设备的usb线相连,建立了所述待烧写电子设备与所述烧写电子设备的硬件有线连接。

所述烧写电子设备包括主控mcu、sd卡、lcd、电源电路、按键电路、usb端子。

所述sd卡与所述主控mcu相连,在烧写过程进行之前,通过pc将所述烧写程序文件写入到所述sd卡中,在烧写过程中,所述主控mcu读取所述sd卡的所述烧写程序文件,由于sd的可插拔性,使用者无需再烧写过程中操作pc,只需要在烧写之前事先将所需烧写的程序文件写入sd卡中,使烧写过程摆脱了pc的限制。

所述lcd与所述主控mcu相连,用于显示烧写状态信息,所述烧写状态信息包括烧写启动、出错、结果信息;

所述按键电路与所述主控mcu相连,用于选择需要烧写的所述烧写程序文件,并触发所述烧写任务;

所述电源电路给所述主控mcu、所述sd卡、所述lcd、所述按键电路、所述usb端子提供合适的电源,所述电源电路由锂电池提供电源,无需外接电源,提高了所述待烧写设备对烧写环境无外接电源的适应性。

所述主控mcu用于控制烧写任务、所述sd卡烧写程序的读取、所述lcd显示内容的控制、所述按键电路触发信号的接收。

所述usb端子与所述待烧写电子设备的usb端子通过usb线相连,所述usb线中包括串口信号线、电源线、启动模式设置线、复位线。

所述串口信号线用于所述主控mcu与所述待烧写电子设备进行串口通信,对所述待烧写电子设备烧写程序。

所述电源线为所述待烧写电子设备提供电源,使所述待烧写电子设备无需外接电源即可进行程序烧写。

所述启动模式设置线用于设置所述待烧写电子设备的启动模式。

所述复位线用于为所述待烧写电子设备提供复位信号。

本发明首先将需要烧写的程序文件通过pc写入sd卡中,再通过烧写电子设备读取sd卡中的文件,通过按键触发烧写任务,通过放置于待烧写电子设备外壳边缘并裸露的usb端子与烧写电子设备连接,进行程序烧写。通过本发明可脱离pc对待烧写电子设备进行无地点限制的程序烧写,且不需要拆卸待烧写设备的外壳,从而大大减少了给待烧写电子设备烧写程序的工作量,提高了烧写效率,尤其对已经安装在没有电源的地点的设备进行程序烧写提供了极大的便利。

附图说明

图1为本发明程序烧写方法实施例一的流程图;

图2为本发明程序烧写装置实施例一的结构示意图;

图3为本发明程序烧写电子设备实施例一的结构示意图。

具体实施方式

本发明首先将需要烧写的程序文件通过pc写入烧写电子设备的存储模块中,通过按键触发烧写任务,再通过烧写电子设备读取存储模块中的烧写程序文件,通过放置于待烧写电子设备外壳边缘并裸露的硬件端子与烧写电子设备连接,进行程序烧写。从而实现了不需要拆卸待烧写设备的外壳的脱机烧写程序,提高了烧写操作的效率,尤其对已经安装在没有电源的地点的设备进行程序烧写提供了极大的便利。

图1为本发明程序烧写方法实施例一的流程图。如图1所示,包括以下步骤:

步骤s101:在进行程序烧写之前,用pc将预先编译好的需要烧写的bin文件通过sd卡读卡器写入到烧写电子设备的sd卡中,此处bin文件可为多个,bin文件通过相应编译软件生成,具体如何编译为现有技术,不再赘述。通过此方法,pc可以和待烧写电子设备不在同一地点,使烧写过程摆脱了pc的限制。

步骤s102:在烧写电子设备与待烧写电子设备通过usb线连接后,按下烧写电子设备上的按键,触发对应的烧写程序文件的烧写任务,本实例中按键为4个,可在sd卡中放置4个烧写程序文件,与按键一一对应,通过选择对应的按键烧写对应的烧写程序文件,从而可实现不需重新跟换烧写程序就可以给多种待烧写设备烧写程序的需求,增加了本发明的便捷性。

步骤s103:主控模块中运行的软件中集成了sdio驱动,sdio驱动可提供读写sd卡的软件接口,主控模块中的软件集成了fat32文件系统,fat32文件系统调用sdio的软件接口,进行sd卡中文件的读写。主控模块通过fat32文件系统每次从sd卡中读取256个字节的烧写文件内容到自身ram中。

步骤s104:主控模块将读取到的烧写程序文件内容通过串口信号线发送给待烧写电子设备。串口信号线采用uart标准,波特率为最大115200bps,8个数据位,1个停止位,偶校验,无硬件流控。主控模块与待烧写电子设备之间通信遵循待烧写电子设备上的单片机的isp协议,具体的,本实例中待烧写电子设备的单片机采用stm32f103系列,主控模块通过使用stm32f103的isp协议中的启动命令、擦除命令、写入命令实现待烧写单片机的程序的烧写。

具体的,首先,主控模块通过usb线中的启动模式设置线拉高,使单片机处于isp启动模式,主控模块通过usb线中的复位线拉低100ms后再拉高,使单片机从isp模式启动;

其次,主控模块向单片机发送0x7f,如果主控模块在1秒内接受到单片机返回的0x79,则进行下一步,如果收到的数据不是0x79或1秒内没收到数据,则认为烧写启动失败,停止烧写任务,并在lcd上显示烧写错误信息;

再次,主控模块向单片机发送全片擦除命令,并等待单片机进行应答,主控模块在1秒内接受到ack应答后进行下一步,主控模块在1秒内接受到nack或者1秒内没有接收到数据,则认为擦除失败,停止烧写任务,并在lcd上显示烧写错误信息;

再次,主控模块向单片机发送写入命令,并等待单片机进行应答,主控模块在1秒内接受到ack应答后进行下一步,主控模块在1秒内接受到nack或者1秒内没有接收到数据,则认为发送写入命令失败,停止烧写任务,并在lcd上显示烧写错误信息;

再次,主控模块向单片机发送写入烧写程序的地址,并等待单片机进行应答,主控模块在1秒内接受到ack应答后进行下一步,主控模块在1秒内接受到nack或者1秒内没有接收到数据,则认为发送地址失败,停止烧写任务,并在lcd上显示烧写错误信息;

再次,主控模块向单片机发送写入烧写程序数据,并等待单片机进行应答,主控模块在1秒内接受到ack应答后进行下一步,主控模块在1秒内接受到nack或者1秒内没有接收到数据,则认为写入数据失败,停止烧写任务,并在lcd上显示烧写错误信息;

最后,主控模块根据烧写程序文件大小和已经向单片机写入的数据量大小判断是否已经烧写完成,烧写完成则退出烧写任务,将usb线中的启动模式设置线拉低,usb线中的复位线拉低100ms后拉高,使单片机进入正常启动模式;烧写未完成则重复发送写入命令、发送写入烧写程序地址、发送写入烧写程序数据三个过程,直到出错或烧写完成。

步骤s105:显示模块根据烧写过程的具体情况显示烧写状态信息。

步骤s106:待烧写电子设备根据isp协议,识别isp启动命令、擦除命令、写入命令、写入地址命令、写入数据命令,并进行相应的擦除、写入操作。

基于上述方法,图2为本发明程序烧写装置实施例一的结构示意图。如图2所示,该装置包括:待烧写电子设备10、线缆20、烧写电子设备19。

待烧写电子设备10包括:功能模块11、硬件端子12。

烧写电子设备20包括:烧写接口模块13、主控模块14、显示模块15、存储模块16、电源模块17、按键模块18。

功能模块10是用于实现待烧写电子设备的预定功能的硬件部分,不同的待烧写电子设备有不同的功能模块,跟具体应用有关,在此不做详述。

硬件端子12用于连接线缆20和待烧写电子设备10。

线缆20用于连接待烧写电子设备10和烧写电子设备19,为待烧写电子设备10和烧写电子设备19通过硬件连接。

烧写接口模块13用于连接通过烧写电子设备19和线缆20。

主控模块14用于控制烧写过程,控制显示模块15进行显示,读取存储模块16的烧写文件数据,接收按键模块18的按键触发信号。

显示模块15用于显示烧写过程中的烧写状态信息。

存储模块16用于存储烧写程序文件。

电源模块17用于为烧写接口模块13、主控模块14、显示模块15、存储模块16、按键模块18、待烧写电子设备10提供合适的电源。

按键模块18用于触发烧写任务,选择烧写文件。

图3为本发明程序烧写电子设备实施例一的结构示意图。如图3所示,该电子设备包括:待烧写电子设备30、usb线40、烧写电子设备39。

待烧写电子设备30包括:功能电路31、usb端子32。

烧写电子设备40包括:usb端子33、主控mcu34、lcd35、sd卡36、电源电路37、按键电路38。

功能电路30是用于实现待烧写电子设备的预定功能的硬件电路,不同的待烧写电子设备有不同的功能电路,跟具体应用有关,在此不做详述。

usb端子32用于连接usb线40和待烧写电子设备30,usb端子32的1~5脚分别接待烧写电子设备30的单片机的启动模式引脚、复位引脚、具有isp烧写功能的串口发送txd引脚、具有isp烧写功能的串口接收rxd引脚、电源vcc引脚,usb端子32的外壳接待烧写电子设备30的单片机地线gnd引脚。

usb线40用于连接待烧写电子设备30和烧写电子设备39,为待烧写电子设备30和烧写电子设备39通过硬件连接,usb线共有6根线,1到6号线分别接usb端子32和usb端子33的1~5脚和外壳。

usb端子33用于连接通过烧写电子设备39和usb线40。usb端子33的1~5脚分别接主控mcu34的启动模式控制引脚、复位控制引脚、串口接收rx引脚、串口发送tx引脚、电源vcc引脚,usb端子33的外壳接烧写电子设备39地线gnd引脚。如此,提供了主控mcu与待烧写电子设备30单片机的硬件通信、控制、电源的连接。

主控mcu34用于根据isp协议给待烧写电子设备30烧写程序,驱动lcd35进行显示,通过软件中集成的fat32文件系统读取sd卡36的烧写文件数据,接收按键电路38的按键触发信号。

lcd35用于根据烧写过程的状态显示烧写过程中的烧写状态信息,具体的,当按键电路38触发开始烧写信号后,根据按键的编号显示将要烧写的文件名称;当出现烧写启动失败后,显示“烧写启动失败”;当出现擦除失败后,显示“擦除失败”;当出现写入命令失败、写入地址失败、写入数据失败后,显示“写入失败”;当出现烧写成功后,显示“烧写成功”。lcd35采用12864点阵液晶屏,通过主控mcu34的软件控制可以实现灵活的内容显示。

sd卡36用于存储烧写程序的bin文件,bin文件数量应与按键电路38的按键数量相同,以便实现按键和烧写bin文件的一一对应。给单片机下载的bin文件一般在几十kb到几百kb,sd卡36采用普通的4gb容量sd卡,足以满足存储bin文件的需求,且价格低廉。

电源电路37用于为usb端子33、主控mcu34、lcd35、sd卡36、按键电路38、待烧写电子设备30提供+3.3v电源,待烧写电子设备30的单片机通常为+3.3v供电,本发明目的在于给待烧写电子设备30的单片机烧写程序,所以无需为待烧写电子设备的其他部分供电,只需考虑待烧写电子设备30的单片机的电源满足要求即可。电源电路37由锂电池充电电路和ldo线性稳压器组成,锂电池充电电路可外接+5v直流电源为3.7v锂电池进行充电,采用ltc4052芯片及其外围电路,ldo线性稳压器采用mic5219,将电池电压转换成稳定的+3.3v电压。

按键电路38共4个按键,按键一端接主控mcu34按键检测引脚并通过电阻接地,另一端接+3.3v,当按键按下时,主控mcu34按键检测引脚电平被拉高,触发主控mcu34按键检测引脚的上升沿中断,触发烧写任务。

本发明采用为已经焊接好单片机的待烧写电子设备用板载isp方式烧写程序,克服了芯片座烧写方式的不可烧写已焊接的单片机的问题,通过将待烧写电子设备单片机的烧写引脚引出到一硬件端子,并将硬件端子放置于外壳开槽处,实现了不拆卸外壳即可为待烧写电子设备烧写程序的需求。同时,本发明提供的程序烧写方式通过锂电池供电,可为待烧写电子设备直接提供电源,解决了施工升级程序现场找不到外接电源的困扰。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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