首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

 近年来,随着汽车工业和电子工业的不断发展,汽车线控转向技术成为了研究的热点,并提出了包括路感模拟、转向稳定性以及总线技术等诸多关键性问题并加以研究。其中的总线技术,已经得到了众多知名汽车公司的积极研究与应用。一些汽车制造商目前计划采用FlexRay总线,这是一种特别适合下一代汽车应用的网络通信总线,具有容错功能和确定的消息传输时间,能够满足汽车控制系统的高速率通信要求。
  FlexRaY是时间触发的通信总线,对实时性要求较高,因此仅仅依靠由简单循环和中断服务程序组成的嵌入式程序将无法满足要求。同时,FlexRay通信在启动和运行过程中,需要利用循环对总线状态进行查询,既浪费大量的系统资源,又容易造成程序死锁,成为应用中的难点问题。
  基于上述问题,本文基于μC/OS-II操作系统,设计了线控转向中FlexRay总线的通信部分。在满足实时性要求的基础上,利用其多任务的特点,节约了系统资源,避免了死锁问题的出现,并增加了通信故障检测报警功能,为今后开发线控转向系统奠定了基础。
  1 FlexRay总线技术
  为了满足汽车线控技术的需求,FlexRay联盟于2005年发布了FlexRay总线协议。其主要特点有:双通道传输,每个通道的传输速率高达lO Mb/s;具有灵活的使用方式,支持多种网络拓扑结构;负载率高;提供冗余机制。
  从开放式系统互连参考模型角度来看,FlexRay通信协议定义了四层结构:物理层、传输层、表示层和应用层,各层功能描述见表1。表示层中,通信状态切换控制整个FlexRay通信的运行过程,具有十分重要的作用。

协议各层功能描述 hspace=0 src="http://embed.chinaitlab.com/UploadFiles_4615/201005/20100505104544128.jpg" width=448 border=0>

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