现在,国内收音机设备还停留在模仿收音技能阶段,而国外网络收音机均选用专用集成芯片接纳计划,本钱昂扬且均以ODM(原始规划制作商)办法投入市场,技能关闭且界面单调,这无疑给信息家电和数字化家庭信息化体系的推行增加了阻力。
本规划将嵌入式技能运用于实体网络收音机体系规划中,以Samsung公司ARM920T内核的S3C2440A为中心处理器,以Windows CE操作体系为软件渠道,经过加载必要的驱动程序和运用程序构建一个完好的实体网络收音机体系,经过网络衔接拜访国内外网络电台并获取音频信息,下载播映并完结网络收音功用。体系可以经过有线衔接或许无线衔接(WiFi)接入网络,剖析网络电台传输协议:关于选用次序流式传输MMS协议的网络电台,运用Windows CE体系自带的Windows Media Player控件进行下载和播映;而关于选用实时流式传输RTSP协议的网络电台,运用相应的工作库完结网络收音功用,并经过软件音频解码后发送到音频设备,完结解码播映。
1、体系硬件规划
体系结构框图如图1所示。体系包括中心处理器S3C2440A、支撑802.11b/g的USB无线网卡、快速以太网操控处理器DM9000网卡、I2S接口音频编解码芯片UDA1341声卡、触摸屏、存储器、USB外设和电源办理模块等。
S3C2440A最高频率可达400 MHz,其包括有丰厚的外围设备资源,支撑SDRAM的外部存储操控器、AC?97编解码器接口和TFT/STN液晶触摸屏接口。这些特性为体系的硬件电路规划供给了许多便当,可以在体积更小的单体系封装内供给更强壮的运算与存储才干,一起削减产品运用的组件数量,让制作商开发出新式与共同功用规划的产品。
2、软件体系规划
操作体系选用Windows CE5.0。它供给了一个敞开的规范根底渠道,具有多线程、多使命、彻底抢占式的特色。其模块化规划使嵌入式体系和运用开发者可以方便地定制以习惯不同的产品。
Windows CE包括4个首要模块:设备办理模块、目标存储模块、GWES模块和通讯模块。除此之外,它还包括一些可选的操作体系模块,首要有以下几种:装置型设备驱动程序、多媒体(声响)支撑模块、COM支撑模块和Windows CE外壳模块。Windows CE模块化规划使嵌入式体系和运用程序开发者可以方便地定制以习惯一系列产品的不同要求。
Platform. Builder是微软公司为开发依据Windows CE操作体系的可定制渠道而规划的集成开发渠道。它包括集成开发环境、渠道生成器、SDK导出器、调试器、长途实用工具和仿真器等,可以协助用户方便地规划和调试依据Windows CE的渠道。
2.1 操作体系的定制
如图2所示,操作体系的定制首要包括Bootloader(体系引导程序)的开发、OAL(设备商适配层)的开发、本地驱动程序的开发以及渠道文件装备等。
Windows CE操作体系已为其间大部分硬件外设供给了可供参考的Bootloader程序、OAL程序和驱动源代码,为体系规划开发供给了样本程序,可有用进步开发的作业功率,削减重复性作业。
针对本体系中选用的中心处理器S3C2440A,BSP(板级支撑包)可由Samsung公司供给的SMDK2440BSP包克隆生成,因而源代码装备文件只需求对体系新增加的模块进行设置,完好编译即可完结。
本体系除了要参加一些体系级模块(例如文件体系支撑、触摸屏支撑等)之外,还要参加Windows Media Player模块和VIA公司供给的无线网卡驱动模块。修正注册表中对应模块的设置,即在platform.reg中增加对VIA公司无线网卡的支撑:
[HKEY_LOCAL_MACHINECommVNUWLC5]
“DisplayName”=“VNT VT6656 Wireless LAN”
“Group”=“NDIS”
“ImagePath”=“VNUWLC5.dll”
增加对以太网操控器DM9000的支撑:
[HKEY_LOCAL_MACHINECommDM9CE]
“DisplayName”=“DM9000 ISA Fast Ethernet Adapter”
“Group”=“NDIS”
“ImagePath”=“dm9isa.dll”
2.2 SDK的生成
SDK(软件开发工具包)是软件开发商供给给二次开发人员的针对性开发工具。SDK供给中心衔接支撑,用来支撑桌面操作体系与嵌入式体系之间的通讯,开发人员经过它来运用开发工具与嵌入式操作体系进行运用程序的工作测验。在Platform. Builder集成开发环境里,针对定制的镜像文件(nk.bin)输出SDK。
2.3 运用程序开发
Windows CE运用程序运用Embedded Visual C++集成开发环境,而且需求详细渠道的SDK支撑。本体系运用Platform. Builder定制生成的SDK直接进行开发,有用地进步了开发功率。现在,首要流媒体协议分为支撑实时流式传输的RTSP协议和支撑次序流式传输的MMS协议。如rtsp://real.cnr.cn:554/encoder/cnr2(中央人民播送电台2台)的地址格局,这类网络数字播送选用RTSP协议来进行数据传输;如mms://windows_media_server/sample.asf的地址格局,这类网络数字播送选用MMS协议来进行数据传输。
为了尽可能接纳到一切网络电台,体系规划兼容两种传输协议。针对体系的特殊性,适用于该计划的体系规划框图如图3所示。
体系经过解析用户输入的网络电台网址,分辨出所拜访电台支撑的流媒体传输协议,针对两类不同协议作出实时呼应,接纳数据并播映。
2.3.1 实时流式传输RTSP协议
实时流协议RTSP,用于树立和操控时刻同步的接连媒体流,以及操控具有实时特征的数据发送。RTSP供给操控机制,可以处理更高层的问题(例如会话树立和注册),在体系结构上作业在RTP、TCP、UDP等协议的上层。正因为如此,RTSP可以很好地运用人们对现有工业规范的改进和进步,而不需求额定的优化作业。
本体系选用开源软件LIVE库来完结RTP/RTCP协议,包括RTP/RTCP会话的树立、数据的接纳。其首要使命是解析RTSP协议,经过DESCRIBE、SETUP、PLAY恳求来取得音频数据格局,并将RTP包解包取得MP3帧数据,写入数据接纳缓冲区。
LIVE库仅包括4个根本的类:BasicUsageEnvironment、UsageEnvironment、groupsock以及livemedia。BasicUsageEnvironment和UsageEnvironment担任使命的调度和环境的装备;groupsock担任socks套接字的创立以及相应信息(问询信息和数据信息)的发送接纳;Livemedia是整个工程的中心,担任rtsp、session(subsession)和rtcpinstance的工作。
在数据传输过程中,LIVE库依据RTSP协议来树立会话描绘。RTSP会话的树立分为以下几个过程:
① 树立运用环境目标,创立客户端。
② 由RTSPClient目标向服务器发送OPTION音讯并接纳回应。
③ 发送DESCRIBE恳求,并解析回应。
④ 依据SDPDescripTIon在MediaSession中创立MediaSession目标。
⑤ 装备一切子会话目标。
⑥ 由RTSPClient目标向服务器发送SETUP音讯并接纳回应。
⑦ 由RTSPClient目标向服务器发送PLAY音讯并接纳回应。
接纳到的经过紧缩编码的MP3音频数据只要经过解码后发送给音频设备,才干完结解码播映。为了缩短开发周期,本文运用LIBMAD库来完结MP3解码。LIBMAD库是一个开源的高精度MPEG音频解码库,支撑MPEGLayer I、 MPEGLayer II和MPEGLayer III。LIBMAD供给24位的PCM输出,彻底是定点核算,十分合适运用在没有浮点支撑的渠道上。运用LIBMAD供给的一系列 API(运用程序编程接口),就可以十分简略地完结 MP3 数据解码。
为了使体系接纳到的音频流数据可以正常解码并播映,体系选用双线程(数据接纳线程和音乐播映线程)、双缓冲(数据接纳缓冲和音乐播映缓冲)操作。两个线程并发工作,且音乐播映线程工作速度较慢。假如网络速度较快,数据接纳线程的接纳缓冲区已满,而当时音乐播映线程正在播映音乐,那么数据接纳线程有必要中止接纳数据。假如不让数据接纳线程进入等候状况,它会一向轮询音乐播映线程调查其是否需求数据。简略的轮询会糟蹋 CPU 资源,在这种情况下,有必要让数据接纳线程进入等候状况。本体系运用信号量机制来动态操控线程的工作,有用地进步程序履行功率。
2.3.2 次序流式传输MMS协议
MMS(Microsoft Media Server,微软媒体服务器)协议由微软拟定,用来拜访以及用于流式接纳Windows Media服务器中的流文件,也是衔接Windows Media单播服务的默许办法。在Windows Media Player中输入一个URL以便衔接播映内容时要运用这个协议,当用MMS协议衔接到发布点后,服务器会运用“协议翻转”来取得最佳的衔接。
Windows CE操作体系自带Windows Media Player组件,在操作体系定制时也特别参加了该组件。Windows Media Player 具有模块化体系结构,用户界面与音频和视频内容的播映功用彼此独立,因而在本规划中只运用了其播映功用,而且将其外观功用躲藏,经过运用程序树立自己的运用界面。在运用程序中,只需求新建Windows Media Player AcTIveX变量,设置其特点并调用Open办法即可完结衔接和播映。
2.4 界面规划
人机界面规划首先要建立用户类型。嵌入式实体网络收音机定坐落信息家电市场,因而界面规划要求操作简略、信息量最少以减小用户记忆负担,要有康复犯错现场的才干,在体系内部处理作业要有提示,尽量把主动权让给用户。
工程运用Visual Studio 2005渠道进行开发,挑选依据对话框结构形式规划,而且要求Windows Sockets支撑和AcTIveX控件支撑。依据体系剖析,需求5个按钮控件(Button Control)、1个进度条控件(Slider Control)、1个树目录控件(Tree Control)和1个图表控件(Picture Control)。体系主界面如图4所示。
完结控件的拖放后,拖动各个控件调整其布局,并对其特点和功用进行完善,完结网络收音机的根本功用。
结语
本文依据Windows CE体系完结的嵌入式实体网络收音机,内嵌WiFi技能,充分运用Windows CE体系资源完结拜访网络电台并获取音频信息,下载播映并完结网络收音功用。它将电子信息技能融入传统家电设备中,有利于数字化和网络技能更广泛地深化家庭生活。
责任编辑:gt