引言
在智能娱乐技术快速发展的大背景下,消费者已经普遍希望营造家庭影院的声响效果。配置一套家庭影院音响系统,需要环绕声处理器和较大功率的AV功放,并且至少有5或6只音箱。而通过5、6只音箱来表现声像定位和营造环绕声效果,不仅对室内声学特性、音箱摆放和声音调校的要求较高,并且占用空间大,投资份额占到整个系统的一半以上,很难令广大消费者接受。
随着虚拟环绕声技术的迅速发展和普及应用,仅使用2只音箱就能实现以往5只音箱才能产生的符合DolbyPro-Logic或Dolby Digital(AC-3)标准的环绕声场,有效地解决了家庭影院音响系统投资大、占地面积大的问题。本文设计了基于PIC单片机的数码虚拟环绕声控制器,提供一种具有较高性价比、使用方便的红外遥控数码虚拟环绕声控制平台。该控制器具备很高的实用价值,已成功运用于深圳某音响企业。
1 硬件方案
1.1 主控芯片的选择
选择一款合适的单片机对于嵌入式系统设计是很重要的,选型基本原则是资源够用、性价比高、稳定易用。PIC16C57作为Microchip公司较早推出的PIC单片机,具有高速度、低价格、低功耗、抗干扰性强、易于开发使用等众多优点,在家电、仪表、工控、终端外设等方面的表现尤为突出。PICl6C57内置2K&TImes;12位EPROM、72字节RAM空间、1个定时器、看门狗,以及独立的数据和程序存储器总线。高性能的RISC结构决定它比一般的单片机更简单实用,符合选型要求。
I/O端口作为与外围电路连接的通道,也是选型时考虑的重点。其端口数量除了满足本设计要求之外,还应有一定余量以便日后功能扩展。PIC16C57提供20位I/O端口(RA0~RA3、RB0~RB7、RC0~RC7),端口结构为CMOS互补推挽电路,驱动能力强。
1.2 系统结构设计
整体系统结构如图1所示。TV、RADIO、CD、VCD/DVD等音源输入到数码虚拟环绕声控制器中,通过音源选择、解码、虚拟处理变成两声道,输出至后续的AV功放或有源音箱。
控制器由PIC16C57单片机、音量音调调节电路、虚拟环绕声电路、红外遥控电路、键盘及VFD显示屏电路构成,其硬件电路框图如图2所示。(L1,R1)…(L4,R4)为4组输入音源,FL、FR为处理后的输出虚拟环绕声,CI、RLI、RRI、SUBI为扩展多声道输入(如DVD声道),CO、RLO、RRO为对应输出,用户可通过多只音箱进行多种组合来实现5.1声道环绕声效果。
系统中与PIC16C57相连的外围电路模块有虚拟环绕声电路、音量音调调节电路、键盘、红外遥控模块、VFD显示模块及状态指示电路,如图3所示。I/O端口资源使用情况如表1所列。其中,RB6、RB7和虚拟环绕声调节电路的I2C接口连接,RC0~RC2三位I/O与音量音调调节电路的SPI接口相连,状态指示LED直接由I/O口驱动;同时,I/O端口接收红外命令和检测按键,并控制VFD显示模块实现状态显示。
2 功能模块设计
2.1 虚拟环绕声电路
家庭影院音响系统的核心之一是环绕声技术。本设计采用的虚拟环绕声技术能对多声道的信号进行虚拟处理,在两个平行放置的音箱中回放出来,让人感觉到环绕声的效果。虚拟环绕声技术中比较有名的为SRS公司的TruSurround、QSound公司的QSurround以及Aureal公司的A3D等方案。通过大量听音测试实验,在声音流畅性和准确度、对话可懂度、声像定位精确度等方面的比较,QSound公司的QSurround是声音定位、空间感和包围感最好的系统。
武汉力源电子有限公司推出的PS8888是采用了由QSound实验室开发并专有的QSurround技术的一款功能强大的虚拟环绕声处理芯片。用它进行音箱的虚拟定位,可维持原有的保真度,处理后的虚拟环绕声音色均匀性、临场感等方面的表现不亚于真实多音箱系统,效果很好。
PS8888内置16种处理模式,不仅具有空间环绕定位效果增强式的回放,而且能够提高声道分离度。它产生的虚拟环绕声场可通过2、3、4、5、5.1声道输出,并且具有直通和效果增强两种模式输出。其外围电路连接图如图4所示。FLI、FRI为音源选择输入信号;经虚拟处理后的FLO、FRO输出至音量控制电路;CI、SUBI、RLI、RRI为扩展声道输入,CO、RLO、RRO为扩展声道输出,主要针对DVD视盘机输出的Dolby环绕4声道或5.1声道信号;SCL、SDA为I2C引脚,通过上拉电阻与PICl6C57的I/O口相连。
2.2 音量音调调节电路
音源切换、音量、音调、平衡的调节等均采用模拟器件来实现。本设计选用武汉力源电子股份有限公司推出的高集成度芯片PS8889,一片芯片就可完成上述功能的数字化控制。PS8889是包含一个4路音源输入选择器的可编程音量音调控制器,调节方便准确。它能切换4种音源并针对不同的声源分别设置不同级别的增益,同时在降低L/R误差、步进误差、串扰以及最大衰减等方面都能体现了优良的性能,并对于低频或高频段均具有激发并增大响度的功能。总谐波失真(THD)为0.002%,其内部的过零检测使开关噪声仅为5μVrms,音量调节范围为0~-∞dB,还能对音调进行±12 dB的调整控制。
PS8889芯片在控制器设计中作为两部分使用:在输入选择器和音量控制器之间接入虚拟处理芯片,使得4路音源经选择器选择1路信号,送至虚拟处理芯片进行音效处理;然后再返回PS8889芯片,进行音量、音调等控制。电路如图5所示,(L1,R1,)…(L4,R4)为4组音源输入,通过选择器输出一组FLI、FRI至虚拟环绕声电路,经虚拟处理后返回进行音量、音调等控制;PS8889提供了3根串行控制线(DATA,CLK和STB),方便与PIC16C57的I/O口RC0~RC2连接。PS8889的输出可以把L、R信号分成FL(前左)、RL(后左)和FR(前右)、RR(后右),并可分别控制音量。本设计中只需FL和FR两路输出,接至有源音箱。
2.3 红外遥控电路
红外遥控电路具有互不干扰、电路调试简单、绿色环保等特点,是家用电器中广泛使用的遥控方式。它包括编、解码两部分。发射红外信号时,编码电路输出一帧红外数据(由1个引导码、16位地址码、8位数据码、8位数据反码构成),其数据输出波形请参看参考文献[7]。对红外信号的接收,实际上是把红外信号转换成TTL信号的过程,现在普遍采用集成度比较高的一体化接收头来处理,随后将转换后的TTL信号输入PIC16C57的I/O口进行解码。本设计采用红外遥控系统中专用的发射集成芯片BL6121作为编码电路,解码则直接在软件设计中运用查询的方法进行。
2.4 键 盘
常用的键盘接口有独立式、行列式等设计方法。本系统中采用交互式键盘方式,在键数相同情况下占用的I/O线少,节省资源。如图6所示,RB0~RB5通过上拉电阻接至键盘,每个I/O口既作输入行又作输出列,输人输出交互使用,构成6行6列。在行列线每个独立(不重复)的交点上,设置一个按键,即任意I/O线之间均接一个按键。当某一口线输出低电平时,其他I/O线均读入键信息,软件设计采用循环查询的方法进行按键判断。
3 系统整体实现
系统完成的主要操作包括:判断处理按键,接收红外遥控码,设置PS8889和PS8888芯片,状态指示及VFD显示等。利用Microchip公司提供的MPLAB集成开发环境实现软件编程。主程序流程如图7所示。系统初始化后,读按键操作并判断接收红外信号是否正确,根据按键及红外信号的解码情况转到各功能子程序。对PS8889、PS8888的控制也采用多个子程序,如音源切换子程序、音量调节子程序、高音调节子程序、低音调节子程序、平衡调节子程序、虚拟/直通控制子程序等。使用时分别调用,同时VFD显示器把系统运行的状态实时地显示出来。整个软件采用模块化设计,可读性强,维护升级方便。
4 总 结
本设计中采用虚拟环绕声电路对解码后的多声道信号进行虚拟环绕声处理,通过2个声道输出,声音定位精确,用户仅用2只音箱就能享受到5声道的音响乐趣;音源切换、音量、音调、平衡、响度等调节均采用数字方式控制,所有操作均可由红外遥控完成。整个系统集成度高、可靠性好、性价比高,具有理想的音响效果;更重要的是,无需对现有音响条件进行改造,即可实现家庭影院般的音响效果。