为进步集成架构中车电总线通讯速率,结合归纳化处理体系项目要求,选用双总线结合的方法,运用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所示。
图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所示。
图2 FlexRay节点结构
(3) FlexRay网络拓扑结构
FlexRay的网络拓扑结构首要分为3种:总线式,星型,总线星型混合型。在星型结构中还存在级联方法。一般,FlexRay节点能够支撑2个信道,在双信道体系中,不是一切节点都必须与2个信道衔接。与总线结构比较,星状结构的优势在于:它在接纳器和发送器之间供应点到点衔接。该优势在高传输速率和长传输线路中尤为显着。另一个重要优势是过错别离功用。双通道备用星型结构如图3所示。
图3 FlexRay网络拓扑结构
(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内存数据结构
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真实意义上的双信道冗余要求。