新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于μC/OS-Ⅱ的Flexray线控转向系统的实现

基于μC/OS-Ⅱ的Flexray线控转向系统的实现

作者:时间:2013-12-27来源:网络收藏

基于μC/OS-Ⅱ的Flexray线控转向系统的实现

  4 实验验证

  使用Vector公司的CANoe软件,可以方便地观察FlexRay总线上的数据流情况。实验中,将CANoe软件提供的FlexRay接口板VN3600接入总线网络中,之后参考MC9S12XF512芯片手册中FlexRay通信的MicroTick定义为25 ns,因此在FlexRay初始化定义中,设置参数P_MICRO_PER_M-ACRO_NOM为40,则一个MareroTick等于40个MicroTick,也就是说,FlexRay通信配置的基准时间片为lμs。据此,配置通信周期为5 000 μs;1个静态时槽长度为24μs,共有91个;1个动态时槽为5μs,共有289个;特征窗与网络空闲时间为1 371μs。

  程序中对节点Node_A和Node_B的时槽定义如表2所示。
基于μC/OS-Ⅱ的Flexray线控转向系统的实现

  实验结果如图4所示,运行时间2 289 s,时槽变化与周期数均与设计一致,数据收发正常。由图5可知,帧速率为3 200帧/s,总计传输7 369 600帧,没有出现无效帧与错误帧,达到了实时性和稳定性的要求。
基于μC/OS-Ⅱ的Flexray线控转向系统的实现

基于μC/OS-Ⅱ的Flexray线控转向系统的实现

  在通信过程中,分别进行故障模拟实验。

  (1)突然断开总线来模拟应用现场出现线路故障的情况,可以发现数据停止更新,故障检测LED指示灯闪烁,说明程序检测到了线路故障问题并进行报警。当再次连接总线后,故障检测LED熄灭,数据继续更新,说明通信自动重新启动。

  (2)将任意一个控制器进行掉电,模拟单一控制器故障情况,可以发现数据停止更新,故障检测LED指示灯开始常亮,说明程序检测到了任意节点故障导致通信中断的问题并进行报警。当再次开启掉电控制器后,故障检测LED熄灭,数据继续更新,说明通信自动重新启动。通过以上两个实验,验证了故障检测报警功能良好。

  5 结语

  针对系统FlexRay通信过程中存在的问题,将实时操作系统μC/OS-Ⅱ应用于系统中,进行了代码移植和通信任务设计。之后通过硬件实验,对数据结果和故障检测进行了测试,从实验结果可以看出,该系统解决了FlexRay总线应用的复杂问题,并利用μC/OS-Ⅱ操作系统保证了系统实时性、稳定性和安全性的要求,为今后实现系统在汽车辅助驾驶和智能驾驶方面的应用奠定了基础。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭