0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用Bluecore5-MM和MCF5251芯片实现车载信息娱乐设备的设计

电子设计 来源:今日电子 作者:马建辉,吕梦兴, 2021-03-31 11:12 次阅读

作者:马建辉,吕梦兴,马共立

蓝牙芯片领头芯片厂商CSR的Bluecore是目前普遍应用的蓝牙单芯片系列,在蓝牙耳机、蓝牙手机和免提装置等设备中应用广泛,也是很多蓝牙工程师的首选。采用Bluecore5-MM(以下简称BC5)和Freescale的Coldfire架构的32位处理器MCF5251,开发了一款整合USB音乐播放、iPOD控制、蓝牙免提和流媒体音乐播放等功能的车载信息娱乐设备。下面,首先简要介绍设备硬件结构,然后从设备软件结构、BC5 软件开发方式、内存和DSP的开发上详细讲一下开发中遇到的问题及解决方法。

硬件结构

图1为车载娱乐设备的硬件结构图,包括电源管理音频输入输出及音源管理、处理器及其外围电路、USB接口及其供电保护、 CAN接口等几个部分。

采用Bluecore5-MM和MCF5251芯片实现车载信息娱乐设备的设计

图1 车载娱乐设备硬件结构图

如图1所示,系统采用BC5-MM+32位外部嵌入式处理器的双处理器结构设计,蓝牙部分用BC5-MM实现。下面,首先介绍该芯片的关键特性,然后介绍其RF子系统的电路设计。其芯片特性如下:

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

(2)具有独立的音频输入输出系统。

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

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

蓝牙RF子系统设计如图2所示。由于BC5-MM内部集成了蓝牙射频和基带控制,所以只需外接滤波器PCB天线便能实现RF子系统设计。滤波器选用插入损耗低、衰减特性高的蓝牙平衡滤波器DBF81F04,保证了蓝牙通信的可靠性;PCB天线采取F型天线,反馈点位置需要根据蓝牙 2.4GHz的频率中心点确定。另外,在音频输入输出系统设计中需要注意的是音频输入有最大电压的要求,所以在外围麦克风输入电路设计时要注意选择电路放大参数以控制输入电压。

图2 RF子系统电路图

软件开发

图3所示为双处理器结构的车载信息娱乐设备的软件结构图。MCF5251端的软件设计不再赘述,BC5软件包括固件、操作系统、剖面和应用程序四个部分。固件的功能是和硬件连接,提供底层驱动的实现,包括蓝牙底层协议栈及片上各种外设,如IO、UART、Timer、ADC等的接口;操作系统Virtual Machine(VM)完成内存管理、任务调度和消息处理功能;剖面的功能是定义某类型设备应该包含的功能及其标准实现方式,保证设备间的互操作性。应用程序是在剖面和VM提供的一系列API上进行开发的,定义了任务和相应的消息,在VM的控制下采用消息队列机制异步发送消息进行通信,软件开发环境为 Roadtunes-SDK。该SDK提供了完整的蓝牙协议栈和各种剖面的源代码,并提供了车载应用的软件解决方案。下面讲述下连接管理及内存问题和 DSP开发中的关键技术。

图3 车载设备软件结构图

连接管理

笔者设计的车载信息娱乐设备需要实现免提通话、电话簿下载、流媒体音乐播放和音乐远程控制应用,每一种应用都是在相应的连接的基础上以相应剖面约定的方式进行的。其中,免提对应HFP剖面,电话簿下载对应PBAP,流媒体音乐播放对应A2DP,音乐远程控制对应AVRCP,合理管理这些连接至关重要。首先,对连接进行分类,HFP和A2DP为主要连接,PBAP是HFP的附属连接,AVRCP是A2DP的附属连接。当手机和设备建立了免提连接后,设备主动与手机建立PBAP连接,下载电话簿并通过UART送到主处理器去解析,当手机和设备建立了流媒体连接后,设备主动与手机建立 AVRCP连接以实现流媒体音乐的远程控制。

系统在逻辑上是完全合理的,但发现此时死机的可能性很大。经分析,每一种连接建立后设备双方需要交互链路监控超时时间、低功耗设置、LMP 版本信息、支持特性等其他信息,短时间内需要消耗相当大的内存,而PBAP电话簿下载和UART的传输也消耗相当大的内存,这样便造成BC5无法为相应的蓝牙消息分配内存。因为蓝牙设备的各种行为都有相应的消息序列和次序,一旦将中间某个环节丢掉,那么后续的行为也是不可控的,继续运行会造成程序的紊乱,这时复位是必需的选择。

BC5的MCU内存为48KB,被当前各个为其语音或数据分配的环形缓冲区和协议栈特定操作、剖面和应用程序所共享。因此,需要在软件开发上精心设计,并牺牲一定的速度性能才能保证程序不会因为内存不够而运行失败。

设计合理的连接管理方案如下:在A2DP连接完成5s后发起建立AVRCP连接,在HFP连接完成10s后发起建立PBAP连接,并保证不存在两个正在进行中的连接,即如果AVRCP连接还没有建立完成,当PBAP的建立时间到达时再推迟10s发起PBAP的连接,而且在刚建立PBAP连接时不马上进行电话簿下载这样需要大量内存的操作,这样便解决了该问题。

DSP的开发

BC5内置性能高达64MIPS的DSP,可以软件的方式完成两大功能即回声消除和流媒体音乐文件的解码。CSR为BC5的 DSP提供了用于回声消除和噪声抑制的CVC,并提供了SBC和MP3的编解码实现,这些都为车载信息娱乐设备免提通话和流媒体音乐播放功能的实现提供了极大的便利。同时,笔者所设计的车载信息娱乐设备需要有对音频系统的自诊断功能,要求产生标准1kHz声音信号并对麦克风进行检测,这部分功能在BC5的 DSP上实现。下面首先简要介绍DSP的特点及开发方式,然后介绍自诊断功能中麦克风检测的实现。

CSR为其DSP定义了Kalimba的类汇编开发语言,并提供了很多有用的算子,可以被开发者直接调用编程以实现自定义功能。DSP跟外设的接口只有PIO,它无法直接和UART、USB、CODEC或蓝牙数据链路接口,需要跟MCU一起完成具体应用。MCU和DSP之间基于中断以消息的方式进行交互,消息数据采用DSP和MCU的共享内存收发,MCU和DSP都有发送接收消息的相应机制。

麦克风检测需要对所产生的声音信号采样并运算处理。首先,MCU设置好麦克风ADC的采样率和增益,同时设置好ADC数据流与DSP输入端口的连接,DSP对输入的ADC数据进行FFT运算,然后将运算结果以long message的方式发送给MCU,在MCU中做后续处理。MCU的设置代码如下所示:

/*VM_PCM_INTERNAL_A means left adc and left dac*/

PcmRateAndRoute(0,PCM_NO_SYNC,8000,8000,VM_PCM_INTERNAL_A);

/* Set the gains on the codec */

CodecSetInputGainA(13);

/* plug Left ADC into port 0 */

StreamConnect(StreamPcmSource(0),StreamKalimbaSink(0));

StreamKalimbaSink(0) 即为DSP的输入端口,它是一个先进先出的环形缓冲区,Kaimba提供了对它进行操作的算子,包括读数据、写数据、查询剩余空间和当前有效数据空间。对它进行操作前需要查询剩余空间和查询当前有效数据空间,这样才能保证所取的输入数据在时域上的连续性,操作后要更新读写指针,这样才能保证其后续操作的正确性。

FFT运算的输入实部即为麦克风采样数据,虚部为零,是占位运算,即运算结果的输出占用的是输入数据的地址空间。根据FFT原理,输入顺序时,输出逆序,输入逆序时输出顺序,这个逆序算法取决于FFT运算的点数,在这里选择128点运算。根据傅里叶变换原理,频率分辨率取决于运算点数和 ADC的采样速率,计算公式如下:

Δf=fs/N=8000/128=62.5Hz

其逆序序列为0 64 32 96 16 80 48 112 8 72 40 104 24 88 56 120 4.。.

为了保证运算正确,需要进行多次运算,首先设置一定时器实时刷新FFT输入的实部数据,其次在每次FFT运算之前将虚部全部清零,将没有得到赋值的实部数据全部清零。定时器周期根据ADC的采样速率和运算点数决定,由于对FFT输入数据的补零操作不会影响运算结果和频率分辨率,所以在这里设定定时器周期为 14ms,这样输入数据不会溢出。

运算完成后需要对实部和虚部进行求模运算,按照以上的逆序输出,判断峰值是不是出现在1kHz处即第56个点,是则麦克风工作正常,否则工作不正常。

结语

采用BC5和MCF5251设计实现了车载信息娱乐设备,该设备运行稳定可靠,具有很高的实用价值。本文论述了BC5的应用开发经验和关键技术,有助于采用BC5进行开发的蓝牙工程师同仁加深对其设计开发的理解。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    17943

    浏览量

    221419
  • 芯片
    +关注

    关注

    445

    文章

    47298

    浏览量

    407605
  • 接口
    +关注

    关注

    33

    文章

    7539

    浏览量

    148153
收藏 人收藏

    评论

    相关推荐

    实现车载信息娱乐技术过渡

    汽车收音机推出以来,车载信息娱乐已经取得了长足的发展。消费者现在希望他们的手机和便携式设备实现无缝连接,同时为每位乘坐者带来独特的
    发表于 12-20 14:17

    多媒体娱乐的双屏异显车载导航仪

    需要提供更复杂的体系结构和更高性能的处理器。正如在消费领域的其它产品一样(例如计算机、家庭娱乐中心、便携式娱乐设备),车载已成为一种汇聚应用,它通过将音频、视频和数据汇集起来进行
    发表于 12-17 14:52

    AMEYA360设计方案丨低端车载娱乐系统解决方案

    电控信息娱乐设备进行协调和控制的一套系统,整个系统对提高汽车的舒适性,安全性,增强汽车的智能化和功能化具有极其重要的作用,对整个汽车行业发展的未来占有十分重要的地位。目前,车载音响,移
    发表于 06-04 16:56

    TI WiLink 8Q为车载信息娱乐系统汽车提供无线连接

    芯片。WiLink 8Q可为车载信息娱乐系统提供完美的无线连接体验。由于Wi-Fi在汽车行业势头日盛,从今年开始,WiLink 8Q已被设计成若干精品器件,供汽车类一级供应商(Tier
    发表于 09-14 11:18

    ADI车载信息娱乐主机解决方案

    车载信息娱乐主机系统集音/视频播放、导航和车载通信等多种功能于一身,旨在给驾驶人员带来舒适、便利的驾驭体验。系统的典 型功能包括AM/FM/数字/卫星广播、CD/DVD播放、多媒体外
    发表于 12-17 09:10

    车载信息娱乐系统的音频来源

    新式的车载信息娱乐系统包含日益多元化的内容来源,包括专为乘客设计的前座和后座显示器、来自便携式设备的内容,以及便携式计算设备的互联网接入等。
    发表于 05-16 10:44

    车载信息娱乐系统的电源管理要考虑的因素有哪些?

    车载信息娱乐系统的电源管理须考虑到的因素
    发表于 03-07 08:35

    怎么实现SyncML在蓝牙车载信息娱乐设备上的设计?

    SyncML的电话薄同步应用的关键点是什么?SDP在SyncML中的应用是什么?怎么实现SyncML在蓝牙车载信息娱乐设备上的设计?
    发表于 05-14 07:02

    如何去实现一种车载信息娱乐设备

    怎样通过BC5MCF5251去设计一种车载信息娱乐设备
    发表于 05-19 06:57

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

    蓝牙技术的开发和CSR的Bluecore系列蓝牙单芯片的应用日益广泛。采用Bluecore5-MM开发一款蓝牙车载
    发表于 12-29 17:57 36次下载

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

    Bluecore5-MM车载蓝牙设备中的应用 1 引言    蓝牙(Bluetooth)是一种短距离内语音及数据通信的无线技术。较其他无线协议,蓝牙标准更完善,定义了各种应
    发表于 12-10 16:44 1341次阅读

    蓝牙单芯片在车载信息娱乐设备中的设计应用

    本文首先简要介绍设备硬件结构,然后从设备软件结构、BC5软件开发方式、内存和DSP的开发上详细讲一下开发中遇到的问题及解决方法。 蓝牙单芯片领头芯片厂商CSR的
    发表于 06-02 11:43 977次阅读
    蓝牙单<b class='flag-5'>芯片在车载</b><b class='flag-5'>信息</b><b class='flag-5'>娱乐</b><b class='flag-5'>设备</b>中的设计应用

    基于车载蓝牙多媒体网关的设计指南

    的32位嵌入式处理器MCF5251和CSR公司的蓝牙单芯片BlueCore5-MultiMedia(以下简称BC5)芯片设计了一款整合车载
    发表于 09-19 09:23 1次下载
    基于<b class='flag-5'>车载</b>蓝牙多媒体网关的设计指南

    基于蓝牙在车载信息娱乐设备中的应用

    BC5)和Freescale的Coldfire架构的32位处理器MCF5251,开发了一款整合USB音乐播放、iPOD控制、蓝牙免提和流媒体音乐播放等功能的车载信息娱乐
    发表于 09-19 11:35 5次下载

    什么是车载信息娱乐系统和集成驾驶舱

    什么是车载信息娱乐系统(IVI)?“车载信息娱乐(IVI)”通过向驾驶员和乘客提供
    的头像 发表于 01-18 17:38 851次阅读
    什么是<b class='flag-5'>车载</b><b class='flag-5'>信息</b><b class='flag-5'>娱乐</b>系统和集成驾驶舱