车载智能网关产品介绍,怎么连接其他感知设备?

作者: 阅读量:8

614cdc5a9f9238498a5ced93fae1bff9.png

今天心情不错,索性把这段时间积累的经验整理出来,重点讲讲智能网关是怎么连接各种感知设备的。这块内容网上资料比较零散,希望这篇文章能帮到正在做类似项目的朋友。

先搞清楚智能网关到底是什么

很多刚入行的同事问我,车载网关和智能网关有啥区别。我的理解是,传统网关主要干三件事:协议转换、报文路由、诊断管理。智能网关在这个基础上增加了更强的计算能力和更丰富的接口,能够直接连接摄像头、雷达这些感知设备,甚至做一些轻量级的数据处理。

去年我们项目组评审过几十份网关方案,最后选的是恩智浦S32G274A这颗芯片。这玩意集成了4个Cortex-A53核心、3个Cortex-M7核心,还有一个加速器单元,算力达到16000 DMIPS。接口资源也很丰富,16路CAN FD、8路以太网MAC、4路PCIe、多路MIPI CSI。

正是这些接口让智能网关能够直连各种感知设备。传统方案里,摄像头数据要先到专门的视觉处理器,处理完再通过CAN或以太网发给其他ECU。现在用智能网关,可以把摄像头直接连到网关上,省掉中间环节,降低延迟和成本。

网关硬件架构和接口配置

我们这个项目的网关硬件框图大概是这样的:

主控芯片:S32G274A,负责运行网关软件栈、协议处理、部分感知算法电源管理:多路LDO和DC-DC,给不同模块供电,支持电源时序控制通信接口:12个CAN FD(带隔离)、4路千兆以太网PHY、2路百兆以太网PHY视觉接口:4路MIPI CSI-2(每路4 lane)、2路GMSL2解串器无线通信:4G/5G模组、WIFI/BT模组、V2X模组存储:8GB LPDDR4、64GB eMMC调试接口:JTAG、UART、USB

这套配置在我们的车型上已经算比较豪华的了,成本大概在2000块左右。如果是经济型车,可以砍掉一些接口,用更便宜的芯片,成本能控制到800-1000。

接口的选择很有讲究。CAN接口必须带物理隔离,我们用的是TI的ISO1042芯片,虽然每路成本多了十几块钱,但能有效防止接口损坏时故障扩散。以太网PHY选的是Marvell 88Q2112,支持1000BASE-T1,车规级认证齐全。

摄像头的连接方案

摄像头是最常见也是最重要的感知设备。现在一台智能车上少说也得装6-8个摄像头,有前视、环视、后视、舱内监控等等。这些摄像头怎么接到网关上,方案还真不少。

方案一:MIPI CSI直连

这是最直接的方式。摄像头模组的ISP(图像信号处理器)输出MIPI CSI信号,直接接到网关的MIPI CSI接口上。我们项目里的舱内监控摄像头就是这么连的。

具体实现上用的是一颗200万像素的CMOS传感器,OV2312,输出1920x1080@30fps的RAW图像。MIPI接口配置成4 lane,时钟频率800Mbps。从摄像头到网关的连接线用的是同轴线,长度控制在50cm以内,再长信号质量就不行了。

这种方案的优点是延迟最低,从图像采集到网关接收大概只有几毫秒。缺点是传输距离受限,而且MIPI接口数量有限,一个网关最多也就能接4-6个摄像头。

调试的时候遇到过图像时序问题,摄像头输出的VSYNC和网关期望的对不上,画面一直撕裂。后来发现是摄像头固件的timing配置错了,改了几个寄存器才解决。这种底层问题真的很磨人,光调这个时序就花了两天。

方案二:GMSL/FPD-Link连接

如果摄像头装在车头或者车尾,距离网关比较远,就得用GMSL(Gigabit Multimedia Serial Link)或者FPD-Link(Flat Panel Display Link)这种长距离串行接口。

我们的前视摄像头用的是GMSL2方案。摄像头端有个Maxim的MAX9295A串行器,把并行的图像数据转成串行流,通过一根同轴线传到网关。网关这边用MAX9296A解串器,把串行流还原成并行数据,再送给SOC处理。

GMSL2支持最长15米的传输距离,数据率能到6Gbps,完全够用。而且同轴线还能支持PoC(Power over Coax),网关通过这根线给摄像头供电,省了单独的电源线。

但GMSL方案的坑也不少。首先是成本,串行器和解串器加起来每路得多50块钱。其次是调试复杂,GMSL的配置寄存器有几百个,视频格式、时钟、均衡参数都要精确设置。我们当时光摸索这些寄存器的配置就用了一个星期。

还有个大坑是EMC问题。GMSL的时钟频率很高,如果PCB走线不好或者屏蔽做得不到位,很容易产生辐射干扰。我们在EMC预测试时,发现150MHz附近有个超标的峰,查了好几天才定位到是GMSL的时钟谐波。后来在同轴线接头处加了磁珠,问题才解决。

方案三:以太网摄像头

这是最近开始流行的方案。摄像头内部集成压缩编码器,把图像压缩成H.264或者H.265流,通过车载以太网发送。网关接收后可以直接转发,也可以解码做进一步处理。

我们的环视摄像头就用的以太网方案,4个摄像头各连一路百兆以太网到网关。每个摄像头输出1280x720@30fps的H.264流,码率控制在6-8Mbps。网关收到后转发给座舱域控制器做拼接显示。

以太网方案的最大优势是灵活性好。摄像头可以放在车身任何位置,只要拉根网线就行。而且协议标准,不像GMSL那样被芯片厂商绑定。成本也相对可控,一个以太网摄像头模组大概300块。

不过这个方案对带宽规划要求比较高。4个环视摄像头加起来就要30Mbps带宽,如果再加上其他以太网设备,很容易造成网络拥塞。我们用了VLAN划分,把摄像头数据和控制数据隔离,并配置了QoS策略,保证视频流的优先级。

另外压缩会引入延迟,从采集到显示大概有100-150毫秒。对于倒车影像这种应用还能接受,但如果要做实时的视觉感知,这个延迟就偏大了。

毫米波雷达的连接

毫米波雷达通常用CAN或者以太网连接。我们车上装了5个毫米波雷达,1个前向长距、2个前角、2个后角。

前向长距雷达

用的是大陆的ARS540,这个雷达性能很强,探测距离250米,分辨率高。通信接口是CAN FD,波特率2Mbps。雷达每50ms输出一帧目标列表,包括距离、速度、角度、RCS等信息。

网关接收雷达数据后,主要做两件事。一是把数据转发给ADAS域控制器做融合决策,二是从中提取关键信息(比如前方最近目标的距离)转成传统CAN报文,发给仪表显示。

实际开发中发现雷达数据量挺大的,最多能输出100个目标,整个报文要占30多个CAN帧。如果网络负载高的时候,这些帧容易被拆散,接收端需要做重组和校验。我们在网关里实现了一个报文缓存和重组机制,确保数据的完整性。

角雷达

4个角雷达用的博世的MRR evo14,这是个集成化的雷达模组,支持以太网接口。我们用百兆以太网连接,雷达输出UDP数据包,包含目标信息和诊断状态。

以太网雷达的好处是数据格式灵活,可以传更多的原始信息,比如距离-多普勒图谱。但也带来了网络负载的问题,4个雷达同时输出,峰值带宽能到50Mbps。我们在网关上配置了802.1Qav流量整形,限制每个雷达的最大发送速率,避免瞬时拥塞。

还有个细节是时间同步。4个角雷达的数据要在ADAS控制器里做融合,必须保证时间戳对齐。我们用gPTP(IEEE 802.1AS)协议,网关作为grandmaster,4个雷达作为slave,时间同步精度能到1微秒以内。调试这个功能花了不少时间,需要用到专业的时间同步测试仪。

激光雷达的连接

激光雷达是数据量最大的感知设备。我们用的是速腾聚创的RS-LiDAR-M1,128线,点云输出率高达230万点/秒。

这个雷达只能用千兆以太网连接,数据率峰值能到700Mbps。网关接收点云数据后,主要做两个事情:一是把原始点云转发给ADAS域控制器做感知处理,二是做一些预处理,比如降采样、ROI裁剪,减轻下游的计算负担。

为了处理这么大的数据量,我们在网关的软件架构上做了专门优化。接收线程跑在一个独立的Cortex-A53核心上,使用零拷贝技术直接把网络数据映射到共享内存,避免不必要的内存拷贝。预处理算法跑在另一个核心上,用NEON指令集加速点云计算。

实测下来,网关能以60Hz的频率处理激光雷达点云,CPU占用率在40%左右,还有余量可以跑其他任务。

激光雷达的供电也需要注意,这东西功耗不小,工作时能到30W。我们专门从电池拉了一路12V供电给激光雷达,中间加了软启动电路,防止上电瞬间的浪涌冲击。

超声波雷达的连接

超声波雷达(UPA)数量多但单个数据量小。我们车上装了12个超声波雷达,分布在前后保险杠上,用于泊车辅助。

超声波雷达一般通过LIN总线连接。我们的方案是每条LIN总线挂4个雷达,一共3条LIN。LIN总线由车身域控制器管理,车身域控制器通过CAN把距离信息发给网关,网关再转发给ADAS控制器做泊车路径规划。

LIN总线的通信速率只有19.2kbps,很慢,但对于超声波雷达够用了。每个雷达每100ms上报一次距离值,整个报文就1-2个字节。

实际应用中发现LIN总线对干扰比较敏感,有次在EMC暗室测试,发现LIN通信经常丢帧。排查下来是线束走向的问题,LIN线束跟高压线束靠得太近,感应了干扰。后来重新布线,增加屏蔽层,问题才解决。

其他感知设备的连接

除了上面这些主流传感器,还有一些辅助的感知设备也需要连接到网关。

GPS/IMU模组:通过UART或者CAN连接。我们用的是一个组合导航模组,同时集成了GPS和IMU,输出位置、速度、加速度、角速度等信息。数据通过UART以NMEA格式发送,波特率115200。网关接收后解析成标准格式,供定位融合使用。

轮速传感器:轮速信息对于车辆定位很重要,特别是在GPS信号不好的时候。轮速传感器的数据通常由ABS控制器采集,然后通过CAN总线广播。网关接收这些报文,提取轮速信息,再结合GPS/IMU数据做航位推算。

车身传感器:方向盘转角、油门踏板位置、制动踏板位置这些传感器信号,由车身控制器或者动力域控制器采集,通过CAN发送。网关作为数据汇聚点,把这些信息整合后提供给ADAS系统。

环境传感器:雨量传感器、光照传感器、温度传感器等,数据通过LIN或者CAN上报。这些数据看似不重要,但对于自动驾驶系统很关键,比如雨天要调整雷达的灵敏度,强光下要调整摄像头的曝光。

感知数据的时间同步

多传感器融合最大的难题是时间同步。不同传感器的采样时刻不一样,数据到达网关的时间也不一样,如果不对齐时间戳,融合结果会出错。

我们的解决方案是在网关里运行一个NTP/PTP服务,作为整车的时间基准。所有支持以太网的传感器(摄像头、雷达、激光雷达)通过PTP协议和网关同步时间,精度能到1微秒。不支持PTP的传感器(CAN/LIN接口的),网关在接收数据时打上本地时间戳,并记录传输延迟,后续处理时做补偿。

实现起来细节很多。比如网关的系统时钟要用高精度晶振,我们选的是TCXO(温度补偿晶振),频率稳定度达到0.5ppm。再比如PTP协议栈的调优,需要调整announce、sync、delay_req的发送间隔,平衡同步精度和网络开销。

测试时用了Meinberg的时间同步测试仪,测量各个传感器和网关之间的时间偏差。调了两周,才把所有传感器的时间同步误差控制在10微秒以内。这个精度对于ADAS应用已经足够了。

数据安全与隔离

感知数据涉及到隐私和安全,网关在设计时要考虑数据保护。

首先是访问控制。不是所有的ECU都能访问感知数据,比如车身控制器就不应该能读取摄像头图像。我们在网关里实现了基于MAC地址的访问控制列表,只有授权的ECU才能接收特定的数据流。

其次是数据加密。舱内摄像头采集的图像涉及隐私,必须加密传输。我们用了TLS 1.3协议,在摄像头和网关之间建立加密通道。虽然加密会增加一些延迟(大概5-10毫秒),但隐私保护是必须的。

还有就是网络隔离。感知域的网络和其他域的网络在网关里是物理隔离的,通过防火墙规则控制数据流向。即使车联网模块被攻破,攻击者也无法直接访问摄像头或者雷达。

这些安全措施增加了不少开发工作量,但绝对值得。去年有几起黑客远程控制车辆的案例,都是因为安全防护不到位。我们宁可前期多花点时间做好安全设计,也不想后期出安全事故。

实际遇到的坑和解决方法

最后分享几个实际项目中踩过的坑:

坑一:摄像头色彩不一致4个环视摄像头装车后发现颜色不一样,有的偏红有的偏蓝。排查下来是摄像头的白平衡没校准。理论上工厂应该做过校准,但我们拿到的第一批样品确实没做。后来要求供应商在出厂前必须做白平衡校准,并把校准参数写到摄像头的OTP里。

坑二:雷达目标丢失前向雷达有时候会丢失目标,特别是在高速过弯的时候。查了好久才发现是雷达安装角度不对,水平偏了2度。雷达的视场角虽然有120度,但目标在视场角边缘时检测置信度会降低。后来优化了安装工艺,用专门的角度调整工具,确保雷达安装精度在0.5度以内。

坑三:激光雷达掉线激光雷达经常掉线,表现为点云数据突然中断几秒。用示波器抓包发现是以太网PHY芯片过热导致保护性关断。激光雷达的数据率很高,PHY芯片持续高负载运行,散热不够就会过热。后来在PHY芯片上加了散热片,并优化了PCB的铜箔厚度增强导热,问题解决。

坑四:CAN总线风暴某个测试场景下CAN总线出现风暴,总线利用率瞬间到100%,所有报文都发不出去。定位了很久发现是一个ECU在异常情况下疯狂发送错误帧。这个ECU的软件有bug,当接收到非法报文时会进入死循环不停重发。我们在网关里加了总线监控功能,当检测到某个节点的发送速率异常时自动隔离该节点,避免影响整个网络。

后续演进方向

智能网关连接感知设备这块,技术还在快速演进。我看到的几个趋势:

区域化架构:未来可能不会有一个中央网关,而是多个区域网关分布在车身各处。每个区域网关管理本区域的传感器和执行器,区域之间通过高速以太网主干连接。这样可以缩短感知数据的传输路径,降低延迟。

边缘计算增强:网关不仅做数据转发,还会承担更多的计算任务。比如在网关上跑一些轻量级的感知算法,做目标预筛选、特征提取,减轻域控制器的负担。这对网关的算力提出了更高要求,未来可能会用到GPU或者NPU。

标准化接口:现在各个传感器厂商的接口五花八门,开发适配很麻烦。行业正在推动接口标准化,比如MIPI A-PHY就是专门为车载高速传感器设计的接口标准。如果将来所有传感器都用标准接口,开发效率能提高很多。

软件定义传感器:传感器的功能越来越多通过软件实现,比如摄像头的HDR、降噪、畸变矫正算法都可以软件配置。网关可以根据驾驶场景动态调整传感器参数,比如夜间增强摄像头的增益,隧道里提高雷达的灵敏度。

写在最后

车载智能网关连接感知设备这个话题,涉及硬件、软件、通信、算法等多个领域,确实挺复杂的。我这篇文章也只是把大概的思路和常见的坑整理了一下,具体到每个项目还有很多细节需要处理。

如果你也在做类似的项目,遇到什么问题欢迎交流。汽车电子这行技术更新很快,大家一起学习进步才是正道。

最后提醒一句,做车载产品千万不能凑合,每一个细节都要认真对待。毕竟这东西装到车上,关系到人的生命安全。多花点时间做好测试验证,比出了问题再返工强太多了。


在线咨询
微信联系
样机申请

微信扫一扫

添加微信好友,获取更多服务

微信二维码