新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于FPGA和Qt技术的音频广播系统

基于FPGA和Qt技术的音频广播系统

作者:赵成龙 施慧彬时间:2014-08-26来源:电子产品世界收藏
编者按:  摘要:介绍了一种使用Altera DE2开发板以及Qt技术实现的定时音频广播系统。该系统使用C/S架构,使用跨平台Qt技术在Ubuntu系统平台下建立起服务器程序,用于管理所有在线的DE2音频播放终端,使用Sqlite轻量级数据库进行数据存储。通过基于Nios II实现的软核进行外围设备的管理,并播放位于SD卡中的音频文件。   引言   随着数字和网络等技术的发展,广播技术已经呈现出越来越多元化的趋势,其最主要的趋势便是从模拟到数字的转化。从宏观来说,广播技术大体上可以分为三类:传统公共广播系统

  摘要:介绍了一种使用Altera DE2开发板以及技术实现的定时音频广播系统。该系统使用C/S架构,使用跨平台技术在Ubuntu系统平台下建立起服务器程序,用于管理所有在线的DE2音频播放终端,使用Sqlite轻量级数据库进行数据存储。通过基于Nios II实现的软核进行外围设备的管理,并播放位于中的音频文件。

本文引用地址:http://www.eepw.com.cn/article/262225.htm

  引言

  随着数字和网络等技术的发展,广播技术已经呈现出越来越多元化的趋势,其最主要的趋势便是从模拟到数字的转化。从宏观来说,广播技术大体上可以分为三类:传统公共广播系统,采用的是定压式线路,传输损耗小,负载连接较为方便,但是传输的电压较高,需在端加接降压设备;数字可寻址音频广播系统,此类系统采用数字信号进行音频信号的传输,并具有可寻址特性,具有更远的传输距离和可靠性;流媒体(IP)智能广播系统,其特点是无需另行布线,结合网络的便利性,系统的扩展性进一步增强,将广播技术与其他技术进行充分融合,易于构建功能更加完善和易于管理的系统平台。

  目前校园中使用的系统大都还停留在传统公共广播系统层次,由于线路老化等原因,如出现故障则不容易维修,而重新布线容易增加成本。基于此,本文提出一种使用和网络技术实现的音频广播方案,使用现有的网络线路进行数据的传输。因高度的可编程特性可以将控制电路做得更加集成,易于布设,同时增加了系统的可扩展性。

  1 系统概述

  本系统主要包括DE2播放终端(以下简称终端)以及服务器程序两部分。服务器程序负责制定并管理播放项列表以及与终端的交互,终端接收服务器发送的命令信息并驱动扩音设备播放所需音频。系统整体结构如图1所示。

  由图1可以看到本系统支持多终端的管理,采用的方式进行音频广播是因为相较使用直接的数字编码在线路传输来说,的方式在需要播放音频时,只需由服务器发出相应的很短的命令报文至终端,这保证了各个播放在时间上的一致性。不会因为系统网络架构及解码速度不一致而产生播放进度不同步问题。因系统采用短命令报文形式且需进行广播传输,故系统使用的通信方式为(User Datagram Protocol,用户数据报)的通信方式。

  的可编程特性决定了其可参考资源很多,首要的参考资源为开发板自带光盘文件。通过查阅开发板光盘可发现与本项目相关的有两个资源:SD卡音乐播放系统,网络测试程序。SD卡音乐播放系统实现了本项目中所需要的SD卡音频播放功能。网络测试程序只是通过硬编码的形式将一个以太网帧通过DM9000A网卡发送出去,没有实现本系统所需的协议及解析工作。依托于Altera提供的现有平台,可将系统工作简化为实现一个具有跨平台特性的服务器端程序,同时对现有的SD卡音乐播放系统进行扩展,增加网络协议支持,并实现与服务器端通信报文的发送与解析工作。

  系统简要的工作过程为:首先在服务器端,建立一个音频库,该音频库将与终端中存在的音频文件同步。然后,建立一周的音频播放方案指明学校中上下课的时间。服务器程序将根据选用的播放方案按照设定的时间发送广播命令报文至终端。当终端接收到命令后,将检测命令中指定的歌曲是否在SD卡中,如果存在则播放对应的歌曲。

  2 服务器程序设计

  为了在PC机上构建一个管理系统,选择了具有跨平台的技术。Qt是一个跨平台的应用和UI框架,开发者使用C++或者UML(Unified Modeling Language)进行开发。本服务器程序的主界面如图2所示。

  如图2所示,服务器程序主界面中包含了当前的系统时间、在线终端数信息、应用方案中本日的作息安排情况。系统中的两个管理按钮用于媒体管理和作息管理。在媒体管理中可以管理目前系统SD卡中的歌曲英文缩写及对应的描述信息。在作息管理中可以创建和管理播放方案。

  本系统依照方案对作息进行管理,可根据需要灵活切换当前选择的播放方案。对于每个方案,可设置星期一到星期日的播放列表。

  考虑到本系统中存储的信息不会太庞大,所以采用了轻量级的Sqlite数据库对方案信息和媒体信息及终端信息进行存储。

fpga相关文章:fpga是什么


c++相关文章:c++教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭