CCC数字钥匙协议详解:从车端BLE视角解析OP流程
CCC数字钥匙协议详解:从车端BLE视角解析OP流程
CCC数字钥匙协议是智能汽车领域的重要技术规范,其中与蓝牙低功耗(BLE)相关的部分尤为关键。本文将从车端BLE的视角,深入浅出地解析CCC数字钥匙协议的各个阶段,帮助读者更好地理解这一复杂的技术体系。
一、Phase0:准备阶段
在Phase0阶段,手机端、车端和车端服务器需要完成各自的准备工作。具体细节可以参考相关技术文档。
二、Phase1:启动阶段
在启动阶段,手机可以通过以下三种方式接收密码,从而启动OP流程:
- 通过用户输入
- 通过URL跳转钱包(详见6.3.7)
- 通过车辆OEM开发的App进行跳转
三、蓝牙连接
在CCC协议中,蓝牙广播分为OP和PE两种类型,且均使用随机私有地址(RPA)。在PE阶段,车辆广播基于LE 1M PHY,周期为42.5ms,ADV_IND包含AdvA但不包含广播数据。
在OP流程中,车端开启OP广播以供手机扫描并发起连接。OP广播格式如下:
车端需要配置相应的服务,服务格式如下:
蓝牙连接分为两个部分:
- 车端开启OP广播,手机扫描到CCC_DK_UUID后建立LL层连接
- 手机检测车端广播服务及SPSM特征值,获取具体数值(如0x0083),并通过L2CAP Connect Request发起连接
在L2CAP层的SPSM配置中,0x0083是一个动态分配的值,用于后续的数据交互。更多关于L2CAP层的蓝牙知识将在后续文章中详细介绍。
四、Phase2:数据交互阶段
在Phase2阶段,手机发送Request_owner_pairing命令后,主要与Digital Key Framework(AID:A000000809434343444B467631h)进行数据交互,获取开卡所需的车端数据。具体流程可参考相关技术文档。
五、OOB配对
在CCC协议中,OOB配对通过已建立的L2CAP层数据通道进行。配对前需要进行准备工作,交互参数包括:
- BTAddrA/BTAddrB:主/从设备地址
- ra/rb:主/从设备随机数
- Ca/Cb:主/从设备加密数
这些信息通过First_Approach_RQ/First_Approach_RS事件进行交互。具体数据格式可参考相关技术文档。
六、UWB测距
Phase2结束后进入UWB测距阶段。主要流程包括:
- 标准交易流程
- URSK生成
- 能力交换(Capability Exchange)
- 测距会话(Ranging Session)
- 测距会话设置(Ranging_Session_Setup)
在生成URSK时,会同时产生transaction_identifier数据。测距会话设置中包含多个关键参数,当UWB定位到车内后,进入下一阶段。
七、Phase3:进一步数据交互
Phase3主要与Digital Key applet(AID:A000000809434343444B417631h)进行数据交互。此阶段结束后,手机端钱包的车卡即可使用。后续的Phase4涉及在线模式与OEM服务器交互,本文不作详细介绍。
八、总结
本文详细介绍了CCC协议中与车端BLE相关的OP流程,涵盖了多个技术细节和实际测试数据。对于理解CCC数字钥匙协议具有很高的参考价值。后续将针对更多细节进行深入讲解。