苹果想要在Apple CarPlay中实现的是iOS系统上车的体验,整体的交互实现都是通过手机来完成,人机界面的风格与iOS系统完全一致,用户上车之后,有非常亲切的感觉。这一风格从创始之初到如今,一直沿袭了下来。
Apple CarPlay完全是苹果自己制订的技术标准,以实现界面、音频的传递,以及反向操作的实现。 在车机端,苹果会提供一个协议栈(Communication Plug-in),车机厂商将底层的驱动、连接管理器和上层的应用与这个协议栈对接之后,即可以实现与苹果手机的连接,实现控制流、音频流以及视频流的传递。注意,这里的视频流并非是说Apple CarPlay支持视频播放,而是手机界面的传递是通过编码成H.264的视频之后,由手机传递给车机,车机解码视频流之后再把界面实时投影出来。
Apple CarPlay简要架构
如下从五个部分描述了Apple CarPlay的要素:
(1). 界面传输,如前所述,通过H.264视频流,手机端编码,车机端解码。
(2). 反向操控,Apple CarPlay除了支持触屏控制,还支持其他硬按键如多功能方向盘、旋钮及其他按键的控制。比如,你在听Apple Music的时候,可以通过多功能方向盘下一曲按键切换到下一曲。
(3). 音频传输,手机端的音频(如音乐,导航和电话)以LPCM高品质音频的格式传递给到车机端进行播放,为了支持Siri和打电话的场景,Apple CarPlay要求接收车载麦克风的音频输入,为了保证音频的质量,苹果要求该音频需要车机端进行降噪处理,并且满足高品质的采样率要求。
(4). 握手鉴权,苹果有严格的认证要求,车机端与苹果手机建立功能连接前,需要完成iAP2协议的鉴权过程,该过程依赖外置的苹果芯片以及苹果提供给车机端的iAP2协议栈。
(5). 车载数据传输,Apple CarPlay希望通过车机端获取一些基本的车辆数据,如GPS数据和车速,以辅助苹果地图进行导航定位。
在苹果手机这端,苹果开发了一个资源管理器,这个资源管理器可以实现界面和音频的调度。 当车机端需要显示Apple CarPlay界面或者隐藏Apple CarPlay界面时,车机端需要向手机端的资源管理器申请界面资源或者释放界面资源。同理,当车机端需要播放Apple CarPlay