分享
分销 收藏 举报 申诉 / 6
播放页_导航下方通栏广告

类型车控多核操作系统任务间数据交互实现方法研究.docx

  • 上传人:仙人****88
  • 文档编号:12021305
  • 上传时间:2025-08-28
  • 格式:DOCX
  • 页数:6
  • 大小:212.64KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    多核 操作系统 任务 数据 交互 实现 方法 研究
    资源描述:
    车控多核操作系统任务间数据交互实现方法研究 孙忠刚1 张晓谦1 刘超1 李岩1 1,中国第一汽车股份有限公司技术中心,汽车电子部, 吉林省长春市创业大街1063号,130011 【摘要】在汽车电控系统中,微处理器正逐步由单核过渡到多核。单核操作系统任务间数据交互实现方法不能解决多核微处理器核间任务交互数据的数据一致性问题。针对此问题,本文提出了一种适用于多核微处理器的改进方法。该方法利用汽车电子开放式架构(Automotive Open System Architecture, AOTUSAR) OS提供的自旋锁机制[1]及内存缓存方法,保证交互数据在被访问过程中,数据一致性不被破坏,有效解决了多核微处理器上任务间数据交互问题。此方法容易实现,且原有软件由单核过渡到多核,软件改动量小,现已应用于一汽发动机控制器项目中。 【关键词】 多核微处理器软件,AUTOSAR OS,任务间数据交互,数据一致性 Research on the implementation of data interaction between tasks in multi-core Operation System in vehicle control system Sun Zhonggang1, Zhang Xiaoqian1, Liu Chao1, Li Yan1 1. FAW Corporation limited R&D center, China ABSTRACT –In the electronic control system for automotive vehicle, the microcontroller is transforming from single core to multi-core. The implementation of data interaction between tasks in single core operating system can not resolve the data consistency problem when the tasks on the different cores do the data interaction. To solve this problem, An improved implementation was put forward. The AUTOSAR OS SpinLock mechanism and memory cache method was used in this implementation, which can ensure that the data consistency is not destroyed when the data is being accessed. The implementation was easily to be realized and the software change is very small, has been verified in FAW engine electronic control system. KEYWORDS – Multi-Core software, AUTOSAR OS, Data interaction between tasks, Data consistency 1. 引言 随着汽车排放法规要求日趋严格,用户需求不断增多,发动机控制功能越来越复杂,汽车电控系统软件规模越来越大,单核微处理器资源及处理速度逐渐逼近上限。汽车半导体厂商纷纷推出了针对动力总成控制的多核微处理器。发动机控制器主芯片由单核微处理器变为多核微处理器是一种必然趋势。 微处理器由单核过渡到多核,单核操作系统任务间数据交互实现方法不能解决多核微处理器核间任务交互数据的数据一致性问题。本文以AUTOSAR[1]操作系统为基础,介绍了汽车电控系统中任务间的数据交互类型、分析了原有单核操作系统任务间数据交互实现方法在多核微处理器上应用存在的问题,提出了适用于多核微处理器的改进方法。 2. 任务间数据交互类型介绍 在汽车电控系统中,任务间交互的数据有两种类型。一种是交互的数据之间存在关联关系,另一种是交互的数据之间不存在关联关系。如图1所示,操作系统中有两个任务TaskA(高优先级)和TaskB(低优先级),在运行过程中, TaskB需要对数据VarA和VarB写访问,TaskA需要对这两个数据读访问。 图1 任务间数据交互图 数据间存在关联关系是指,TaskA在使用数据VarA和VarB时,VarA和VarB的对应关系必须存在。即在任务TaskA中,参与计算的变量VarA和VarB或者是TaskB 更新之前的数值0和80,或者是TaskB 更新之后的数值80和100。若对应关系被破坏,Task A 将会得到错误的运行结果。数据间不存在关联关系是指,数据VarA与数据VarB在任务TaskA中独立参与运算,数据值的更新时机不对TaskA结果正确性产生影响。当一个交互数据的长度大于机器字(word)时,数据值的更新需要多条指令完成,则该数据交互的实现方案应按照关联数据类型来处理。 3. 单核操作系统任务间数据交互实现方法在多核微处理器上应用存在的问题 3.1 关联数据交互实现方法及存在的问题 在汽车电控系统中,任务间交互数据的关联性是通过在任务访问交互数据过程中禁止任务切换保证的。具体实现方法有两种:一是在访问交互数据之前关闭中断,在访问交互数据之后开中断,避免在访问交互数据过程中触发任务调度;二是在访问交互数据之前申请调度器资源[1],在访问交互数据之后,释放调度器资源,保证在访问交互数据过程中,不发生任务抢占。 在多核微处理器中,若参与数据交互的两个任务在同一个核上,上述解决方法仍然有效。但是当参与数据交互的两个任务在不同的核上时,两个任务是完全并行的,上述实现方法,在某些情况下,数据的关联性会被破坏。图2演示了数据关联性被破坏的情况。 图2 核间任务数据交互图 如图2所示,在Task A(Core0 上任务) 运行过程中,需要读取数据VarA和VarB,且两个变量存在关联关系。但在Task A 读取变量过程中,Task B(Core1上任务)更新了VarB的值,VarA与VarB的对应关系被破坏,从而导致Task A会执行错误的控制行为。综上所述,在多核微处理器中,单核操作系统任务间关联数据交互实现方法是不可用的。 3.2非关联数据交互实现方法及存在的问题 任务间非关联数据交互有两种类型,一种是在任务运行期间,任务只读取数据一次,另一种是在任务运行期间,任务需要读取数据多次。在单核微处理器中,针对第一种数据交互类型,参与数据交互的任务在读取数据时不需要特殊处理,与读取普通数据相同;针对第二种数据交互类型,数据的稳定性是通过避免在多次数据读取过程中产生任务切换来保证的,具体实现方式与任务间关联数据交互实现方法相同,在此不再赘述。 在多核微处理器中,针对第一种任务间非关联数据交互类型,现有数据交互实现方法可以直接应用。针对第二种数据交互类型,不同核上参与数据交互两个任务是完全并行的,某些情况下,交互数据的稳定性会被破坏。图3演示了数据稳定性被破坏的情况。 图3 核间任务数据交互 如图3所示,Task A(Core0上任务)运行过程中,需要读取变量VarA两次,在对VarA两次读取之间,Task B(Core1上任务)更新了VarA的值,VarA的稳定性被破坏,从而导致TaskA执行错误的控制行为。综上,任务一次运行过程中,需多次读取非关联数据的情况,单核操作系统中的实现方法,应用在多核微处理器上是不可行的。 4. 适用于多核微处理器任务间数据交互的改进方法 4.1关联数据交互改进方法 在多核微处理器中,针对同一个核上任务间关联数据交互,采用现有方法;针对不同核上任务间关联数据交互,本文提出采用原子访问与本地缓存相结合的方法。方法具体流程如图4。 如图4所示,针对参与核间数据交互的任务,首先在任务起始处定义与交互数据同类型、等数量的局部变量,然后申请自旋锁[1](自旋锁是AUTOSAR OS提供的一种锁机制,它用于实现资源互斥访问。),将交互数据的值拷贝到局部变量中。若任务不需要将更新后的数据写回到交互数据中,则直接释放自旋锁[1];否则基于局部变量进行数值更新操作,然后将更新后的值写回到全局交互数据,释放自旋锁[1]。 图4 任务核间数据交互流程图 4.2 非关联数据交互改进方法 针对任务在运行过程中仅需读取一次交互数据的情况,采用与读取普通数据相同的方式,不做特殊处理。针对任务在运行过程中需读取多次交互数据的情况,采用本地缓存机制,操作过程如图5所示。 图5 多核任务之间非关联数据交互过程 在任务TaskA(Core0上任务)开始处,定义与交互数据VarA同类型的局部变量Local_VarA,将变量VarA的值读取到本地变量Local_VarA中,在Task A之后的运行过程中,基于本地变量Local_VarA 进行操作。 5. 总结 本文分析了单核操作系统任务间数据交互实现方法在多核微处理器上应用存在的问题,阐述了问题出现时对应的应用场景;通过研究,在现有方法基础上,增加了针对多核微处理器核间任务数据交互的解决方法,解决了多核微处理器上操作系统任务间数据交互问题。本文研究的多核操作系统任务间数据交互实现方法已经在一汽发动机控制器项目中应用。该方法容易实现,且原有的软件由单核过渡到多核时,软件改动量小。目前在国内,多核微处理器在汽车电控领域中应用还处于起步阶段,本文研究成果具有一定的参考意义。 参考文献 [1] AUTOSAR. Specification of Operation System [DK] . 2015
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:车控多核操作系统任务间数据交互实现方法研究.docx
    链接地址:https://www.zixin.com.cn/doc/12021305.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork