 
- UID
- 1029342
- 性别
- 男
|

3.3 FPGA逻辑设计 本文设计通过硬件实现CAN总线控制器、FlexRay总线控制器、RapidIO总线接口等模块功能。采用Virtex6系列FPGAXC6VLX75T完成RapidIO-FlexRay、RapidIO-CAN协议转换功能。
FPGA单元包含SRIO控制器、microblaze软核及四路CAN控制器和两路FlexRay控制器。处理器将信号发送至PCIe-SRIO转接桥,经过桥芯片转换发送至SRIO交换板。交换板的一端将信号转发到SRIO控制器上,SRIO核通过PLB总线将控制信号发送至microblaze软核,经过处理信号通过PLB总线发送至四路CAN控制器和两路FlexRay控制器。每路CAN控制器均连接CAN转换器ADM3053,每路FlexRay控制器均连接FlexRay收发器JTA1080。经过转换器最终分别连接至CAN总线和FlexRay总线上。该逻辑设计的主要特点有3个:
(1)SRIO-PLB桥实现了总线接口单元模块的srio总线接入功能。
(2)CAN和FlexRay总线控制器通过板载收发器实现了CAN、FlexRay总线的接入功能。
(3)microblaze软核实现了CAN、FlexRay控制器消息和事件的预处理,完成了与SRIO总线的互连,并做了任务迁移,减轻了主控处理器的压力。
详细逻辑结构如图11所示。

图11 FPGA模块内部逻辑结构
4 仿真与验证
4.1 RapidIO仿真与验证
在Xilinx的ISE14.1开发环境下,基于车电总线接口单元模块对RapidIO接口进行了验证,利用ModelSim对逻辑设计进行仿真,其波形图如图12、图13所示,通过判断数据的一致性可以验证RapidIO总线接口的正确性和有效性。

图12 RapidIO数据发送时序图

图13 RapidIO数据接收时序图
4.2 FlexRay仿真与验证
基于车电总线接口单元模块对FlexRay接口状态机制进行了验证,利用ModelSim对逻辑设计进行仿真,其波形图如图14所示。

图14 FlexRay数据收发时序图
从仿真波形中可以清楚地看出FlexRay状态机制的变化过程。当节点的收发器接收到唤醒特征符后,对主机处理器和通信控制器进行上电,唤醒并激活通信控制器、总线驱动器和总线监控器。节点0被唤醒后,将返回唤醒完成信号,并处于等待启动状态。接着节点1收到唤醒信号,返回唤醒完成信号,节点1进入启动状态,节点0也进入启动状态,最终都进入主动工作状态,开始状态机循环,显示FlexRay总线接口工作正常。
4.3 CAN仿真与验证
调用FPGA内的CAN核基于车电总线接口单元模块对FlexRay接口状态机制进行验证,利用ModelSim对逻辑设计进行仿真,结果如图15所示。端口1发送扩展帧信号,端口0接收,当接收ACK信号时,端口1也接收ACK信号,完成整个扩展帧的收发过程。

图15 CAN数据收发时序图
图15说明了总线接口单元模块RapidIO接口、FlexRay接口和CAN接口完成仿真测试,工作正常,完成了RapidIO-FlexRay、RapidIO-CAN的协议转换功能。
5 结束语
目前,笔者所在团队已成功完成核心处理机系统正样样机的整体测试及验证工作。本文设计在该系统中已经通过功能性测试,基于RapidIO的CAN总线控制器在1Mb/s的最大波特率下工作正常,满足各项功能指标,基于RapidIO的FlexRay总线控制器在10Mb/s的最大波特率下也满足各项功能指标。下一步的工作将通过专业的CAN、FlexRay网络测试仪器对本文设计进行更全面的性能测试,同时将着重解决FlexRay总线接口的信道冗余问题,通过对FlexRay控制器IP核的升级,使之支持双信道通信,从而满足FlexRay真正意义上的双信道冗余要求。 |
|