您当前的位置:五五电子网电子知识单片机-工控设备综合-其它基于FPGA设计的车电总线接口技术研究 正文
基于FPGA设计的车电总线接口技术研究

基于FPGA设计的车电总线接口技术研究

点击数:7792 次   录入时间:03-04 11:56:25   整理:http://www.55dianzi.com   综合-其它

为提高集成架构中车电总线通信速率,结合综合化处理系统项目要求,采用双总线结合的方式,利用CAN总线和FlexRay总线实现功能及搭配上的互补,提出一种基于现场可编程门阵列(FPGA)的总线接口单元设计方案。通过FPGA完成CAN总线控制器、FlexRay总线控制器、RapidIO总线接口等模块功能,实现高速接口的控制和扩展,并使模块接口具备可配置能力。测试结果表明,CAN接口及FlexRay接口在指定的波特率下均工作正常,满足项目要求的各项性能指标。

1 概述


CAN总线是一种有效地支持分布式控制或者实时控制的串行通信网络,具有多主机、高性能以及高可靠性。然而随着汽车电子技术的发展,早期的CAN总线已经不能很好地解决众多电子设备之间的实时通信问题。由FlexRay联盟制定的FlexRay协议标准成为一种理想的解决方案。FlexRay通讯协议运用于可靠的车内网络中,是一种具备故障容错的高速汽车总线系统。作为一种灵活的车载网络系统,FlexRay具有高速、可靠及安全的特点,它不仅能简化车载通信系统的架构,而且有助于汽车电子单元获得更高的稳定性和可靠性。FlexRay在物理上通过2条分开的总线进行通信,每一条的数据速率是10 Mb/s。CAN网络最高性能极限为1Mb/s,而FlexRay总数据速率可达20Mb/s。FlexRay还能够提供很多网络所不具有的可靠性特点,尤其是FlexRay具备的冗余通信能力,通过硬件可实现完全复制网络配置,并进行进度监测。CAN总线和FlexRay总线两者在功能及搭配上可实现互补。FPGA在数字电路设计上非常灵活且性能强大,在不改变外围电路的情况下,可以编写不同的片内电路逻辑,以实现不同功能或进行功能扩展。


本文提出的车电总线接口单元综合考虑用户的具体需求,保留CAN总线作为卫星导航设备接口总线,其余接口总线采用高速的FlexRay总线,既兼容较低速接口的通信速率要求,又满足高速总线接口的需要,将CAN和FlexRay总线结合在一起,基于FPGA,使成本与效益最大化。


2 车电总线架构


本文综合化处理系统项目中处理系统采用多处理器结构,板间通信数据量较大。若采用PCI总线进行信号传输则由于PCI总线带宽有限,当数据量较大时容易形成通信瓶颈,且PCI总线不支持点对点传输。若选用以太网,则传输速率较低,软件开销较大,且高带宽带来的高成本使它在系统内互连时缺乏吸引力。结合项目采用高速实时总线的具体要求,最终选择基于VPX架构的RapidIO总线进行通信传输。VPX总线采用高速串行总线技术替代VME总线的并行总线技术,支持更高的背板带宽。其交换式结构使得系统整体性能不再受主控板的控制,提高了系统的整体性能。通过串行RapidIO(SRIO)转换,完成了RapidIO-CAN、RapidIO-FlexRay协议转换功能,实现了车电总线与任务总线(RapidIO)的无缝连接,进而满足了处理系统项目高速、多处理器、实时的通信传输要求。

 

2.1 CAN技术


控制器局部网(ControllerAreaNetwork,CAN)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。


(1) CAN的分层结构


CAN遵从OSI模型,按照OSI基准模型,CAN结构划分为2层:数据链路层和物理层[3-4],如图1所示。

 

CAN分层结构

图1 CAN分层结构
 

按照IEEE802.2和802.3标准,数据链路层又划分为逻辑链路控制和媒体访问控制;物理层又划分为物理信令、物理媒体附属装置和媒体相关接口。其中,逻辑链路控制子层为数据传递和远程数据请求提供服务;访问媒体控制子层的功能主要是传送规则,即控制帧结构、执行仲裁、错误检验、出错标定和故障界定。


(2) CAN总线的主要特点


CAN为多主工作方式,网络上的任意节点在任意时刻都可以主动地向其他节点发送信息,不分主从,方式灵活。其采用非破坏性的总线仲裁技术,可以进行点对点、一点对多点和全域广播方式传递信息,多点同时发送信息时,按优先级顺序通信,节省总线冲突仲裁时间,避免网络瘫痪。报文传送采用短帧数据结构,传输时间短,抗干扰能力强,检错效果好。网络节点在错误严重的情况下可以自动关闭输出功能,脱离网络,实现了标准化、规范化[6].


2.2 FlexRay技术


(1) FlexRay分层结构


FlexRay的分层结构由物理层、传输层、表示层及应用层组成。物理层定义了信号的实际传输方式,包括在时域上检测通信控制器故障的功能;传输层是FlexRay协议的核心,它的功能是从表示层获得节点要发送的信息和把网络上接收的信息传送给表示层;表示层完成信息过滤、信息状态处理以及通道控制器与主机的接口;应用层由应用系统定义。


(2) FlexRay节点结构


FlexRay节点的核心是ECU(Electronic Control Unit),是接入车载网络中的独立完成相应功能的控制单元。主要由电源供给系统、主处理器、固化FlexRay通信控制器、可选的总线监控器和总线驱动器组成。主处理器提供和产生数据,并通过FlexRay通信控制器传送出去。其中驱动器和监控器的个数对应于通道数,与通信控制器和微处理器相连。总线驱动器连接着通信控制器和总线,或是连接总线监控器和总线。主处理器把FlexRay控制器分配的时间槽通知给总线监视器,然后总线监视器就允许FlexRay控制器在这些时间槽中传输数据。数据可以随时被接收。结构图如图2所示。
FlexRay节点结构


图2 FlexRay节点结构
 

(3) FlexRay网络拓扑结构


FlexRay的网络拓扑结构主要分为3种:总线式,星型,总线星型混合型。在星型结构中还存在级联方式。通常,FlexRay节点可以支持2个信道,在双信道系统中,不是所有节点都必须与2个信道连接。与总线结构相比,星状结构的优势在于:它在接收器和发送器之间提供点到点连接。该优势在高传输速率和长传输线路中尤为明显。另一个重要优势是错误分离功能。双通道备用星型结构如图3所示。

 FlexRay网络拓扑结构

图3 FlexRay网络拓扑结构
 

(4) FlexRay状态


FlexRay的节点有6个基本的运行状态:


1)配置状态(默认配置/配置):用于各种初始化设置,包括通信周期和数据速率。


2)就绪状态:用于进行内部的通信设置。


3)唤醒状态:用于唤醒没有在通信的节点。当节点的收发器接受到唤醒特征符后,对主机处理器和通信控制器进行上电,唤醒并激活通信控制器、总线驱动器和总线监控器。


4)启动状态:用于启动时钟同步,并为通信做准备。只有将节点唤醒后,才能启动节点工作。系统的启动由2个逻辑步骤组成,冷启动节点启动和其他非冷启动节点通过接受启动帧与冷启动节点整合到一起。


5)正常状态(主动/被动):可以进行通信的状态。


6)中断状态:表明通信中断。


FlexRay状态图如图4所示。

FlexRay状态

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


总线接口单元功能组成框图

[1] [2]  下一页


本文关键字:技术  接口  综合-其它单片机-工控设备 - 综合-其它