999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Windows CE的嵌入式網(wǎng)絡(luò)收音機(jī)

2010-03-20 02:31:44楊磊李會(huì)勇
關(guān)鍵詞:嵌入式系統(tǒng)設(shè)計(jì)

楊磊,李會(huì)勇

(電子科技大學(xué)電子工程學(xué)院,成都611731)

引 言

目前,國(guó)內(nèi)收音機(jī)設(shè)備還停留在模擬收音技術(shù)階段,而國(guó)外網(wǎng)絡(luò)收音機(jī)均采用專用集成芯片接收方案,成本高昂且均以O(shè)DM(原始設(shè)計(jì)制造商)方式投入市場(chǎng),技術(shù)封閉且界面單調(diào)[3],這無(wú)疑給信息家電和數(shù)字化家庭信息化系統(tǒng)的推廣增加了阻力。

本設(shè)計(jì)將嵌入式技術(shù)應(yīng)用于實(shí)體網(wǎng)絡(luò)收音機(jī)系統(tǒng)設(shè)計(jì)中,以Samsung公司ARM 920T內(nèi)核的S3C2440A為核心處理器,以Windows CE操作系統(tǒng)為軟件平臺(tái),通過(guò)加載必要的驅(qū)動(dòng)程序和應(yīng)用程序構(gòu)建一個(gè)完整的實(shí)體網(wǎng)絡(luò)收音機(jī)系統(tǒng),通過(guò)網(wǎng)絡(luò)連接訪問(wèn)國(guó)內(nèi)外網(wǎng)絡(luò)電臺(tái)并獲取音頻信息,下載播放并實(shí)現(xiàn)網(wǎng)絡(luò)收音功能。系統(tǒng)可以通過(guò)有線連接或者無(wú)線連接(Wi-Fi)接入網(wǎng)絡(luò),分析網(wǎng)絡(luò)電臺(tái)傳輸協(xié)議:對(duì)于采用順序流式傳輸MMS協(xié)議的網(wǎng)絡(luò)電臺(tái),利用Windows CE系統(tǒng)自帶的Windows Media Player控件進(jìn)行下載和播放;而對(duì)于采用實(shí)時(shí)流式傳輸RTSP協(xié)議的網(wǎng)絡(luò)電臺(tái),利用相應(yīng)的運(yùn)行庫(kù)實(shí)現(xiàn)網(wǎng)絡(luò)收音功能,并通過(guò)軟件音頻解碼后發(fā)送到音頻設(shè)備,實(shí)現(xiàn)解碼播放。

1 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)結(jié)構(gòu)框圖如圖1所示。系統(tǒng)包括核心處理器S3C2440A、支持802.11b/g的USB無(wú)線網(wǎng)卡、快速以太網(wǎng)控制處理器DM 9000網(wǎng)卡、I2S接口音頻編解碼芯片UDA 1341聲卡、觸摸屏、存儲(chǔ)器、USB外設(shè)和電源管理模塊等。S3C2440A最高頻率可達(dá)400 MHz,其包含有豐富的外圍設(shè)備資源,支持SDRAM的外部存儲(chǔ)控制器、AC'97編解碼器接口和TFT/STN液晶觸摸屏接口。這些特性為系統(tǒng)的硬件電路設(shè)計(jì)提供了很多便利,能夠在體積更小的單系統(tǒng)封裝內(nèi)提供更強(qiáng)大的運(yùn)算與存儲(chǔ)能力,同時(shí)減少產(chǎn)品使用的組件數(shù)量,讓制造商開(kāi)發(fā)出新型與獨(dú)特功能設(shè)計(jì)的產(chǎn)品[1]。

2 軟件系統(tǒng)設(shè)計(jì)

圖1 系統(tǒng)結(jié)構(gòu)框圖

操作系統(tǒng)采用Windows CE5.0。它提供了一個(gè)開(kāi)放的標(biāo)準(zhǔn)基礎(chǔ)平臺(tái),具有多線程、多任務(wù)、完全搶占式的特點(diǎn)。其模塊化設(shè)計(jì)使嵌入式系統(tǒng)和應(yīng)用開(kāi)發(fā)者能夠方便地定制以適應(yīng)不同的產(chǎn)品。

Windows CE包含4個(gè)主要模塊:設(shè)備管理模塊、對(duì)象存儲(chǔ)模塊、GWES模塊和通信模塊。除此之外,它還包括一些可選的操作系統(tǒng)模塊,主要有以下幾種:安裝型設(shè)備驅(qū)動(dòng)程序、多媒體(聲音)支持模塊、COM支持模塊和Windows CE外殼模塊。Windows CE模塊化設(shè)計(jì)使嵌入式系統(tǒng)和應(yīng)用程序開(kāi)發(fā)者能夠方便地定制以適應(yīng)一系列產(chǎn)品的不同要求[2]。Platform Builder是微軟公司為開(kāi)發(fā)基于Windows CE操作系統(tǒng)的可定制平臺(tái)而設(shè)計(jì)的集成開(kāi)發(fā)平臺(tái)。它包括集成開(kāi)發(fā)環(huán)境、平臺(tái)生成器、SDK導(dǎo)出器、調(diào)試器、遠(yuǎn)程實(shí)用工具和仿真器等,可以幫助用戶方便地設(shè)計(jì)和調(diào)試基于Windows CE的平臺(tái)。

2.1 操作系統(tǒng)的定制

如圖2所示,操作系統(tǒng)的定制主要包括Bootloader(系統(tǒng)引導(dǎo)程序)的開(kāi)發(fā)、OAL(設(shè)備商適配層)的開(kāi)發(fā)、本地驅(qū)動(dòng)程序的開(kāi)發(fā)以及平臺(tái)文件配置等。

Windows CE操作系統(tǒng)已為其中大部分硬件外設(shè)提供了可供參考的Bootloader程序、OAL程序和驅(qū)動(dòng)源代碼,為系統(tǒng)設(shè)計(jì)開(kāi)發(fā)提供了樣本程序,可有效提高開(kāi)發(fā)的工作效率,減少重復(fù)性工作。針對(duì)本系統(tǒng)中采用的核心處理器S3C2440A,BSP(板級(jí)支持包)可由Samsung公司提供的SMDK2440-BSP包克隆生成,因此源代碼配置文件只需要對(duì)系統(tǒng)新添加的模塊進(jìn)行設(shè)置,完整編譯即可完成。

本系統(tǒng)除了要加入一些系統(tǒng)級(jí)模塊(例如文件系統(tǒng)支持、觸摸屏支持等)之外,還要加入Windows Media Player模塊和V IA公司提供的無(wú)線網(wǎng)卡驅(qū)動(dòng)模塊。修改注冊(cè)表中對(duì)應(yīng)模塊的設(shè)置,即在platform.reg中添加對(duì)V IA公司無(wú)線網(wǎng)卡的支持:

[HKEY_LOCAL_MACHINECommVNUW LC5]

"DisplayName"="VNTV T6656Wireless LAN"

"Group"="NDIS"

"ImagePath"="VNUWLC5.d ll"

添加對(duì)以太網(wǎng)控制器DM 9000的支持:

[HKEY_LOCAL_MACHINECommDM 9CE]

"Disp layName"="DM 9000 ISA Fast Ethernet Adapter"

"Group"="NDIS"

"ImagePath"="dm9isa.dll"

圖2 Windows CE操作系統(tǒng)定制流程

2.2 SDK的生成

SDK(軟件開(kāi)發(fā)工具包)是軟件開(kāi)發(fā)商提供給二次開(kāi)發(fā)人員的針對(duì)性開(kāi)發(fā)工具。SDK提供核心連接支持,用來(lái)支持桌面操作系統(tǒng)與嵌入式系統(tǒng)之間的通信,開(kāi)發(fā)人員通過(guò)它來(lái)使用開(kāi)發(fā)工具與嵌入式操作系統(tǒng)進(jìn)行應(yīng)用程序的運(yùn)行測(cè)試。在Platform Builder集成開(kāi)發(fā)環(huán)境里,針對(duì)定制的鏡像文件(nk.bin)輸出SDK。

2.3 應(yīng)用程序開(kāi)發(fā)

Windows CE應(yīng)用程序使用Embedded Visual C++集成開(kāi)發(fā)環(huán)境,并且需要具體平臺(tái)的SDK支持。本系統(tǒng)利用Platform Builder定制生成的SDK直接進(jìn)行開(kāi)發(fā),有效地提高了開(kāi)發(fā)效率。目前,主要流媒體協(xié)議分為支持實(shí)時(shí)流式傳輸?shù)腞TSP協(xié)議和支持順序流式傳輸?shù)腗MS協(xié)議。如rtsp://real.cnr.cn:554/encoder/cnr2(中央人民廣播電臺(tái)2臺(tái))的地址格式,這類網(wǎng)絡(luò)數(shù)字廣播采用RTSP協(xié)議來(lái)進(jìn)行數(shù)據(jù)傳輸;如mms://windows_media_server/sam ple.asf的地址格式,這類網(wǎng)絡(luò)數(shù)字廣播采用MMS協(xié)議來(lái)進(jìn)行數(shù)據(jù)傳輸。

為了盡可能接收到所有網(wǎng)絡(luò)電臺(tái),系統(tǒng)設(shè)計(jì)兼容兩種傳輸協(xié)議。針對(duì)系統(tǒng)的特殊性,適用于該方案的系統(tǒng)設(shè)計(jì)框圖如圖3所示。系統(tǒng)通過(guò)解析用戶輸入的網(wǎng)絡(luò)電臺(tái)網(wǎng)址,分辨出所訪問(wèn)電臺(tái)支持的流媒體傳輸協(xié)議,針對(duì)兩類不同協(xié)議作出實(shí)時(shí)響應(yīng),接收數(shù)據(jù)并播放。

圖3 系統(tǒng)設(shè)計(jì)框圖

2.3.1 實(shí)時(shí)流式傳輸RTSP協(xié)議

實(shí)時(shí)流協(xié)議RTSP,用于建立和控制時(shí)間同步的連續(xù)媒體流,以及控制具有實(shí)時(shí)特征的數(shù)據(jù)發(fā)送。RTSP提供控制機(jī)制,能夠處理更高層的問(wèn)題(例如會(huì)話建立和注冊(cè)),在體系結(jié)構(gòu)上工作在RTP、TCP、UDP等協(xié)議的上層。正因?yàn)槿绱?RTSP可以很好地利用人們對(duì)現(xiàn)有工業(yè)標(biāo)準(zhǔn)的改善和提高,而不需要額外的優(yōu)化工作[4]。

本系統(tǒng)采用開(kāi)源軟件LIVE庫(kù)來(lái)實(shí)現(xiàn)RTP/RTCP協(xié)議,包括RTP/RTCP會(huì)話的建立、數(shù)據(jù)的接收。其主要任務(wù)是解析RTSP協(xié)議,通過(guò)DESCRIBE、SETUP、PLAY請(qǐng)求來(lái)獲得音頻數(shù)據(jù)格式,并將RTP包解包獲得MP3幀數(shù)據(jù),寫入數(shù)據(jù)接收緩沖區(qū)。

LIVE庫(kù)僅包含4個(gè)基本的類:BasicUsageEnvironment、UsageEnvironment、groupsock以及l(fā)ivemedia。BasicUsageEnvironment和UsageEnvironmen t負(fù)責(zé)任務(wù)的調(diào)度和環(huán)境的配置;groupsock負(fù)責(zé)socks套接字的創(chuàng)建以及相應(yīng)信息(詢問(wèn)信息和數(shù)據(jù)信息)的發(fā)送接收;Livemedia是整個(gè)工程的核心,負(fù)責(zé)rtsp、session(subsession)和rtcpinstance的運(yùn)轉(zhuǎn)。

在數(shù)據(jù)傳輸過(guò)程中,LIVE庫(kù)根據(jù)RTSP協(xié)議來(lái)建立會(huì)話描述。RTSP會(huì)話的建立分為以下幾個(gè)步驟:

①建立使用環(huán)境對(duì)象,創(chuàng)建客戶端。

②由RTSPClient對(duì)象向服務(wù)器發(fā)送OPTION消息并接收回應(yīng)。

③發(fā)送DESCRIBE請(qǐng)求,并解析回應(yīng)。

④根據(jù)SDPDescription在MediaSession中創(chuàng)建MediaSession對(duì)象。

⑤配置所有子會(huì)話對(duì)象。

⑥由RTSPClient對(duì)象向服務(wù)器發(fā)送SETUP消息并接收回應(yīng)。

⑦由RTSPClient對(duì)象向服務(wù)器發(fā)送PLAY消息并接收回應(yīng)。

接收到的經(jīng)過(guò)壓縮編碼的MP3音頻數(shù)據(jù)只有經(jīng)過(guò)解碼后發(fā)送給音頻設(shè)備,才能實(shí)現(xiàn)解碼播放。為了縮短開(kāi)發(fā)周期,本文使用LIBMAD庫(kù)來(lái)實(shí)現(xiàn)MP3解碼。LIBMAD庫(kù)是一個(gè)開(kāi)源的高精度MPEG音頻解碼庫(kù),支持MPEGLayer I、MPEG-Layer II和M PEG-Layer III。LIBMAD提供24位的PCM輸出,完全是定點(diǎn)計(jì)算,非常適合應(yīng)用在沒(méi)有浮點(diǎn)支持的平臺(tái)上。使用LIBMAD提供的一系列API(應(yīng)用程序編程接口),就可以非常簡(jiǎn)單地實(shí)現(xiàn)MP3數(shù)據(jù)解碼。

為了使系統(tǒng)接收到的音頻流數(shù)據(jù)能夠正常解碼并播放,系統(tǒng)采用雙線程(數(shù)據(jù)接收線程和音樂(lè)播放線程)、雙緩沖(數(shù)據(jù)接收緩沖和音樂(lè)播放緩沖)操作。兩個(gè)線程并發(fā)運(yùn)行,且音樂(lè)播放線程運(yùn)行速度較慢。如果網(wǎng)絡(luò)速度較快,數(shù)據(jù)接收線程的接收緩沖區(qū)已滿,而當(dāng)前音樂(lè)播放線程正在播放音樂(lè),那么數(shù)據(jù)接收線程必須停止接收數(shù)據(jù)。如果不讓數(shù)據(jù)接收線程進(jìn)入等待狀態(tài),它會(huì)一直輪詢音樂(lè)播放線程觀察其是否需要數(shù)據(jù)。簡(jiǎn)單的輪詢會(huì)浪費(fèi)CPU資源,在這種情況下,有必要讓數(shù)據(jù)接收線程進(jìn)入等待狀態(tài)。本系統(tǒng)使用信號(hào)量機(jī)制來(lái)動(dòng)態(tài)控制線程的運(yùn)行,有效地提高程序執(zhí)行效率。

2.3.2 順序流式傳輸MMS協(xié)議

MMS(Microsoft Media Server,微軟媒體服務(wù)器)協(xié)議由微軟制定,用來(lái)訪問(wèn)以及用于流式接收Windows Media服務(wù)器中的流文件,也是連接Windows Media單播服務(wù)的默認(rèn)方法[6]。在Windows Media Player中輸入一個(gè)URL以便連接播放內(nèi)容時(shí)要使用這個(gè)協(xié)議,當(dāng)用MMS協(xié)議連接到發(fā)布點(diǎn)后,服務(wù)器會(huì)使用“協(xié)議翻轉(zhuǎn)”來(lái)獲得最佳的連接。

Windows CE操作系統(tǒng)自帶Windows Media Player組件,在操作系統(tǒng)定制時(shí)也特別加入了該組件。Windows Media Player具有模塊化體系結(jié)構(gòu),用戶界面與音頻和視頻內(nèi)容的播放功能相互獨(dú)立,因此在本設(shè)計(jì)中只使用了其播放功能,并且將其外觀功能隱藏,通過(guò)應(yīng)用程序建立自己的應(yīng)用界面。在應(yīng)用程序中,只需要新建Windows Media Player ActiveX變量,設(shè)置其屬性并調(diào)用Open方法即可實(shí)現(xiàn)連接和播放。

2.4 界面設(shè)計(jì)

人機(jī)界面設(shè)計(jì)首先要確立用戶類型。嵌入式實(shí)體網(wǎng)絡(luò)收音機(jī)定位于信息家電市場(chǎng),因此界面設(shè)計(jì)要求操作簡(jiǎn)單、信息量最少以減小用戶記憶負(fù)擔(dān),要有恢復(fù)出錯(cuò)現(xiàn)場(chǎng)的能力,在系統(tǒng)內(nèi)部處理工作要有提示,盡量把主動(dòng)權(quán)讓給用戶[5]。工程利用V isual Studio 2005平臺(tái)進(jìn)行開(kāi)發(fā),選擇基于對(duì)話框結(jié)構(gòu)模式設(shè)計(jì),并且要求Window s Sockets支持和ActiveX控件支持。根據(jù)系統(tǒng)分析,需要5個(gè)按鈕控件(Button Control)、1個(gè)進(jìn)度條控件(Slider Control)、1個(gè)樹(shù)目錄控件(Tree Control)和1個(gè)圖表控件(Picture Control)。系統(tǒng)主界面如圖4所示。

圖4 系統(tǒng)主界面

完成控件的拖放后,拖動(dòng)各個(gè)控件調(diào)整其布局,并對(duì)其屬性和功能進(jìn)行完善,實(shí)現(xiàn)網(wǎng)絡(luò)收音機(jī)的基本功能。

結(jié) 語(yǔ)

本文基于Windows CE系統(tǒng)實(shí)現(xiàn)的嵌入式實(shí)體網(wǎng)絡(luò)收音機(jī),內(nèi)嵌Wi-Fi技術(shù),充分利用Windows CE系統(tǒng)資源實(shí)現(xiàn)訪問(wèn)網(wǎng)絡(luò)電臺(tái)并獲取音頻信息,下載播放并實(shí)現(xiàn)網(wǎng)絡(luò)收音功能。它將電子信息技術(shù)融入傳統(tǒng)家電設(shè)備中,有利于數(shù)字化和網(wǎng)絡(luò)技術(shù)更廣泛地深入家庭生活。

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

[2]薛大龍,陳世帝,王韻.Windows CE嵌入式系統(tǒng)開(kāi)發(fā)從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2008.

[3]北京弘明陽(yáng)科技有限公司.網(wǎng)絡(luò)收音機(jī)介紹[OL].2008[2010-07].http://www.wifiradio.cn/dmp.htm.

[4]付博文,張勝男,牛連強(qiáng),等.實(shí)時(shí)傳輸協(xié)議在流媒體中的應(yīng)用[J].沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2006(2).

[5]楊培添.軟件界面設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.[6]路錦正,周冬梅.V isual C++音頻/視頻處理技術(shù)及工程實(shí)踐[M].北京:電子工業(yè)出版社,2009.

猜你喜歡
嵌入式系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 中文字幕亚洲电影| 国产乱人伦偷精品视频AAA| 国产成人精品18| 国产精品免费电影| 制服丝袜 91视频| 国产精品无码制服丝袜| 亚洲视频二| AV不卡国产在线观看| 免费女人18毛片a级毛片视频| 亚洲欧美成aⅴ人在线观看| 最新日韩AV网址在线观看| 五月激情综合网| 亚洲综合欧美在线一区在线播放| 国产福利在线免费| 五月天久久综合| 欧美精品亚洲二区| 免费国产一级 片内射老| 日本午夜影院| 亚洲欧美精品一中文字幕| 中文字幕伦视频| 亚洲av日韩av制服丝袜| 成年人福利视频| 国产精品嫩草影院av| 精品人妻系列无码专区久久| 色婷婷视频在线| 国产成人a在线观看视频| 中文字幕中文字字幕码一二区| 亚洲精品麻豆| 亚洲精品视频免费| 欧美日本在线观看| 99re在线视频观看| 日韩在线2020专区| 人妻21p大胆| 亚洲丝袜第一页| 久久综合干| 午夜福利在线观看成人| 午夜影院a级片| 久草视频中文| 久久国产精品嫖妓| 99精品福利视频| 欧美色图久久| 亚洲欧美日韩综合二区三区| 91久久性奴调教国产免费| 九色免费视频| 午夜啪啪网| 亚洲无线国产观看| 婷婷亚洲视频| 妇女自拍偷自拍亚洲精品| 欧美第二区| 久久综合亚洲鲁鲁九月天| 久久99精品久久久久久不卡| 精品一区二区三区水蜜桃| 国产一级毛片网站| av在线无码浏览| 91免费片| v天堂中文在线| 欧美在线中文字幕| 久久无码av一区二区三区| 美女潮喷出白浆在线观看视频| 色综合婷婷| 亚洲精品亚洲人成在线| 亚洲黄色成人| 日本道综合一本久久久88| 日本人又色又爽的视频| 试看120秒男女啪啪免费| 亚洲国产成人久久精品软件| 无码AV动漫| 91在线无码精品秘九色APP| 色妞永久免费视频| 毛片视频网| 在线a网站| 全午夜免费一级毛片| 亚洲国产中文在线二区三区免| 伊人网址在线| 国产又爽又黄无遮挡免费观看 | 国产一级精品毛片基地| 欧美在线导航| 中文精品久久久久国产网址| 国产成人久久综合777777麻豆| 国产精品欧美激情| 久久成人国产精品免费软件 | 欧美午夜视频在线|