微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 蓝牙耳机及其放大电路实用设计汇总

蓝牙耳机及其放大电路实用设计汇总

时间:11-09 来源:本站整理 点击:

TC1303和MCP73855的小尺寸封装(3×3mm)以及简单的外围电路,构成了一个低成本、高性能、高度集成的蓝牙耳机电源管理方案,这个方案 也可适用于最新播放MP3的立体声蓝牙耳机设计。工程师利用它和蓝牙芯片,可以设计更加舒适、时尚、易用,同时重量轻巧的蓝牙立体声耳机,使用户能够在移 动时欣赏音乐,又永远不会漏接电话。

  蓝牙无线耳机设计及VxWorks移植方法

   蓝牙耳机是一种无线语音传输技术,是基于耳机在无线技术方面的延伸。它是相配于蓝牙技术而进入多媒体个人区域网络的。随着蓝牙技术的日趋完善和蓝牙产品 市场占有率逐渐提升,蓝牙耳机在技术上也将不断得到改进,使之成为个人多媒体区域网络的主要配套产品。蓝牙耳机的应用范围除了手机以外,PDA、无绳电话 应用、汽车免提工具、电话终端等,也是蓝牙耳机发挥技术优势的应用领域。本文设计的蓝牙耳机支持蓝牙规范1.2版本,传输距离达10 m,传输速率达723.2 kb/s,并且具有低功耗和(几乎)无辐射等技术优点和优势。

  1 蓝牙技术

   蓝牙作为一种低成本、短距离的无线连接技术标准,是由 Ericsson、IBM、Intel、Nokia和Toshiba五家公司共同倡导的一种全球无线技术标准,是一种无线数据与语音通信的开放性全球规 范。它以低成本的短距离无线连接为基础,为固定设备与移动设备通信环境建立一个特别连接。其实质是建立通用的无线空中接口及其控制软件的公开标准,实现设 备问的电缆替代。

  蓝牙技术规范包括协议和应用规范两个部分。协议定义了各功能元素各自的工作方式,整个蓝牙协议体系结构分为4层,即核 心协议层、线缆替代协议层、电话控制协议层和采纳的其他协议层;应用规范则阐述了为了实现一个特定的应用模型,各层协议间的运转协同机制。较典型的应用规 范有拨号网络、耳机 (headset)、局域网访问和文件传输等。蓝牙耳机的协议栈原理如图1所示。

  

  

  2 硬件设计

   硬件电路信号处理与控制部分采用Zeevo公司的基于ARM7的音频处理器ZV4301。ZV4301处理器是在一个单芯片收发器上加入一个集成 RF、数字信号处理、通信处理和运算及控制处理功能的48 MHz APM7微处理器,片外扩展闪存,以实现需要技术和高度最佳化的音频处理。

   编解码芯片采用飞利浦公司的UDAl380音频芯片。UDAl380是一颗专为便携式产品所设计的单芯片立体声音频编解码器,可以提供立即可用的先进音 频功能。这颗音频编解码器具有24位数据路径、多重时钟支持、DC偏移消除、支持多重数据格式以及数字静音检测等集成功能。本设计中,UDAl380利用 与微控器接口作音控处理.并利用L3接口来控制音量。

  3 I2S总线

  本设计在硬件电路上使用基于I2S总线的音频系统体系结构。I2S(Inter-IC Sound bus)是飞利浦公司提出的串行数字音频总线协议。

  I2S总线只处理声音数据,其他信号(如控制信号)必须单独传输。为了使芯片的引脚尽可能少,I2S只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线(SD)、字段选择线(声道选择WS)、时钟信号线(SCK)。

  此设计中采用电源统一供电,ZV4301作为主设备,UDAl380作为从设备。ZV4301使用3个通用I/O口来模拟I2S总线。其读写I2S总线的数据主要包括以下几个函数;

  word_selection(); //字选择函数

  serial_clock(); //时钟信号函数

  serial_data(); // 串行数据函数

  shift_register(); //寄存器移位函数

  

  4 软件设计

  VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统。良好的持续发展能力、支持多种硬件环境、高性能的内核以及友好的用户开发环境,使之成为所有独立于处理器实时系统中最具特色的操作系统。

   在该设计中,软件协议全部下载到蓝牙设备内核处理器的外置闪存中,操作通过人机接口控制。基于VxWorks的软件编写工作主要包括:BSP包的改动、 程序的编写和操作系统的裁减。由于VxWorks的高度灵活性,可以很容易地对这一操作系统进行定制或作适当开发,来满足系统的实际应用需要。BSP 包的改动指根据目标硬件实际配置修改系统的配置参数宏(MAC-RO),主要修改config.h、makefile.h、bspname.h文件。

  程序编写函数主要包括以下7个。

  (1)系统引导函数

  VxWorks操作系统在一些板级系统初始化后自动执行tUsrRoot()函数,以完成初始化。

  tUsrRoot()

  …… //必要初始化程序

  vInitializeLmp(); //LMP初始化完成

  vInitializeL2cap(); //L2CAP初始化完成

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

网站地图

Top