《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于UPnP網(wǎng)絡收音機的設計與實現(xiàn)
基于UPnP網(wǎng)絡收音機的設計與實現(xiàn)
來源:微型機與應用2013年第10期
韓云龍
(中國礦業(yè)大學(北京) 機電與信息工程學院,,北京100083)
摘要: 提出了一種以FS1020為主控芯片,、AS3654為電源管理芯片、FS1110為三波段雙模射頻接收器芯片,,基于UPnP網(wǎng)絡收音機的設計方案,,給出了該收音機的總體結構,。詳細介紹了該收音機的硬件和軟件系統(tǒng),并對該網(wǎng)絡收音機做了簡單的測試和分析,。
Abstract:
Key words :

摘  要: 提出了一種以FS1020為主控芯片,、AS3654為電源管理芯片、FS1110為三波段雙模射頻接收器芯片,,基于UPnP網(wǎng)絡收音機的設計方案,,給出了該收音機的總體結構。詳細介紹了該收音機的硬件和軟件系統(tǒng),,并對該網(wǎng)絡收音機做了簡單的測試和分析,。
關鍵詞: UPnP;網(wǎng)絡收音機,;FS1020,;嵌入式系統(tǒng)

    網(wǎng)絡收音機的主要功能是播放因特網(wǎng)上的直播或者點播的音頻流,可以支持WMA,、Real Audio,、MP3等多種音頻格式[1-3]??梢灾С值牧髅襟w協(xié)議有:實時流媒體協(xié)議RTSP,、流媒體傳輸協(xié)議RTP、Real Works數(shù)據(jù)傳輸協(xié)議RDT,、超文本傳輸協(xié)議HTTP等,。可以支持根據(jù)國家,、數(shù)據(jù)速率和年齡來選擇直播或者點播的節(jié)目,。通用即插即用UPnP(Universal Plug and Play)主要用于實現(xiàn)設備的智能互聯(lián)互通,使用UPnP協(xié)議不需要設備驅動程序,,因此使用UPnP建立的網(wǎng)絡是介質無關的,,它可以運行在幾乎所有的操作系統(tǒng)平臺之上,可以使用C,、C++,、JAVA和VB等開發(fā)語言,使得在辦公室,、家庭和其他公共場所方便地構建設備相互聯(lián)通的網(wǎng)絡環(huán)境[4-6],。UPnP媒體播放器及網(wǎng)絡收音機是一個內置UPnP協(xié)議的嵌入式音頻流媒體播放器,。它可以連接任何內置UPnP服務器的設備,比如PC或者MHG等,。通過局域網(wǎng)連接UPnP服務器時,,設備的功能是作為UPnP媒體播放器;當通過因特網(wǎng)連接網(wǎng)絡電臺的多媒體服務器時,,此時該設備作為網(wǎng)絡收音機工作,。圖1所示為UPnP媒體播放器及網(wǎng)絡收音機的兩種工作模式。

    主控芯片F(xiàn)S1020主要針對數(shù)字音頻播放器設計,,內置一顆64 bit的DSP和一顆16 bit的RISC,,可以支持4個獨立硬件線程。FS1020有以下一些主要功能:On-chip CXO只需要非常低的外部晶振,;DAB信道解碼(1.8 Mb/s)無需外置SDRAM,;可選的針對內核的片上電源供應切換模式SMPS(Switched-Mode Power Supply);通過整合混合信號組件(ADC,、PLL,、Power-on reset、DCXO,、SMPS和stereo DAC)獲得最小數(shù)量的系統(tǒng)組件,;通過高配置SPI或者并行DVB-SP接口,無縫連接媒體處理器,,從而獲得DMB-T的全解碼,;通過串行口可以把服務數(shù)據(jù)傳送到主控端(SCP、SPI,、UART),。前面板按鍵采用電容式按鍵CapSense技術。這種技術在便攜式播放器中大量使用(如iPod),,使用靈活、壽命長且外觀美觀,。WiFi模塊muRata SP-8HGC-D支持802.11b/g,,封裝小,性能穩(wěn)定。電源控制采用高度集成電源供應和監(jiān)控,,電池管理和充電的解決方案AS3654整合了系統(tǒng)電源管理所需的一切資源,,如時鐘、中斷,、電壓和溫度監(jiān)控等,。
2 軟件設計
    網(wǎng)絡收音機軟件設計中含有UPnP控制點模塊、UPnP播放器模塊和一個網(wǎng)絡電臺門戶網(wǎng)站接口模塊(Portal Interface),。這樣,,網(wǎng)絡收音機實際上就是一個以網(wǎng)絡電臺門戶網(wǎng)站(Portal)為服務器的UPnP播放器。圖3為網(wǎng)絡收音機的系統(tǒng)結構圖。

    網(wǎng)絡電臺門戶網(wǎng)站接口模塊提供UPnP控制點和系統(tǒng)控制模塊對網(wǎng)絡電臺門戶網(wǎng)站的接口,,主要提供設備注冊,、登錄、認證,、目錄服務器的瀏覽和搜索以及報告門戶網(wǎng)站各種狀態(tài)的功能,。流媒體傳輸控制模塊可以支持全球10 000多個網(wǎng)絡電臺所使用的絕大部分的流媒體傳輸協(xié)議。工作流程如下:(1)UPnP控制點通過網(wǎng)絡電臺門戶網(wǎng)站接口登錄門戶網(wǎng)站,,認證通過后,,門戶網(wǎng)站會把預先定義好的設備描述文檔回傳給UPnP控制點,設備發(fā)現(xiàn)工作完成,;(2)網(wǎng)絡收音機通過預先定義好的接口在目錄服務器中瀏覽和搜索網(wǎng)絡電臺,。目錄服務器是一個包含全球10 000多個電臺詳細信息的數(shù)據(jù)庫,包括URL,、編碼類型,、帶寬、流媒體服務器類型等,;(3)如果選定播放某一個電臺,,網(wǎng)絡電臺門戶網(wǎng)站會把電臺URL等相關信息回傳給UPnP控制點;(4)UPnP控制點根據(jù)回傳的信息,,啟動帶外傳輸,,UPnP媒體播放器開始解碼播放網(wǎng)絡電臺傳來的音頻流媒體數(shù)據(jù)。下面重點介紹幾個模塊的軟件實現(xiàn),。
2.1 瀏覽
    瀏覽(Browse)是網(wǎng)絡收音機最重要的功能之一,。其功能是從網(wǎng)絡電臺門戶網(wǎng)站上按照UPnP標準格式下載特定的節(jié)目列表。瀏覽功能的執(zhí)行順序圖如圖4所示,。

2.2 搜索
    搜索的動作與瀏覽的動作類似,,都需要以一個ContainerID開始。搜索請求通過HTTP GET來實現(xiàn),,其使用格式如下:
    GET http://Portal.pure.com/ContentDirectory/Control?action=Search&ContainerID={value}&SearchCriteria={value}&Filter={value}&StartingIndex={value}&RequestedCount={value}&SortCriteria={value}
    這個命名需要以下參數(shù):
    ContainerID:開始搜索的包容器的ID,,如果是0就從根目錄開始搜索。
    SearchCriteria:一個描述要搜索什么的字符串,。特定的搜索標準是所能支持的搜索標準的一個子集,。服務器所支持的搜索集合可以通過GetSearchCriteria請求獲得。
    濾波器:一個逗號分割的屬性列表,,描述決定什么數(shù)據(jù)會在反饋中被返回,。強制域是總被返回的(如標題)。
    StartingIndex:一個以零開始的偏移,,描述結構中第一個返回值在搜索結構中的偏移量,。
    RequestedCount:返回結果的數(shù)目,。0表示全部。
    SortCriteria:一個逗號分割的屬性列表,,描述如何排列結果,。
    盡管UPnP AV提供了廣泛的標準字符串,但Portal只支持其中有限的一部分,。
2.3 喜好節(jié)目管理
    喜好節(jié)目管理主要有增加,、刪除和清除喜好節(jié)目列表功能,具體功能實現(xiàn)如下:
    (1)增加喜好節(jié)目(Add Favorite)
    這個命令可以在服務器上喜歡節(jié)目列表中增加喜歡的節(jié)目,。
    X_AddFav要求用HTTP POST命令,,形式如下:
    POST http://Portal.pure.com/ContentDirectory/Control
參數(shù)如下:
    action=X_AddFav&pure:Bookmark={value}&ParentID={value}
    (2)刪除喜好節(jié)目(Remove Favorite)
    這個命令可以在服務器上喜歡節(jié)目列表中刪除喜歡的節(jié)目。
    X_RemoveFav要求用HTTP POST命令,,一般的命令格式如下:
    POST http://Portal.pure.com/ContentDirectory/Control
參數(shù)如下:
    action=X_RemoveFav&pure:Bookmark={value}&ParentID={value}
    (3)清除喜好節(jié)目列表(Clear Favorite List)
    這個命令可以在服務器上清除喜歡節(jié)目列表,。
    X_ClearFav要求用HTTP POST命令,形式如下:
    POST http://Portal.pure.com/ContentDirectory/Control
參數(shù)如下:
    action=X_ClearFav
3 測試結果
    測試環(huán)境如下:本地無線路由器:Belklin Wireless G Router,;因特網(wǎng)連接類型:ADSL(帶寬2 Mb/s),。
    測試結果:可以鏈接播放全球絕大部分的網(wǎng)絡收音機電臺。但是個別電臺聲音不連續(xù)(如英國的Purple Radio),,大概每10 s就有一個斷音,。初步分析是因為這個電臺碼率較高(比特率是128 kb/s),而電臺所在位置較遠,,時延太大(大約500 ms),,因此導致接收端緩存器下溢。需要進一步加以改進,。
    圖5所示為英國BBC廣播電臺的網(wǎng)絡收音機測試示例,。

參考文獻
[1] 黃興嘉.基于ARM嵌入式系統(tǒng)的電子移動視聽板的開發(fā)與研究[D].長春:吉林大學,2004.
[2] 卓碧華,,陳良銀,,胡大裟,等.基于ARM內核的網(wǎng)絡收音機的設計與實現(xiàn)[J].西南民族大學學報(自然科學版),,2007,,33(4):188-191.
[3] 袁海林.基于ARM的嵌入式網(wǎng)絡收音機的設計[J].微計算機信息,2007,,23(20):129-131.
[4] 謝國.基于UPnP協(xié)議的AV體系架構的研究與實現(xiàn)[D].上海:華東師范大學,2007.
[5] 張群哲.基于UPnP的數(shù)字家庭研究[D].長沙:國防科學技術大學,,2004.
[6] 范新運.基于UPnP的家庭智能系統(tǒng)研究與實踐[D].西安:西北工業(yè)大學,,2005.

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載,。