紫外光语音通信中WM8731的控制与应用
2016-05-31巩稼民张正军邢仁平徐嘉驰王贝贝柳华勃西安邮电大学电子工程学院西安70中国电信股份有限公司青海电信分公司西宁80000西安邮电大学通信与信息工程学院西安70西安邮电大学理学院西安70
巩稼民,张正军,邢仁平,徐嘉驰,王贝贝,柳华勃(.西安邮电大学电子工程学院,西安70;.中国电信股份有限公司青海电信分公司,西宁80000;.西安邮电大学通信与信息工程学院,西安70;.西安邮电大学理学院,西安70)
紫外光语音通信中WM8731的控制与应用
巩稼民1,张正军1,邢仁平2,徐嘉驰1,王贝贝3,柳华勃4
(1.西安邮电大学电子工程学院,西安710121;2.中国电信股份有限公司青海电信分公司,西宁810000;3.西安邮电大学通信与信息工程学院,西安710121;4.西安邮电大学理学院,西安710121)
摘要:简单介绍了紫外光语音通信系统的组成和相关关键技术,论述了芯片WM8731在紫外光语音通信系统中的应用,提出了语音存储、语音数据格式设定和语音传输控制等关键问题的解决方案。使用Veri l og HDL语言在ISE13. 1中实现语音信号的传输控制,并通过Model Si m仿真软件进行时序验证以检验芯片配置是否满足设计要求。
关键词:Xi l i nx FPGA;WM8731音频编解码芯片;紫外光语音通信系统
0 引言
随着通信技术的不断发展,人们对信息传输的安全性和稳定性提出了更高的要求,传统通信技术的缺陷愈加明显。紫外光通信作为一种新型的通信手段,与传统常规通信方式相比,具有数据传输保密性高和系统抗干扰能力强的优点[1],弥补了在特殊战场、非常时期和无线电静默时传统通信方式的不足,在军事通信中有广泛的应用前景。因此,紫外光通信技术成为多个国家的研究热点,获得一种稳定、可靠的紫外光语音通信系统已成为各国的共同目标。目前,紫外光通信大多处于研发设计阶段,虽然整个装置已具雏形,但是离商用阶段还有一定距离,系统的集成度和各项性能有待进一步提高。Xilinx公司FPGA片上音频芯片WM8731能完成语音信号采集和处理功能,保证语音数据快速、高保真传输。为节约紫外光通信装置的空间,提高系统集成度,本文利用芯片WM8731,实现在一块FPGA芯片上完成紫外光通信装置的语音处理任务。
1 紫外光语音通信系统组成
紫外光语音通信系统主要由发射端、紫外大气传输信道和接收端3部分组成,其原理框图如图1所示。在紫外光通信系统中,发射端和接收端的语音信号处理主要在FPGA芯片上实现。音频输入信号经过WM8731音频编解码芯片后,微处理器对其进行相应处理,处理后的音频信号在紫外光源的调制下依靠大气分子的瑞利散射和气溶胶微粒的米氏散射到达接收端,接收端将接收到的音频信号转化为模拟音频信号,实现信息还原。从以上过程可以看出,实现语音信号的采集与处理是实现紫外光语音通信的首要任务。
图1 紫外光语音通信系统图
2 Xilinx FPGA片上音频芯片WM8731的控制
为了在紫外光通信信道带宽受限的情况下获得高质量的语音通信,本文选用Xilinx FPGA片上音频芯片WM8731。通过配置WM8731音频芯片的内部寄存器,实现对语音信号的相关处理和控制,完成语音通信。
2.1WM8731芯片调节语音信号音量的原理
WM8731是Wolfson公司开发的一款高性能低功耗24位音频编解码芯片,它拥有可控采样频率和可选择滤波器的特点[2]。WM8731包含两路线路输入、麦克风输入、线路输出和耳机输出,可以对输入输出音频信号的音量进行控制。片内内置模数转换器(ADC)、数模转换器(DAC)和可选择的高通数字滤波器。
在紫外光语音通信系统中,语音信号主要由麦克风输入,耳机输出。由于在后续传输过程中会受到噪声影响,语音信号强度可能有所衰减。因此,在语音信号经麦克风输入后,需要对其进行音量调节。WM8731芯片内部有两级低噪声反向运算放大器,语音信号经第一级运算放大器后可实现-6~14dB的增益,该放大器的增益可通过编程控制。第二级放大器增加0dB或20dB增益。因此,采用该芯片可使所有麦克风输入信号实现-6~34dB的增益。
2.2WM8731芯片内存器配置
WM8731的控制接口有4根引脚,分别是控制模式选择线(mode)、数据锁存线或地址选择线(csb)、数据传输线(sdin)和串行时钟输入线(sclk)[3]。可通过设置mode引脚的状态对控制模式进行选择。mode状态为0时是2线控制模式,为1时是3线控制模式。无论mode引脚的状态如何,sdin上的数据都是串行传输的。本文采用2线模式,即采用I2C总线控制模式对WM8731进行控制,其控制原理图如图2所示。
图2 WM8731控制原理图
I2C总线的起始和停止条件有特殊的规定。I2C总线的起始条件表现为:sclk保持高电平期间,sdin线从高电平下降到低电平。I2C总线的停止条件表现为:sclk保持高电平期间,sdin线从低电平上升到高电平[4]。I2C总线控制器每次传输24位数据,前8位数据代表从设备地址slave_addr(r_addr),为34h;中间8位是从设备内部寄存器地址sub_addr(data b15-8);最后8位是内部寄存器的控制字。由于WM8731内部寄存器的地址是用7位二进制数表示的,与I2C串行总线的数据格式定义不一致。因此,在实际传输时,用sub_addr的前7位作为寄存器地址,第8位作为内部寄存器控制字的最高位。
本文中每个寄存器的配置使用33个I2C时钟周期完成。第1个时钟周期初始化控制器,第2、3周期完成I2C总线控制器的起始条件,启动传输,第4~30个周期传输数据(包含24位寄存器配置数据和3个应答信号ack),最后3个周期用于终止传输。I2C总线时序图如图3所示。
图3 WM8731 I2C总线时序图
根据芯片数据手册提供的信息,WM8731音频芯片内部共有10个工作寄存器,对应的地址为0000000b~0001001b[5]。在进行语音数据传输前,应当先对内部寄存器进行相应配置。因为I2C以串行方式传输数据,所以内部寄存器的配置需依次进行。在某一特定时间点,只能先传输一个寄存器的控制字,当该寄存器配置结束后,再配置其它寄存器。使用Verilog硬件描述语言将WM8731音频编解码芯片寄存器配置数据存储在查找表LUT_DATA中,LUT_DATA中的数据为16位,包括内部寄存器的地址和相应寄存器的值。WM8731内部寄存器的相应配置和定义如表1所示。
2.3紫外光通信中语音数据传输控制
WM8731音频编解码芯片内部寄存器配置结束后,该芯片将处于我们预定的工作状态。由于在音频数据传输时,音频数据格式有4种模式:左对齐、右对齐、I2S和DSP模式[6]。因此,我们要对紫外光通信中的语音数据格式进行设定。本文设语音数据位数为16位,WM8731音频数据格式为左对齐模式,该模式时序图如图4所示。
表1 WM8731内部寄存器配置及说明
图4 左对齐模式音频数据传输时序图
左对齐模式中,当adclrc或daclrc发生改变后,bclk第一个脉冲上升沿最高有效位(MSB)有效。其中daclrc和adclrc为帧时钟,用于切换左右声道的数据,其时钟频率与采样频率相等;bclk为位时钟,即对应数字音频的每一位数据。由于我们在配置WM8731内部寄存器时,设定采样频率为48kHz,则bclk的频率为:
其中,fS为采样频率,u为采样位数。设定WM8731工作在主模式下时,为产生bclk,WM8731音频编解码芯片需要18.432MHz的时钟输入,但时钟分频的方法并不能生成精准的频率为18.432MHz的时钟。因此,本文采用Xilinx公司提供的时钟管理单元(DCM)设定上述频率,完成设计要求。
紫外光通信系统收发单元一般使用相同波长的紫外光源,这要求在某一特定时间点上语音信号只能沿一个方向传输。以两个用户A、B通信为例,设A是主站,B是从站,B锁定A的时钟,保证A、B时钟一致。由于A、B两用户使用的紫外光源波长相同,这决定了双方不能同时发送语音信号,以避免语音信号发生串扰。因此,A、B发送的数据必须在时间上错开,当A用户发送语音信号时,我们可以先将B用户在这一时间段内发送的语音数据存储起来,在下一时间段再发送,时间间隔可由通信双方的距离和存储单元的大小来设定。为实现这一过程,我们使用Verilog硬件描述语言设计了异步FIFO存储器。异步FIFO存储器是一种在不同时钟域之间以先进先出方式进行数据传递的存储器[7]。紫外光语音通信时,我们可以将FIFO存储器中的语音数据进行编码、交织等相关处理来优化整个语音通信系统。
3 仿真结果与分析
为了验证WM8731语音编解码配置是否正确,我们通过在ISE13.1中调用ModelSim完成时序仿真。使用ModelSim进行时序仿真时,首先将ISE与ModelSim关联,然后建立仿真工程,编译Verilog源代码和testbench文件,启动仿真器并加载顶层文件,最后打开观察窗口,添加仿真信号,执行仿真[8]。WM8731音频编解码芯片仿真时序图如图5所示。
图5中,音频位时钟bclk上升沿到来时,即可发送音频数据的特定一位。音频信号帧时钟adclrc/daclrc用来切换左右声道。当音频数据模式为左对齐时,adclrc/daclrc高电平期间,音频数据在左声道传输,低电平时,音频数据在右声道传输,左右声道传输相同音频数据。由时序图可知WM8731音频编解码芯片配置成功。
4 结束语
本文将Xilinx FPGA片上音频编解码芯片WM8731应用于紫外光通信系统中,用以提高系统的集成度。ModelSim仿真结果表明,WM8731性能良好,工作稳定,数据传输可靠。但是,在使用该芯片时需要对其进行正确的配置,另外,由于时钟频率的设定对系统信息速率的影响较大,因此,将该芯片应用在紫外光语音通信中时需要进一步优化其性能。
图5 WM8731音频编解码芯片仿真时序图
参考文献:
[1]范静涛,丁莹,姜会林.紫外光通信的散射信道简化模型[J].红外与激光工程,2012,41(4):1028-1033.
[2]占杨林,刘红.基于FPGA和WM8731的音频编解码系统的设计与实现[C].大连:中国通信学会青年工作委员会,2009.
[3]王杰玉,杜炜,潘红兵.基于FPGA的音频编解码芯片接口设计[J].现代电子技术,2009(5):179-181.
[4]陈铁.基于FPGA的无线光音频传输系统的设计与实现[D].北京:北方工业大学,2014.
[5]韩廷义,李航,李岳.基于FPGA的音频芯片输出控制设计[J].实验室研究与探索,2013,32(5):94-97.
[6]季宏锋,吴军辉,徐立鸿. I2C总线技术及应用实例[J].自动化与仪表, 2002(04):21-23,76
[7]苏进.异步FIFO存储器的设计[D].合肥:合肥工业大学,2007.
[8]田耘,徐文波. Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008.
Control and application of WM8731 in ultraviolet voice communication
GONGJia-min1, ZHANGZheng-jun1, XINGRen-ping2, XUJia-chi1, WANGBei-bei3, LIUHua-bo4
(1. School of Electronic Engineering, Xi'an University of Posts and Telecommunications, Xi'an 710121, China; 2. China Telecom Corporation Limited Qinghai Branch, Xining 810000, China; 3. School of Communication and Information Engineering, Xi'an University of Posts and Telecommunications, Xi'an 710121, China;
4. School of Science, Xi'an University of Posts and Telecommunications, Xi'an 710121,China)
Abstract:The paper introduces the components and key technologies of UV communication system, discusses the application of the audio chip WM8731 in UV voice communication system, proposes some solutions to key problems, such as voice storage, voice data format enactment and voice transmission control. The paper realizes the control of voice signal transmission on ISE13.1 with Verilog HDL, in order to verify the chip configuration whether satisfy the design requirements, the timing of some important signals are simulated on ModelSim simulation software.
Key words:Xilinx FPGA, WM8731 audio codec chip, UV voice communication system
中图分类号:TP335
文献标识码:A
文章编号:1002-5561(2016)01-0015-04
DOI:10.13921/j.cnki.issn1002-5561.2016.01.005
收稿日期:2015-10-19。
基金项目:西安邮电大学研究生创新基金项目(CXL2014-05,CXL2014-31)资助。
作者简介:巩稼民(1962-),男,教授,博士,主要研究方向为光通信技术和非线性光学。