锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

高阶自动驾驶系统的通信存储技术

时间:2023-05-20 07:07:01 高精电阻标识

作者 |Jessie

出品 |焉知

所有传感器、摄像头、诊断工具、通信系统和中央人工智能都需要通过高带宽和低延迟的网络连接。这些技术将生成、发送、接收、存储和处理大量数据。

对于下一代自动驾驶域控制器,常用的车载网络有CAN、LIN、FlexRay、MOST和LVDS等。除LVDS外,其他都是专门为汽车行业设计的通信网络。当前,大部分汽车通过 CAN 或 LIN 联网,但随着数据传输速度和数据量的增加,这些总线不适合带宽低、体积大。CAN/LIN总线仍有一席之地,但它不会成为通信系统的骨干。

db0f6a9cac4906cdd55ca4fbf2b70633.png

如上图表示了一种集中式域控制器的内部通用连接形式,对于下一代自动驾驶系统通信网络连接而言,主要涉及中央域控制器单元中的芯片连接,传感器接口输入连接,调试接口连接,存储连接等。

8ee0f61d4954e590a1dcefb7f23b94a7.png

在中央域控制器中,通常需要设计一定大小的存储单元来访问数据、程序、文件、图像等信息。设计的存储单元包括Flash、EMMC、LDDR等。其中,Flash驱动程序文件一般存储,大小为32MB-64MB,EMMC主要用于存储高精地图数据,众包建图,自动驾驶数据记录,影子模式、大数据等信息,大小需求大致为96GB-128GB。LDDR主要用于程序运行缓存。在这里,我们需要解释几种典型的通信链路硬件形式,包括SPI、UART、GPIO、PCIe、CanFD、FlexRay以及ethernet等。

为了解释各种通信链路连接形式的适用场景,我们需要对这些通信链路和相应的存储单元进行不同程度的功能分析和优缺点解释,并努力为自动驾驶系统域控制器硬件设计和网络通信设计过程提供帮助和参考。

e2e98e49c6653dd7381872f12a852c7a.png

系统架构外围通信总线

自动驾驶系统的外围通信总线主要是指连接到中央域控制器的外围传感器、存储硬盘、显示单元和车辆执行器。这些外围传感器和执行器单元传输的数据类型主要包括原始视频数据、激光雷达点云数据、毫米波雷达目标数据和控制/显示指令。主要的通信连接方式包括Ethernet、CanFd/Flexray/Lin等。

下表显示了高级自动驾驶中央域控制器单元中的除外AI计算单元SOC以及逻辑计算单元MCU所有典型的网络连接、存储和接口信息交换单元数据信息。

36fdca447e83341ccab0d240ae591b63.png

1、Ehternet

为什么要使用以太网?简言之,整体汽车架构将强烈影响网络的方向。以太网可以减少域控单元车载网络中的线束,提高服务质量。目前,自动驾驶系统架构已逐渐演变为集中架构,这意味着可以使用经典架构zonal架构将分布在各个方面zone将所有数据带入中心位置区域进行处理,中央集中方案的挑战之一是带宽。基本上,带宽可以10Gbps,目前我们车载以太网的速度只有1Gpbs。

一般来说,毫米波雷达在外围传感器连接中不需要千兆以太网。低速以太网就足够了。摄像头可以使用以太网或传统LVDS对于数据通信,如果添加激光雷达,则需要高速以太网将相机 激光雷达数据的组合。这里需要注意的是,集成到域控制器的高速以太网PHY在中间,可能有多个不同的通道同时驱动20-30英尺以上的线束。这将导致域控制器中的线束Soc热量大幅增加,这将使整个域控制器的包装价格大幅上涨。

2、CANFD/FLexRay/Lin

CanFD作为之前Can网络升级版只升级协议,物理层没有变化。带宽和数据传输速率更高。Can与CanFD主要区别:传输速率、数据长度、帧格式ID长度不同。CANFD仲裁比例最高为1Mbps(与CAN同样),最高数据比率为8Mbps。因此,在下一代智能驾驶汽车的通信网络中,它主要作为一个渐进宽需求和高速率的渐进式网络通信单元Can在信号通信中。

Lin本地连接网络是一种低成本、串行通信的通信接口UART。Lin通过单线连接,分为主节点和从节点。Lin在下一代智能驾驶汽车中,主要用于方向盘按钮、车窗、座椅等通信带宽要求较低的车身控制,可作为Can通信补充。

FlexRay它主要是为了满足汽车安全和功能的要求,即可以提供更高的传输带宽和更高的可靠性。他和他可以完全实现Can或者Lin所有功能,但更多的是具有更高的确定性、容错性、高速等特点。主要用于误差容量和时间确定性要求较高的线路控制领域。下一代自动驾驶系统通常采用线路控制动、线路控制转向、线路控制驱动等方式进行相应的水平和垂直控制。Flexray主要是基于差分信号传输,由两条总线组成,通常使用双绞线。Flexray总线收发数据主要通过时间触发和事件触发进行。当时间触发通信时,传输同步和可预测性可以尽可能保持,这对需要高速线路控制的三个控制执行单元非常有利。但因为它Flexray成本高、设施复杂等缺点不会完全取代其他主要的车载网络标准。

c162371161412856035e3451a8075a1a.png

高性能计算平台片间通信总线

智能驾驶高阶域控制器需要多个CPU核心为单位SOC/MCU/MPU主板上包装了相关的辅助电路,称为中央域控制器。当然,多核多芯片域控制器通常包含更多的辅助电路来解决多个问题CPU核心与协调的核心问题。目前常用的辅助电路连接方式如下:GPIO、SPI、UART、PCIe、I2C。

38b994825d2626d024e4c3c04ab7f44b.png

1、GPIO

GPIO一般输入输出总线是软件控制的灵活数字信号。GPIO与特定的管脚相连。SOC处理器非常依赖GPIO,在某些情况下,可以配置普通管脚GPIO。大多数芯片至少有几组类似的芯片GPIO。GPIO驱动可以写成通用的,方便单板编写代码,可以将这些管脚配置数据传递给驱动。高级自动驾驶AI芯片具有电源管理、音视频解码等功能,经常有这样的管脚来弥补SOC芯片上管脚不足。这里需要设计一些GPIO用于连接扩展芯片的扩展芯片I2C或是SPI串行总线。

这里需要注意的是:如果使用GPIO口模拟SPI总线必须有输出口(SDO),一个输入口(SDI),另一个端口取决于具体的设备类型。如果要实现主设备,则需要输入输出口。如果只实现主设备,则需要输出口。如果只实现设备,则只需要输入口。

2、SPI

SPI3.高速、全双工、同步、串行通信串行外设接口总线~4线接口,主从模式工作,收发独立,可实现多个接口SPI设备相互连接。

SPI总线由三条信号线组成SCLK(串行时钟),SDI(串行数据输入),SDO(串行数据输出)。当有多个设备时,也可以从设备选择线中添加一条,使用CS控制芯片是否被选中,以便在同一总线上实现多个SPI设备相互连接,例如,多个芯片可以挂在一个芯片上Flash我们通常在这里使用设备。SPI作为Nor Flash通信连接模式解决了不同容量的问题Nor flash当数据线和地址线数量不同时,硬件兼容性问题,容量不同SPI Nor flash管脚也兼容,包装小,占用合适的PCB板位置。SPI Nor Flash每次传输一bit接口简单,速度慢,但性价比高。对于中央域控制器,Norflash 主要用于存储用户数据和基本程序。通常,这对整个存储过程的实时性要求不高。一般来说,串行数据可以提前写入Nor Flash即可。

提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。

3、UART

UART它是一种通用的异步收发器总线,具有速度慢的特点,有两线、全双工和异步串口。SPI、I2C这两个同步串口的结构要复杂得多,通常由波特率生成器(波特率等于传输波特率的16倍),UART接收器、UART硬件上有两条线,一条用于发送,一条用于接收。

作为接口的一部分,UART可提供以下功能:

  • UART它提供了控制中央计算单元和串行设备的芯片RS-232C数据终端设备接口,这样域控制器芯片就可以和调制解调器或其它使用RS-232C接口的串行设备通信了;

  • 并/串转化:将由SOC传递的并行数据转换为输出的串行数据流;

  • 串行转化字节:将CPU单元外部来的串行数据转换为字节,供MCU内部并行数据器件使用;

  • 奇偶校验:在输出的串行数据流中加入奇偶校验位及启停标志位,并对从外部接收的数据流进行奇偶校验;

  • 输入输出缓冲区,处理域控制器与外部串行设备(如摄像头)数据管理及同步管理问题;

4、PCIe

PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个芯片设备,且这两个芯片是互为是数据发送端和数据接收端的。PCIe总线除了总线链路外,还采用了与网络协议栈较为类似的模型层次,发送和接收的数据都会经过该层次。在高性能计算平台设计中,往往利用PCIe在不同的SOC之间传递图像、点云等信息。在域控制器内部的芯片处理逻辑中,均采用了并行数据处理方式。而其中最重要的性能参数有两个:即带宽和传输实时性。

我们一般关注于有效带宽,而在PCIe总线中,影响有效带宽的因素有很多,其有效带宽较难计算。通常只能计算PCIe链路的峰值带宽来做大致评估。

峰值带宽=总线频率×数据位宽×2

如下表表示了PCIe中总线数据位宽与峰值带宽的关系,了解PCIe峰值带宽可便于我们在设计与域控制器过程中设计较好的硬件选型,从整体数据、图像、点云等信息传输需求上选定合适大小的PCIe。PCIe最高版本 V3.0规范使用4GHz的总线频率,将进一步提高PCIe链路的峰值带宽。

c13389bc6adf1431024ef57c52d6fe3b.png

PCIe链路使用串行方式进行数据传送,然而在芯片内部,数据总线仍然是并行的,因此PCIe链路接口需要进行串并转换,这种串并转换将产生较大的延时。这也是PCIe应用过程中的最大缺陷。 除此之外PCIe总线的数据报文需要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。

6ee69ed50c4d7167ef65406a25b1168f.png

PCIe总线层次组成结构

在域控制器中,PCIe链路使用端到端的数据传送方式。在一条PCIe链路的两端SOC/MCU芯片端口是完全对等的,分别为发送和接收端,而且一个PCIe链路的一端只能连接一个发送设备或者接收设备。因此PCIe链路必须使用Switch扩展PCIe链路后,才能连接多个设备。

在PCIe总线中,Switch是一个类似交换机的存在,该设备由1个上游端口和多个下游端口组成。

5、I2C

I2C表示一种集成电路总线,它是一种串行通信总线,使用多主从架构,方便了中央域控制器系统与外围传感器之间的有效通信。由于其简单性,它被广泛用于微控制器MCU/SOC与传感器阵列、EPROM之间的通信。

c750cb182e5c736508af66e50bea6a84.png

高性能智能驾驶平台中的通信接口

1、MIPI - CSI/DSI

MIPI为移动行业处理器接口,通常用于适配下一代自动驾驶系统 DSI, CSI (Display Serial Interface, Camera Serial Interface),其中DSI 定义了一个位于处理器和显示模组之间的高速串行接口,DSI是一种Lane可扩展的接口,1个时钟Lane/1-4个数据Lane。DSI和CSI的物理层定义都由D-PHY提供。在下一代高阶智能驾驶系统中,DSI通常用于连接和输入超声波雷达数据,而CSI 定义了一个用于处理器和摄像模组之间的高速串行接口。

0e53a0f342575ba736de8b252099f597.png

2、Serializer/Deserializer

在高阶智能驾驶系统架构中,其外围传感器部件往往趋向于高带宽,大数据,这可能加剧对系统架构的布线难度,提升功耗,增加封装成本等。通常中央域控制器处理的是串行数据,因此,需要首先会传感器视频的输出信号进行并/串行(加串)转换,而对其显示单元的输入信号进行串并行(解串)转换。

如上图,FPD-Link 是用于点对点传输视频的接口。该接口利用SerDes技术可通过双绞线或同轴线缆传输高清数字视频以及双向控制通道。这样可以在域控制器单元与摄像头或显示单元与摄像头之间进行优化。同时通过不同的采样时钟确保视频流和数据流在相同物理通道中的同步传送。

在如上视频图像的处理过程中我们可称之为图像序列化,这一过程可以方便网络传输,协议解释及数据存储。同时,在系统架构设计中采用串行器/解串器(SERDES)技术的高速串行接口来取代传统的并行总线架构,可以减少布线冲突、降低开关噪声、更低的功耗和封装成本等。

b5179769eae7fd011583dbe75355e0e0.png

总结

高阶自动驾驶域控制器的工作处理能力不仅体现在对于提供大算力、高性能图像处理芯片,更多也是依赖于内部片间通信网络、存储单元与外设总线传输、接口等设计。通信网络设计讲究网络设计带宽、速率、稳定性及避免通信冲突等问题。存储单元则是要求存储容量、稳定性等方面的需求。外围接口则更多的关注接口适配性,与通信网络总线的连接程度等问题。以上每一项对于真正涉及域控制器实体PCB版设计都是必须完全考虑的内容,本文从整体分析中给设计师在各传输、存储等方面的硬件选型上提供了一定的参考。此外,如果更加细化,就会涉及实际的电阻、电容甚至布线规则等,本文就不再做细化。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章