蓝牙车载系统的组成结构和应用规范分析

车载系统正向智能化、信息化和网络化方向发展,汽车市场已经成为电子工业一个重要的增长点,无线通信技术在汽车等移动系统中有着广泛的应用前景。本文介绍的汽车蓝牙应用主要以手机为无线网关,车载系统通过蓝牙无线链路和手机连接,再连入外部无线网络。利用该方案,用户通过一部蓝牙手机就可以方便地使用以下功能:

免提电话。用户进入车内,车载系统自动连接上用户手机。用户在驾车时,无须用手操作就可以用声控完成拨号、接听、挂断和音量调节等功能,通过车内麦克风和音响系统进全双工免提通话。

汽车遥控。用户可以在10米范围内用手机控制车门和车中的各类开关。

音乐下载。用户可以通过手机下载音乐到汽车音响中播放。

电子导航。用户可以通过手机下载电子地图等数据到车载GPS导航系统中,导航系统得到当前坐标参数再通过手机短信传回导航中心。

汽车自动故障诊断系统。车载系统可以通过手机将故障代码等信息发往维修中心,维修中心派人前来修理时可以按故障代码等信息准备好相应的配件和修理工具。

蓝牙在车载系统中的全面应用需要解决硬件和软件方面的问题。硬件实现蓝牙的射频和基带部分,工作温度范围、可靠性和价格是在设计硬件时应考虑的重点问题,车载系统的各种上层功能由软件实现。免提电话作为蓝牙在车载系统中的主要应用,其应用规范已经成熟并获得众多手机厂商的支持。

如图1所示,射频芯片在2.4GHz频段提供数据和语音无线双向传送。基带芯片包含跳频、信道加密解密、鉴权、SCO语音编解码等硬件,以及链路管理、HCI接口等固件。处理器运行蓝牙上层协议栈、应用规范和语音算法等核心软件。为方便描述,本文将射频、基带和处理器部分称为蓝牙子系统。汽车音响通过车内麦克风和扬声器为蓝牙子系统提供声音的输入输出。主控制器运行人机接口(MMI)等软件,对蓝牙子系统、汽车音响和其它车载电子设备进行集中控制管理,并将有关信息显示在图形用户界面(GUI)上。

蓝牙子系统结构分析

蓝牙子系统包含实现蓝牙车载应用规范有关的软硬件。基带芯片通过UART和SSI接口连接处理器:HCI命令、数据和事件通过UART接口传输;SCO数据通过SSI接口传输。如前所述,处理器运行蓝牙上层协议栈、应用规范和语音算法等核心软件。图2给出了蓝牙子系统中处理器上运行的软件结构。

图2中的电路支持包(BSP)包含所有与硬件有关的代码,可以保证上层软件良好的硬件无关性。RTOS为软件提供良好的结构和实时性能。设计时应充分考虑RTOS的RAM、ROM占用大小、中断响应和任务切换时间,以及调度算法是否满足语音算法等部分对实时性的要求。蓝牙协议栈包括HCI HOST、L2CAP、SDP和RFCOMM等上层协议。在协议栈之上,按不同的应用要求放置有若干应用规范,如免提应用规范和耳机应用规范。由于新的应用规范不断出现,软件结构应便于加入新的应用规范以备将来扩充应用范围。数据库提供记录的添加、删除和查找功能来管理本地和远端蓝牙设备的数据,通常这些数据存放在Flash存储器中。存放的数据有本地设备的蓝牙地址、设备名称、配对密码和SDP记录,以及远端设备的蓝牙地址、设备名称、SDP记录、链路密钥、鉴权和授权方案。由于系统需要和多个远端设备配对,数据库应有足够的容量来存放多个远端设备的数据。

蓝牙管理层(Bluetooth ME)对协议栈和数据库调用使其按一定流程工作,从而执行访问控制管理、连接管理和安全管理等。在车载系统中还需要提供语音算法,因为在免提通话时对方可以听到自己的回声,可以采用回声抵消(AEC)技术来消除。行车过程中进行免提通话时,发动机噪声、路面噪声、风声会进入车内麦克风,影响通话质量。采用噪音抑制(NS)技术可以抑制车内噪声以提高通话清晰度。

为了增加行车安全,语音识别(VR)技术可以让驾驶员无需手动操作电子设备,通过预先录入的声音指令,驾驶员可以拨打电话,接听电话等;语音合成(VS)技术用语音信号提醒驾驶员需要进行的操作或一些值得注意的信息;语音管理层对各种语音算法模块进行管理,如配置算法参数和缓冲区数据输入输出等;人机接口层(MMI Interface)是外部与蓝牙子系统进行通信的接口,这种通信使用专门的协议,外部MMI主机通过该协议发送命令到人机接口层,人机接口层解释收到的命令,继而控制应用层进行相应的动作,同时应用层也会将蓝牙子系统的数据、状态和事件送往人机接口层,人机接口层通过该协议发送命令到外部MMI主机。应用层接受所有来自人机接口层和蓝牙管理层的事件,在一定的应用条件约束下对接收到的事件进行处理,并执行相应的动作以控制人机接口层、蓝牙管理层和语音管理层进行有序工作。应用层还负责对异常情况进行处理,比如人机接口层收到错误指令、蓝牙链路的异常断开、鉴权失败等,通过适当的错误处理机制来提高系统的可靠性。

蓝牙应用规范规定了为实现某种应用,双方蓝牙设备应满足的一些技术标准。包括应用特性的规定、应用模型的定义、核心协议栈的配置、在核心协议上为实现特定应用而定义的协议,以及为了满足互操作性要求的其它规定,这些规定分为强制性支持、有条件支持和可选支持。由以上结构可以看出,通过合理配置各软件功能模块就可以在相同硬件平台上支持多个应用规范。

蓝牙免提应用规范

蓝牙免提应用规范规定了在语音网关和免提设备之间建立蓝牙数据和语音连接的过程,以及免提设备如何基于该连接对手机进行远程控制,并访问外部网络以实现电话功能。

该规范中的语音网关是免提设备与外界进行语音通信的桥梁,一般语音网关是指GSM或CDMA手机。通过语音网关,免提设备可以使用蜂窝网提供的电话服务。免提设备和语音网关连通后,用户可以进行免提通话。在这里免提设备一般指蓝牙车载系统。该规范规定了语音网关和免提设备应支持的特性,语音网关和免提设备必须支持建立服务级连接(SLC)。所有的控制信令在SLC上传递。

蓝牙免提应用规范的典型应用如图3所示。此时蓝牙车载系统是免提设备,手机充当语音网关。图中的手机具有蓝牙功能,第一次使用前需要和蓝牙车载系统进行绑定,用户输入正确的密码后,绑定即告成功。此后,经过绑定的蓝牙手机靠近蓝牙车载系统10米左右,两者就能自动建立连接。

图4是协议栈的配置情况。免提规范是通过在RFCOMM上传送专用控制命令来实现的,这些命令是通用AT指令集的一个子集,同时添加了有关的专用指令。通过这些AT指令可以完成电话状态显示、接听、拒绝、挂断、传输双音多频码(DTMF)、远程音量控制、控制回声抵消、噪声抑制和语音识别等功能。

另外,为了满足互操作性要求,免提规范还就蓝牙信道的连接过程、安全管理等方面做出了一些规定。免提规范规定语音网关和免提设备之间进行绑定时,语音网关应该是发起者。语音网关发起设备查询,免提设备进行查询扫描,通过设备查询语音网关就可以找到有效范围内的免提设备。然后语音网关通过呼叫(Page)与免提设备建立连接,发起绑定流程。在该情况下,语音网关只能作为主设备, 免提设备为从设备。绑定完成后,可以由免提设备或者语音网关任何一方发起连接请求,没有固定的主从设备之分。

免提规范本身不对蓝牙链路的安全性提出强制性要求。就免提应用而言,为了保证通话内容的安全性,应进行鉴权和加密。鉴权是设备一方通过检查链路密钥来验证对方设备的合法性,鉴权可以双向进行;加密是对两个设备间ACL数据按一定算法进行处理,生成加密数据。只有知道正确的解密密钥后,才可以由加密数据恢复出原始数据。加密使用的加密密钥和解密密钥是根据链路密钥按固定的算法生成,因此链路密钥是系统安全性的关键。在蓝牙免提应用中,链路密钥由语音网关和免提设备通过配对(pairing)过程产生。在这个过程中,用户需要在语音网关一方输入正确的PIN码来创建链路密钥。

另外,蓝牙车载系统可以提供多个不同应用服务。其它蓝牙设备在访问这些服务时,蓝牙车载系统还需要控制对其不同服务的访问权限,这种控制由授权过程实现。对于语音网关,一般应授予其访问蓝牙车载系统中免提应用的权力。

蓝牙耳机应用规范

在蓝牙车载系统中蓝牙耳机主要也是用作免提,可以认为蓝牙耳机应用规范是免提应用规范的简化版本,只能完成有限的功能。由于耳机的用户接口很简单,一般为少量按键和LED显示,因此耳机应用协议只定义了简单的功能,包括数据链路、语音链路的建立和拆除,可选对语音网关和车载系统之间的音量同步控制支持等。通过耳机应用规范,可以进行接听电话、挂断电话、声控拨号等基本的免提通话操作。

蓝牙耳机应用规范也是通过在核心协议上添加耳机控制实体和应用层来实现。

本文小结

在蓝牙车载系统的设计和实现过程中,需要采用合理的硬件设计方案来满足汽车应用在温度范围、可靠性和价格等方面的要求,同时还需要采用合理的软件方案来满足严格的蓝牙互操作性要求、良好的功能扩展能力以及良好的实时性和高可靠性。蓝牙车载系统要大规模应用,在技术方面还需要解决应用规范的标准化问题,并且需要有完备的测试手段来保证不同厂商之间的设备有良好的互操作性。目前,免提应用规范和耳机应用规范在蓝牙车载系统和蓝牙手机上已经有广泛的支持。

作者:童力

高级系统工程师

摩托罗拉苏州设计中心

Email: litong@motorola.com

蓝牙车载系统的组成结构和应用规范分析相关推荐

  1. 针对车载系统相关的功能分析(车载OS、芯片、导航、DC、总线系统等)

    关于车载显示系统相关的功能分析 前言 1 基本介绍 2 关于车载操作系统 2.1 华为鸿蒙车载OS 2.2 阿里AliOS 2.3 Microsoft WinCE 2.4 BlackBerry QNX ...

  2. QT项目设计:基于Linux系统的车载系统,地图、音视频播放、天气显示、优美界面 详细教程

    文章目录 QT车载系统 一.音频播放 二.视频播放 三.地图显示 四.天气功能 五.界面美化 化作尘其它开源项目: 单片机项目: Linux项目: QT车载系统 哔哩哔哩视频链接:https://ww ...

  3. BlueTooth: 蓝牙协议栈的原理和结构

    蓝牙,这个已经不是什么新鲜的技术了,相信大多数人都是了解的.那么对于这方面,我们可以在嵌入式操作中进行一下实现.在蓝牙系统中,为了支持不同应用,需要使用多个协议,这些协议按层次组合在一起,构成了蓝牙协 ...

  4. 智能叉车AGV小车车载系统功能特点

    一.无人叉车车载软件功能特点 1.支持导航定位方式多样化 目前我们的车载系统导航模式是混合定位/导航,支持激光靶点定位:SLAM定位:磁条/磁钉导航:二维码导航:惯性导航多种定位/导航模式. 2.车体 ...

  5. 安卓原生系统_全球首个原生安卓车载系统实测!操作流畅 可跟手机媲美

    ch共 看点:全球首个原生安卓汽车系统落在了Polestar 2上,到底能否带来质变呢? 车东西(公众号:chedongxi)编 | 吴垚 导语:Polestar 2作为沃尔沃旗下高端纯电动汽车,因其 ...

  6. android auto只能用谷歌地图吗,谷歌独立车载系统 新版Android Auto无需汽车兼容

    据报道,谷歌今年将开发独立车载系统,新版Android Auto无需汽车兼容便能自行运作,而第一部搭载汽车版安卓的车辆,将在明年上市,如果汽车版安卓开发成功,那么谷歌就很有可能成为车载硬件操作系统的新 ...

  7. [转]安装体验开源车载系统Automotive Grade Linux(AGL)

    email:174176320@qq.com 如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额0.1元起步,多少随意 声明:本文只用于个人学习交流,若不慎造成侵权,请及时联 ...

  8. 蓝牙核心协议  蓝牙芯片结构

    1 Bluetooth Core System Protocol(蓝牙核心协议) 蓝牙技术规范(specification)包括核心协议(protocol)和应用规范(profile)两个部分. 核心 ...

  9. BlueTooth: 蓝牙核心协议与蓝牙芯片结构

    1 Bluetooth Core System Protocol(蓝牙核心协议) 蓝牙技术规范(specification)包括核心协议(protocol)和应用规范(profile)两个部分. 核心 ...

最新文章

  1. 【leetcode】Linked List Cycle I II
  2. DataGridView很详细的用法
  3. java string format s_JAVA字符串格式化-String.format()的使用
  4. Last_Errno: 1755 Last_Error: Cannot execute the current event group in the parallel mode错误解决
  5. 从“char []”转换为“LPCWSTR” 指向的类型无关
  6. vue-router 跳转原理
  7. 8考勤填报_公司考勤管理制度
  8. vs快速添加引用解析的快捷键
  9. Unity资源加载以及释放
  10. ssq冷热号:子图之间间隔调整
  11. Second copy 的增量备份
  12. 免费稳定又好用的微信投票小程序,照片投票评选,视频投票打分小程序
  13. 计算机技术是不是信息技术,计算机技术和信息技术
  14. 回首2013,寄语步入社会的我——自强不息,厚德载物
  15. project web architecture
  16. 近观趣店,“审视”罗敏
  17. 使用Rancher的RKE部署Kubernetes要点
  18. python3模拟登录知乎
  19. 概率论的学习和整理--番外7:简单的丢骰子 和 抽黑球白球问题,对比不同概率模型求解的差别。
  20. AWVS多平台安装(保姆级)教程

热门文章

  1. 火狐主页被篡改后的修复办法
  2. Dragon slayer(搜索板题)
  3. PPP(Point to Point Protocol)——点对点协议
  4. 0x00004005错误代码是什么意思?0x00004005错误代码解决办法
  5. Social-STGCNN: A Social Spatio-Temporal GCNN for Human Trajectory Prediction(CVPR2020)论文阅读笔记
  6. 文本聚类平移算法的几点问题
  7. 华为云全球加速GA,让企业获得更优质的服务体验
  8. 哪位老哥熟悉vue fullcalendar的,能帮忙看看为啥addEvent没效果吗
  9. 爬取猫眼上近期上映的电影及评分信息
  10. 汽车4G车载智能终端