首先,CP的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,能够同时处理bulk IN和bulk OUT传输。该方案还要求车载设备必须支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为目标设备在car play中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的car play wired(USB)连接方案中就需要进行USB的模式切换。下图则是car play的USB模式切换处理逻辑框图:
当角色切换完成后,按照协议要求有以下几点需要注意:
1. 车载设备(USB device)需要等待至少1000ms,目的是等待目标设备(USB host)来枚举。
2. 如果1000ms后没有任何traffic,车载设备(USB device)得切换回USB Host模式。
3. 当目标设备侦测到总线掉电(the loss of VBUS),目标设备将切换回USB Device模式。
4. 如果车载设备(USB device)侦测到USB总线至少有200ms处于不活跃(inactivity)状态,车载设备(USB device)将切换回USB Host模式
接下来,对iap2在car play wired(USB)连接方案中的接口描述符(Interface Descriptor)和i数据传输(Data Transfers)作一下介绍:
1. iap2接口描述符(Interface Descriptor)
车载设备(USB Device)与目标设备(USB Host)建立一个iap2连接,需要申明一个vendor指定(vendor-specific)的接口,该接口有一个bulk IN端点(endpoint)和一个bulk OUT端点(endpoint)。
2. iap2数据传输(Data Transfers)
目标设备(USB Host)通过bulk OUT端点发送iap2数据给车载设备(USB Device)。依据USB协议,如果车载设备 (USB Device)成功地接收到目标设备发送的iap2数据便会回复一个USB ACK包,反之则回复一个USB NAK包。如果车载设备(USB Device)重复地回复USB NAK包并且超过1秒,便会视为接收超时。
车载设备在iap2传输通道上成功的建立一个iap2连接,通过iap2进行认证,该认证过程有以下7种iap2控制会话消息:
1. RequestAuthenticationCertificate
2. AuthenticationCertificate
3. RequestAuthenticationChallengeResponse
4. AuthenticationResponse
5. AuthenticationFailed
6. AuthenticationSucceeded
7. AccessoryAuthenticationSerialNumber
接下来,再介绍一下USB的NCM(Network Control Model)的两个接口。
1. USB NCM 控制接口(Control Interface)描述符(Descriptor)
2. USB NCM数据接口(Data Interface)描述符(Descriptor)
车载设备需要在这个接口上完成USB Hi-Speed NCM。这个接口需要支持到64KB封装的数据报的传输(也就是到40个1514字节的以太网帧(Ethernet Frame)的传输)和16比特的NCM传输块。
使用car play USB NCM接口的车载设备需要支持至少100Mbps的带宽,TCP和UDP的延迟小于5ms,UDP的丢包率(iperf测试下)要低于1%。
当目标设备连上或断开的时候,车载设备需要对NCM接口状态作相应的改变。当目标设备连接上的时候,在网络协议栈的头部需要标注NCM接口可用。
最后,介绍建立/终止car play会话(session)。
建立car play会话(session),车载设备首先需要同目标设备建立IP网络连接,因此需要虚拟一个网络接口并分配MAC地址和ip地址,该ip连接必须是IPv6。车载设备在这个接口上需要支持apple Bonjour零配置网络连接(zero-configuration networking)。一旦网络连接建立成功,车载设备在完成认证后将在car play接口上开始设置(setup)和内容传输(content transfer)。需要注意的是,按协议要求,车载设备需要在与目标设备网络连接建立好后的3秒钟内建立car play会话,如果与目标设备的物理连接断开,车载设备也需要检测到该断开情况并且在1秒钟内终止car play会话。下图是wired(USB)的car play 会话建立框图:
联系方式:
热线:13316924706