当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]嵌入式以太网数字语音广播系统技术设计

本文给出一种嵌入式以太网数字语音广播系统解决方案,能够较简单地实现广播系统的区域广播功能。该系统基于ARM架构,采用系统播放终端仲裁的方法控制区域广播的实现,广播内容能够同步播放和保存。

以太网数字语音广播系统主要是指以以太网为传播介质提供音频服务的广播系统,可以很好地利用以太网解决语音信号远距离传输难题。允许设计者创建大型网络结构来实现数以千路的数字语音信号在以太网上传输,充分利用了现有网络资源,避免重复架设线路的麻烦,实现了广播与计算机网络的多网合一,彻底解决了传统广播系统存在的音质不佳、容易受干扰、维护管理复杂以及互动性差等问题。同时可以实现选择全部、部分或特定区域进行定向分组广播,突破了传统广播系统只能对全部区域进行公共广播的局限。现有的以太网数字语音广播系统在实现区域广播功能上大都采用控制信号控制播放终端加入或者离开组播组的方式实现,需要在实现广播之前发送控制信号使终端加入组播组然后才能实现广播,或者在服务器端建立一张复杂的映射表来维护播放终端的状态以实现区域广播,功能实现较为复杂。

  1 结构设计

  该系统采用C/S结构,由广播系统服务器端与广播系统播放终端两部分组成,如图1所示。

  广播系统服务器端在PC机上实现,是一个由VC++实现的语音信号采集、存储、网络传输的程序。该部分通过麦克风对语音信号进行采集存储,然后将语音数据通过UDP的方式传输到以太网上,实现语音数据的网络传输功能。

  广播系统播放终端为基于LM3S8962的嵌入式终端,实现从以太网上接收发送给它的IP语音数据包,并由音频解码芯片MS6336完成语音数据的数/模转换及播放。

  2 广播系统播放终端硬件设计

  广播系统播放终端主控制芯片采用LuminaryMicro公司所提供的微控制器LM3S8962。该系列芯片是首款基于ARM CortexTM-M3的控制器,内部集成以太网控制器,是业界首款支持工业以太网(IEEE)的ARM芯片,可以方便地实现网络功能。

  音频解码芯片采用MOSA公司生产的MS6336芯片。该芯片是一款16位立体声音频数字模拟转换器,支持的数字输入格式有Right Justifl-ed,Left Justified,I2S。MS6336控制接口采用I2C总线,接口容易设定。DAC部分具有精确稳定的电流量,结合极好的对称译码方式,能够重现出高质量的音频信号。

  主控制芯片LM3S8962通过磁性元件与RJ45接口相连,用于从以太网上接收语音数据。LM3S8962为音频解码芯片MS6336提供控制信号和语音数据信号。LM3S8962支持I2C功能,PB2和PB3口分别提供了I2C的时钟和数据信号,可以将这两个引脚和MS6336的I2C功能引脚直接相连,并且需要加上拉电阻。LM3S8962不支持MS6336需要的数据输入格式,系统中MS6336的数据输入格式采用I2S,所以要给MS6336提供语音数据,需要采用LM3S8962的GPIO口软件模拟实现MS6336需要的I2S数据输入格式。在设计中采用PA5,PA6,PA7口来模拟实现该功能。三个引脚分别对应I2S的声道选择信号、时钟信号和数据信号,将这三个引脚和MS6336的I2S功能引脚相连。

  以太网数字语音广播系统播放终端硬件结构如图2所示。

[!--empirenews.page--]

  3 广播系统软件设计

  广播系统软件分为广播系统服务器端软件和播放终端软件两部分。

  该设计实现语音数据的实时播放,所以要求语音数据传输的实时性得到保障,而对于数据的完整性要求不是太严格,少量的丢包也不会影响整体的播放效果,所以该系统的语音数据传输采用UDP传输方式,同时本系统工作在局域网内,临时用户较少,故采用IP地址静态分配,简化播放终端软件部分的实现。

  3.1 广播系统服务器端语音数据的采集、存储与发送

  语音数据的采集利用低层WAVE音频API函数实现,为了不造成语音数据的丢失,该设计利用双缓冲来存储语音数据,实现流程如图3所示。

  当一个录音缓冲区满时,系统立刻将另一个录音缓冲区发送给录音设备继续录音,而应用程序此时要读取已经录音满的缓冲区中的数据,并进行处理。然后调用waveInAddBuffer函数将该缓冲区重新赋给录音设备,循环利用。

  为了防止录音过程中语音数据的丢失,只是简单地利用双缓冲是不够的,还要注意的一点是,当一个缓冲区录音满以后,应用程序对该缓冲区的数据进行处理,同时第二个缓冲区用于录音,数据处理的时间一定要小于第二个缓冲区录音满需要的时间,否则在第二个缓冲区录音满以后第一个缓冲区还没有重新赋给录音设备,就会造成语音数据的丢失。当语音信号采样率大的时候适当增加缓冲区的大小,可以有效地解决这个问题。

  为了将广播的内容进行保存以备后需,需要将广播内容保存在一个WAV文件中。WAV文件具有固定的头格式,在保存语音数据之前,需要先将WAV文件的头部设定好,否则保存的WAV文件无法播放。在每一次录音缓冲区满时,首先找到WAV文件的结尾处,然后将采集到的数据依次写在文件尾部。当整个广播过程结束时,所有的语音数据都被保存在了WAV文件中,实现了语音数据的存储。

  当一个录音缓冲区满后,这时就需要将已经采集到的语音数据通过网络发送出去。在设计中首先利用Csocket类创建一个套接字,接下来只需要将采集到的数据封装成IP包发送出去。该设计中语音信号的采样率为44.1 kHz,16位双声道。为了避免语音数据丢失,录音缓冲区的大小设定为1024B。

  3.2 区域广播的实现

  以太网数字语音广播系统的一个重要应用就是不仅可以实现全区广播,同时可以实现局域广播功能,即对指定的终端进行广播。因此,在语音IP数据包的网络传输中采用UDP组播包的形式进行数据传输。采用组播包传输数据,在局域网内所有包含在该组中的终端都可以接收到数据,实现全区广播。为了实现局域广播功能,该设计中在语音数据前面添加了一个结构体,如下所示,同时还有一个配置文件用于存储系统各终端的IP地址。

  struct STRING

  {String IPNO1;

  String IPNO2;

  …

  String IPNO9;

  String IPNO10};

  当需要对某几个终端进行区域广播时,在广播系统服务器端的面板上(如图4所示)将这几个终端对应的编号选上。这时就将被选中终端的IP地址从配置文件中读出并赋给该结构体中对应的变量。当终端接收到IP组播包时,首先判断该结构体是否有和自己的IP地址相同的变量,如果有,则进行数据的接收播放,如果没有则对数据进行丢弃处理,这样就实现了区域广播功能。相对于采用控制信号控制播放终端加入或者离开组播组,或者通过动态维护复杂的映射表以实现区域广播功能的方法。该方法不需要在每次广播之前对播放终端进行交互控制,也不需要动态跟踪终端状态,只需要在终端第一次加入系统时将终端对应的IP地址写入配置文件即可,功能实现简单。

  3.3 广播系统播放终端软件的实现

  广播系统播放终端分为两个部分来实现,音频数据接收部分用于接收语音数据并进行存储转发,音频解码器实现语音信号的D/A转换并播放。音频数据接收部分采用Socket编程实现从以太网上接收语音数据,在接收到语音数据包以后,首先要对数据包进行判断,是否是发给自己的数据包。终端通过将IP包中结构体struct STRING的成员变量与自己的IP地址进行比较,如果有成员变量和自己的IP地址相等,则存储该数据包中的数据,否则丢弃。

[!--empirenews.page--]

  语音数据的接收存储采用循环队列的方式,由于UDP数据传输的无序性,在语音数据接收端接收到语音数据以后需要对语音数据包进行排序,以保证对语音数据的顺序处理,还原出正确的语音信号。同时为了避免网络抖动,每次在循环队列中包含至少5个数据包的时候才对数据进行处理。

  设计中MS6336的数据输入格式采用I2S格式,由于LM3S8962不支持该数据格式,所以通过GPIO口采用软件模拟实现I2S功能。为了完整还原出语音信号,需要保证I2S信号时序严格精确,高低电平的转换采用延时程序实现,I2S时序图如图5所示。


  广播系统播放终端时钟频率为40 MHz,由采样率计算可得每发送一个数据位的时间为600 ns。LM3S8962给MS6336提供语音数据,按照采样点通过GPIO口实现串行传输。每个采样点包含四个字节,一个采样点数据发送流程如图6所示。


  4 结果分析

  该系统通过以太网传输的语音数据包大小为1024B,为了避免网络抖动,终端在收到5个数据包的时候开始广播,广播延时时间为30 ms左右,满足功能指标。服务器端可以同时控制10个播放终端的工作,通过在服务器端选定相应终端的编号,可以成功实现广播系统的全区广播和局域广播功能。

  5 结语

  这里从实际需求出发,设计实现一个以太网数字语音广播系统,实验结果表明由系统播放终端决定是否进行语音广播来实现区域广播是一种简单有效的实现语音信号全局广播和区域广播的方法。系统播放终端采 用GPIO口软件模拟实现了I2S功能,能够精确地实现I2S时序,完成语音信号的数据传输,实现语音信号的实时广播。该设计结构合理,并且能够方便地实现功能扩充,如定时播音、音乐播放、远程管理、实时监控等。该设计具有重要的现实意义,为解决大型复杂的以太网广播系统提供了基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

杭州2022年9月9日 /美通社/ -- 9月8日,百世集团高级副总裁、百世供应链总经理张芒粒应邀出席在厦门召开的2022第五届全国服装物流与供应链行业年会,并发表了题为《共创服装行业供应链价值元年》的演讲,她表示,在产...

关键字: 供应链 数字化 网络 终端

2022亚马逊企业购年度论坛线上举行 上海2022年9月7日 /美通社/ -- 在昨日举行的2022亚马逊企业购年度论坛期间,亚马逊全球开店发布了亚马逊企业购新三大业务重点:持续赋能制造工厂和产业带数字转型,完善数字化...

关键字: 亚马逊 数字化 终端 BSP

上海2022年9月2日 /美通社/ -- 自2021年底,紫荆花第一家5.0版本行业标杆艺术涂料形象店落地湖南邵阳以来,其艺术涂料业务发展迅猛,至今全国具有体验性的超级形象店累计已经突破100家,尤其是在湖南、湖北、浙江...

关键字: 国美 终端 家庭装修 网络

北京2022年9月2日 /美通社/ -- 8月19日,由Top智汇主办,上海市软件行业协会、中国云体系产业创新战略联盟等多家机构联合举办的2022企业数智应用大会暨第七届SaaS应用大会成功开幕。大会以"演进•...

关键字: CRM SAAS 终端 软件

摘要:广东电网全面实施远程低压集抄应用,对业务人员相关技能水平提出了更高的要求。目前,受场地、装置体积重量的限制,开展计量运维终端培训时需将理论和实操分开,培训效果不佳。现通过将多业务终端设备集成在固定装置中,实现现场理...

关键字: 多业务 终端 装置

科技赋能运动,安踏携手华为运动健康共创未来智能运动体验 厦门2022年8月9日 /美通社/ -- 为纪念北京奥运会成功举办,每年的8月8日已成为倡导人民广泛参加体育健身运动之时,是为全民健身日。作为中国体育用品领导品牌...

关键字: 华为 CE 大众 终端

(全球TMT2022年8月9日讯)近日,山东省工业和信息化厅公示第一批山东省优秀数字产品(方案)导向目录,浪潮新基建研发的浪潮城市大脑、浪潮CIM基础平台、浪潮城市运行管理平台和物联感知平台四产品,经企业申报、各市推荐...

关键字: 新基建 智能化 终端 数字化

北京2022年8月5日 /美通社/ -- 近日,由双井街道工委、乐成集团党委、乐成商管联合主办的双井街道乐成党群服务分中心启动仪式暨乐成中心企业服务发展计划发布会在乐成中心乐享空间圆满举行。双井街道工委副书记郭孟、乐成集...

关键字: 楼宇 终端 直播带货 数字经济

欧洲议会和欧盟理事会代表达成一致,同意到2024年,统一欧盟区域内所有便携式电子设备充电接口。除了统一充电接口,欧洲议会的此份公报还指出,对支持快速充电的设备充电速度也要统一,让用户可使用任何兼容的充电器以相同的速度为设...

关键字: 智能 终端 快充技术标准

(全球TMT2022年7月30日讯)7月28日,2022全球数字经济大会在北京开幕,浪潮新基建作为大会"从数字孪生城市迈向数字原生城市分论坛"的协办方亮相,充分展现在数字孪生城市领域的探索与实践。论坛期间,浪潮新基建与...

关键字: 新基建 数字经济 数字化 终端

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭