摘 要: 提出了一種以FS1020為主控芯片、AS3654為電源管理芯片、FS1110為三波段雙模射頻接收器芯片,基于UPnP網(wǎng)絡(luò)收音機的設(shè)計方案,給出了該收音機的總體結(jié)構(gòu)。詳細(xì)介紹了該收音機的硬件和軟件系統(tǒng),并對該網(wǎng)絡(luò)收音機做了簡單的測試和分析。
關(guān)鍵詞: UPnP;網(wǎng)絡(luò)收音機;FS1020;嵌入式系統(tǒng)
網(wǎng)絡(luò)收音機的主要功能是播放因特網(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)設(shè)備的智能互聯(lián)互通,使用UPnP協(xié)議不需要設(shè)備驅(qū)動程序,因此使用UPnP建立的網(wǎng)絡(luò)是介質(zhì)無關(guān)的,它可以運行在幾乎所有的操作系統(tǒng)平臺之上,可以使用C、C++、JAVA和VB等開發(fā)語言,使得在辦公室、家庭和其他公共場所方便地構(gòu)建設(shè)備相互聯(lián)通的網(wǎng)絡(luò)環(huán)境[4-6]。UPnP媒體播放器及網(wǎng)絡(luò)收音機是一個內(nèi)置UPnP協(xié)議的嵌入式音頻流媒體播放器。它可以連接任何內(nèi)置UPnP服務(wù)器的設(shè)備,比如PC或者MHG等。通過局域網(wǎng)連接UPnP服務(wù)器時,設(shè)備的功能是作為UPnP媒體播放器;當(dāng)通過因特網(wǎng)連接網(wǎng)絡(luò)電臺的多媒體服務(wù)器時,此時該設(shè)備作為網(wǎng)絡(luò)收音機工作。圖1所示為UPnP媒體播放器及網(wǎng)絡(luò)收音機的兩種工作模式。
主控芯片F(xiàn)S1020主要針對數(shù)字音頻播放器設(shè)計,內(nèi)置一顆64 bit的DSP和一顆16 bit的RISC,可以支持4個獨立硬件線程。FS1020有以下一些主要功能:On-chip CXO只需要非常低的外部晶振;DAB信道解碼(1.8 Mb/s)無需外置SDRAM;可選的針對內(nèi)核的片上電源供應(yīng)切換模式SMPS(Switched-Mode Power Supply);通過整合混合信號組件(ADC、PLL、Power-on reset、DCXO、SMPS和stereo DAC)獲得最小數(shù)量的系統(tǒng)組件;通過高配置SPI或者并行DVB-SP接口,無縫連接媒體處理器,從而獲得DMB-T的全解碼;通過串行口可以把服務(wù)數(shù)據(jù)傳送到主控端(SCP、SPI、UART)。前面板按鍵采用電容式按鍵CapSense技術(shù)。這種技術(shù)在便攜式播放器中大量使用(如iPod),使用靈活、壽命長且外觀美觀。WiFi模塊muRata SP-8HGC-D支持802.11b/g,封裝小,性能穩(wěn)定。電源控制采用高度集成電源供應(yīng)和監(jiān)控,電池管理和充電的解決方案AS3654整合了系統(tǒng)電源管理所需的一切資源,如時鐘、中斷、電壓和溫度監(jiān)控等。
2 軟件設(shè)計
網(wǎng)絡(luò)收音機軟件設(shè)計中含有UPnP控制點模塊、UPnP播放器模塊和一個網(wǎng)絡(luò)電臺門戶網(wǎng)站接口模塊(Portal Interface)。這樣,網(wǎng)絡(luò)收音機實際上就是一個以網(wǎng)絡(luò)電臺門戶網(wǎng)站(Portal)為服務(wù)器的UPnP播放器。圖3為網(wǎng)絡(luò)收音機的系統(tǒng)結(jié)構(gòu)圖。
網(wǎng)絡(luò)電臺門戶網(wǎng)站接口模塊提供UPnP控制點和系統(tǒng)控制模塊對網(wǎng)絡(luò)電臺門戶網(wǎng)站的接口,主要提供設(shè)備注冊、登錄、認(rèn)證、目錄服務(wù)器的瀏覽和搜索以及報告門戶網(wǎng)站各種狀態(tài)的功能。流媒體傳輸控制模塊可以支持全球10 000多個網(wǎng)絡(luò)電臺所使用的絕大部分的流媒體傳輸協(xié)議。工作流程如下:(1)UPnP控制點通過網(wǎng)絡(luò)電臺門戶網(wǎng)站接口登錄門戶網(wǎng)站,認(rèn)證通過后,門戶網(wǎng)站會把預(yù)先定義好的設(shè)備描述文檔回傳給UPnP控制點,設(shè)備發(fā)現(xiàn)工作完成;(2)網(wǎng)絡(luò)收音機通過預(yù)先定義好的接口在目錄服務(wù)器中瀏覽和搜索網(wǎng)絡(luò)電臺。目錄服務(wù)器是一個包含全球10 000多個電臺詳細(xì)信息的數(shù)據(jù)庫,包括URL、編碼類型、帶寬、流媒體服務(wù)器類型等;(3)如果選定播放某一個電臺,網(wǎng)絡(luò)電臺門戶網(wǎng)站會把電臺URL等相關(guān)信息回傳給UPnP控制點;(4)UPnP控制點根據(jù)回傳的信息,啟動帶外傳輸,UPnP媒體播放器開始解碼播放網(wǎng)絡(luò)電臺傳來的音頻流媒體數(shù)據(jù)。下面重點介紹幾個模塊的軟件實現(xiàn)。
2.1 瀏覽
瀏覽(Browse)是網(wǎng)絡(luò)收音機最重要的功能之一。其功能是從網(wǎng)絡(luò)電臺門戶網(wǎng)站上按照UPnP標(biāo)準(zhǔn)格式下載特定的節(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:一個描述要搜索什么的字符串。特定的搜索標(biāo)準(zhǔn)是所能支持的搜索標(biāo)準(zhǔn)的一個子集。服務(wù)器所支持的搜索集合可以通過GetSearchCriteria請求獲得。
濾波器:一個逗號分割的屬性列表,描述決定什么數(shù)據(jù)會在反饋中被返回。強制域是總被返回的(如標(biāo)題)。
StartingIndex:一個以零開始的偏移,描述結(jié)構(gòu)中第一個返回值在搜索結(jié)構(gòu)中的偏移量。
RequestedCount:返回結(jié)果的數(shù)目。0表示全部。
SortCriteria:一個逗號分割的屬性列表,描述如何排列結(jié)果。
盡管UPnP AV提供了廣泛的標(biāo)準(zhǔn)字符串,但Portal只支持其中有限的一部分。
2.3 喜好節(jié)目管理
喜好節(jié)目管理主要有增加、刪除和清除喜好節(jié)目列表功能,具體功能實現(xiàn)如下:
(1)增加喜好節(jié)目(Add Favorite)
這個命令可以在服務(wù)器上喜歡節(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)
這個命令可以在服務(wù)器上喜歡節(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)
這個命令可以在服務(wù)器上清除喜歡節(jié)目列表。
X_ClearFav要求用HTTP POST命令,形式如下:
POST http://Portal.pure.com/ContentDirectory/Control
參數(shù)如下:
action=X_ClearFav
3 測試結(jié)果
測試環(huán)境如下:本地?zé)o線路由器:Belklin Wireless G Router;因特網(wǎng)連接類型:ADSL(帶寬2 Mb/s)。
測試結(jié)果:可以鏈接播放全球絕大部分的網(wǎng)絡(luò)收音機電臺。但是個別電臺聲音不連續(xù)(如英國的Purple Radio),大概每10 s就有一個斷音。初步分析是因為這個電臺碼率較高(比特率是128 kb/s),而電臺所在位置較遠(yuǎn),時延太大(大約500 ms),因此導(dǎo)致接收端緩存器下溢。需要進一步加以改進。
圖5所示為英國BBC廣播電臺的網(wǎng)絡(luò)收音機測試示例。
參考文獻
[1] 黃興嘉.基于ARM嵌入式系統(tǒng)的電子移動視聽板的開發(fā)與研究[D].長春:吉林大學(xué),2004.
[2] 卓碧華,陳良銀,胡大裟,等.基于ARM內(nèi)核的網(wǎng)絡(luò)收音機的設(shè)計與實現(xiàn)[J].西南民族大學(xué)學(xué)報(自然科學(xué)版),2007,33(4):188-191.
[3] 袁海林.基于ARM的嵌入式網(wǎng)絡(luò)收音機的設(shè)計[J].微計算機信息,2007,23(20):129-131.
[4] 謝國.基于UPnP協(xié)議的AV體系架構(gòu)的研究與實現(xiàn)[D].上海:華東師范大學(xué),2007.
[5] 張群哲.基于UPnP的數(shù)字家庭研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2004.
[6] 范新運.基于UPnP的家庭智能系統(tǒng)研究與實踐[D].西安:西北工業(yè)大學(xué),2005.