www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于Windows CE的嵌入式網(wǎng)絡收音機

   摘要: 針對國內(nèi)嵌入式實體網(wǎng)絡收音機的發(fā)展現(xiàn)狀,提出一種低成本、多功能網(wǎng)絡收音機實現(xiàn)方案,該方案以Samsung 公司的ARM920T內(nèi)核芯片S3C2440A為硬件平臺,以Windows CE操作系統(tǒng)為核心,通過網(wǎng)絡連接訪問國內(nèi)外網(wǎng)絡電臺并獲取音頻信息,下載播放并實現(xiàn)網(wǎng)絡收音功能。

  引言

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

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

  1  系統(tǒng)硬件設計

  系統(tǒng)結(jié)構(gòu)框圖如圖1所示。系統(tǒng)包括核心處理器S3C2440A、支持802.11b/g的USB無線網(wǎng)卡、快速以太網(wǎng)控制處理器DM9000網(wǎng)卡、I2S接口音頻編解碼芯片UDA1341聲卡、觸摸屏、存儲器、USB外設和電源管理模塊等。


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

  S3C2440A最高頻率可達400 MHz,其包含有豐富的外圍設備資源,支持SDRAM的外部存儲控制器、AC?97編解碼器接口和TFT/STN液晶觸摸屏接口。這些特性為系統(tǒng)的硬件電路設計提供了很多便利,能夠在體積更小的單系統(tǒng)封裝內(nèi)提供更強大的運算與存儲能力,同時減少產(chǎn)品使用的組件數(shù)量,讓制造商開發(fā)出新型與獨特功能設計的產(chǎn)品。

  2  軟件系統(tǒng)設計

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

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

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

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


圖2  Windows CE操作系統(tǒng)定制流程[!--empirenews.page--]

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

  Windows CE操作系統(tǒng)已為其中大部分硬件外設提供了可供參考的Bootloader程序、OAL程序和驅(qū)動源代碼,為系統(tǒng)設計開發(fā)提供了樣本程序,可有效提高開發(fā)的工作效率,減少重復性工作。

  針對本系統(tǒng)中采用的核心處理器S3C2440A,BSP(板級支持包)可由Samsung公司提供的SMDK2440BSP包克隆生成,因此源代碼配置文件只需要對系統(tǒng)新添加的模塊進行設置,完整編譯即可完成。

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

  [HKEY_LOCAL_MACHINECommVNUWLC5]

  "DisplayName"="VNT VT6656 Wireless LAN"

  "Group"="NDIS"

  "ImagePath"="VNUWLC5.dll"

  添加對以太網(wǎng)控制器DM9000的支持:

  [HKEY_LOCAL_MACHINECommDM9CE]

  "DisplayName"="DM9000 ISA Fast Ethernet Adapter"

  "Group"="NDIS"

  "ImagePath"="dm9isa.dll"

  2.2  SDK的生成

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

  2.3  應用程序開發(fā)

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


圖3  系統(tǒng)設計框圖

  為了盡可能接收到所有網(wǎng)絡電臺,系統(tǒng)設計兼容兩種傳輸協(xié)議。針對系統(tǒng)的特殊性,適用于該方案的系統(tǒng)設計框圖如圖3所示。

  系統(tǒng)通過解析用戶輸入的網(wǎng)絡電臺網(wǎng)址,分辨出所訪問電臺支持的流媒體傳輸協(xié)議,針對兩類不同協(xié)議作出實時響應,接收數(shù)據(jù)并播放。

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

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

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

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

[!--empirenews.page--]

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

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

 ?、?由RTSPClient對象向服務器發(fā)送OPTION消息并接收回應。

  ③ 發(fā)送DESCRIBE請求,并解析回應。

 ?、?根據(jù)SDPDescription在MediaSession中創(chuàng)建MediaSession對象。

 ?、?配置所有子會話對象。

  ⑥ 由RTSPClient對象向服務器發(fā)送SETUP消息并接收回應。

  ⑦ 由RTSPClient對象向服務器發(fā)送PLAY消息并接收回應。

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

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

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

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

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

  2.4  界面設計

  人機界面設計首先要確立用戶類型。嵌入式實體網(wǎng)絡收音機定位于信息家電市場,因此界面設計要求操作簡單、信息量最少以減小用戶記憶負擔,要有恢復出錯現(xiàn)場的能力,在系統(tǒng)內(nèi)部處理工作要有提示,盡量把主動權讓給用戶。

  工程利用Visual Studio 2005平臺進行開發(fā),選擇基于對話框結(jié)構(gòu)模式設計,并且要求Windows Sockets支持和ActiveX控件支持。根據(jù)系統(tǒng)分析,需要5個按鈕控件(Button Control)、1個進度條控件(Slider Control)、1個樹目錄控件(Tree Control)和1個圖表控件(Picture Control)。系統(tǒng)主界面如圖4所示。


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

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

  結(jié)語

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


 

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉