 
- UID
- 1029342
- 性别
- 男
|

(4) FlexRay状态 FlexRay的节点有6个基本的运行状态:
1)配置状态(默认配置/配置):用于各种初始化设置,包括通信周期和数据速率。
2)就绪状态:用于进行内部的通信设置。
3)唤醒状态:用于唤醒没有在通信的节点。当节点的收发器接受到唤醒特征符后,对主机处理器和通信控制器进行上电,唤醒并激活通信控制器、总线驱动器和总线监控器。
4)启动状态:用于启动时钟同步,并为通信做准备。只有将节点唤醒后,才能启动节点工作。系统的启动由2个逻辑步骤组成,冷启动节点启动和其他非冷启动节点通过接受启动帧与冷启动节点整合到一起。
5)正常状态(主动/被动):可以进行通信的状态。
6)中断状态:表明通信中断。
FlexRay状态图如图4所示。

图4 FlexRay状态
3 车电总线接口单元设计
3.1 总线接口单元组成
在综合化处理系统架构中,车电总线访问可简化为下列部分:主控单元,RapidIO交换单元,总线接口单元和车电总线。主控单元包含处理器和PCIe-SRIO转接桥。处理器将信号发送至PCIe-SRIO转接桥,数据通过SRIO交换,传输至总线接口单元,最终实现处理器对车电总线上各传感器的访问与控制。车电总线访问的整体架构如图5所示。

图5 系统总体架构
总线接口单元采用3U、VPX结构,板卡主要由XILINX的Virtex6系列FPGA XC6VLX75T完成CAN总线控制器、FlexRay总线控制器、RapidIO总线接口等模块功能,辅之以CAN和FlexRay总线接口PHY、晶振、电压转换器等芯片完成总线接口单元设计。总线接口单元主要完成RapidIO-FlexRay、RapidIO-CAN协议转换功能,实现了车电总线与任务总线(RapidIO)的无缝连接。由于该总线接口模块不含FlexRay总线监控功能,若要实现对总线的监控,需在节点上外接监控设备。总线接口单元功能组成框图如图6所示。

图6 总线接口单元功能组成框图
3.2 车电总线接口设计
3.2.1 CAN总线接口设计
单元模块通过FPGA输出四路GPIO信号,GPIO连接电压转换芯片以完成电平转换,CAN总线信号完成电平转换后连接CAN芯片,从而输出CAN总线信号与总线接口单元VPX接插件相连,如图7所示。

图7 CAN总线接口硬件组成原理
CAN帧时,处理器驱动在内存定义并组织一个下图结构体,使用RapidIO中NWRITE-R事务,写入FPGA控制器CAN发送缓冲区地址,即刻完成发送;当CAN控制器完成发送后,将对该处理器产生中断,告知发送结果。
当接收CAN帧时,处理器驱动在内存定义一个上图结构体,并将内存地址使用Rapid IO中NWRITE-R事务,写入FPGA控制器CAN接收缓冲区地址;当CAN控制器接收完一帧后,通过NWRITE-R事务写入对该处理器地址空间中并产生中断,告知发送结果。图8是内存数据结构。

图8 CAN内存数据结构
3.2.2 FlexRay总线接口设计
单元模块通过FPGA输出两路GPIO信号,GPIO连接电压转换芯片以完成电平转换,FlexRay总线信号完成电平转换后各输出两路连接FlexRay收发器。由于该XILINX核中只支持FlexRay单信道,因此选择两路FlexRay信道形成冗余设计,2组信道都分为A、B2个通道,满足FlexRay双信道的要求。收发器选用TJA1080,TJA1080收发器是恩智浦公司出品的一款针对FlexRay的具有高速时间触发通讯系统的收发芯片,也是全球第一款符合FlexRay协议2.1规定的FlexRay收发器,具有高达10Mb/s的数据传输速度。每路信号分别通过JTA1080后,最终输出四路FlexRay信号,并与总线接口单元VPX接插件相连。详细结构如图9所示。

图9 FlexRay总线接口硬件组成原理
FlexRay每个数据的数据帧由帧头、有效数据段、帧尾3个部分组成。若为发送,当时间片快到时,链表控制器通过RioMaster模块发送NREAD事务包请求数据,返回的数据进入SendFIFO,由FlexRayIP读取。若为接收,当时间片到时,链表控制器提供接收的基地址,数据收到后将存放于RecvFIFO中,结合接收基地址,通过NWRITE-R写入远端内存,之后发送Doorbell使处理器产生中断。其内存数据结构如图10所示。

图10 FlexRay内存数据结构 |
|