一种基于4G+MCU双系统的数据高速处理方法与流程

    专利2022-07-08  137


    本发明属于车载控制器的数据处理技术领域。



    背景技术:

    fota(远程固件升级)近几年在车载领域的应用越来越广泛,功能也越来越重要。fota解决了整车控制器一旦出现问题,只能回4s店维修的难题。还能够通过云端对整车控制器进行升级,从而修复产品故障。上述功能主要集成在tbox(远程信息处理箱)产品上,tbox从云端将需要升级的程序下载,然后通过can总线对控制器进行程序升级。tbox使用的方案一般是主cpu自带can总线,这样既方便利用4g下载数据,也方便数据的can刷写。随着整车成本的降低,tbox为了节省一颗cpu,利用4g模组进行软件开发,但是由于4g模组没有can总线接口,所以只能再选取一颗mcu进行can通信。cpu变成了mcu成本大幅降低,可是由此会导致4g通信与can刷写在双系统上很难做到高速响应。



    技术实现要素:

    本发明是为了解决tbox利用mcu进行can通信会导致4g通信与can刷写在双系统上响应速度慢的问题,现提供一种基于4g mcu双系统的数据高速处理方法。

    一种基于4g mcu双系统的数据高速处理方法,4g模组cpu与mcu之间利用uart spi双通道的通信方式进行通信,数据高速处理方法具体如下:

    初始化:将mcu中的ram区域分为有序的n个存储部分,n大于等于2,

    步骤一:mcu依序向每个存储部分存储数据,

    步骤二:判断第i个部分的数据是否存满,其中i的初始值为1,是则执行步骤三,否则执行步骤四,

    步骤三:mcu通过can总线对第i个部分中存储的数据进行刷写,当刷写完成后执行步骤五,

    步骤四:等待1ms,然后返回步骤二,

    步骤五:判断i是否等于n,是则使i=1,然后返回步骤一,否则使i=i 1,然后返回步骤二。

    上述spi通道用于将数据从mcu发送至4g模组cpu,uart通道用于将数据从4g模组cpu发送至mcu。

    本发明所述的一种基于4g mcu双系统的数据高速处理方法,采用spi uart双通道的方式进行通信,实测数据通信量比spi与uart同时工作时,效率提高1.2倍。

    附图说明

    图1为4g与can总线都在cpu上的tbox框图;

    图2为4g与can总线分别在cpu和mcu上的tbox框图;

    图3为基于uart spi双通道的tbox框图;

    图4为匹配电阻20欧姆时uart传输示意图;

    图5为mcu的数据存储及刷写示意图;

    图6为具体实施方式一所述一种基于4g mcu双系统的数据高速处理方法流程图。

    具体实施方式

    图1是高成本tbox的框图,其中4g与can总线都在cpu系统内;图2是低成本tbox的框图,其中4g与can总线分别在cpu和mcu上。低成本tbox引入的问题是4g下载的程序需要传达到mcu端,再由mcu把程序刷写到can总线上。在刷写过程中要求总线延迟不能超过50ms,否则会导致总线错误,最终刷写失败。除去mcu自身的延迟10ms左右,就要求mcu与cpu之间的数据交互不能超过40ms,这给数据交互带来了极大的难度。

    由于mcu自身只有64k的ram用于数据存储,而一个控制器的程序一般在200m左右。由于存储空间不足,mcu无法一次全部接收控制器程序,所以只能采取部分接收原则,即:收到一部分再通过can刷写一部分。然后继续接收,继续can刷写,直到刷写结束。这就需要将200m的程序分成多段进行发送,mcu收到单独段的程序后,用can总线刷写控制器,刷写完毕后再通知cpu,继续获取下一段程序。整个过程需要连续无间断,且延迟小于40ms。

    为了解决上述问题,参照图3至图6具体说明本实施方式,本实施方式所述的一种基于4g mcu双系统的数据高速处理方法,4g模组cpu与mcu之间利用uart spi双通道的通信方式进行通信。spi通道与uart通道都是双向的,两者都可以做到mcu与cpu之间的双向交互,但由于数据量大,而且要求延时极低,所以本实施方式采用spi uart双通道的方式进行通信,如图3所示。

    spi的特点是双向同时通信,而且通信速度远高于uart;缺点是spi属于主从方式通信,而由于硬件固有限值,mcu端只能做主栈,带来的问题就是无法第一时间获得来自4g模组cpucpu的数据,因此必须定时去cpu端取,这样就无法满足通信的实时性要求。由于数据读取不及时,就会导致cpu侧(从栈)数据阻塞甚至丢数据。为此,本实施方式中spi通道用于将数据从mcu发送至4g模组cpu;uart通道用于将数据从4g模组cpu发送至mcu。将uart波特率开到mcu极限2m,通过实验得到匹配电阻20欧姆时稳定性最高,如图4所示。

    经过上述改造后,实测数据通信量比spi与uart同时工作时,效率提高1.2倍,稳定性也大幅提高,解决了spi从栈数据阻塞的问题。实测24小时通信错误包小于千分之一,满足使用需求。

    进一步的,在数据的传输过程中,采用分段、连续发送数据的模式,并进行阶段缓存。缓存的数据通过can刷写到总线上,即:将刷写完毕的时候,继续收取分段数据并进行缓存和刷写,如此循环,直到刷写完成。如图5所示。

    经测试,使用3块数据存储的方式可以在节约ram的同时,提高数据通信和刷写效率。如图6所示,数据高速处理方法具体如下:

    初始化:将mcu中的ram区域分为有序的3个存储部分,每个存储部分的存储容量均为16k,uart通道和spi通道均按照16k的传输量进行数据传输,

    步骤一:mcu依序向每个存储部分存储数据,

    步骤二:判断第i个部分的数据是否存满,其中i=1,2,3,是则执行步骤三,否则执行步骤四,

    步骤三:mcu通过can总线按照16k对第i个部分中存储的数据进行刷写,当刷写完成后执行步骤五,

    步骤四:等待1ms,然后返回步骤二,

    步骤五:判断i是否等于3,是则使i=1,然后返回步骤一,否则使i=i 1,然后返回步骤二。


    技术特征:

    1.一种基于4g mcu双系统的数据高速处理方法,其特征在于,4g模组cpu与mcu之间利用uart spi双通道的通信方式进行通信,

    数据高速处理方法具体如下:

    初始化:将mcu中的ram区域分为有序的n个存储部分,n大于等于2,

    步骤一:mcu依序向每个存储部分存储数据,

    步骤二:判断第i个部分的数据是否存满,其中i的初始值为1,是则执行步骤三,否则执行步骤四,

    步骤三:mcu通过can总线对第i个部分中存储的数据进行刷写,当刷写完成后执行步骤五,

    步骤四:等待1ms,然后返回步骤二,

    步骤五:判断i是否等于n,是则使i=1,然后返回步骤一,否则使i=i 1,然后返回步骤二。

    2.根据权利要求1所述的一种基于4g mcu双系统的数据高速处理方法,其特征在于,n等于3,每个存储部分的存储容量为16k。

    3.根据权利要求2所述的一种基于4g mcu双系统的数据高速处理方法,其特征在于,uart通道和spi通道均按照16k的传输量进行数据传输。

    4.根据权利要求2所述的一种基于4g mcu双系统的数据高速处理方法,其特征在于,can总线的刷写量为16k。

    5.根据权利要求1、2、3或4所述的一种基于4g mcu双系统的数据高速处理方法,其特征在于,

    spi通道用于将数据从mcu发送至4g模组cpu,

    uart通道用于将数据从4g模组cpu发送至mcu。

    6.根据权利要求5所述的一种基于4g mcu双系统的数据高速处理方法,其特征在于,uart通道的波特率为2m。

    技术总结
    一种基于4G MCU双系统的数据高速处理方法,涉及车载控制器的数据处理技术领域。本发明是为了解决TBOX利用MCU进行CAN通信会导致4G通信与CAN刷写在双系统上响应速度慢的问题。本发明所述的一种基于4G MCU双系统的数据高速处理方法,采用SPI UART双通道的方式进行通信,MCU依序向每个存储部分存储数据,判断第i个部分的数据是否存满,是则MCU通过CAN总线对第i个部分中存储的数据进行刷写,否则等待1ms之后再判断。当刷写完成后,判断i是否等于N,是则继续返回第一个部分进行存储,否则使i=i 1,然后继续判断第i个部分的数据是否存满。

    技术研发人员:于兴虎;刘雨;魏丽娜;杨忠生;郑祥滨
    受保护的技术使用者:航天科技控股集团股份有限公司
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22391.html

    最新回复(0)