基于μC_OS-Ⅲ的车载网关控制器设计.pdf
《基于μC_OS-Ⅲ的车载网关控制器设计.pdf》由会员分享,可在线阅读,更多相关《基于μC_OS-Ⅲ的车载网关控制器设计.pdf(5页珍藏版)》请在咨信网上搜索。
1、2023年/第10期 物联网技术可靠传输 Reliable Transmission550 引 言车载网关控制器作为汽车上不同总线或网段数据交互的中枢,是汽车总线系统的核心工作单元,对车载网关系统的设计优化具有重要意义1-2。由于车载网关控制器工作环境较为苛刻,且对硬件成本限制极为严格,因此车载网关控制器通常使用车规级专用微控制器设计实现3-4。因此,数据传输实时性和运行可靠性是车载网关控制器的核心 性能。基于车规级专用微控制器的车载网关控制器通常有两种软件设计方案:基于操作系统的软件设计和无操作系统的软件设计。相对于无操作系统的软件设计,基于操作系统的软件设计具有实时性高、可靠性好和扩展能力
2、强等优势。因此设计基于嵌入式操作系统的车载网关控制器是提高车载网关控制器性能的重要手段。本文提出一种基于 C/OS-的车载网关控制器设计方案,主要包括网关控制器硬件设计、操作系统的移植和通信软件设计。最后,使用专用测试工具和上位机软件对网关的数据传输能力进行测试。结果表明,本文设计的网关控制器能有效保证网关功能可靠性和数据传输实时性。1 硬件方案设计1.1 原理框图网关控制器硬件框图如图 1 所示。该网关控制器选用NXP 公司的 Power 内核 MPC5646C 作为微控制器器。CAN接口选用 TI 公司的 TCAN1042 作为 CAN 总线收发器,以太网接口选用 NXP 公司生产的 TJ
3、A1100 车载以太网收发器。图 1 网关控制器硬件框图1.2 网关微控制器网 关 微 控 制 器 是 由 NXP 公 司 提 供 的 32 位 单 片 机MPC5646C,属于 Power 架构,具有 e200z0h 和 e200z4h 双内核处理器功能、更强的数据处理能力、更大的数据存储空间和更低的功耗5-6。1.3 CAN 收发器 TCAN1042本文采用的 CAN 收发器型号为 TCAN1042。该芯片是TI 公司生产的一款具有 CAN FD 和故障保护功能的汽车类 CAN 收发器,这款 CAN 收发器系列符合 ISO1189-2(2016)高速 CAN 物理层标准。所有器件均设计用于
4、数据速率高达 2 Mb/s 的 CAN FD 网 络。图 2 为 CAN 接 口 硬 件 设 计 原 理图7。1.4 车载以太网收发器 TJA1101TJA1101 是 NXP 公 司 生 产 的 符 合 100BASE-T1 标 准的以太网收发器。该器件支持在一对非屏蔽双绞线上实现 100 Mb/s 的收发能力,传输线长度可达 15 m 以上。TJA1101可以在保持汽车应用所需鲁棒性的同时,减小电源损耗和系统整体费用。图 3 为以太网收发器接口原理图。基于 C/OS-的车载网关控制器设计曹清源,杨 涛,钱宏文(中国电子科技集团公司第五十八研究所,江苏 无锡 214035)摘 要:随着汽车电
5、子系统的扩展,车内电子控制单元数量持续增长。车载网关控制器作为不同总线或网段之间数据交互的“心脏”,功能可靠性和数据传输实时性是车载网关控制器的核心设计指标。使用 MPC5646 微控制器,设计一款车载网关控制器,并在网关控制器上运行嵌入式实时操作系统 C/OS-。针对汽车总线中常见的 CAN和车载以太网,利用操作系统的多线程特点和线程间的通信功能,保证各个车载网络系统实时、稳定、可靠的通信。结果表明,使用 C/OS-操作系统能有效保证网关功能可靠性和数据传输实时性。关键词:车载网关;网关控制器;C/OS-;数据传输;嵌入式操作系统;车载以太网中图分类号:TP273 文献标识码:A 文章编号:
6、2095-1302(2023)10-0055-04DOI:10.16667/j.issn.2095-1302.2023.10.016收稿日期:2022-12-02 修回日期:2023-01-18物联网技术 2023年/第10期 可靠传输 Reliable Transmission562 通信软件设计2.1 操作系统移植为了方便移植,C/OS-的绝大部分代码使用 C 语言编写8。但在移植时,仍需要用 C 语言和汇编语言编写与处理器相关的代码。C/OS-中操作 CPU 寄存器的代码,仍只能使用汇编语言编写,除非 C 编译器支持内嵌汇编语言。图 6 给出了 C/OS-的结构以及它与其他软件文件和硬件
7、的关系。使用 C/OS-时,需要编写应用软件代码,并配置 C/OS-。C/OS-的移植工作包括 4 个内核相关文件,分别是os_cpu.h、os_cpu_a.s、os_cpu_a.inc 和 os_cpu_c.c。除 此 之外,移植工作还需要编写 3 个 CPU 相关文件,分别是 cpu.h、cpu_a.a 和 cpu_c.c。os_cpu.h 中定义了任务切换宏定义,OS_TASK_SW()。对于 MPC5646C 微控制器而言,任务切换是通过执行 system call(sc,se_sc)指令,产生 system call 中断(IVOR8),并在 system call 中断服务函数IV
8、OR8trap 中执行 OSCtxSw实现任务切换。os_cpu_a.s 文件中包含了所有需要使用汇编语言实现的函数。开发者需要在该文件中实现 4 个函数,即:OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()和 OSTickISR()。OSStartHighRdy()会被 OSStart()函数调用来开始多任务管理。该函数仅在操作系统启动时被执行一次。OSCtxSw()是任务级的任务切换函数,在 IVOR8trap 中断服务函数中被调用来切换任务。OSIntCtxSw()是中断级任务切换函数。在所有嵌套的中断服务程序都退出后,OSIntExit()函数会图 2 C
9、AN 接口硬件设计原理图图 3 以太网收发器接口原理图2023年/第10期 物联网技术可靠传输 Reliable Transmission57调用 OSIntCtxSw(),使得在中断函数执行后,当前最高优先级的任务能够运行。OSTickISR()是系统时钟节拍中断服务函数。MPC5646 的 e200z4 内核中提供了时钟基准定时器Time Base,该定时器中包含了一个减计数器,当减计数器的值由 1 变为 0 时,将引发 Decrementer 中断(IVOR10)。在 Decrementer 中断服务函数IVOR10trap 中,需要调用OSTickISR()。os_cpu_a.inc
10、文件中实现了汇编文件的宏定义,包括两部分内容:第一部分是 CPU 中通用寄存器的地址;第二部分是中断函数中要使用的 prologue 和 epilogue 功能。os_cpu_c.c 文件中定义了 10 个函数,需要自己实现的函数是 OSTaskStkInit,用于初始化每个任务的任务堆栈。其余函数应保留函数定义,函数内容可为空,或保持其默认 状态9。2.2 CAN 通信程序设计微控制器 MPC5646C 一共支持 6 路 FlexCAN 模块。每个 FlexCAN 模块有 64 个消息缓冲(Message Buffer),每个Buffer 都可以独立配置为发送或接收功能。当 Buffer 完
11、成发送或接收动作后,中断标志位将被置位。如果相应的中断允许位被打开,MPC5646C 将产生中断,并进入相应的中断服务函数中。本文使用了“延迟中断处理”的概念,在 CAN接收中断函数中读取 Buffer 中的报文,通过队列发送给任务进行处理。如果当前队列已满,则清除中断标志位,不执行读取操作,退出中断函数。待下次进入中断函数时,读取所有接收的报文。CAN 中断函数流程如图 4 所示。图 4 CAN 中断函数流程本文对每一路 CAN 都单独分配一个任务(task),任务创建时初始化每一个任务对应的 CAN 模块。在任务主循环中读取队列,如果当前队列为空,当前任务则被操作系统挂起,出让 CPU 使
12、用权;当队列非空时,任务被操作系统唤醒,并读取队列中收到的报文,执行处理操作10。CAN 接收任务流程如图 5 所示。本文为每一路 CAN 分配了一个互斥信号量,用于保护执行发送操作的 Message Buffer 不会被重入11。当任务需要在某一路 CAN 模块上发送报文时,首先申请该 CAN 模块对应的互斥信号量,如果信号量被成功获取,则在所有的发送Message Buffer 中寻找空闲的 Message Buffer,找到后通过写寄存器实现发送操作;如果信号量没有被获取,则当前任务被挂起,任务的最长等待时间设置为 5 ms,如果等待超时或没有找到可用的 Message Buffer,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C_OS 车载 网关 控制器 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。