基于DaVinci?平臺的網(wǎng)絡(luò)視頻解碼系統(tǒng)分析與設(shè)計
OS層是硬件層上的操作系統(tǒng)層,由Linux、BIOS 6兩個操作系統(tǒng)構(gòu)成。Linux運行A8核上,BIOS 6運行在M3核[5]。
本文引用地址:http://m.butianyuan.cn/article/264525.htm平臺層運行在操作系統(tǒng)層上,屏蔽軟硬件復(fù)雜性,抽象業(yè)務(wù)層所需要的功能接口,向上支撐業(yè)務(wù)層?;贏8核的平臺層由調(diào)試打印、第三方庫、設(shè)備抽象、utility、OS/Posix Lib、Comm以及MCFW多通道框架接口構(gòu)成。MCFW是TI提供的一套用來處理多媒體視頻的接口。A8核端由Syslink/IPC、Link Bitstream、Link API、MCFW API組成。VPSS M3核端由Syslink/IPC、HDVPSS Drivers、Links Capture/Display/SW Mosaic組成。Video M3核由Syslink/IPC、Decode/Encode、Links Decode/Encode組成。核與核之間的數(shù)據(jù)交互由Syslink/IPC實現(xiàn)。816X是一個多核SOC設(shè)備,各個核之間的通信需要通過軟件設(shè)計來實現(xiàn)。芯片的主處理器是A8,A8核端的Link API用來創(chuàng)建、控制、連接Links。通常由該處理器引導(dǎo)加載各個從處理器,包括了Video-Media Controller,VPSS-Media Controller等。其中解碼核實由Video-Media Controller負(fù)責(zé)管理的。引導(dǎo)加載過程包括從處理器的電源管理,復(fù)位控制,在合適的寄存器中寫入從處理器執(zhí)行的入口點。為了有效地實現(xiàn)多核通信,軟件還充分利用了郵箱中斷和自旋鎖功能實現(xiàn)。Mailbox為處理器通過寫寄存器,向其他處理發(fā)送中斷機制。A8,Media Controller等之間通過系統(tǒng)級的Mailbox進(jìn)行通信。3個HD VICP2S的IP模塊有各自獨立的郵箱。SOC通過自旋鎖[6](SpinLock)方便實現(xiàn)了系統(tǒng)共享資源的互斥。
業(yè)務(wù)層由系統(tǒng)管理、在線升級、配置管理、stream、在線調(diào)試、告警/事件、codec_hdvpss幾個模塊組成。管理/配置總線用來實現(xiàn)業(yè)務(wù)層模塊間的通信,共享內(nèi)存(高速數(shù)據(jù)通道)用來實現(xiàn)stream模塊與codec_hdvpss模塊之間的高速數(shù)據(jù)傳遞。系統(tǒng)管理模塊是A8軟件子系統(tǒng)首先執(zhí)行的一個模塊,實現(xiàn)初始化系統(tǒng)資源、創(chuàng)建運行其他的模塊,最后監(jiān)聽其他模塊的運行狀態(tài)以及喂狗、控制運行狀態(tài)。升級模塊是一個較為獨立的模塊,不會與其他模塊有數(shù)據(jù)交互。實現(xiàn)3個核的軟件程序文件的在線升級。配置管理是業(yè)務(wù)層的中控模塊,接收主控板發(fā)過來的配置信息,控制、協(xié)調(diào)其他幾個模塊的運行。Stream模塊與網(wǎng)絡(luò)交互,獲取網(wǎng)絡(luò)發(fā)過來的碼流數(shù)據(jù),經(jīng)共享內(nèi)存(高速數(shù)據(jù)通道)傳遞到模塊做進(jìn)一步處理。在線調(diào)試模塊是一個較為獨立的模塊,不會與其他模塊有數(shù)據(jù)交互,實現(xiàn)軟件的在線查看運行狀態(tài)等功能。告警/事件模塊向主控發(fā)送本軟件的告警/事件信息。Codec_hdvpss模塊從共享內(nèi)存(高速數(shù)據(jù)通道)獲取碼流數(shù)據(jù),進(jìn)行codec以及視頻處理輸出。
接口層有三個部分,分別是板間/外交互、PHY、信號交換模塊。板間/外交互是指解碼板與主機的交互,接收主控板的配置管理消息,處理并返回。PHY模塊是指解碼板與網(wǎng)絡(luò)的交互,獲取H.264的碼流。信號交換模塊是指解碼板輸出視頻數(shù)據(jù)到邏輯芯片的數(shù)據(jù)交換模塊。
軟件系統(tǒng)的主要功能是最大支持同解6路1080P@30 H.264碼流,解碼延時小于50毫秒(Codec模塊收到碼流數(shù)據(jù)到解碼輸出到FPGA的延時);同時還具備啟動、監(jiān)聽其他任務(wù),監(jiān)控單板硬件狀態(tài),管理系統(tǒng)硬件狗、運行燈,接收主控的配置信息,對軟件系統(tǒng)以及硬件系統(tǒng)進(jìn)行配置,檢測到有異常或某些重要事件發(fā)生等功能。
5 總結(jié)
本文根據(jù)目前一些網(wǎng)絡(luò)視頻解碼應(yīng)用現(xiàn)狀限制,提出了一種帶PCI-E接口的網(wǎng)絡(luò)視頻解碼系統(tǒng)。該系統(tǒng)采用了目前TI強大的視頻編解碼平臺DM816X并和FPGA邏輯芯片聯(lián)合應(yīng)用,實現(xiàn)了單板6路1080P@30Hz/32路D1的網(wǎng)絡(luò)視頻解碼;在單臺服務(wù)器中可以插入多張該單板,從而實現(xiàn)上百路網(wǎng)絡(luò)視頻解碼,同時不會降低服務(wù)器的性能。該設(shè)計系統(tǒng)在筆者設(shè)計的視頻解碼平臺中得到實際應(yīng)用和驗證,運行效果良好,并大大降低了單路視頻解碼的成本,具有很高的實用價值。
參考文獻(xiàn):
[1]齊兵,王群生,楊春玲.H.264解碼芯片的比較與研究.電視技術(shù),2006(9)
[2]代健美,耿華芳,劉作學(xué).基于DaVinci技術(shù)的H.264解碼系統(tǒng),兵工自動化:2012(4)
[3]周立國,梁淮寧,謝冬冬,等.基于PCI Express總線的數(shù)據(jù)傳輸卡的設(shè)計與實現(xiàn)[J].電子測量技術(shù);2007(11)
[4]胡桂陽,盧月瓊,李昌禧.用單片機制作的直流穩(wěn)壓可調(diào)電源.電子世界:2005(12)
[5]李宗海,陳蜀宇,李海偉.嵌入式Linux系統(tǒng)在ARM平臺上的構(gòu)建.計算機系統(tǒng)應(yīng)用,2010(10)
[6]casevison.Dm8168 多核通信[R/OL].(2012-5-9).http://blog.csdn.net/shanghaiqianlun/article/details/7551518
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論