Board logo

标题: 基于μC/OS-Ⅱ的线控转向FlexRay通信控制 05 [打印本页]

作者: samwalton    时间: 2013-10-11 20:45     标题: 基于μC/OS-Ⅱ的线控转向FlexRay通信控制 05

 3.2.2 数据接收发送任务
  FlexRay数据的接收发送是通过中断服务程序进行的,因此在该任务中,只需判断POC状态是否进入正常主动状态,如果是则使用全局变量对接收函数Fr_receive_da()和发送函数Fr_transmit_data()的消息缓冲区进行数据的读取和更新。
  3.2.3 故障检测任务
  在通信过程中,当其他节点因故障重启或是通信线路中断时,可以利用故障检测任务检查POC状态,当协议运行在正常被动状态时,则判断为通信线路出现故障,将故障LED指示灯设定为闪烁状态;当协议运行在暂停状态时,则判断为节点控制器故障,故障LED指示灯设定为常亮状态,并对FlexRay通信启动任务进行解挂,重新对协议进行配置,待故障解决,系统可以自动启动节点运行。程序流程图如图3所示。

  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所示。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0