一种控制器内MAP数据在线标定方法

出售状态:已下证
专 利 号 :已交易,保密
专利类型:发明专利
专利分类:计算机
出售价格:
直 接 购 买 联 系 客 服

详细介绍

技术领域

本发明涉及一种控制器内MAP数据在线标定方法,适用于片上RAM偏小的多核微控制器的MAP在线标定。

背景技术

在一些控制系统中其系统运行参数和效果难以预先进行计算和估计,需要通过实际运行对控制数据等进行修正和固化。对这类系统的控制通常在控制器中将控制数据以MAP的形式存储在可编程的存储区中,由标定人员在实际运行过程中对这些数据进行在线的标定在控制达到预期目标后对数据进行更新和固化。现在多数的微控制器都带有片内的FLASH或EEPROM,可以进行在线的编程。由于微控制器对片内FLASH或EEEPROM进行编程前必须先进行擦除,擦除需要加载高电压,加载高压的整块FLASH区(block)将不能被微控制器访问,为防止在编程期间数据访问错误MCU需关闭中断,停止事件响应。一块FLASH区域的擦除通常需要上百毫秒,对发动机控制这类对实时性要求很高的系统关闭中断100毫秒足以让发动机熄火,这将失去在线标定的意义。这类系统目前在线的标定方法是在微控制器之外增加一个RAM(因为片上RAM不够大)将MAP从FLASH中全部据拷入外部的RAM中,在外部RAM中对数据进行修改,在掉电或接收到指令时再将相关数据反写到微控制器的FLASH中。但这样占用了大量的MCU管脚资源,而且会使系统的电磁兼容性恶化,并增加系统复杂程度和成本。

发明内容

为了克服现有技术不足,本发明的目的是提供一种适用于片上RAM偏小的多核MCU的控制器内MAP数据在线标定方法。

为实现上述目的,本发明采取以下技术方案,一种控制器内MAP数据在线标定方法,它包括以下步骤:

1)    将MCU内存分为若干个block,包括以下步骤:

① MCU是多核,MCU中部分核心(CPU1)专门用于实时事件的处理,其它的核心(CPU2)负责和标定工具的通信、标定过程实施和MAP的查表;

② 片上FLASH具有2个以上block,block是擦除时Flash上高压的最小区域,扇区是Flash的最小擦除片段,实时事件处理的MCU代码必须独享存储在一个block中,MAP存储在该block之外的block中;

③ 将用于控制、计算的MAP数据存入一个block,作为标定block,使用CPU2调用和处理;

将实时事件的控制代码存入一个block,作为CPU1代码block。

2)    在每个block中有若干个最小擦除片段及扇区,系统中每张MAP都定义为相同大小为扇区大小的整数倍或整数分之一,并按扇区对齐存储。扇区必须小于MCU能提供的标定RAM大小。

3)    CPU2运行时读取CPU2代码block中代码,在进行在线MAP数据擦除和写入的时候,CPU2进入临界段,停止后台计算、MAP查找、通讯等操作,等待MAP更新操作完成。

4)    CPU1运行时读取CPU1代码block中代码,在进行在线MAP数据标定时,CPU1保持正常工作状态,使控制器实时功能正常进行。

5)    在标定过程中,把需要标定的MAP从标定扇区复制到标定RAM中,在标定RAM中进行相应修改,包括以下步骤:

① 上位机的标定软件与控制器握手成功后,按照MAP所在首地址和占用存储空间大小将需修改MAP所在扇区的数据复制到标定RAM。

② MCU对标定MAP的查表根据标定RAM中的数据进行。

③ 基于②,上位机对MAP的修改首先在标定RAM中进行,并可以立即生效。

在需要时上位机标定软件向下位机发送固化指令,接收到指令微控制器的CPU2进入临界段,停止对标定block的读操作,将更新后的MAP从RAM拷贝写入Flash中,CPU1正常运行。

本发明具有以下特点:首先,MCU是多核,MCU中CPU1用于实时事件的处理,CPU2负责和标定工具的通信、标定过程实施和MAP的查表;MCU的FLASH具有2个以上block,其中实时事件处理的CPU1代码必须独享存储在一个block中,MAP存储在该block之外的block中;block中有若干个最小擦除片段即扇区,系统中每张MAP都定义为相同大小,为扇区大小的整数倍或整数分之一,并且按照扇区对齐存储,扇区和单张MAP必须小于MCU能提供的标定RAM大小;在对Flash进行操作的过程中,CPU1保持工作状态,能保证控制器正常运行;本发明能够在线标定所需要的MAP,并且不影响发动机正常工作,还解决了RAM 空间不够的问题。

附图说明

图1 双CPU对应block示意图,1为CPU1,2为CPU2,3为标定block,4为实时事件控制代码block;

图2 在线标定MAP读取示意图,3为标定block,4为实时事件控制代码block,5为MAP所在扇区,6为标定RAM,7为RAM。

具体实施方式

以飞思卡尔MC9S12XEP100为例,其具有2个核心,2个核心不同,其中CPU1只能读取固定30K的Flash,而CPU2可以读取整个Flash;飞思卡尔MC9S12XEP100有5个block,其中block B3、B2、B0大小为256K,存储空间分别为0xC08000到0xCFBFFF、0xD08000到0xDFBFFF和0xF08000到0xFFBFFF; block B1S、B1N大小为128K,存储空间分别为0xE08000到0xE7BFFF和0xE88000到0xEFBFFF:

1) 如图1所示, MCU中CPU1 1专门用于实时事件的处理, CPU2 2负责和标定工具的通信、标定过程实施和MAP的查表。在本发明实例中,FLASH具5个block,其中实时事件处理代码独享存储在128K的block B1S 中,使用其中30K的存储空间,MAP存储在256K的block B3中。

2) 如图2所示,包括以下步骤:

① 根据MAP 的数据总量的大小设置一块内存区域,作为标定block 3,用于保存所有MAP数据。在本发明实例中,将MCU内存中地址为0xC08000到0xCFBFFF的存储空间,共256K空间的B3作为标定block,每张MAP占用存储大小为1K,共可存储256张MAP。

②  设置一块内存区域,作为实时事件控制代码block 4,用于保存CPU1实时处理所需代码。在本发明实例中,将MCU内存中地址为0xE08800到0xE7BFFF的存储空间,共128K空间的B1S作为CPU1代码block,CPU1只能读取其中地址为0xE08800到0xE0BFFF和0xE18000到 0xE1BFFF共30K的空间,剩余空间仍不能存储MAP。

③ 根据一张MAP 大小在整个RAM 7中设置一块区域,作为标定RAM 6,在本发明实例中,将MCU的RAM中地址为0xFD1000到0xFD13FF的RAM区域,共1K的空间作为标定RAM。

3) 在编写控制代码的过程中,将所有MAP 的原始数据保存在标定block 3区域中。

4) 在编写代码完成后,通过编译软件生成参数和MAP的链接表,并使用上位机软件解析该链接表,从而获取每个MAP 在标定FLASH 中存放的起始地址,并将之保存在上位机中。在本发明实例中,共有5张MAP,首地址分别为0xC08000、0xC08400、0xC08800、0xC08C00、0xC09000,大小均为1K。

5) 如图2所示,在标定过程中,把需要标定的MAP 从MCU内FLASH的MAP所在扇区 5拷贝到标定RAM 6内,在标定RAM 6中对相应的数据进行修改,包括以下步骤:

① 上位机标定工具软件与单片机系统建立连接后,选择要修改的MAP,此时,标定工具软件将需修改MAP的首地址和MCU;

② MCU根据接收到的首地址MAP从MAP所在扇区 5中读取到标定RAM 6,并发送给标定软件,在标定软件的界面显示出需标定的MAP内数据值。

③ 在标定工具软件中对MAP中的一个数据进行修改,标定软件计算该数据点相对于所在MAP起始地址的偏移地址,然后标定工具软件把该地址和修改后的数据发送给MCU,MCU在标定RAM 6中对数据进行修改。

④ 当上位机向下位机发送更新Flash指令时,CPU2 2进入临界段,停止对标定block 3的读操作,擦除MAP所在扇区 5数据,将更新后的MAP从标定RAM 6拷贝到MAP所在扇区 5中,在更新完成后,CPU2 2退出临界段,恢复对标定block 3的读操作。

本发明实例中,要对unsigned int型MAP1的第3个值进行修改,上位机发命令使MCU将MAP从标定block中0xC08000到0xC083FF复制到标定RAM 0xFD1000到0xFD13FF中,在RAM中对0xFD1004和0xFD1005操作后,将这两个地址的值存到相应的地址0xC08004和0xC08005,完成标定。

上述实施例仅用于说明本发明,其中各个步骤的具体实施方式等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

专 / 利 / 交 / 易 / 流 / 程

安 / 全 / 保 / 障

  • 确保每个项目方信息真实有效;
  • 提供全程贴身服务,专业客服人员全程跟进对接环节;
  • 提供专业的技术交易咨询服务,协助完成签约交易;
  • 提供资金担保服务,确保买方资金安全;
  • 提供交易订单存证数据,协助处理技术交易纠纷。

专 / 利 / 交 / 易 / 常 / 见 / 问 / 题

1、在赋翼网没有找到自己需要的专利怎么办?

答:如果在网站没有找到须要的专利,可联系客服提交自己的需求,工作人员会在十分钟内检索全网专利库,给满意的答复。

2、在赋翼网购买专利安全吗?

答:赋翼网所出售专利均经专利权人本人核实,专利真实有效,请放心购买。

3、购买专利是一次性收费吗? 还有其他的费用吗?

答:在赋翼网购买专利,均为一次性收费(办理期间客户另提其他要求除外)。

4、购买后多久能收到专利证书?

答:跟赋翼网签订合作合同后,工作人员会立刻办理进行手续办理,买专利最快7天下证(根据办理速度不同,具体下证时间以国家知识产权局实际为准)。

5、购买后变更失败怎么办?

答:如遇到付款后未能按照合同约定变更专利权人(含合同约定任何一项没有做到),经核实后赋翼网将在2个工作日内全额退款。

—— 购买专利 ——

信息保护中,请放心填写

推 荐 专 利 更多