微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > Bluecore5-MM在车载蓝牙设备中的应用

Bluecore5-MM在车载蓝牙设备中的应用

时间:03-09 来源:与非网 博客 点击:

蓝牙是一种短距离内进行语音及数据通信的无线技术,相较于其他无线协议,其标准更完善,而且定义了各种应用的实现规范从而保证了设备间的互操作性1,所以其应用及开发日益广泛。CSR是蓝牙芯片及解决方案领域的领头厂商,其Bluecore系列和单芯片开发方式是很多蓝牙工程师设计其应用的首选,笔者结合自己采用Bluecore5-MM(以下简称为BC5-MM)设计一款车载蓝牙设备的经验,首先介绍下BC5-MM的芯片特性、车载蓝牙设备的蓝牙子系统硬件结构和RF部分的电路设计,然后从单芯片开发方式、通信的实现机制和UART通信三个方面详细介绍下其特定的软件开发方式和实现方法。

蓝牙子系统结构

车载蓝牙设备采用BC5-MM+32位外部嵌入式处理器的双处理器结构设计,实现USB音乐播放、蓝牙免提、蓝牙流媒体音乐播放、电话簿同步下载等功能,图1为蓝牙子系统的结构框图。其中BC5-MM的关键特性如下:

(1)以单芯片形式集成蓝牙系统的射频和基带控制、RISC结构的16位MCU和性能高达64 MI/s;的Kalimba DSP。其中MCU实现蓝牙协议栈和应用软件,DSP实现音频和语音处理以及流媒体音乐文件的编解码。

(2)独立的音频输入输出系统,内置麦克风偏置电路,并具备一定的音频输出驱动能力。

(3)无线发射功率达+8 dBm,接收灵敏度-90 dBm,无需外部放大器,只需印刷电路板天线便可满足蓝牙射频规范Class 2要求,通讯距离达10 m。

(4)具有USB、I2C、SPI、UART等多种接口,外接外部主控制器实现复杂应用。其中BC5-MM和主处理器通过UART进行通信,SPI接口用于BC5-MM程序调试、下载以及关键PSKEY属性设置。

(5)内置LD0(低压差线性稳压器)可由外部3.3 V的电压生成1.8 V和1.5 V两种电压,其中,1.8 V主要为I/O口供电,1.5 V主要为内核供电,从而简化电路设计。图2为蓝牙RF子系统电路设计,由于BC5-MM内部集成蓝牙Modem,只需外接滤波器和天线便能实现RF子系统电路设计。这里,滤波器选用DBF81F104,该器件是SOSHIN专为蓝牙通信的可靠性。选用5 ppm的高性能RF晶体振荡器,并调整设置BC5-MM的关键PSKEY-Crystal Trim值,控制初始载波偏移在很小范同内,保证蓝牙手机能够搜索到设备并将其配对连接。


单芯片开发方式

BC5-MM有两种开发方式:一种是将BC5-MM作为蓝牙基带传输器件,协议栈及应用软件全部由外部主处理器实现;另一种是将BC5-MM作为蓝牙单芯片,实现协议栈及部分应用软件,通过与外部主处理器的通信来综合完成相关应用。本设计选用后一种开发方式,BC5-MM的软件开发在CSR公司提供的Roadtunes-SDK上进行,该Roadtunes-SDK提供完成的协议栈和剖面库,车载应用的软件解决方案,以及虚拟机VM,用于单芯片方式的嵌入式开发。在该解决方案的基础上开发软件,其应用包括免提通话、信号强度、电池电量及短信提示、流媒体音乐播放及远程控制、读取蓝牙播放器音乐的TAGID3、来电铃声提示、下载蓝牙手机内的电话簿、自动连接等。下面从通信的实现机制和UART通信方面论述相关机制原理和开发。

通信的实现机制

BC5-MM的蓝牙通信和本地通信都是基于Stream机制,它把数据传输路径视为一个管道,管道的人口为Source,表示数据来源,出口为Sink,表示数据从这里发出。屏蔽底层具体实现,以简单方式实现数据传输。其主要特性是串行和FIFO(先人先出)机制,对其开发时,首先保证有足够空间分配给收发数据,保证当前指针正确。以免提通道数据发送为例,首先通过SinkClaim(HfpSink,DataLength)函数为免提通道的发送端口HfpSink分配DataLength长度的内存,然后判断是否分配成功,若分配成功,则将该内存赋值,再通过SinkFlush(HfpSink,DataLength)将数据发送出去。注意一旦通过SinkClaim分配DataLength长度的内存,必须通过Sink-Flush将其长度的数据发送出去,这样才能将HfpSink的发送指针转移到正确位置,否则下次通过SinkClaim为HfpSink分配内存,通过SinkFlush发送时,将会出现免提通道上的发送数据使用上次分配的内存数据,从而造成后面一连串发送错误。因此必须深入理解BC5-MM的通信实现机制以完成正确的数据传输。

UART通信

由于BC5-MM处理器资源有限,可实现简单应用,但复杂应用则须借助外部处理器。这里选用BC5-MM+外部主处理器。这种架构采用UART通信实现处理器之间的交互,综合完成相关应用。

UART通信协议包括底层传输和应用两部分协议。其中传输协议定义了帧格式并选择合适的校验机制和错误处理机制,帧格式为:帧头(0x55+0Xaa)+id(标示该帧的含义)+dlc(数据场长度)+data(数据场)+checksum(16位算术校验和)。按照

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top