一文详解Android车载系统EVS架构
一文详解Android车载系统EVS架构
Android车载系统中的camera架构与手机端的camera2和cameraX有很大不同。本文将详细介绍Android为车载系统开发的EVS(Exterior View System)架构,包括其四个主要组成部分:EVS APP、EVS Manager、EVS HAL和Vehicle HAL,并对比EVS与camera2的区别。
EVS概述
EVS(Exterior View System)是针对汽车外景系统的camera架构,主要用于实现倒车影像和360度全景影像等功能。以下是EVS的整体架构图:
EVS主要分为四个部分:
EVS APP:负责从EVS Manager获取底层HAL传递的Camera数据。在Android 12中仅支持简单的图像预览功能。
EVS Manager:作为中间层,为APP提供接入EVS HAL的接口。它实现了与底层HAL驱动程序相同的API,并支持多个并发客户端。同时管理EVS Camera和EVS Display等抽象对象。
EVS HAL:作为硬件抽象层的具体实现,与内核驱动进行交互以获取摄像头数据。EVS HAL存在两个版本(1.0和1.1),1.1版本新增了对超声波传感器的支持,可能是为未来的自动驾驶做准备。
Vehicle HAL:作为Android Automotive版本中对外沟通的桥梁,向下接入CAN/Uart/Ethernet实现对外通信,向上接入CarService,服务于Java Framework。
EVS与camera2的区别
控制难易程度:EVS架构针对车外摄像头,摄像头位置固定且多为鱼眼视角,参数较为固定,因此系统对摄像头的控制较少。而camera2需要提供丰富的API来实现对摄像头的灵活调节。
启动时机:EVS需要快速启动,不能依赖太多的Android上层服务,开机启动一般不能超过2秒。而基于手机端的Android启动方式往往耗时较长。
开发难度:Camera2在Java Framework层提供了丰富的API支持,而EVS需要开发者自己构建Input管理、View子系统等,开发难度相对较大。
综上所述,EVS架构在Android车载系统中扮演着重要角色,其快速启动和低延迟特性非常适合车载应用场景。虽然市面上关于camera2的资料较多,但关于EVS架构的分析相对较少,本文旨在帮助读者了解EVS的基本架构和特点。
本文原文来自CSDN