智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于Windows CE的嵌入式網絡收音機

來源:網絡

點擊:1425

A+ A-

所屬頻道:新聞中心

關鍵詞: 嵌入式,網絡收音機,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 軟件系統設計

      操作系統采用Windows CE5.0。它提供了一個開放的標準基礎平臺,具有多線程、多任務、完全搶占式的特點。其模塊化設計使嵌入式系統和應用開發者能夠方便地定制以適應不同的產品。

      Windows CE包含4個主要模塊:設備管理模塊、對象存儲模塊、GWES模塊和通信模塊。除此之外,它還包括一些可選的操作系統模塊,主要有以下幾種:安裝型設備驅動程序、多媒體(聲音)支持模塊、COM支持模塊和Windows CE外殼模塊。Windows CE模塊化設計使嵌入式系統和應用程序開發者能夠方便地定制以適應一系列產品的不同要求[2]。

      Platform Builder是微軟公司為開發基于Windows CE操作系統的可定制平臺而設計的集成開發平臺。它包括集成開發環境、平臺生成器、SDK導出器、調試器、遠程實用工具和仿真器等,可以幫助用戶方便地設計和調試基于Windows CE的平臺。

      2.1 操作系統的定制

      操作系統的定制主要包括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可以很好地利用人們對現有工業標準的改善和提高,而不需要額外的優化工作[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所示。

      完成控件的拖放后,拖動各個控件調整其布局,并對其屬性和功能進行完善,實現網絡收音機的基本功能。

      結語

      本文基于Windows CE系統實現的嵌入式實體網絡收音機,內嵌WiFi技術,充分利用Windows CE系統資源實現訪問網絡電臺并獲取音頻信息,下載播放并實現網絡收音功能。它將電子信息技術融入傳統家電設備中,有利于數字化和網絡技術更廣泛地深入家庭生活。

      參考文獻

      [1] Samsung Electronics Co. S3C2440A user’s manual.Revision 0.14,2004.

      [2] 薛大龍,陳世帝,王韻.Windows CE嵌入式系統開發從基礎到實踐[M]。北京:電子工業出版社, 2008.

      [3] 北京弘明陽科技有限公司。 網絡收音機介紹[OL]。 2008 [201007]。 http://www.wifirADIo.cn/dmp.htm.

      [4] 付博文,張勝男,牛連強,等。實時傳輸協議在流媒體中的應用[J]。沈陽工業大學學報,2006(2)。

      [5] 楊培添。軟件界面設計[M]。 北京:電子工業出版社, 2007.

      [6] 路錦正,周冬梅。 Visual C++音頻/視頻處理技術及工程實踐[M]。北京:電子工業出版社,2009.

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 检重秤,液化气充装秤,滚筒电子秤,汽车衡厂家|上海越衡实业 | 生活污水处理工程安装承包-江苏富瑞源环境工程有限公司 | 山东临沂春鑫新能源科技有限公司|官网|生物质颗粒锅炉|燃气锅炉|水源热泵 | 泊头市特种油泵阀制造有限公司 - 渣油泵,重油泵,沥青泵,高压齿轮泵,煤焦油泵,导热油泵,三螺杆泵,圆弧齿轮泵,不锈钢齿轮泵, | 耐磨焊条_高硬度堆焊焊条_碳化钨合金耐磨焊丝_北京耐默 | 洛阳轴承研究所有限公司 | 金属剪切机,金属打包机,废钢剪切机,废铁压块机,金属压块机,废纸打包机,重废龙门剪,废钢龙门剪,箱式剪,液压剪切机-瑞顿机械装备制造江阴有限公司 | 西克制冷官网│制冷机组冷风机冷库设备厂家-西克制冷(无锡)有限公司_西克制冷(无锡)有限公司 | 康拓威技术(深圳)有限公司|Theia镜头代理商|安讯士AXIS摄像机|安讯士监控系统|博世BOSCH监控|博世会议系统|索尼SONY监控|松下PANASONIC监控|三星韩华SAMSUNG监控|霍尼韦尔Honeywell|海康|大华|华为监控|Theia无畸变镜头|AXIS监控|安讯视摄像机 | 学汽修_汽修学校_汽修学校哪家好-江西万通汽车学院官网 | 银马全自动免烧砖机设备厂家,提供免烧砖机价格报价及生产视频 | 上海山田机械有限公司| 乐清人才网_乐清招聘网_求职找工作平台| 宣城市交投汽运有限公司_宣城汽车运输有限公司_宣城汽运 | 凝汽器换管-胶球清洗装置-二次滤网_连灵动 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 三叶罗茨鼓风机_三叶罗茨风机厂家_山东九洲四海机械有限公司 | 曙海培训-仿真培训Linux培训html5培单片机培训PCB培训python培训PLC培训C语言培训android培训物联网培训无线电培训欧姆龙培训工业机器人培训5G培训Hadoop培训CFD培训项目外包开发咨询 | 泡沫混凝土垫层填充厂家,发泡混凝土垫层填充,轻质混凝土垫层填充厂家,深圳市鸿奥建材发展有限公司 | 西克制冷官网│制冷机组冷风机冷库设备厂家-西克制冷(无锡)有限公司_西克制冷(无锡)有限公司 | 气瓶探伤设备-气瓶在线离线无损探伤检测系统-中高低压力容器超声波自动探伤设备-山科飞泰 | 正大制管-优质钢管制造商和服务商 | 铝合金压缩空气管道安装与设计_专业厂家_福斯特铝合金管道 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 烟台广告公司-烟台仁和图文广告制作有限公司 | 讨债公司_要债公司_要账公司[18年讨债要债经验]讨账公司 | 桐城_池州_枞阳_黄山_潜山_东至挖掘机租赁-安庆光兴机械租赁有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 树枝粉碎机,锯末机,木材粉碎机的专业生产厂家利鑫机械,问价格找利鑫 | 西宁佳越信息科技发展有限公司- 西门子伺服电机维修_西门子变频器维修_西门子伺服驱动器维修_数控系统维修_PL维修-上海仰光电子 | 山东土工膜_复合土工膜_防水板生产厂家-山东德旭达土工材料有限公司 | 郑州天恩石油机械有限公司| 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 买化工,找万创!泉州万创化工贸易有限公司 | 节能设备|余热回收|蒸汽压缩机|脱硝-河北耀一节能设备制造有限责任公司 | 西安汉信丨条码打印机,条码扫码枪,条码标签,条码仓库管理系统专业供应商 | 柔性防水套管_刚性防水套管-河南恒生管道制造有限公司 | 陕西锐锋建筑安装有限公司,锐锋建筑,总承包,专业分包,市政综合,劳务,水电钢构,铁路公路,房建,房屋建筑施工 | 山东正奇塑料机械有限公司,山东塑料机械,水带机组,塑料管材机,山东吹膜机组厂家,山东农膜机厂家 山东长青石油液压机械有限公司-致力于石油机械设备的研发制造,提供定制服务 | 兰州沙盘模型公司_兰州模型公司_兰州沙盘模型厂家_地形沙盘制作_兰州沙盘模型制作公司 | 昆明护栏网厂家_隔离栅_围栏网_石笼网「13年生产经验」-云南北辛商贸 |