基于Windows CE的嵌入式网络收音机

发布者:学海星空最新更新时间:2021-07-02 来源: eefocus关键字:Windows  嵌入式  网络收音机 手机看文章 扫描二维码
随时随地手机看文章

简介:本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内核的S3C2440A为核心处理器,以 Windows CE操作系统为软件平台,通过加载必要的驱动程序和应用程序构建一个完整的实体网络收音机系统,通过网络连接访问国内外网络电台并获取音频信息,下载播放并实现网络收音功能。


引言

目前,国内收音机设备还停留在模拟收音技术阶段,而国外网络收音机均采用专用集成芯片接收方案,成本高昂且均以ODM(原始设计制造商)方式投入市场,技术封闭且界面单调[3],这无疑给信息家电和数字化家庭信息化系统的推广增加了阻力。


本设计将嵌入式技术应用于实体网络收音机系统设计中,以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液晶触摸屏接口。这些特性为系统的硬件电路设计提供了很多便利,能够在体积更小的单系统封装内提供更强大的运算与存储能力,同时减少产品使用的组件数量,让制造商开发出新型与独特功能设计的产品 [1]。


2 软件系统设计



图1 系统结构框图


操作系统采用Windows CE5.0。它提供了一个开放的标准基础平台,具有多线程、多任务、完全抢占式的特点。其模块化设计使嵌入式系统和应用开发者能够方便地定制以适应不同的产品。


Windows CE包含4个主要模块:设备管理模块、对象存储模块、GWES模块和通信模块。除此之外,它还包括一些可选的操作系统模块,主要有以下几种:安装型设备驱动程序、多媒体(声音)支持模块、COM支持模块和Windows CE外壳模块。Windows CE模块化设计使嵌入式系统和应用程序开发者能够方便地定制以适应一系列产品的不同要求[2]。

Platform Builder是微软公司为开发基于Windows CE操作系统的可定制平台而设计的集成开发平台。它包括集成开发环境、平台生成器、SDK导出器、调试器、远程实用工具和仿真器等,可以帮助用户方便地设计和调试基于Windows CE的平台。


2.1 操作系统的定制



图2 Windows CE操作系统定制流程


如图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应用程序使用EmbeddedVisual C++集成开发环境,并且需要具体平台的SDK支持。本系统利用Platform Builder定制生成的SDK直接进行开发,有效地提高了开发效率。目前,主要流媒体协议分为支持实时流式传输的RTSP协议和支持顺序流式传输的 MMS协议。如rtsp://real.cnr.cn:554/encoder/cnr2(中央人民广播电台2台)的地址格式,这类网络数字广播采用 RTSP协议来进行数据传输;如mms://windows_media_server/sample.asf的地址格式,这类网络数字广播采用MMS协议来进行数据传输。




图3 系统设计框图


为了尽可能接收到所有网络电台,系统设计兼容两种传输协议。针对系统的特殊性,适用于该方案的系统设计框图如图3所示。


系统通过解析用户输入的网络电台网址,分辨出所访问电台支持的流媒体传输协议,针对两类不同协议作出实时响应,接收数据并播放。


2.3.1 实时流式传输RTSP协议

实时流协议RTSP,用于建立和控制时间同步的连续媒体流,以及控制具有实时特征的数据发送。RTSP提供控制机制,能够处理更高层的问题(例如会话建立和注册),在体系结构上工作在RTP、TCP、UDP等协议的上层。正因为如此,RTSP可以很好地利用人们对现有工业标准的改善和提高,而不需要额外的优化工作[4]。


本系统采用开源软件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单播服务的默认方法[6]。在Windows Media Player中输入一个URL以便连接播放内容时要使用这个协议,当用MMS协议连接到发布点后,服务器会使用“协议翻转”来获得最佳的连接。


Windows CE操作系统自带Windows Media Player组件,在操作系统定制时也特别加入了该组件。Windows Media Player 具有模块化体系结构,用户界面与音频和视频内容的播放功能相互独立,因此在本设计中只使用了其播放功能,并且将其外观功能隐藏,通过应用程序建立自己的应用界面。在应用程序中,只需要新建Windows Media Player AcTIveX变量,设置其属性并调用Open方法即可实现连接和播放。


2.4 界面设计

人机界面设计首先要确立用户类型。嵌入式实体网络收音机定位于信息家电市场,因此界面设计要求操作简单、信息量最少以减小用户记忆负担,要有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户[5]。


工程利用Visual Studio 2005平台进行开发,选择基于对话框结构模式设计,并且要求Windows Sockets支持和ActiveX控件支持。根据系统分析,需要5个按钮控件(Button Control)、1个进度条控件(Slider Control)、1个树目录控件(Tree Control)和1个图表控件(Picture Control)。系统主界面如图4所示。



图4 系统主界面


完成控件的拖放后,拖动各个控件调整其布局,并对其属性和功能进行完善,实现网络收音机的基本功能。


结语

本文基于Windows CE系统实现的嵌入式实体网络收音机,内嵌WiFi技术,充分利用Windows CE系统资源实现访问网络电台并获取音频信息,下载播放并实现网络收音功能。它将电子信息技术融入传统家电设备中,有利于数字化和网络技术更广泛地深入家庭生活。


关键字:Windows  嵌入式  网络收音机 引用地址:基于Windows CE的嵌入式网络收音机

上一篇:AFDX-ES SoC验证平台的构建与实现
下一篇:ARM设计的无线网卡设备驱动技术

推荐阅读最新更新时间:2024-10-18 11:38

基于Windows CE嵌入式网络收音机
简介:本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内核的S3C2440A为核心处理器,以 Windows CE操作系统为软件平台,通过加载必要的驱动程序和应用程序构建一个完整的实体网络收音机系统,通过网络连接访问国内外网络电台并获取音频信息,下载播放并实现网络收音功能。 引言 目前,国内收音机设备还停留在模拟收音技术阶段,而国外网络收音机均采用专用集成芯片接收方案,成本高昂且均以ODM(原始设计制造商)方式投入市场,技术封闭且界面单调[3],这无疑给信息家电和数字化家庭信息化系统的推广增加了阻力。 本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内
[单片机]
基于<font color='red'>Windows</font> <font color='red'>CE</font>的<font color='red'>嵌入式</font><font color='red'>网络</font><font color='red'>收音机</font>
基于Windows CE嵌入式网络收音机
  引言   目前,国内收音机设备还停留在模拟收音技术阶段,而国外网络收音机均采用专用集成芯片接收方案,成本高昂且均以ODM(原始设计制造商)方式投入市场,技术封闭且界面单调,这无疑给信息家电和数字化家庭信息化系统的推广增加了阻力。   本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内核的S3C2440A为核心处理器,以Windows CE操作系统为软件平台,通过加载必要的驱动程序和应用程序构建一个完整的实体网络收音机系统,通过网络连接访问国内外网络电台并获取音频信息,下载播放并实现网络收音功能。系统可以通过有线连接或者无线连接(WiFi)接入网络,分析网络电台传输协议:对于采用顺序流
[嵌入式]
基于Windows CE和S3C2440A处理器实现网络收音机系统的设计
目前,国内收音机设备还停留在模拟收音技术阶段,而国外网络收音机均采用专用集成芯片接收方案,成本高昂且均以ODM(原始设计制造商)方式投入市场,技术封闭且界面单调,这无疑给信息家电和数字化家庭信息化系统的推广增加了阻力。 本设计将嵌入式技术应用于实体网络收音机系统设计中,以Samsung公司ARM920T内核的S3C2440A为核心处理器,以Windows CE操作系统为软件平台,通过加载必要的驱动程序和应用程序构建一个完整的实体网络收音机系统,通过网络连接访问国内外网络电台并获取音频信息,下载播放并实现网络收音功能。系统可以通过有线连接或者无线连接(WiFi)接入网络,分析网络电台传输协议:对于采用顺序流式传输MMS协议的网络
[单片机]
基于<font color='red'>Windows</font> <font color='red'>CE</font>和S3C2440A处理器实现<font color='red'>网络</font><font color='red'>收音机</font>系统的设计
Windows CE 嵌入式网络监控系统的设计
布光系统是广泛应用于电视演播厅、电影摄影棚、体育场馆以及舞厅的一种机械化照明灯具及其控制系统,是为增强舞台艺术效果的一种灯光控制设备。目前,布光系统存在的问题是:人机界面差,操作复杂;不能实时检测故障部位及原因,系统故障率大,难以维护;不能实现对被控对象的全部控制,只实现了单一、局部控制;缺乏形象的吊杆、灯具动作显示。 本文介绍的布光监控系统采用数字化分布嵌入式控制系统实现布光任务。在布光系统中采用基于Windows CE的嵌入式网络监控系统。该系统实时性好,可靠性高;速度快,大容量的特性可以适应不断增长的系统数据处理需求;体积小,结构设计方便灵活,设备和软件成本大幅下降;基于Windows的嵌入式开发技术相对普及,人才成本下降
[单片机]
<font color='red'>Windows</font> <font color='red'>CE</font> <font color='red'>嵌入式</font><font color='red'>网络</font>监控系统的设计
基于嵌入式Windows CE5.0的无线监控系统研究
简介:以ARM9微处理器作为核心板的控制器,搭建无线视频监控系统硬件平台,扩展基于OV9650芯片的摄像头接口和GPRS无线传输模块的串口接口。利用Platform Builder5.O定制了合适的WinCE5.O的操作系统平台,开发了OV9650芯片和GPRS传输模块的串口驱动,设计了PC机端的监控系统的软件,研究开源的XVID MPEG一4视频编解码软件以及GPRS传输流程。 0 引 言 传统的视频监控系统主要以模拟信号监控系统和基于插卡的数字监控系统为主。其中模拟信号监控系统布线工程量大,要耗费大量的存储介质,查询取证也十分繁琐;基于插卡的数字监控系统是由1台PC机加图像采集卡完成的,系统的成本高,而且PC机需要有人值守
[单片机]
基于<font color='red'>嵌入式</font><font color='red'>Windows</font> <font color='red'>CE</font>5.0的无线监控系统研究
基于嵌入式Windows CE5.O的无线视频监控系统设计与应用
传统的视频监控系统主要以模拟信号监控系统和基于插卡的数字监控系统为主。其中模拟信号监控系统布线工程量大,要耗费大量的存储介质,查询取证也十分繁琐;基于插卡的数字监控系统是由1台PC机加图像采集卡完成的,系统的成本高,而且PC机需要有人值守,无法在恶劣环境下使用。在视频监控领域中,如何使信息传输得更快,更稳定,距离更远,系统的成本、体积、功耗更低等问题是摆在当前技术研发人员面前的首要问题。 在此提出一种基于嵌入式Windows CE5.O的无线视频监控系统。解决了传统视频监控系统成本高、体积大、传输距离有限、功耗大、安装不方便等问题。该系统的设计将为无线视频监控提供一种新的思路、方法和技术路线;在安防、远程教育、远程视频会议、医
[嵌入式]
嵌入式操作系统Windows CE.NET在S3C2410平台上的移植
目前,嵌入式微处理器种类很多,嵌入式操作系统要支持尽可能多的处理器,这就要完成操作系统针对不同处理器的定制。   本文分析了嵌入式操作系统Windows CE。NET的特点,并利用工具Platform Builder 4。2完成了其在以ARM920T为核心的S3C2410处理器上的定制。   1 Windows CE系统和Platform Builder 4.2   Windows CE是微软推出的一个32位、多线程、多任务的嵌入式操作系统,是微软专门为信息设备、移动应用、嵌入式应用等设计的嵌入式模块型操作系统。用户可选择、组合和配置Windows CE。NET的模块和组件来创建用户版的操作系统。   W
[单片机]
<font color='red'>嵌入式</font>操作系统<font color='red'>Windows</font> <font color='red'>CE</font>.NET在S3C2410平台上的移植
基于Windows CE的大功率微波嵌入式控制系统的研究
  微波作为一种节能环保的新能源形式,近年来在国内外得到了迅猛发展,并且在陶瓷烧结、环保、脱硫等方面有了很多成功的实例。微波加热技术是工业控制中的一种特殊应用,如何对其控制直接影响微波加热设备的应用前景。而微波加热设备,尤其是大功率微波加热系统,其繁杂的操作程序为其稳定运行带来很多不确定因素,因此亟需设计安全、智能的控制系统。现阶段国内外大功率工业微波加热系统存在系统功能过于单一、控制精度不够等问题。针对这些问题,本文提出了一种基于Windows CE的大功率微波嵌入式控制系统。   1 方案论证   目前国内外大多数微波设备采用的控制方式为触摸屏+PLC控制系统。此系统用在实验炉上时,虽运行相对稳定可靠,但具有一定的局限性:
[单片机]
基于<font color='red'>Windows</font> <font color='red'>CE</font>的大功率微波<font color='red'>嵌入式</font>控制系统的研究
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved