当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]一种嵌入式MP3音频点播系统的设计与实现

1 引言
    随着信息化、智能化、网络化的发展,嵌入式系统技术也随之提高。目前,嵌入式系统已广泛用于信息家电、移动通信、工业控制、军事电子等领域。嵌入式MP3音频点播系统是一种基于局域网、具有交互功能的点播系统。它能通过局域网与控制中心进行双向传输,不仅可从局域网下载播放MP3的歌曲,也可扩展USB接口,利用现有的移动存储设备实现音频数据的存储和备份。


2 系统功能及实现方案
   
嵌入式系统由底层硬件、设备驱动、操作系统、应用中间软件及应用系统5部分组成。基于嵌入式系统的MP3音频点播系统可广泛用于卡拉OK厅、语音教室和公共广播等许多场所,它由一个网络服务器和多个客户端播放器组成,是基于局域网的C/S结构的点播系统。首先在服务器中存储丰富的歌曲,用户可通过播放器自带的网络功能登陆服务器,以获取歌曲进行播放.同时该点播系统也可通过USB存储设备播放本地歌曲,也可将服务器上的音乐下载到本地USB存储设备上。
    服务器端采用Windows操作系统的PC机作为服务器:客户端采用Linux作为操作系统;采用S3C2410作为处理器;选MiniGUI编写控制界面,并通过socket编程与服务器连接。MP3播放终端服务器与客户端之间采用FTP(File Transfer Protoco1)网络通信协议传递数据,常用的FTP服务器为ServerU。

3 系统硬件设计
    S3C2410内部集成有ARM920T内核和常用外围组件。由于它是一款专为手持设备设计的低功耗处理器.因此可以降低手持设备成本,具有较高的性价比。该系统采用模块化设计思想,依据功能可划分为网络、存储、解码、触摸屏、按键、电源、USB接口、UART接口等模块。其硬件结构如图1所示。

3.1 处理器模块S3C2410
    它的功能和特性如下:①具有较高的处理速度,通过内部锁相环,最高可在203 MHz的系统时钟下运行;②具有极低的功耗.其核心供电电压为1.8 V,外围I/O口使用3.3 V电压;③具有3种低功耗控制方式,甚至可关闭CPU中除唤醒逻辑外的所有功能,极大地降低了功耗;④与其他ARM器件相比,S3C2410片上集成了更多的外设接口,如外部存储控制器、LCD,DMA,USBl.1,SD,M。MC卡控制器、UART,SPI接口、I2C总线控制器和I2S总线控制器、I2S音频接口、PWM定时器、看门狗、117个外部I/O口、24个外部中断源、A/D转换器和触摸屏接口、实时时钟及片上PLL的时钟产生等。使用集成接口,有利于功能的扩展。
3.2 存储模块
   
存储模块由一片64 MB的SDRAM和两片16 MB的Flash组成,可为系统提供足够的存储空间。Flash存储器是一种可在系统电擦写,掉电后信息不丢失的存储器。与Flash存储器相比,SDRAM不具有掉电保持数据的特性,但存取速度大大高于Flash存储器,且具有读/写特性。因此系统中SDRAM主要用作程序的运行空间、数据及堆栈区。
3.3 解码模块
   
决定MP3音质的关键是主控解码器件中的数模转换器(DAC)单元和耳机功率放大器单元。DAC负责把解码的数字音频流转换成可驱动耳机发音的模拟音频信号;耳机放大器则可把模拟音频信号放大到可驱动耳机的功率。该系统选用的解码器是UDAl380。S3C2410则通过I2S总线与解码器UDAl380通信。
3.4 网络模块
    S3C2410自身并没有网络控制器,接入以太网时需增加独立的以太网控制器,在此选用DM9000作为以太网控制器。该器件具有通用的处理器接口、10M/IOOM自适应、4 K双字节静态存取存储器、低功耗、高处理性能,可支持3.3~5V的容差。


4 系统软件设计
   
该音频点播系统选用Linux操作系统,其软件结构如图2所示。从软件角度看,嵌入式Linux操作系统分为引导加载程序、内核、文件系统及用户应用程序4部分。其一用于完成初始化RAM、初始化串口、设置Linux启动参数、调用Linux内核映像等功能;其二为特定于具体硬件的定制内核以及控制内核引导系统的参数;其三为含根文件系统和建立Flash存储器设备上的文件系统;其四为特定于用户的应用程序,即为播放程序。

4.1 文件系统
   
因为系统需要一种以结构化格式存储和检索信息的方法.所以需要文件系统的参与。Linux下的常用文件系统由RAMDISK,JFFS2.CRAMFS等组成。所谓文件系统就是用户程序与文件的集合,在Linux PC机上存放到一个统一的目录下,然后通过工具打包成一个映象(image)文件,这通常为压缩过程,烧写到板子上后,待Linux内核完成启动后,逐个挂接这些文件系统映象文件并做解包工作。当然第一个挂接的就是根文件系统(rootf),待rootf提供Shell后,即可通过Shell命令mount来挂载其他文件系统(FS)了。
    该系统设计选用RAMDISK文件系统。RAMDISK文件系统的特点是:当Linux内核运行时都会把文件系统数据块的信息拷贝到SDRAM中,即相当于在SDRAM中划出一块区域模拟PC机的硬盘,既然在SDRAM中,当然是可读可写的,断电后则无法保存相关信息。
    RAMDISK中的重要目录:
    (1)/bin:保存大多数init,busybox,shell文件管理实用程序等二进制文件。
    (2)/dev:包含用在设备中的所有设备节点。
    (3)/etc:包含系统的所有配置文件。
    (4)/lib:包含所有必须的库,如libc,libdl等。
[!--empirenews.page--]4.2 用户应用程序
   
应用程序负责与服务器网络通信,向服务器发送请求、下载歌曲、播放歌曲,并对整个播放过程进行控制管理。通过240x320TFT触摸式彩屏LCD把信息呈现给用户,用户可通过触摸屏和按键向系统发送请求。系统播放终端程序简要流程见图3。

    应用程序主要分为主程序mainplay.c和Mp3play,Ftplib,Song_select,Song_list,Config_data这5个模块。mainplay.c主要用于生成主界面和下级界面、各菜单的管理、接收和传递用户的请求,并调用各模块完成相应的任务。设计中采用MilaiGUI实现界面编程。MiniGUI是一个图形用户界面支持系统,键盘和鼠标动作,产生由应用程序不断轮询的事件,这些事件发送到具有焦点的窗口,而且应用程序把这些事件交由与该窗口联系的例程来处理。<minigui/minigui.h>,<minigui/comm..h>和<minigui/window.h>是所有的MiniGUI应用程序都必须包括的头文件。MiniGUI程序的入口点为MiniGUIMain,即:

    int MiniGUIMain (int argc, const char* argv[])

    main函数已经在MiniGUI中定义,该函数在MiniGUI初始化工作后调用MiniGUIMain函数。所以,每个MiniGUI应用程序中无论是server端程序MGINIT,还是客户端应用程序.其入口点都为MiniGUIMain函数。其参数argc和argv与C程序main函数的参数argc和argv的含义是一样的。
    Config data为配置数据管理模块,用于实现配置参数的输入和管理.同时实现配置界面的生成。FTP电控柜议库函数存放在Ftplib模块中,通过该模块可建立套接字,与服务器连接、通信,并下载文件。Song_list负责歌曲列表的管理,实现目录的切换,以完成循环播放歌曲、随机播放歌曲、单首循环播放歌曲的管理功能。
    这5个模块中的核心为Mp3play模块。它包含了MP3的解码代码,通过该模块调用解码驱动程序,实现歌曲的解码播放、前进、后退、音量控制等,以完成MP3音乐文件的最终播放。


5 结语
    嵌入式网络MP3播放终端集成了网络化和数字化的优点,是嵌入式系统在音频领域中的一个典型应用。从系统实现及效果看,该系统达到了设计要求,且操作简单,适合于各种层次的用户。若改用无线方式进行设计,可通过无线网络随时随地下载、收听信息,这种播放器必将更受用户的欢迎。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭