本发明涉及汽车驾驶辅助系统技术领域,尤其是涉及一种adas域控制器。
背景技术:
sergiosaponara等人在“fpga-basednetworkingsystemsforhighdata-rateandreliablein-vehiclecommunications”一文利用fpga设计实现了一种来源于航空领域,叫做spacewire标准的通信路由和通信接口。并通过该网络实现了协议识别(protocolidentification)和远程内存访问协议(remotememoryaccessprotocol)。该网络保证了网络安全和冗余,支持百兆以上的通信速率。最终,研究人员基于欧洲航空局项目基础上,对spacewire路由器和支持spacewire接口项目开发板之间进行连接通信。使用ep2s60sramfpga实现八路spw路由连接,数据发送速率可以达到200mbps。
ronnieo.serfajuan等人在“recongurationofanfpga-basedtime-triggeredflexraynetworkcontrollerusingeedc”一文中基于xilinxspartan6fpga实现了精简版的flexray通信控制器。flexray是一种时间触发的协议,可以满足汽车adas系统中对于传输速度快,可靠性高的要求。在flexray模块中,作者实现了三种不同的错误检测模块,hammingcode,crc,和enhancederrordetectioncode(eedc)。实验表明eedc占用更少的硬件资源,性能更好。
2015年3月,英伟达推出了为自动驾驶开发的学习平台drivepx。2016年,这一平台迎来了升级产品,drivepx2。drivepx2采用了12核心cpu,处理能力达到8t/秒,相当于150台macbookpro。技术层面,英伟达drivepx2可以通过连接摄像头、传感器、雷达等车载硬件来实现对于周围物体的识别,并依此进行“建模”。通过“建模”,将路面情况的效果图实时反映到车辆液晶仪表盘上,然后对周围的每个物体进行识别、判断,给出最佳行进方案。据了解,沃尔沃将成为第一个全面使用该整套系统的品牌,而宝马、福特、奥迪以及奔驰也在部分方面使用了英伟达的这项技术。
全球汽车座舱电子企业伟世通于2018(第15届)北京国际汽车展览会上首次在中国展出drivecore自动驾驶平台。drivecore作为第一个支持汽车制造商与第三方的开放合作、快速开发自动驾驶解决方案的技术平台,将大大加快自动驾驶技术的开发和商业化。drivecore是一个完整的技术平台,由硬件、车载中间件和基于pc的软件开发工具套件组成,满足3级以上自动驾驶对开发机器学习算法的要求。在伟世通集中计算技术的成功基础上,drivecore是一款安全可靠的域控制器,计算能力扩展性强,可以整合多个摄像头、激光雷达、雷达传感器的数据。
安徽大学申请的“基于视觉处理的车辆高级辅助驾驶系统实验平台”专利,申请号为cn201710198434.0,公开号为cn106991890a。该发明公开一种基于视觉处理的车辆高级辅助驾驶系统实验平台,包括箱体和盖在所述箱体上的箱盖,所述箱盖上设有显示屏;所述箱体上设有摄像头、显示屏电源、摄像头电源、处理器电源、串口输出接口、串口输入接口、烧录调试接口,所述箱体内设有传感器、传感器芯片组、辅助处理器、主处理器和引线排。该发明的实验平台将adas系统底层驱动与硬件运行环境集成,并将adas算法移植到该实验平台的硬件基础上。解决了传统的adas系统与实验平台的有效结合问题,降低了adas的学习环境搭建的难度。并且在此基础上,可以使得adas能够基于实验箱的基础上完成一些基本的车辆辅助驾驶功能,不需要过度依赖车辆中控ecu。
圣码智能科技(深圳)有限公司申请的“多功能的adas设备”专利,申请号为cn201621215241.9,该专利设计了一种一种多功能的adas设备,包括辅助驾驶模块,供电电池,及与辅助驾驶模块电性连接的辅助摄像头、后摄像头、存储模块和车辆行驶状态信息采集模块,还包括sos模块、人脸识别模块、蓝牙模块、无线通讯模块和电池管理模块,sos模块、蓝牙模块、人脸识别模块、无线通讯模块和电池管理模块分别与辅助驾驶模块电性连接,供电电池与电池管理模块电性连接,蓝牙模块与车辆的obd接口上的蓝牙进行配对并接收器传输的obd数据。本实用新型由于采用了sos模块、人脸识别模块、蓝牙模块、无线通讯模块和电池管理模块,蓝牙模块与设置在车辆的obd接口上的蓝牙进行配对,并接收器传输的obd数据,进而了解车辆的状况,具有功能多、使用方便、防止车辆丢失和紧急救助等优点。
以上关于汽车辅助系统的设计中,缺乏一种能够实现低速和高速两种数据通信的汽车辅助系统设计。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种adas域控制器。
本发明的目的可以通过以下技术方案来实现:
一种adas域控制器,包括相互连接的aurixtc297开发板和xilinxzynqultrascale+mpsoc开发板,所述aurixtc297开发板上设置有基于autosaros的ethernet模块和自带hssl硬件模块,所述xilinxzynqultrascale+mpsoc开发板上设置有基于freertos的ethernet模块和基于自带fpga的hssl接口。
进一步地,所述的基于autosaros的ethernet模块的配置工具为vectordavinci工具。
进一步地,所述aurixtc297开发板与所述xilinxzynqultrascale+mpsoc开发板之间通过利用网线连接所述基于autosaros的ethernet模块和所述基于freertos的ethernet模块以实现ethernet通信。
进一步地,所述aurixtc297开发板与所述xilinxzynqultrascale+mpsoc开发板之间通过利用转接板和ieee1394火线来连接所述自带hssl硬件模块和所述基于自带fpga的hssl接口以实现hssl通信。
进一步地,所述xilinxzynqultrascale+mpsoc开发板的应用处理单元采用四核armcortex-a53mpcore,其实时处理单元采用双核armcortex-a53mpcore,其多媒体处理单元采用mali-400mp2。
进一步地,所述自带hssl硬件模块的通道个数至少为4个,所述aurixtc297开发板上还设有用于提供数据链路层和物理层服务的hsct模块。
与现有技术相比,本发明具有以下优点:
(1)结构简单,本发明中相互连接的aurixtc297开发板和xilinxzynqultrascale+mpsoc开发板,aurixtc297开发板上设置有基于autosaros的ethernet模块和自带hssl硬件模块,xilinxzynqultrascale+mpsoc开发板上设置有基于freertos的ethernet模块和基于自带fpga的hssl接口,使得整个adas的设置简单,并且适用性强,拓展性好。
(2)数据通信速度可选,本发明中为了综合利用两块开发板的优势,在两块开发板之间实现了ethernet和hssl两种通信方式,hssl作为ethernet补充,通信方式上进行冗余设计;对于hssl通信,实现了低速(5mbit/s)和高速(320mbit/s)两种不同速度。
附图说明
图1为本发明中的autosaros架构图;
图2为本发明中自带hssl硬件模块的通道架构示意图;
图3为本发明中自带hssl硬件模块的整体连接架构示意图;
图4为本发明中基于自带fpga的hssl接口架构示意图;
图5为本发明中aurixtc297开发板发收报文一次所有总时间的测量示意图;
图6为本发明中aurixtc297开发板发送延迟的测量示意图;
图7为本发明中aurixtc297开发板接收延迟的测量示意图;
图8为本发明的整体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
如图8所示为对应本发明的技术方案的实施例的整体结构示意图,主要的应用场景是adas或者自动驾驶汽车,平台的选择原因有以下几个方面:
英飞凌aurix/aurix2g微控制器tc297属于英飞凌全新的微控制器系列,专用于满足汽车行业对控制器性能和安全两方面的要求。较经典锁步架构,使用aurixtm可将mcu安全系统开发的工作量减少30%,更容易达到asil-d安全标准。
xilinxzynqultrascale+mpsoc采用运行速率高达1.5ghz的四核
使用tc297来对车辆进行控制,满足自动驾驶中对于计算平台实时性的要求和功能安全需求;使用xilinxfpga的可重构特点可以对特定硬件电路接口进行实现,也可以对特定算法进行加速,满足了平台对于计算性能的要求。
平台内部的通信方式的实现主要包括以下几个步骤:(1)搭建实时操作系统;(2)确定物理连接方式,完成驱动开发;(3)开发测试应用程序,对通信结果进行测量分析。具体地完成了以下几项工作:
探讨了hssl和ethernet两种通信方式的优缺点,选择合适的通信协议;
基于autosaros,在英飞凌tc297上完成hssl驱动程序开发和ethernet通信驱动程序开发;
基于实时操作系统,在xilinxzynq上,完成ethernet通信驱动程序开发,用fpga实现hssl通信接口、并完成驱动程序开发;
完成测试应用程序,测量tc297与xilinxzynq之间的通信延迟、通信带宽的性能参数,并对测量结果进行分析;
最终通过两种通信方式使两种不同的处理器集成成一种强大的计算平台;
为了综合利用两块开发板的优势,在两块开发板之间实现了ethernet和hssl两种通信方式,hssl作为ethernet补充,通信方式上进行冗余设计;对于hssl通信,实现了低速(5mbit/s)和高速(320mbit/s)两种不同速度。
(一):ethernet通信的实现
1.aurixtc297上首先要搭建autosaros,然后基于autosaros进行ethernet模块驱动的开发。autosar是是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立的,为汽车工业开发一个开放的、标准化的软件架构,如图1所示,本实施例中使用vectordavinci工具对ethernet的各个模块进行配置,包括底层的eth、ethtrcv、ethif以及实现udp通信功能的tcpip模块。然后使用tasking进行工程集成,使用ude进行程序烧写,使用canoe进行该模块的单元测试;
2.在xilinxmpsoc上搭建freertos,在现有的ethernet模块基础上,搭载了一种轻量化的tcp/ip实现协议lwip,实现了udp通信的同时,占用更少的板上资源。本实施例对lwip进行了更一步的封装,更加方便于信息收发api的使用。
(二):hssl通信的实现
1.aurixtc297开发板自带hssl的硬件模块中,共有四个通道可以进行单个数据的传送(即singlemode)。如图2所示,这四个通道都支持将来自主机的8/16/32bit的数据直接写入目标寄存器,以及从目标端读取数据值。但是只有一个通道(channel2)支持大数据块模式的传送方式(即streammode)。其中,对于stream通信模式,只适用于主机向从机发送数据流,而不支持接收stream数据流。hssl模块只负责实现传输层的任务,并将数据交给hsct(highspeedcommunicationtunnel)模块,如图3所示,由hsct模块来提供数据链路层和物理层的服务,以及数据的序列化和传输。这一系列的传输过程都会受到crc和超时(timeout)机制的安全保护。在tasking工程中,将开发板自带库文件相关部分集成进来,然后进行上层应用的开发。本专利实现了单点传输模式和流传输模式两种模式,可以直接访问和读写对方内存。
2.xilinxmpsoc并没有hssl模块,需要用硬件语言在fpga实现hssl接口,然后再基于freertos进行模块驱动和应用程序的开发。本专利实现了低速(5mbit/s)和高速(320mbit/s)两种不同速度模式,高速主要用于正常的通信使用。当高速模式出现问题时,可用低速模式对系统进行恢复,如图4所示为用fpga实现的hsslipcore模块图。
本发明的实际通信效果结果如下:
测试1:使用ethernet收发报文,测试ethernet通信的延迟和速率。
实验平台:aurixtc297,xilinxzynqultrascale+mpsoczuc102
实验方案:
将两块开发板之间,使用网线连接ethernet接口。我们使用aurix控制报文的发送数量。具体过程如下:首先会对com模块的状态进行检测,然后检测tcpip地址分配的状态,从而分配一个用户指定的本地ip地址以及端口号等信息。当分配完本地ip地址后,就会创建一个上层的udp套接字(socket),并将该套接字绑定到之前分配的本地ip地址上,这样就应用程序就可以通过套接字来发送以及获取报文数据内容了。然后,再报文发送之前,通过调用相关函数来进行io口的电平转换,用于标记报文的发送事件,同时该io也对应一个相应的led小灯,拉低该io口则会点亮该小灯,方便肉眼观察。当aurix将发送出去的报文再次接受回来时,会将io口拉底,即led熄灭。使用示波器的两个通道分别对aurix和fpga进行触发捕获,通过测试相应io引脚的状态变化来测试延迟时间。测试截图中黄色通道代表aurix触发信号,青蓝色通道代表fpga触发信号。其中,aurix端发送延迟指的是auirx端一帧报文从开始发送到抵达fpga端所用的时间;aurix端接受延迟也就是fpga的发送延迟,即从fpga开始发送到aurix接收到报文所用的时间,如图5、图6和图7所示,aurixtc297开发板发收报文一次所有总时间为376微秒,aurixtc297开发板发送延迟为208微秒,aurixtc297开发板接收延迟为160微秒。
测试2:使用hssl连接收发报文,测试hssl通信的延迟和速率。
实验平台:aurixtc297,xilinxzynqultrascale+mpsoczuc102
实验方案:
aurix端自带hssl模块引脚,zynq端需要使用转接板实现和hssl模块的连接,二者之间用ieee1394火线进行连接。测试分为以下几种情况进行:
从zynq向aurix内存写数据:8位16位32位/通道0,1,2,3
zynq从aurix内存读数据;8位16位32位/通道0,1,2,3
从aurix向zynq内存写数据:8位16位32位/通道0,1,2,3
aurix从zynq内存读数据:8位16位32位/通道0,1,2,3
使用流模式从zynq向aurix内存写数据zynq内存读数据:256位/通道2
使用流模式从aurix向zynq内存写数据:256位/通道2
测试结果:
表一:从zynq端向aurix收发数据
表一:从aurix端向zynq收发数据
表三:最终测试结果
其中:1m=1024kb1kb=1024byte1byte=8bit
由表三可知,本实施例中的adas域控制器,可以分别通过ethernet通信和hssl通信达到低速(5mbit/s)和高速(320mbit/s)两种不同数据传输通信速度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。