基于FPGA的车电总线接口简述及模块设计

基于FPGA的车电总线接口简述及模块设计,第1张

为提高集成架构中车电总线通信速率,结合综合化处理系统项目要求,采用双总线结合的方式,利用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所示。

基于FPGA的车电总线接口简述及模块设计,图1 CAN分层结构,第2张

图1 CAN分层结构

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2485459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存