微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 智能小区中嵌入式MP3流媒体网络广播系统设计

智能小区中嵌入式MP3流媒体网络广播系统设计

时间:05-05 来源:电子技术应用/邓丹 吴小强 罗代升 点击:

断循环,从而实现随机循环广播8路歌曲的目的。服务器端的结构如图1所示。

  在小区各用户家中安装系统客户终端,客户终端设计成通过小区局域网同时接收8路音乐广播,并且可以对这8路音乐进行随意选择和切换收听。客户端在嵌人式环境下运行MP3广播接收程序。

  用户通过终端按键启动程序,即启动两个线程。一个线程建立RTP会话及对8路分别会话进行相对应的设置,然后从网络循环接收MP3数据流并将数据流写入缓存(这里缓存采用循环队列的概念);另一个线程则首先对声卡参数(如声卡采样率、声道等)进行设置,然后不断地从缓存(循环队列)读出MP3数据,随后对数据流进行实时解码并写入声卡,从而达到接收广播并播放的目的。两个线程同时进行,实现了边从网络接收边播放数据的功能,体现了系统的实时性。客户终端结构流程如图2所示。

  2 嵌入式MP3流媒体网络广播系统的实现

  2.1 系统实现环境

  2.1.1 软件环境

  在应用于智能小区的嵌入式MP3流媒体广播系统的实现中,服务器端基于Windows平台,客户终端系统基于Linux内核。Linux操作系统可应用于多种硬件平台,原型可以在标准平台上开发后移植到具体的硬件上,使软件与硬件的开发过程加快。

  本系统在X86上开发后再移植到硬件平台上。Linux的高度模块化使添加部件非常容易,而且是免费开源,定会节省大量的开发费用。LJnux的优势还体现在可靠性和软件规模方面。Linux可以根据实际需要进行裁剪,并且具备强大的内存保护功能,可靠性高。如今,业界已经达成共识:嵌入式Linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。

  2.1.2 硬件环境

  在应用于智能小区的嵌入式MP3流媒体广播系统的实现中,嵌入式CPU采用GT2000,其CPU核心是方舟2号(Area2)。GT2000集成了高性能CPU核心和PC架构南北桥中的大部分功能,是信息终端设备和网络设备的理想解决方案。CT2000在40OMHz主频下运行时最大功耗只有360毫瓦,是业界最具竞争力的高性能、低功耗微处理器产品。

  方舟开发板Draco则为基于GT2000的产品开发提供了一个易于扩充、易于配置的平台,本系统采用了Draco开发板。一个全新体系结构的开发与应用需要高质量编译器工具链的支持。方舟CPU作为一个全新的RISC指令集体系结构,编译器的支持至关重要。

  方舟科技移植增强了GNU编译开发环境,使其对方舟CPU体系结构提供了全方位的支持。其GNU编译工具链覆盖了编译技术和开发环境的方方面面,代码效率及可移植性在业界处于领先地位,已成为Linux操作系统下的标准开发环境,也是嵌人式CPU开发环境事实上的工业标准。

  2.2 MP3流媒体传输协议

  在应用于智能小区的嵌入式MP3流媒体广播系统的实现中,传输方式采用流式传输。实现流式传输的一个重要条件是要有合适的传输协议。RTP(Real-timeTransport Protocol)正是作为这样一种适时的传输协议而出现的,它是进行实时流媒体传输的标准协议和关键技术。

  TRP协议是用于Intemet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTCP控制协议。RTP是通过在UDP上工作来进行数据传辖的,但也可以在其他协议上(如TCP)工作。而控制协议只能使用RTCP。

  应用程序开始一个RTP会话时将使用两个端口,一个给RTP,另一个给RTCP。TRP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。RTP与RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。相对于传统的传输协议,RTP协议更能保证数据的实时传输。

  在本系统实现中,采用Linux下的LIVE库进行数据传输。在Linux下,有很多基于RTP协议的库,如LIBRTP,JRTPLIB、LIVE库等。LIVE库是一个基于RTP/RTCP/RTSP/STP协议的流媒体传输库,其移植性好,既可以在Unix平台上编译,也可以在Windows平台以及其他一些系统平台上编译。它适合于嵌入式和低功耗场合的流媒体应用。

2.3 MP3流媒体解码

  在应用于智能小区的嵌入式MP3流媒体广播系统的实现中,用户接收端接收到的数据是网络传来的MP3数据流,因此,先对MP3数据流解码,然后才能写入声卡播放。

MP3解码过程是先将MP3数据帧解包,然后用Huffman解码解出位分配信息。接着在逆变换中利用频谱系数,在合成滤波器中将32个子带合并成一个宽带信号,18个频

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top