MCU串口通信烧录控制方法、系统、介质及电子设备与流程

    专利查询2025-05-25  41


    本发明属于数据处理的,特别是涉及一种mcu串口通信烧录控制方法、系统、介质及电子设备。


    背景技术:

    1、目前,市场上多数驱动器都包含有串口通信,其中,串口通信既是驱动器的控制接口,也提供了驱动器内部mcu更新程序的硬件支持。

    2、mcu更新程序过程大致如下:1.上位机通过串口给mcu发送启动烧录指令;2.mcubootloader程序接收到指令后,初始化flash配置,并擦除flash应用程序空间内的数据;完成后应答上位机;3.上位机解析需要更新的hex目标文件,发送一帧数据给mcu;4.mcubootloader程序接收到数据后,循环调用flash api接口函数,完成一帧数据的烧录;完成后应答上位机;5.循环重复第3和第4步骤直到所有数据烧录完成。

    3、现有技术中应用的这种通常的烧录mcu流程,虽然可以完成烧录任务,但是烧录速度不高,上位机和mcu部分时间是在等待执行结果,总体的烧录时间相对较长,执行效率低。


    技术实现思路

    1、鉴于以上所述现有技术的缺点,本发明的目的在于提供一种mcu串口通信烧录控制方法、系统、介质及电子设备,用于解决上述问题。

    2、第一方面,本发明提供一种mcu串口通信烧录控制方法,所述方法包括以下步骤:

    3、获取mcu类型以判断是否需要加入目标任务,其中,所述目标任务包括数据重组任务;

    4、计算通信串口的通信速率与程序编辑接口的执行速率;

    5、比较所述通信速率与执行速率的大小以匹配不同的时序机制,其中,所述时序机制包括第一机制、第二机制、第三机制与第四机制;

    6、基于对应的所述时序机制进行串口通信烧录作业,直到所有数据完成烧录。

    7、在本申请一个可能的实现方式中,所述计算通信串口的通信速率,具体包括:

    8、获取mcu接收数据帧与应答数据帧的间隔字节以及最大波特率;

    9、获取串口通信一帧的有效数据长度;

    10、基于所述间隔时间、所述最大波特率以及所述有效数据长度计算所述通信速率,其中,所述通信速率为串口通信单帧收发周期时间,公式如下:

    11、comm_tcycle=(t_byte*2+n_byte+6)*(10*1/baud_max);

    12、其中,comm_tcycle为所述通信速率,t_byte为所述间隔字节,n_byte为所述有效数据长度,baud_max为所述最大波特率。

    13、在本申请一个可能的实现方式中,所述获取mcu接收数据帧与应答数据帧,具体包括:

    14、获取mcu接收数据帧,其中,所述mcu接收数据帧具体包括:起始地址+有效数据+校验和;

    15、获取mcu应答数据帧,其中,所述mcu应答数据帧具体包括:应答数据+校验和。

    16、在本申请一个可能的实现方式中,所述计算程序编辑接口的执行速率,具体包括:

    17、获取程序编辑接口的单次编程最大数据量的消耗时间;

    18、获取程序编辑接口的写入间隔时间;

    19、基于所述消耗时间与所述写入间隔时间计算所述执行速率,其中,所述执行速率为程序编辑接口写入一帧周期时间,公式如下:

    20、api_tcycle=(api_twrite+api_twait)*num;

    21、其中,api_tcycle为所述执行速率,api_twrite为所述消耗时间,api_twait为所述写入间隔时间,num为条件最大整数。

    22、在本申请一个可能的实现方式中,计算所述条件最大整数,具体包括:

    23、获取一帧串口通信接收的最大字节数;

    24、获取程序编辑接口对应的所述单次编程最大数据量;

    25、基于所述最大字节数以及所述单次编程最大数据量计算所述条件最大整数,公式如下:

    26、num<=(nmax_byte-4)/api_byte,num为正整数;

    27、其中,num为所述条件最大整数,nmax_byte为所述最大字节数,api_byte为所述单次编程最大数据量。

    28、在本申请一个可能的实现方式中,所述比较所述通信速率与执行速率的大小以匹配不同的时序机制,具体包括:

    29、若所述程序编辑接口的执行速率大于或者等于所述通信串口的通信速率,基于所述目标任务的加入与否区分为第一机制与第二机制,其中,若有所述目标任务的加入,则匹配所述第一机制;若无所述目标任务的加入,则匹配所述第二机制;

    30、若所述程序编辑接口的执行速率小于所述通信串口的通信速率,基于所述目标任务的加入与否区分为第三机制与第四机制,其中,若有所述目标任务的加入,则匹配所述第三机制;若无所述目标任务的加入,则匹配所述第四机制。

    31、在本申请一个可能的实现方式中,所述获取mcu类型以判断是否需要加入目标任务,具体包括:判断mcu的程序编辑接口地址边界是否需要对齐,其中,需要对齐时加入所述目标任务,其中,所述目标任务用于基于地址对齐原则进行地址重组。

    32、第二方面,本发明提供一种mcu串口通信烧录控制系统,所述系统包括:

    33、获取模块,用于获取mcu类型以判断是否需要加入目标任务,其中,所述目标任务包括数据重组任务;

    34、计算模块,用于计算通信串口的通信速率与程序编辑接口的执行速率;

    35、比较模块,用于比较所述通信速率与执行速率的大小以匹配不同的时序机制,其中,所述时序机制包括第一机制、第二机制、第三机制与第四机制;

    36、烧录模块,用于基于对应的所述时序机制进行串口通信烧录作业,直到所有数据完成烧录。

    37、第三方面,本发明提供一种电子设备,所述电子设备包括:处理器和存储器;

    38、所述存储器用于存储计算机程序;

    39、所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行上述的mcu串口通信烧录控制方法。

    40、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被电子设备执行时实现上述的mcu串口通信烧录控制方法。

    41、如上所述,本发明所述的mcu串口通信烧录控制方法、系统、介质及电子设备,具有以下有益效果:能够提升烧录效率,特别是对于串口通信波特率高,烧录数据量大的应用场景下,速度优势较于现有技术有明显提升。



    技术特征:

    1.一种mcu串口通信烧录控制方法,其特征在于,包括:

    2.根据权利要求1所述的mcu串口通信烧录控制方法,其特征在于,所述计算通信串口的通信速率,具体包括:

    3.根据权利要求2所述的mcu串口通信烧录控制方法,其特征在于,所述获取mcu接收数据帧与应答数据帧,具体包括:

    4.根据权利要求3所述的mcu串口通信烧录控制方法,其特征在于,所述计算程序编辑接口的执行速率,具体包括:

    5.根据权利要求4所述的mcu串口通信烧录控制方法,其特征在于,计算所述条件最大整数,具体包括:

    6.根据权利要求5所述的mcu串口通信烧录控制方法,其特征在于,所述比较所述通信速率与执行速率的大小以匹配不同的时序机制,具体包括:

    7.根据权利要求1所述的mcu串口通信烧录控制方法,其特征在于,所述获取mcu类型以判断是否需要加入目标任务,具体包括:判断mcu的程序编辑接口地址边界是否需要对齐,其中,需要对齐时加入所述目标任务,其中,所述目标任务用于基于地址对齐原则进行地址重组。

    8.一种mcu串口通信烧录控制系统,其特征在于,包括:

    9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述mcu串口通信烧录控制方法。

    10.一种电子设备,其特征在于,所述电子设备包括:处理器及存储器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行如权利要求1至7中任一项所述mcu串口通信烧录控制方法。


    技术总结
    本发明提供一种MCU串口通信烧录控制方法、系统、介质及电子设备,所述方法包括以下步骤:获取MCU类型以判断是否需要加入目标任务,其中,所述目标任务包括数据重组任务;计算通信串口的通信速率与程序编辑接口的执行速率;比较所述通信速率与执行速率的大小以匹配不同的时序机制,其中,所述时序机制包括第一机制、第二机制、第三机制与第四机制;基于对应的所述时序机制进行串口通信烧录作业,直到所有数据完成烧录。本发明的MCU串口通信烧录控制方法、系统、介质及电子设备,能够提升烧录效率,特别是对于串口通信波特率高,烧录数据量大的应用场景下,速度优势较于现有技术有明显提升。

    技术研发人员:朱元庆,程焕,吴亦骏
    受保护的技术使用者:上海儒竞智控技术有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-28720.html

    最新回复(0)