基于硬件设计和软件设计的蓝牙技术在车载娱乐设备中的应用与开发

发布时间:2023-06-08  

随着汽车电子消费电子技术的融合,车载信息娱乐系统近几年发展迅猛,成为融合各种技术的集成化平台,很多在消费电子领域中的应用开始在汽车上实现,满足了用户在娱乐、舒适与安全方面的追求。在消费电子领域大行其道的蓝牙技术也开始渗透到汽车应用中,汽车内部空间有限,正符合蓝牙短距离连接应用的初衷,而且蓝牙SIG组织以剖面(profile)的形式详细定义了在各方面应用中的操作方式和应该遵循的原则和步骤,相比于其他无线技术更能保证通用性和互操作性。蓝牙SIG组织专门定义了HFP(Hand Free Profile)规范了蓝牙在车载免提装置中的应用,使得用户通过车载麦克风和音响便可以打电话,保证了行车安全;定义了PBAP(Phone Book Access Profile)和OPP(Obeject Push profile)规范了电话簿下载的应用,使得用户可以将手机中的电话簿同步到车载免提装置上,从而可以利用汽车上的按键和液晶屏直接拨打电话,方便了用户的使用;蓝牙技术在立体声耳机中的应用经验也开始应用到车载娱乐系统中,利用车载音响便可以播放蓝牙立体声流媒体音乐,大大提升了用户的车内娱乐体验。在笔者研制的一款车载娱乐设备中,将USB技术、蓝牙技术、音频解码技术融合在一起,结合汽车内部麦克风和音响,集成了播放U盘存储的音乐、免提应用、电话簿下载和流媒体音乐播放功能,而且通过CAN总线连接车载CAN网络,实现了与车载信息娱乐系统的集成和功能的可扩展性。本文主要从硬件设计和软件设计两个方面讲述一下蓝牙技术在这款车载娱乐设备中的应用与开发。


一、硬件设计

该车载娱乐设备的硬件设计采用双处理器结构实现,主CPU采用Freescale的高性能32位处理器MCF5251,蓝牙芯片采用CSR的Bluecore5-MM,采用UART作为两款处理器的接口。其中USB HOST、音频文件解码、CAN通讯、人机接口均在主CPU上实现,Bluecore5-MM实现蓝牙通讯和相应的剖面协议,其结构框图如图1所示:

基于硬件设计和软件设计的蓝牙技术在车载娱乐设备中的应用与开发

图1:硬件结构图

下面介绍下Bluecore5-MM芯片的特点及应用。

BlueCore5-MM是CSR提供的一款高度集成的蓝牙单芯片,在8*8*1.2mm TPBGA封装内集成了蓝牙MAC层和基带IC,其发射功率和接收功率分别可达到+8dBm和-90dBm,无须外部功放即能实现Class 2的范围。CSR以固件的形式提供了完全兼容蓝牙2.0规范的的协议栈,且内部提供了自动校准和内建的自测试机制,用于原型开发和蓝牙协议认证。

Bluecore5-MM内部包含一16位MCU,可外接32M bits FLASH,用于完成协议栈和应用程序,还集成了一颗处理能力高达64MIPS的DSP,主要完成三个功能:

1. 回声消除及噪声抑制,提供非常清晰的语音质量;

2. 实现对流媒体音乐的解码,可以对mp3,aac等格式的音乐文件解码;

3. 能够方便地增加CSR第三方合作伙伴基于该DSP开发的专用的经过验证的音频或语音增强软件,快速加强其终端设计的性能和功能。

这样便提升了免提组件的用户体验, 使其适用于各种先进且高质量音频的车载应用。其内部结构如图2所示:

基于硬件设计和软件设计的蓝牙技术在车载娱乐设备中的应用与开发

图2: Bluecore5-MM 结构图

蓝牙子系统硬件在CSR提供的BlueTunes2开发板的基础上进行设计开发,该开发板提供了基于BlueCore5-Multimedia芯片的完整的硬件解决方案,包括原理图设计和PCB设计和天线设计。基于BlueCore5的蓝牙子系统硬件开发一个很重要的工作便是利用PSTOOL工具调整可以决定RF特性的PSKEY值,比如Crystal trim。笔者设计好电路板后,采用多部手机进行搜索和连接测试,发现有的手机搜索不到该设备,采用Anritsu/安立公司的MT8852蓝牙测试仪测试了其RF特性,发现“初始载波”不合格,通过修改影响初始载波偏移的PSKEY-Crystal trim,测试通过,且设备可以被所有的手机搜索到。


二、软件设计

CSR提供固件(firmware)完成蓝牙协议栈,软件开发环境提供各个剖面(profile)库及其源代码,这样我们就可以不必深究底层协议,而在CSR提供的协议栈和剖面库的基础上专注于应用软件开发,软件结构框图如下图所示:

基于硬件设计和软件设计的蓝牙技术在车载娱乐设备中的应用与开发

图3: 软件结构图

我们选择的开发环境为RoadTunesSdk,基于其提供的操作系统VM实现应用程序的开发。基于其HFP剖面,可以实现免提通话应用,并可以传递信号强度、电池电量、充电状态、漫游状态等信号量,在液晶屏上显示;基于其A2DP和AVRCP剖面,可以实现流媒体音乐播放和远程控制,这些部分CSR提供了完整的例程,比较容易实现。以下我们从UART通讯、自动连接、电话簿同步等几个方面阐述下软件开发的关键技术。


2.1 UART通讯

BC5和主CPU之间的数据交换采用通讯帧的方式,采用帧头(0x55+0xaa)+ID(标示该帧的含义)+DLC(数据场长度)+DATA(数据)+CRC16(16位CRC校验)的格式进行传输,并且采用缓冲区的方式保证数据在未处理之前可以存储。


主CPU到BC5主要是人机接口命令,比如接听电话、挂断、呼叫保持、激活保密模式等,这个数据量小而且帧间间隔比较长,所以数据可以得到有效的存储和处理。而从BC5到主CPU的数据传输便比较复杂,因为涉及到蓝牙手机、BC5 和主CPU之间的三方通信,蓝牙手机到BC5可能在短时间内有大量的数据传输,这样在BC5到主CPU短时间内便会有多帧传输,为了保证数据存储和次序处理的正确性,采用开辟多个独立缓冲区的方式便有些不可取,我们采用了在主CPU端开辟一个大的FIFO(先入先出)缓冲区的方式,保证了数据得到正确缓存和次序处理。该缓冲区空间比较大,数据便可以得到有效缓存,而且由于其先入先出的特性,所以数据的次序处理又可以得到保证。


串行通信的错误来自于其采样时刻的干扰,当DLC不产生错误时,CRC校验可以保证数据的正确性。但是当DLC由于干扰产生错误时,便会引起帧的解析状态机的混乱,将下一帧的数据误判断为该帧数据,便会产生漏帧的现象,并进而引起FIFO缓冲区的混乱。为了有效解决该问题,必须保证填充到FIFO缓冲区的数据都是严格按照之前定义的帧格式进行顺序排列的。我们采用了帧延时和定时器监测的方式来剔除错误帧,首先在帧发送时会有个10ms的延时,相邻两条帧的时间间隔则大于10ms,在主CPU端接收帧时开启一个7ms的超时定时器,每接收到一个数据便重启该定时器,如果定时器超时,则可以判断出DLC出错,从而将这一帧判断为不完整,将该帧不完整的数据丢掉,然后退出帧尾等待,等待下一个帧头的到来。不完整帧不填充到FIFO缓冲区中,这样便解决了因为DLC错误引起整个FIFO缓冲区混乱的问题。


2.2 自动连接

为了增强使用的便利性和对用户的友好性,我们实现了自动连接功能。我们定义了自动连接的三个触发条件:

1. 系统上电

2. 由于连接设备离开有效范围引起当前连接断开

3. 一个已配对设备进入蓝牙有效范围


为了实现这三个条件下的自动连接,我们实现了配对列表管理和周期搜索功能。配对设备的管理包括添加配对设备、从液晶屏上删除配对设备、存储、提取、优先级管理、查找最后一次连接的免提设备和音频设备、查找进入蓝牙环境的最高优先级的设备等功能。优先级设计为:优先级最高的为上次连接的设备,然后按照配对列表的次序依次递减。


为了确定是否有一个已配对设备进入蓝牙有效范围,采用周期“搜索”的方式进行判断。当配对列表不为空而且当前没有连接的前提下发起周期搜索,如果上次没有搜索到某个配对设备而这次搜索搜索到了,便发起与该设备的自动连接。由于搜索是个对蓝牙基带带宽要求比较高的操作,所以为了保证不因为自动搜索影响外部发起的搜索配对、手动连接、从液晶屏发起的连接,在配对和手动连接进行中停止自动搜索并重启搜索定时,使得自动搜索尽量不影响这些操作。


2.3 电话簿同步

电话簿条目在下载传输时采用VCARD格式,符合vCard2.1和vCard3.0规范,格式如下所示:

BEGIN:VCARD

VERSION:2.1

N;CHARSET=UTF-8:jianhui

TEL;CELL:13475909642

。 . 。 . 。

END:VCARD

可以采用以下几种方式下载: AT命令、OPP、PBAP、syncML,笔者实现了后三种方式。OPP即用户在手机上选择一条或几条电话号码PUSH到车载免提装置上,PBAP是蓝牙SIG为了规范电话簿的自动下载而定义的一个应用剖面,定义了两种功能:下载和浏览。下载是把整个电话本作为一个文件进行下载,浏览是以单条VCARD为单位的下载。按照PBAP的定义,所有的手机都应支持下载和浏览功能,由于手机兼容性问题,我们测试的结果为所有手机都能支持下载功能,部分手机支持浏览功能,而且有的手机采用下载功能下载时下载不全,这是由手机本身的缺陷造成的,为了解决该问题,我们首先获得电话号码总条目数,当采用下载方式下载完并将VCARD解析完成后,我们判断条目数是否相等,如果不相等,我们再采用浏览方式去下载。


syncML是移动设备间数据同步的一种通用协议,与蓝牙OBEX协议绑定便可以实现syncML在蓝牙技术上的应用。syncML不仅可以下载电话簿,还可以完成电话簿的更新,当第一次同步后,第二次同步时便将产生变化的部分以syncML文档的格式传过来,解析该syncML文档便可以实现电话簿条目的增加(ADD)、删除(DELETE)和修改(REPLACE)操作。


结语

蓝牙技术的车载应用开发研究越来越广泛,笔者融合了蓝牙技术和汽车电子技术,设计实现了一款车载信息娱乐设备,介绍了其蓝牙子系统硬件设计和软件开发的若干关键技术,该设备运行稳定,具有良好的用户体验和使用价值。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    测试底板外观和功能示意图) RST脚:短按50~2000ms进入AT模式,长按4s以上强制重启 TWO 蓝牙串口透传功能验证 我司为本模块开发了专门的手机蓝牙透传测试APP,以便用户使用。 具体......
    Mesh应用开发和部署需要三个关键组成部分: 硬件 软件/固件 移动设备APP 硬件 在选择蓝牙Mesh产品平台时,首要的步骤是了解平台器件的现在和未来,在选择器件时应做长期考虑。举个例子,图1是智......
    到GPIO0 ◆ 支持CR2032电池座 ◆ 简单易用的配置,用于快速测量功耗  2  开发板体验 演示环节分为两个大的部分: 1. 固件烧录 2. 手机app配合做蓝牙功能演示 第一步,开发......
    大品佳基于达发科技产品的OTC颈挂式蓝牙助听器方案的方块图 除了硬件上的支持,达发科技还给客户提供可进行助听器设置和管理的配套APP。该APP可以进行自主验配(包括快速验配和深度验配),然后......
    过后台将相关信息(包括车辆信息、蓝牙信息、设备信息、钥匙信息等信息)注册到CarLink Service。 3.完成信息注册后,钱包APP会根据注册信息,自动生成相应的数字钥匙卡片。 应用流程举例-蓝牙......
    APP自主验配参考源代码,加速开发应用; 单SoC一站式蓝牙助听器解决方案,可快速通过FDA OTC、CFDA二级等相关医疗认证; 内置16+2EQ通道,4个拐......
    率无线电通常会使用 433 MHz 低功率无线电来传输侦测信息给接收器,而接收器可搭配原厂车载主机,抑或是使用独立的数字显示器。蓝牙侦测器透过蓝牙传输,将信息传递到手机,藉由手机App提醒驾驶。除了以上这两大类,其实也有低功率无线电和蓝牙......
    收器可搭配原厂车载主机,抑或是使用独立的数字显示器。蓝牙侦测器透过蓝牙传输,将信息传递到手机,藉由手机App提醒驾驶。除了以上这两大类,其实也有低功率无线电和蓝牙的混合型产品,传输......
    可以根据车内摄像头判别路况信息,自动进行灯光分离,改善会车时灯光阻碍视线的问题。 2、系统框图和工作原理 系统由车灯控制系统和手机APP构成,通过蓝牙进行数据的传输,系统根据调取高德地图的车辆行驶路线信息进行处理,然后......
    STM32WB55_NUCLEO开发(3)----手机与STM32WB直接配对;概述 本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过手机APP与其配对。 硬件......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>