基于Realtek RTL8763B的蓝牙车充播放器

随着汽车工业的迅猛发展,车载无线耳机充电器将会被广泛应用在高中端汽车上,且呈现出多功能性、便携性、时尚性的特征。越来越多的有车族可以享受边开车边接听电话的便利,闲暇之余还可以聆听各种高保真的音乐。车载无线耳机是指通过汽车电瓶(轿车12V, 卡车24V)供电的常规车载充电器结合最新的无线耳机技术,可大量使用在各种便携式、手持式设备、车载无线接听领域。诸如:与车载手机, 车载PDA, 车载GPS 上一起应用的场景等等;车载无线耳机的供电部分既要考虑车载充电的功能,还有考虑锂电池充电的实际需求(恒压CV,恒流CC,过压保护OVP),又要兼顾车载电瓶的恶劣环境(瞬态尖峰电压,系统开关噪声干扰,EMI 等);因此车载无线耳机方案选取的电源管理IC 必须同时满足:耐高压,高效率,高可靠性,低频率(有利于EMI 的设计)的开关电源芯片。而无线部分既要考虑车载恶劣的环境,如干扰与震动,还有考虑播放音乐及通话音质的实际需求。因此选用蓝牙无线耳机进行设计是个非常好的设计方案,即可满足各种应用需求也可以快速占领市场,我们选取的蓝牙IC 要性能稳定、传输可靠,音质优良,因此Realtek RTL8763B 系列蓝牙耳机方案是不二的选择。

*特性
本产品具有多功能性、便携性、时尚性、安全性的多种特征,是有车族喜爱的必备设备之一,预期越来越多的品牌会加入到这井喷的市场中。本产品具备以下特征:
多功能性:该款车载无线耳机充电器配备美规、英规、奥规和欧规四个AC装换接头;将车充、直充、USB、蓝牙耳机充合为一体,满足不同条件下的充电;USB输出接口,可以为电子产品进行充电。
便携性:便携性是当今电子产品发展的一大趋势,采用独特的折叠式车充设计,将产品体积浓缩到6.9×5.6×3.1cm,随身携带极其方便。
时尚性:针对车主这个高端消费群体,车载充电器的时尚性也为生产商所重视。一般使用ABS材质以及采用钢琴烤漆工艺,不但时尚精致,手感也非常好。
安全性:该产品通过了CCC、UL、FCC、CE等国际各项安全性能的检测,并有保险公司的担保,强有力地保障使用性能的安全和消费者权益。

*应用
车载无线耳机播放器,其充电功能是为了方便车主用车载电源随时随地为数码产品充电,无线耳机的功能是为了方便的帮助人们轻松的摆脱以往在边开车边打电话、接听电话的危险。这类产品一般具有过载保护,短路保护,高压输入保护,高温保护,四重安全保护功能,确保能安全使用。车载无线耳机播放器的车充功能在车用的同时,也能家用,实现车充、直充、USB充三合一多功能用途。无线耳机的功能是为了方便开车接听电话及音乐娱乐的应用,另外还可以进行车载娱乐播放音乐的作用。
1


一、硬件系统工作原理
所谓FM发射就是充当于FM电台,频率在76-108M之间都可以,我们选用的是QN8027。这个FM发射有什么意义呢?例如有些主机或者后座娱乐系统播放音乐,是没有喇叭或者喇叭比较差一点,用FM发射出去,在原厂配的FM里就可以搜到这个FM发射频点,听收音机一样来接受播放的音乐,再用原厂的音响放出来,整个在车上的人都可以享受这个音乐带来的高品质享受。那么这个系统怎么实现呢?电路组成部分,电路主要由三大部分组成,车充电路、BT audio、Digital FM 组成,下面分别进行阐述。


1、Digital FM QN8027集成电路介绍
QN8027 是一种高性能、低功耗、全功能的单芯片立体声调频发射机,适用于便携式音频/视频播放器、汽车附件、手机和GPS个人导航设备。QN8027涵盖76兆赫 至108兆赫的频率在50/100 / 200千赫的步长为全球FM波段支持。QN8027还支持RDS/RBDS数据传输。QN8027集成了完整的发射机功能,从立体声音频输入到RF天线端 口,用于全球调频频带个人区域广播。它包括可变输入增益编程、可选择预加重、精密低杂散MPX立体声编码和导频音产生、基于低噪声PLL的调制、以及具有 可变输出电平的片上功率放大器和RF带通滤波,以确保最佳发射频谱PU礼仪。集成的晶体振荡器和片上数字校准电路消除外部调谐元件,使调谐自由制造。支持12 / 24MHz参考时钟允许芯片使用现成的系统时钟。集成的饱和度检测和可编程音频接口消除失真,优化音频保真度,并支持广泛的输入音频电平。低功耗空闲模式延长电池寿命。集成的LDO能够直接连接到电池,并提供高PSRR,用于抑制噪声,特别是GSM/GPRS电话的TDMA噪 声。QN8027的占地面积小,具有最少的外部元件数量的高集成度,和支持12 / 24MHz时钟频率,使得易于集成到各种小形状因数的低功耗便携式应用中。集成低相位噪声数字合成器和广泛的片上自动校准确保了稳健的一致性性能超过温度 和工艺变化。集成的电压调节器能够直接连接到电池,并提供高PSRR,用于优良的噪声抑制。低功耗空闲模式延长电池寿命。ESD保护在所有引脚上。 QN8027是采用高可靠性CMOS工艺制作而成。见下图:
QN8027

由蓝牙解码处理的音频及语音信号通过RTL8763B 的PIN3、4引脚输出抵达C19、C18、R2和R3组成的信号输入网络, C18和C19为信号耦合电容输入左右通道。晶体X2是一个12mhz晶体振荡器,电容器C13和C14用于提供适当的晶体振荡负载匹配电容。 电阻R4、 R20是QN8027与Mcu R7F0C807的I2C 通信接口电阻。C2、C1、L3, 和Q1组成 IC射频振荡器的调谐应用。 调制射频输出端在天线通过过滤网络L3和C1组成的。 这个过滤器的工作网络是消除谐波,整个电路非常简洁。


2、RTL8763B蓝牙音频SOC
RT8763B系列是Realtek 无线蓝牙(RTL8763BM)和立体声音频解决方案(RTL8763BF / BFR RTL8763BS, RTL8763BA)等产品的概称。 RT8763B由一只 ARM core和一种超低能耗的DSP core与高效的计算能力,高性能音频编解码器,电源管理单元,ADC,超低射频收发器和智能I / O分配控制器组成。另外Realtek开发了一套完整的参数配置工具,EVB工具包,产线生产测试套件,包括控制器的硬件和软件,为客户提供一个简单而灵活的程序快速设计方案,使得客户能够快速有效的进行大规模生产及迅速占领市场。

 
3、电源及MCU部分
系统供电电源主要由MC34063输出5v,MC34063是一款非常经典的DC-DC电路,经历许多年依旧大量应用在车充电路中,主要是电路简单、价格便宜。网上有大量的应用设计电路,这里不用过多的介绍。由于QN8027需要I2C 通信,因此本系统引入一个引脚少、应用非常简单的瑞萨MCU R7F0C807来完成QN8027的初始化和系统的控制动作。具体的
应用程序有上传在附件里面。



二、系统软件开发

本系统的软件开发,一部分是RTL8763B的软件开发工作,主要是通过GUI可视化工具配置工具即可完成无线耳机的基本功能,这里不做介绍,另外就是瑞萨MCU与QN8027的程序开发,由于MCU与QN8027之间是用IIC控制的,QN8027对初始化有一定要求,参考时钟也有讲究,跟硬件电路设计很相关。
下面重点介绍QN8027程序的正确开发,其初始化程序如下:

1.写数据到QN8027寄存器0x00=0x81; //将QN8027所有寄存器复位到缺省值
2. 20ms延迟
3. 写数据到QN8027寄存器0x03=0x50; //设置QN8027为外部正旋波时钟输入( 与硬件设计相关)
4. 写数据到QN8027寄存器0x04=0x33; //设置12MHz时钟频率( 与硬件设计相关)
5. 写数据到QN8027寄存器0x00=0x41; //QN8027有限状态机校验
6. 写数据到QN8027寄存器0x00=0x01; // QN
7. 20ms延迟 //增加20ms的延迟来等待QN8027有限状态机校验的完成
8. 写数据到QN8027寄存器0x18=0xE4; //改善信噪比SNR
9. 写数据到QN8027寄存器0x1B=0xF0; //使QN8027发射功率最大
10. 写数据到QN8027寄存器0x01=0x7E; //设置发射频率
11. 写数据到QN8027寄存器0x02=0xB9; //放弃QN8027 PA关闭功能当没有音频信号输入时
12. 写数据到QN8027寄存器0x00=0x22; //发射
具体的初始化参考代码如下:
static void QN8027_init_setting(void) {
    unsigned char value = 0;
    int ret = -1;
    
    /*reset all regs to default value*/
    fm_radio_write_reg(gclient, 0x0, 0x81);
    msleep(20);/*sleep 20ms*/
    
    /*-----xtal--setup----------*/
    fm_radio_write_reg(gclient, 0x3, 0x30);
    /*osc=12M--0x33-40k 0x32--20k 0x31--10k TX digital gain=2dB*/
    fm_radio_write_reg(gclient, 0x4, 0x12);
    
    /*---recalibration-----*/
    fm_radio_write_reg(gclient, 0x0,0x41);
    fm_radio_write_reg(gclient, 0x0,0x01);
    msleep(20);/*sleep 20ms*/
    
    /*-----default---------*/
    fm_radio_write_reg(gclient,0x18,0xe4);/*SNR improve*/
    fm_radio_write_reg(gclient,0x1b,0xf0);/*Increase RF power output maximum*/
 
    fm_radio_write_reg(gclient, 0x2, 0xb9);
        
    /*enable transmit*/
    ret = fm_radio_read_reg(gclient, 0x0, &value);
    value |= 0x20;
    fm_radio_write_reg(gclient, 0x00, value);/*No reset. FSM runs normally*/
        
}


必须特别强调的一点是在切换FM发射频点的时候,会发现在高频点的时候,也就是0x0寄存器的存储FM频率的第8-9bit有值的情况下,发射天线电压幅 度会降低,后面跟着发现这种高频率点,同时需要更改两个寄存器的值,后面笔者在调频率的时候,先让fm进入standby模式,设置好新的频点的时候再让 fm处于transmit的模式,这样就有效解决这个输出幅度异常的问题。参考代码如下:

static int QN8027_set_frequency(unsigned int freq) {
    int CH = 0, ret = -1;
    unsigned char value = 0;
    
    if(freq < 76000 || freq > 108000) {
        printk("Error,wrong freq %d KHz, [76--108MHz]\n", freq);
        return -1;
    }
        
    CH = (freq - 76000)/50;
 
    printk("QN8027_set_frequency: freq = %d KHz, CH = 0x%x\n", freq, CH);
    
    fm_radio_read_reg(gclient, 0X0, &value);
    value = (value & 0xFC) | ((CH&0X300)>>8);
    value &= 0xdf;/*set standby mode*/
    ret = fm_radio_write_reg(gclient, 0x00, value);/*update CH[8:9]*/
    
    if(ret <0)
        return -1;
        
    value = CH & 0xFF;
    ret = fm_radio_write_reg(gclient, 0x01, value);/*update CH[0:7]*/
 
    fm_radio_read_reg(gclient, 0X0, &value);
    value |= 0x20;/*set transmit mode*/
    ret = fm_radio_write_reg(gclient, 0x00, value);
    
    return ret;
}

场景应用图

sceneryUrl

产品实体图

imgUrl