汽车领域的短距离无线通信方式正逐渐从私有射频技术转向标准协议的通信技术,其中就包括低功耗蓝牙(Bluetooth Low Energy,BLE)技术。
在数字钥匙应用中,通过移动设备与汽车相互鉴权以完成进入汽车、启动发动机、锁定汽车或者授权等操作。Car Connectivity联盟在其发布的数字钥匙技术规范中将BLE列为智能设备与车辆交互的三种通信协议之一。UWB、NFC与BLE技术的结合除了可以实现传统钥匙的功能外,还可以提供钥匙分享、属性控制、权限设置等其他功能。
图1:数字钥匙架构
在轮胎压力监测系统(TPMS)中,利用安装在每一个轮胎中的压力传感器和温度传感器来测量轮胎压力和温度,然后通过无线发射装置将这些信息从轮胎发送到中央接收模块上。过去使用的射频通信方式存在容易被攻击和破解,调幅技术抗干扰能力较差,频率漂移等局限。部分厂商逐渐将其通信方式转向BLE技术。
01BLE简介
蓝牙作为一种无线通讯技术,运行在2.4GHz免费频段。在发展之初仅包含经典蓝牙(Blue Classic)技术,用于两台设备之间的数据交换。经典蓝牙支持音频和数据两大类协议,常用在音箱、耳机及传统数传行业。随着医疗保健、运动健身、家庭娱乐等领域新兴应用的发展,蓝牙规范4.0版本新增BLE部分。蓝牙是一个协议族,其中蓝牙设备必须实现的通用功能和协议层由核心规范(Core Specification)定义。蓝牙规范由蓝牙技术联盟(SIG)负责维护,目前最新版本为5.4,规范原文可在SIG官网免费下载。
BLE作为一种新的蓝牙技术,与之前的经典蓝牙技术并不兼容。BLE不支持音频协议,并且受数据传输速度限制,通常用于数据量较小的传输场景。相比于经典蓝牙其具有低功耗、快连接、长距离等优点。和私有的射频技术或者其他无线通信技术相比,BLE在车辆上具有以下优势:
有效通信距离可达几十米,可以完全覆盖停车场这类典型应用场景;
设备始终处于有源开启状态,应用时不需要上电启动,因此延迟非常低;
当不使用时设备会进入睡眠模式,可以实现以极低的功耗保持长时间工作;
通过配对认证、安全连接、签名等机制保证无线通信的安全性;
使用跳频和扩频技术,抗干扰能力强;
智能手机普遍支持该协议,便于车辆与手机进行交互。
02BLE工作方式
BLE设备的网络拓扑中主要有两种角色:中心设备(Central)和外围设备(Peripheral)。蓝牙协议并不限制设备的角色,同一个BLE设备既可以作为中心设备也可以作为外围设备。外围设备如压力传感器,可以通过发布广播(Advertising)报文通知自己的存在。中心设备如智能手机,可以通过监听广播报文来发现外围设备或者通过发送扫描(Scan)请求来获取响应数据包。当中心设备需要与外围设备进行进一步通信以实现数据读写,可以发起连接(Connection)请求。建立连接后,中心设备可以通过发送发现(Discover)请求以获取外围设备的服务(Service)以及特征(Characteristic)。
外围设备的通用属性配置文件(Generic Attribute Profile,GATT)定义能够提供的一个或多个服务,每个服务又包含一个或多个特征。每个特征具有读(Read)、写(Write)、通知(Notify)中的一种或多种属性。中心设备可以通过发送读、写或订阅命令来访问外围设备的特征值。
图3:读、写以及订阅特征
03BLE测试硬件VH4110
随着物联网协议在汽车领域的广泛应用,Vector应客户需求从CANoe 15版本开始支持对NFC、BLE、WLAN/LAN通信的仿真、分析和测试,并推出支持无线通信及协议解析的硬件设备VH4110(又称IoT Enabler)。VH4110可以作为基于IP通信的路由器,将CANoe与被测件通过WLAN/LAN进行本地连接,也可以使用非IP通信的无线通信(例如BLE、NFC)技术与被测件连接。
图4:VH4110连接示意图
VH4110通过USB Type-C连接到运行CANoe的主机上。其传输的数据仅与CANoe进行交互,用户在主机上不需要特殊的网络权限或者修改防火墙配置。使用时无需安装驱动,也不需要额外的CANoe Option。VH4110提供4个USB接口,用于插入对应的USB适配器进行无线通信。
04CANoe中的配置步骤
1.打开CANoe,基于Distributed Objects模板新建工程。
图6:新建CANoe DO工程
2.打开Communication Setup界面,如图7所示新建一个包含IoTEnabler通信接口的vCDL文件。
图7:新建BLE通信接口描述文件
3.在设置vCDL文件保存路径及文件名后(注意路径及文件名不能包含中文及特殊字符),依据图8指引打开vCDL文件并进行编辑。
图8:编辑BLE即可描述文件
vCDL(Vector Communication Description Language)作为在CANoe Communication Concept中用于描述通信对象的语言,以简单的基于文本的方式定义和配置分布式对象(Distributed Objects,DO)。在基于IoTEnabler应用创建的vCDL模板中,会通过import module “IoTEnabler”引用定义好的IoTEnabler相关接口(接口具体定义可在CANoe的安装目录下Bindings文件夹下的Vector.CANoe.FunctionBus.IoTEnablerBinding.vcdl文件中查看)并自动添加必需的语句,用户仅需要通过关键词object实例化所需的BLE接口即可。在CANoe中既可以仿真中心设备也可以仿真外围设备,参考图9通过实例化不同的接口即可实现。
图9:添加BLE接口信息
4.在Application Panel可以看到BLE接口中可供调用的Method,在给需要调用的Method填入参数后,通过点击Call即可发出相应的命令。如果需要完成自动化的流程,也可以在CAPL中调用这些命令。
图10:可调用的BLE命令
图11:CANoe中的BLE报文
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !