當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 為了能夠?qū)崿F(xiàn)傳統(tǒng)的家電影音設(shè)備與網(wǎng)絡(luò)媒體服務(wù)的互連互通,滿足人們對(duì)數(shù)字媒體資源家庭網(wǎng)絡(luò)共享的要求,提出了一種基于DLNA標(biāo)準(zhǔn)的數(shù)字媒體適配器的系統(tǒng)設(shè)計(jì)方案,并完成了系統(tǒng)的軟硬件架構(gòu)設(shè)計(jì)、以及

為了能夠?qū)崿F(xiàn)傳統(tǒng)的家電影音設(shè)備與網(wǎng)絡(luò)媒體服務(wù)的互連互通,滿足人們對(duì)數(shù)字媒體資源家庭網(wǎng)絡(luò)共享的要求,提出了一種基于DLNA標(biāo)準(zhǔn)數(shù)字媒體適配器的系統(tǒng)設(shè)計(jì)方案,并完成了系統(tǒng)的軟硬件架構(gòu)設(shè)計(jì)、以及基于UP-NP協(xié)議棧中間層的軟件設(shè)計(jì)。該系統(tǒng)的硬件部分采用AmlogIC公司的AML 8726-M芯片,構(gòu)成可組合的模塊化硬件平臺(tái),軟件部分完成對(duì)內(nèi)核的裁剪以及硬件驅(qū)動(dòng),中間層基于UPNP協(xié)議棧及UPNP AV架構(gòu),以嵌入式linux為操作系統(tǒng)進(jìn)行編程,能夠?qū)崿F(xiàn)DLNA設(shè)備間的零配置連接,實(shí)現(xiàn)媒體資源的輸出播放。

隨著數(shù)字媒體的流行,大量的媒體資源已出現(xiàn)在家庭之中。然而,它們并不能相互合作,更困難的是不能將電腦中的資源應(yīng)用于其他設(shè)備。DLNA的出現(xiàn),旨在連接有線和無線網(wǎng)絡(luò),實(shí)現(xiàn)電腦、移動(dòng)設(shè)備之間的媒體資源相互連通,實(shí)現(xiàn)任何時(shí)間,任何地點(diǎn),無限制的分享音樂、照片以及視頻等。DLNA并不是創(chuàng)造了一種新的技術(shù),而是制定了一種解決問題的辦法,一種大家都需要遵守的規(guī)則。
數(shù)字媒體適配器的主要價(jià)值是可以連接計(jì)算機(jī)或手機(jī)中的音頻、視頻文件,經(jīng)過數(shù)字媒體適配器的解碼,輸出到其他的展示設(shè)備。然而關(guān)鍵問題是各種設(shè)備之間如何使用一種公共的標(biāo)準(zhǔn)協(xié)議來實(shí)現(xiàn)互相連接,從而共享家庭網(wǎng)絡(luò)中的媒體資源。另一方面,如何在低成本的前提下,實(shí)現(xiàn)高速率低功耗。隨著數(shù)字媒體內(nèi)容種類及數(shù)量的增多,人們迫切的等待著更加成熟的數(shù)字家庭技術(shù)方案,以更好地服務(wù)數(shù)字生活。

1 系統(tǒng)整體設(shè)計(jì)
本系統(tǒng)整體上采用了ARM-Linux嵌入式體系,被廣泛的應(yīng)用于數(shù)字媒體設(shè)備中。圖1表明系統(tǒng)整體整體框架,包含了系統(tǒng)軟、硬件兩大部分的層次結(jié)構(gòu)。其中UPNP協(xié)議以及UPNP AV架構(gòu)作為整個(gè)系統(tǒng)最重要的構(gòu)成,實(shí)現(xiàn)了設(shè)備之間互通互控的主體功能,也是文中重要的研究部分。

2 數(shù)字媒體適配器的硬件設(shè)計(jì)

數(shù)字媒體適配器實(shí)現(xiàn)的主要功能是網(wǎng)絡(luò)流媒體數(shù)據(jù)接收、流媒體解碼、音視頻流格式轉(zhuǎn)換以及對(duì)流媒體服務(wù)的控制(如媒體內(nèi)容選擇、播放、暫停等)。硬件設(shè)計(jì)上,文中選用了Amlogic公司的AML 8726-M作為主控芯片,專為移動(dòng)網(wǎng)絡(luò)互聯(lián)設(shè)備、平板電腦、機(jī)頂盒以及電視應(yīng)用設(shè)備而設(shè)計(jì)。

系統(tǒng)采用ARM Cortex-A9單核架構(gòu),主頻800 MHz,大容量緩存提高了系統(tǒng)性能。另外配有MedioCPU完成音頻解碼,雙DSP硬件解碼器可以解碼所有的視頻格式,包括H.264,MVC,MPEG-1/2/4,VC-1/WMV,AVS,RealVideo以及MJPEG。

系統(tǒng)在主控芯片的基礎(chǔ)上,還配有豐富的輸出接口和外圍設(shè)備模塊。外圍存儲(chǔ)包括64 M字節(jié)的SDRAM,用來處理數(shù)據(jù)的外部緩存;通過NAND FLASH接口外接512 M大容量存儲(chǔ)芯片,用來存儲(chǔ)啟動(dòng)引導(dǎo)程序、U-boot、內(nèi)核以及文件系統(tǒng);配有Mini SD接口,為媒體資源提供更大的存儲(chǔ)空間。網(wǎng)絡(luò)連接方面,總線連接網(wǎng)絡(luò)接口芯片,作為讀取接收流媒體的入口;WIFI無線網(wǎng)卡,實(shí)現(xiàn)無線上網(wǎng)功能;配有4個(gè)USB接口,讀入移動(dòng)存儲(chǔ)設(shè)備中的媒體內(nèi)容。此外,系統(tǒng)配有3.5-mm標(biāo)準(zhǔn)音頻輸出接口和HDMI高清接口,支持多格式的音視頻媒體輸出。


系統(tǒng)通過有線或無線連接網(wǎng)絡(luò),與手機(jī)或電腦互聯(lián)提供控制端;通過HDMI高清接口連接電視,作為顯示端。外存中的多媒體文件通過SDRAM緩沖后,將視頻流和音頻流進(jìn)行分解,在主控芯片解碼完成后,由音/視頻接口輸出。

3 數(shù)字媒體適配器軟件設(shè)計(jì)

本系統(tǒng)作為DLNA產(chǎn)品,符合其開發(fā)標(biāo)準(zhǔn)。表1中列出了DLNA互操作架構(gòu)下的關(guān)鍵技術(shù),系統(tǒng)功能實(shí)現(xiàn)所需技術(shù)也如表1所列。軟件程序采用C語言編寫,利用Intel SDKfor UPNPDevICes的庫文件代碼一起進(jìn)行交叉編譯成ARM平臺(tái)Linux動(dòng)態(tài)連接庫文件,供上層應(yīng)用調(diào)用。開發(fā)主機(jī)采取在VMWare中安裝Linux虛擬機(jī)(Ubuntu11.10),以及arm-linux-gCC4.3.2編譯器作為開發(fā)工具鏈。



3.1 控制點(diǎn)軟件模塊設(shè)計(jì)

數(shù)字媒體適配器作為數(shù)字家庭中的重要設(shè)備,能夠根據(jù)用戶提供的某項(xiàng)服務(wù),在設(shè)備間實(shí)現(xiàn)互操作,包括設(shè)備間的通信能力以及交換有效信息的能力??刂泣c(diǎn)(Control Point)作為UPNP AV網(wǎng)絡(luò)中最重要的節(jié)點(diǎn),負(fù)責(zé)在網(wǎng)絡(luò)中搜索媒體服務(wù)器和媒體渲染器,發(fā)現(xiàn)用戶所需要的媒體信息,協(xié)調(diào)兩者之間的交互操作。軟件采用模塊化設(shè)計(jì)思想,全局分為4個(gè)模塊;設(shè)備列表模塊、主控管理模塊、交互通信模塊以及UPNP協(xié)議模塊。圖3為控制點(diǎn)軟件模塊結(jié)構(gòu)圖。

1)設(shè)備列表模塊

設(shè)備列表模塊用來在網(wǎng)絡(luò)中實(shí)時(shí)監(jiān)聽、查找UPNP設(shè)備,對(duì)設(shè)備進(jìn)行添加和刪除,對(duì)設(shè)備表述的XML文件進(jìn)行解析,列表與設(shè)備之間一一對(duì)應(yīng)。此模塊的設(shè)計(jì)實(shí)現(xiàn)了設(shè)備信息的緩存處理。在設(shè)備列表中,包含所有控制點(diǎn)需要的設(shè)備信息和設(shè)置參數(shù);設(shè)備唯一的識(shí)別名稱、XML文件描述的網(wǎng)絡(luò)地址、基礎(chǔ)URL以及設(shè)備超時(shí)時(shí)間等。

2)主控管理模式

作為軟件模塊中的中樞部分,主控模塊基于UPNP協(xié)議模塊,與設(shè)備列表模塊與交互通信模塊均相連,完成的主要功能包括:管理設(shè)備緩存、處理客戶端命令、響應(yīng)設(shè)備請(qǐng)求、解析設(shè)備回應(yīng)。定義CTRlPoiNTCallbackEventHandlel()函數(shù)注冊(cè)UPNP消息回調(diào)函數(shù);接收到SSDP發(fā)現(xiàn)消息后,管理列表中的UPNP設(shè)備,如使用CtrtPointAddDevice()添加設(shè)備;調(diào)用CtrlPointHandleEvent()函數(shù)接收客戶端的消息,對(duì)消息進(jìn)行處理;使用CtrlPointHandleSubscribeUpdate()和StateUpdate()更新訂閱和狀態(tài)列表;調(diào)用CtrlPointSenDACtion()和CtrlPointSendActi onNumeiicArg()給網(wǎng)絡(luò)中的UPNP設(shè)備發(fā)送消息。

3)交互通信模塊

交互通信模塊連接了主控模塊與UPNP客戶端,實(shí)現(xiàn)設(shè)備與控制點(diǎn)之間的交互控制,負(fù)責(zé)與客戶端的通訊流程,完成服務(wù)端、渲染器以及控制點(diǎn)之間的交互操作。模塊首先確定了與UPNP客戶端的通信方式,定義Upnp Get ServerIpAddress()設(shè)定IP地址、UpnpGetServerProt()設(shè)定端口,使用CtrlPoinHandleGetVar()處理主控模塊發(fā)送過來的數(shù)據(jù)包,完成對(duì)命令的解析,調(diào)用CtrlPointCommandLoop()函數(shù)連續(xù)發(fā)送指令,使用CtrlPointProcessCommand()函數(shù)將指令傳送給主控模塊,完成對(duì)命令的解析和處理。

4)UPNP協(xié)議模塊

負(fù)責(zé)所有與UPNP協(xié)議有關(guān)的內(nèi)容。系統(tǒng)采用libupnp開發(fā)包、以UPNP庫作為底層協(xié)議,涵蓋UPNP協(xié)議所需要的API接口及庫函數(shù)。

5)UPNP客戶端

UPNP客戶端即系統(tǒng)輸出展示設(shè)備,包括電視、音響等。

3.2 系統(tǒng)軟件工作流程

根據(jù)DLNA產(chǎn)品開發(fā)標(biāo)準(zhǔn)中的關(guān)鍵技術(shù),其中“設(shè)備發(fā)現(xiàn)與控制”和“媒體管理”是系統(tǒng)實(shí)現(xiàn)的重要功能,軟件開發(fā)基于UPNP協(xié)議與UPNP AV協(xié)議架構(gòu)。下文分別說明了兩主要功能的具體實(shí)現(xiàn)。

3.2.1 設(shè)備發(fā)現(xiàn)與控制工作流程


設(shè)備在發(fā)現(xiàn)與控制技術(shù)部分,采用了UPNP協(xié)議棧架構(gòu)。設(shè)備在此部分主要完成初始化以及異步操作處理兩大主要功能。其軟件工作流程如圖4所示。


初始化操作包括初始化UPNP協(xié)議棧、注冊(cè)根設(shè)備以及初始化設(shè)備。系統(tǒng)調(diào)用函數(shù)UpnPINit()初始化協(xié)議棧,制定模塊根目錄,通過注冊(cè)根設(shè)備,實(shí)現(xiàn)設(shè)備與UPNP庫的關(guān)聯(lián)。設(shè)備以多播方式發(fā)布存在消息,進(jìn)入事件循環(huán)過程。當(dāng)監(jiān)聽器接收到設(shè)備發(fā)出的事件請(qǐng)求后,創(chuàng)建時(shí)間處理線程,回調(diào)UPNP事件處理函數(shù)進(jìn)行處理,隨后開始異步操作處理過程。
設(shè)備運(yùn)行期間,控制點(diǎn)會(huì)發(fā)送各種請(qǐng)求指令,處理這些異步請(qǐng)求就是設(shè)備最主要的工作。這些異步請(qǐng)求包含訂閱請(qǐng)求、取值請(qǐng)求和操作請(qǐng)求。訂閱請(qǐng)求訂閱了UPNP設(shè)備中服務(wù)狀態(tài)改變事件,訂閱成功后,一旦控制點(diǎn)的訂閱信息發(fā)生改變,系統(tǒng)都會(huì)得到及時(shí)的通知。取值請(qǐng)求用于返回服務(wù)狀態(tài)變量的當(dāng)前值,設(shè)備監(jiān)聽到控制點(diǎn)的取值請(qǐng)求后,會(huì)激活事件處理回調(diào)函數(shù),將返回的當(dāng)前值提供給接口發(fā)送給控制點(diǎn)。操作請(qǐng)求用于改變服務(wù)狀態(tài)變量值,設(shè)備從請(qǐng)求文檔中得到操作所需的相關(guān)參數(shù),建立響應(yīng)文檔后通知控制點(diǎn)設(shè)備。
3.2.2 媒體管理工作流程
系統(tǒng)媒體管理部分基于UPNP AV架構(gòu),設(shè)備用來連接一個(gè)或多個(gè)媒體服務(wù)器,允許控制點(diǎn)在家庭網(wǎng)絡(luò)內(nèi)對(duì)媒體資源(例如音頻、視頻、圖片等)進(jìn)行控制。


圖5為媒體管理工作流程。系統(tǒng)進(jìn)程開始于控制點(diǎn)對(duì)媒體服務(wù)器的發(fā)現(xiàn),當(dāng)選擇好媒體內(nèi)容進(jìn)行播放控制時(shí),首先要對(duì)媒體資源進(jìn)行數(shù)據(jù)分析,控制點(diǎn)確定以何種傳輸協(xié)議以及數(shù)據(jù)格式進(jìn)行數(shù)據(jù)傳輸,所有傳輸參數(shù)建立后,控制點(diǎn)通過調(diào)用Connection Manager::PrepareFor Conection()發(fā)布通知,控制媒體流。隨后服務(wù)器或渲染器將向控制點(diǎn)返回一個(gè)AVTransport InstanclID,用來控制媒體內(nèi)容的傳輸,例如播放、暫停等。同樣,當(dāng)媒體渲染器返回一個(gè)渲染控制ID,就可以用來對(duì)媒體進(jìn)行控制,例如音量調(diào)節(jié)、亮度調(diào)節(jié)等。實(shí)際上,媒體內(nèi)容的傳輸是媒體服務(wù)器和渲染器之間的操作UPNP本身并不參與??刂泣c(diǎn)利用UPNP協(xié)議建立設(shè)備間的連接,而媒體傳輸采用的則是具體的傳輸協(xié)議。

4 結(jié)束語
系統(tǒng)作為DLNA產(chǎn)品的開發(fā),完成了數(shù)字媒體適配器軟、硬件的設(shè)計(jì)與實(shí)現(xiàn)。通過測(cè)試,系統(tǒng)實(shí)現(xiàn)了媒體資源共享及設(shè)備間的互控,能夠?qū)γ襟w內(nèi)容進(jìn)行傳輸控制和渲染控制。系統(tǒng)作為數(shù)字家庭媒體的中心產(chǎn)品之一,很好的實(shí)現(xiàn)了DLNA家庭網(wǎng)絡(luò)的娛樂功能,也預(yù)示了電腦與家電產(chǎn)品互聯(lián)互通的美好前景。

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

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

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉