单位文秘网 2021-10-07 08:13:32 点击: 次
摘要:为了适应ZigBee协议在无线传感器网络中语音通信的需求,在短距离上实现低成本、低功耗的无线语音通讯,设计了一种基于无线射频芯片的多媒体语音节点板的多跳语音通信节点软件,实现多个节点组网通信、语音实时采样和多跳中继传输,通话话音质量好,系统故障低、可靠性高,使其能够在较大的范围内得到应用。
关键词:ZigBee协议;多跳语音通信;无线射频芯片
引言
在物联网蓬勃发展大背景下,结合多媒体网络发展的应用要求,通过嵌入式计算技术、传感器技术、分布式信息处理技术和通信技术等研发一套基于无线传感器网络的无线多跳语音通信系统技术,系统建立在802.15.4或Zigbee网络基础上,具有低功耗、低成本、低时延、可扩展等特点。
文章拟研究基于JN5148芯片的Zigbee语音多跳传输系统。该系统包括硬件部分和软件部分。硬件部分包括基于JN5148的通信节点和语音板,软件部分包括通信协议设计和操作系统。该语音通信系统在空旷环境下的单跳视距传输距离大于400米、支持多跳中继。设计基于IEEE 802.15.4的语音通信系统硬件节点,用以研究短距离的无线语音通信技术。语音通信方案采用WM8510语音编解码芯片实现ADC、DAC和PCM完成语音采样及回放,用JN5148芯片实现无线通信和计算,该方案硬件简单,成本低廉,超低功耗,可广泛应用于地面商业无线传感器网络、消防应用、安全监控等等。所以本设计开发具有较大的市场价值。
总体方案设计
多跳网络通信
多跳(multi-hop)网络通常称之为“无线Mesh网络”,或者无线网状网,它是一种与传统无线网络完全不同的新型无线网络技术。这种网络中除了发送节点和目的节点之外、还存在大量的路由中继节点构成骨干网络。
如图1所示,节点1是发送源节点,节点4是目的接收节点,中间的节点2和节点3都是路由节点,即起到中继转发数据包的作用,在这条路由上,数据包从节点1出发要经过三跳才能到达目的节点4。因此可知,多跳网络必须建立在多跳路由算法基础上。
由于无线通信采用开放信道,具有广播通信的特点,因而构建多跳Mesh网络最简单的多跳路由算法就是多跳广播通信技术。目前还有很多其它类型的多跳路由算法,然而它们大多数也都建立在广播通信基础之上。多跳广播通信机制如图2所示。
图2中,节点a1和节点b1分别是数据包的源节点和目的节点,节点a1发送广播数据之后,经过节点a和节点b的两次中继到达目的节点b1,然而网络中的其它节点1/2/3/4同样都能够收到这个广播消息数据包,但是中继节点只中继一次,对于接收到的重复的广播消息则予以丢弃。多跳广播通信的缺点是会产生大量冗余重复的广播消息,但它能够快速适应网络状态和拓扑的变化,且简单便于实现,因此在小型网络中能够得到广泛应用。本系统构建的多跳语音通信网络应用需求是短距离无线语音通信,由于网络规模较小,且拓扑易变化,适合采用多跳广播通信技术。
系统设计原理
系统采用JN5139 Soc芯片自制无线通信节点。该芯片具有中继、自动路由、调频等功能,片上包含了一个32位的RISC处理器,2.4GHz的IEEE802.15.4通信模块,192KB的ROM和96KB的RAM,以及丰富的模拟和数字外设。主要外设包括SPI、UART、12C、21个GPIO、4路AD转换器、两个DA转换器以及比较器、电源监视器等。自制的无线通信节点采用两节S号电池供电,电压不低于2.6V,节点通信距离小于100米。系统节点数目为4~10个,网络拓扑为多跳Mesh网络,采用多跳广播路由通信技术。节点采用wm8510语音处理芯片进行音频采样和处理,WM8510芯片是一种通用的音频编解码器,能够以8kHz到48kHz的业界标准频率采样音频信号,实现音频信息的数模转换,并提供了麦克输入和扬声器输出。
语音压缩编解码技术采用ADPCM编码技术。ADPCM算法是一种针对16bit声音波形数据的有损压缩算法,它将声音流中每次采样的16bit数据按照4bit压缩编码,压缩比为1:4,编码后语音速率降低到16kbit/s,从而降低了对系统带宽的要求。
图3展示了单个节点的组成及工作原理。
其中JN5139/JN5148SoC芯片负责系统初始化和运行,同时负责无线数据收发和消息多跳中继,此外要通过I2C总线控制WM8510编解码芯片,通过SPI总线与WM8510交换语音数据,并对数字语音数据进行压缩编码或解码。WM8510芯片对输入的模拟语音信号进行采样编码,将其转换为数字信号并通过SPI总线交给射频芯片发送出去,同时对来自JN5139/5148的数字语音数据进行DA转换还原成模拟语音信号,并发送到扬声器还原出音频。
系统层次结构
节点软件分为三个部分,分别是组网与传输模块、语音处理模块及辅助模块。其中组网与传输模块又进一步分为协调器/端设备的组网模块、节点配对模块以及消息中继模块,语音处理模块进一步分为ADPCM编码模块、WM8510驱动以及音频管理模块;其他模块则包括DIO模块以及电池监测模块及一些公共功能模块等。各子模块的功能分别为:应用程序模块:完成应用层任务,进行任务唤醒和休眠调度,实现组网、配对及运行等几个主要状态的切换。节点组网模块:完成网络层功能,实现组网、消息收发、状态查询等任务。节点配对模块:实现节点的关联和配对,配对成功的节点进入语音通话状态。消息中继模块:实现消息中继转发功能,将消息转发给其他节点。语音处理模块:WM8510芯片驱动模块:语音芯片驱动,控制芯片开启和关闭,设置语音芯片的控制寄存器,配置采样率和音量。ADPCM编码模块:对采样后的语音数据进行压缩编码,对接收到的编码后的数据进行解码。音频管理模块:管理音频部分,启动和关闭语音芯片,管理缓冲区和音频数据。功能辅助模块:公共模块:包含其它模块用到的一些公用函数,包括调试、休眠控制、事件以及时钟相关的功能函数等。DIO控制模块:配置DIO,初始化DIO。电池检测模块:周期性检测电池电压并进行报告。
测试结果及展望
该语音通信系统在空旷环境下的单跳视距传输距离大于400米,支持多跳中继。用JN5148芯片实现无线通信和计算。为适应250Kb/s的无线传输速率同时保证一定的语音质量和最小化能耗,采用JN5148芯片实现了软件ADPCM压缩算法,优化后的ADPCM算法编、解码时间分别为20μs和18μs,语音传输速率降低到16Kb/s,极大地减少了带宽占用。中继次数≥6时通过采用无线自动跳频技术,可提供相当的抗干扰能力。该系统在无遮蔽或遮蔽较小的条件下,可以很好地实现实时语音无线传输,发射功率小于20dBm,语音延时小于25ms,传输距离达到400米,音质MOS测试分达到3分以上。
实践表明,采用JN5148芯片实现了软件ADPCM压缩算法在ZigBee网络中实现语音通信是一种理想的方案,这种方案必将成为ZigBee技术应用的又一个新亮点,必将对ZigBee技术的推广起到积极的促进作用。
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-223-94536-1.html
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用