严芳,林东
(福州大学 物理与信息工程学院,福州 350002)
模拟音频受外界影响较大,稳定性差。因此数字音频渐渐取代模拟音频成为现代音频的主要形式。数字音频信号直接从机顶盒输出,不在内部进行D/A转换,并将数字音频进行无线转发,在接收端进行D/A转换,可避免音频布线的影响以及音频线上音质的损耗[1]。这种方法可有效地减少机顶盒内部的干扰,并保证较好的音质。
2.4GHz数字高速射频技术是目前较为成熟的音频应用无线技术。其抗干扰性强、传输距离远,并且采用完全开放式的网络协议。nRF24Z1无线射频芯片工作于2.4GHz,通信速率高达4Mbps,实际音频数据传输率为1.54Mbps,且具有S/PDIF数字音频信号接口。本方案从机顶盒直接提取数字音频S/PDIF信号,保证了较好的音质;通过nRF24Z1无线射频芯片进行发送和接收,保证了音频无损无线传输。
机顶盒数字音频无线转发系统的总体结构框图如图1所示。系统主要由数字音频信号的提取与传输、数字音频无线发送、数字音频无线接收三部分组成。大部分的机顶盒都具有数字音频S/PDIF输出接口,且一般采用同轴线输出。射频芯片nRF24Z1既可用在音源端发送音频数据,也可用在接收端接收音频数据。采用PIC18系列单片机配置射频芯片相应的寄存器,实现数字音频无线发送与接收。nRF24Z1芯片经过内部处理后输出I2S数字音频信号,送至数模转换芯片以及外围电路处理,实现模拟接收。同时,采用单片机控制音量的增减。
图1 机顶盒数字音频无线转发系统的总体结构框图
nRF24Z1是Nordic公司推出的单片式CD音质数字音频芯片,无线音频传输速率高达48ksps,16位,无需任何压缩。它工作在全球通用的2.4GHz频段,以极低的成本提供高性能和高集成度的解决方案;具有I2S和S/PDIF数字音频接口,方便与ADC/DAC直接连接,或者与具有数字音频输出口的设备直接相连。由于所有与音频I/O、RF协议和RF链路管理的有关功能已经嵌入到芯片内部,芯片提供透明的1.54Mbps的音频通道,而不需要额外的时间处理[2]。
大部分的机顶盒都具有S/PDIF同轴输出口。对于不具有S/PDIF直接输出接口的机顶盒,可以自己增加S/PDIF光纤/同轴输出接口。对于不同的机顶盒采用不同的加装方法:
①MPEG-2解码芯片有S/PDIF输出脚的机顶盒,将S/PDIF输出信号引出,送到缓冲放大器和同轴RCA端子就可以输出数字S/PDIF信号。
②对于只有I2S输出的MPEG-2解码芯片,将I2S的DATA、BCLK和LRCK信号送入PCM/SPDIF转换的芯片,以S/PDIF形式输出,并加上转换电路即可实现S/PDIF信号的提取。
S/PDIF同轴线传输的信号合并了数据和时钟信号,频率高且具有尖锐的边缘特性。同轴线具有75Ω的特性阻抗,并且输出的S/PDIF信号电压只有0.5Vpp,不能直接连接CMOS芯片。所以要将输出的S/PDIF信号通过电平转换,使其能够直接输入到nRF24Z1芯片的S/PDIF输入引脚。电平转换电路如图2所示。
图2 电平转换电路
S/PDIF信号经过前端电路将电压抬高,然后通过74HC04反相放大器放大至TTL电平,但此时输出的信号是反相的,所以将其再经过74HC04的另一组反相端口,将信号再反相回来。注意要将74HC04的14和7引脚分别接到+3.3V和地上,使电路正常工作;S/PDIF信号达到了nRF24Z1的工作电压,可直接使用。
nRF24Z1可工作于发送模式或接收模式。当Mode引脚接高电平时为发送模式,发送音频数据;接低电平时,则接收音频数据。nRF24Z1芯片的发送端和接收端分别采用MCU进行控制。
PIC18系列单片机是Microchip公司推出的增强型8位单片机,具有高性能的RISC结构CPU、精简指令集和多种中断方式,且执行速度快、程序存储器和数据存储器容量大、功能强。此外,具有最大64KB可寻址的线性程序存储空间和最大3 936字节的可寻址的线性数据存储空间。因此选用PIC18系列单片机来控制nRF24Z1芯片[3]。
nRF24Z1具有串行主接口和串行从接口。如果选择串行主接口,则由nRF24Z1控制单片机运作。为了方便功能的增加,选择nRF24Z1的串行从接口,采用I2C总线通信模式。将PIC18F46K20的RC3和RC4引脚分别接nRF24Z1的SSCL和SSDA引脚,并采用模拟I2C总线通信的方法实现连接。I2C总线通信模式连接成功后,由I2C总线向nRF24Z1写入相应的寄存器配置值,令其启动。
nRF24Z1的ATX端接入+5V直流电源,ARX端接上+3V电压后,nRF24Z1执行上电复位。上电后,单片机先完成自身的初始化配置,并完成nRF24Z1相应寄存器的初始化配置。nRF24Z1发送端初始化配置如表1所列。
表1 nRF24Z1发送端初始化配置
初始化配置完成后,ATX和ARX间将进行射频链路的初始化,尝试建立通信链路。ATX在有效频段内探访具有正确ID的ARX单元,通过在所有可能的频道上发送短的搜索包来试图与ARX建立链接,直到收到来自ARX的应答包。ATX在每个频道上发送一个包,并等待一定的时间以确定是否有应答。而ARX也在所有可用的频道上监听搜索包来试图与ATX建立链接。当收到一个搜索包时,ARX将回送一个应答包来确认一个可用的链接。链路建立后,发射模块给接收模块发送私密地址,接收模块将配置私密的地址,然后返回应答信号。链路建立后音频序列将通过nRF24Z1以数据包的形式发送出去,配对的接收端收到音频序列后再进行相应的处理[4]。
nRF24Z1的Mode脚接低电平,处于音频接收模式。同样采用PIC18系列单片机控制nRF24Z1芯片,音频接收机的配置和控制数据通过I2C接口输入。nRF24Z1接收端初始化配置如表2所列。
表2 nRF24Z1接收端初始化配置
为了实现满意的音频质量,采用QoS机制。自适应跳频是集成的一部分。自适应跳频算法所使用的频率由38个频率寄存器所指定。发送端和接收端所使用的工作频率根据时间和空中出现的噪声而进行改变。跳频序列也由连续寄存器CH0~CH37指定。因此在初始化配置时,发送端和接收端设置同一基本跳频序列,这样也可以使建链时间最短。
接收端收到数字音频无线信号后,可分别通过S/PDIF或I2S接口输出音频信号。本文采用I2S接口输出,并选用WM8711BL的DAC芯片进行数模转换,输出模拟音频并用耳机接收。WM8711BL芯片具有I2C总线接口,采用PIC18系列单片机对其相应的寄存器地址进行初始化配置。WM8711BL初始化配置如表3所列。
DAC芯片将数字音频转变为左右声道的模拟音频,实现相应的模拟接收。此时输出的音量为固定值,为了控制音量的增减,设置两个开关按键,通过PIC18系列单片机PD0和PD1口进行控制。
表3 WM8711BL初始化配置
为了能够节省电量的损耗,平时让射频芯片处于掉电模式,通过中断唤醒或定时器唤醒功能使其恢复工作状态。
本文介绍了如何将机顶盒音频信号通过nRF24Z1射频芯片实现数字音频无线传输。采用PIC18系统单片机进行配置,处理速度快。整个系统传输速率高、体积小、携带方便,且通信距离远,可广泛用于无线耳机、无线音响等产品中。
[1]孙芳.采用FEC技术的无线数字音频传输平台的设计与实现[D].成都:电子科技大学,2007:19-20.
[2]NORDIC Semiconductor.Nordic 2.4GHz wireless audio streamer nRF24z1[EB/OL].(2007-12-03)[2011-10].http://www.nordicsemi.no.
[3]Microchip. PIC18F23K20/24K20/25K20/26K20/43K20/44K20/45K20/46K20Data Sheet[EB/OL].[2011-10].http://www.microchip.com.
[4]谭强.Nordic中短距离无线应用入门与实践[M].北京:北京航空航天大学出版社,2009.