碧波液压网 欢迎你,游客。 登录 注册

基于μC/OS-Ⅱ的线控转向FlexRay通信控制

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  0 引言

  近年来,随着汽车工业和电子工业的不断发展,汽车线控转向技术成为了研究的热点,并提出了包括路感模拟、转向稳定性以及总线技术等诸多关键性问题并加以研究。其中的总线技术,已经得到了众多知名汽车公司的积极研究与应用。一些汽车制造商目前计划采用FlexRay总线,这是一种特别适合下一代汽车应用的网络通信总线,具有容错功能和确定的消息传输时间,能够满足汽车控制系统的高速率通信要求。

  FlexRaY是时间触发的通信总线,对实时性要求较高,因此仅仅依靠由简单循环和中断服务程序组成的嵌入式程序将无法满足要求。同时,FlexRay通信在启动和运行过程中,需要利用循环对总线状态进行查询,既浪费大量的系统资源,又容易造成程序死锁,成为应用中的难点问题。

  基于上述问题,本文基于μC/OS-II操作系统,设计了线控转向中FlexRay总线的通信部分。在满足实时性要求的基础上,利用其多任务的特点,节约了系统资源,避免了死锁问题的出现,并增加了通信故障检测报警功能,为今后开发线控转向系统奠定了基础。

  1 FlexRay总线技术

  为了满足汽车线控技术的需求,FlexRay联盟于2005年发布了FlexRay总线协议。其主要特点有:双通道传输,每个通道的传输速率高达lO Mb/s;具有灵活的使用方式,支持多种网络拓扑结构;负载率高;提供冗余机制。

  从开放式系统互连参考模型角度来看,FlexRay通信协议定义了四层结构:物理层、传输层、表示层和应用层,各层功能描述见表1。表示层中,通信状态切换控制整个FlexRay通信的运行过程,具有十分重要的作用。

  FlexRay协议操作控制(Proposal Operation Control,POC)将通信状态分为几种状态,分别为:配置状态(默认配置、配置);就绪状态;唤醒状态;启动状态;正常状态(正常主动、正常被动);暂停状态。其状态转换图如图1所示。当控制器主机接口(Controller Host InteRFace,CHI)给通讯控制器(CC)发送命令后,CC从暂停状态进入默认配置状态,满足配置条件后进入配置状态,完成网络初始化和节点通信任务初始化;之后可以进入就绪状态,完成节点内部通信设置,如果没有满足通信就绪条件,就返回配置状态继续配置;在就绪状态,CC可以发送唤醒帧,唤醒网络中没有在通信的节点,也可以获得CPU的启动通信命令,完成与FlexRay网络时钟同步;启动成功后进入正常状态,完成数据的收发;当出现错误时,可由正常状态进入暂停状态,重新等待CHI命令。

  由此可见,控制器需要按照POC状态进行相应操作,因此会出现对POC状态的循环检测,容易造成程序死锁以及占用大量系统资源。按照操作系统的介绍,其任务是以循环的形式存在的,因此可以将检测POC状态放入任务中单独执行,通过操作系统进行任务调度,可以避免影响到其他任务中程序的运行,并且提高程序的执行效率。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论