網(wǎng)絡(luò)和視頻領(lǐng)域正趨于互相融合,為嵌入式應(yīng)用提供了新的應(yīng)用領(lǐng)域。但是直到最近才出現(xiàn)帶集成以太網(wǎng)功能并且能處理高質(zhì)量視頻的單芯片處理器。其原因有以下幾點:微控制器(MCU)雖然具有以太網(wǎng)功能,但是處理能力的限制使其只能處理比較低的視頻分辨率或比特率;另一方面,專用的視頻處理器通常不是缺少網(wǎng)絡(luò)接口(因此依賴于主機的MCU),就是太不靈活了而不能應(yīng)付不斷變化的需求和多樣的視頻編碼解碼情況,其高功耗對很多市場來說成本太高。
美國模擬器件公司(ADI)最新推出的ADSP-BF537為網(wǎng)絡(luò)視頻應(yīng)用的提供了一個良好的平臺。ADSP-BF537不僅有一個高性能的處理器內(nèi)核,還有高速的并行外圍接口(PPI)和一個片內(nèi)的10/100以太網(wǎng)MAC端口,其結(jié)構(gòu)如圖所示。
PPI是一種16位的多功能并行接口,支持雙向數(shù)據(jù)傳輸并且包含三條同步線和一個用于連接外部時鐘的引腳。PPI可以無縫地解碼ITU-R BT.656視頻幀,也可以連接ITU-R BT.601視頻流。PPI既靈活又快速,足以當(dāng)作高速ADC和DAC的一個通道,還能當(dāng)作一個無須中間連接電路的LCD顯示控制器。

盡管嵌入式以太網(wǎng)功能的實現(xiàn)達(dá)到了一定程度的標(biāo)準(zhǔn)化,BF537還是包含了一些很有用的附加功能,主要目的是減少處理器“接觸”網(wǎng)絡(luò)數(shù)據(jù)包的次數(shù)。多種多樣的功能大大減少了處理器必須完成的工作量。例如,數(shù)據(jù)移動是由一個直接存儲器存取(DMA)控制器來完成,而不需要用到固定處理器,另一個實例是對接收數(shù)據(jù)包進行硬件校驗和計算從而減輕處理器的負(fù)擔(dān)。上述體系結(jié)構(gòu)的增強確保了處理器資源不會完全消耗在網(wǎng)絡(luò)端的控制應(yīng)用上。
主要有兩類與網(wǎng)絡(luò)視頻有關(guān)的主要應(yīng)用。第一類應(yīng)用,壓縮視頻流通過以太網(wǎng)接口進入處理器,在本地進行解壓縮和顯示。另一類應(yīng)用恰好相反,原始視頻流進入處理器,經(jīng)過壓縮后再通過以太網(wǎng)口發(fā)送出去。
正如前面所指出的,連接網(wǎng)絡(luò)是一項與控制非常密切的工作,這就是為什么MCU對集成以太網(wǎng)功能來說是一種很自然的選擇。但是,視頻處理是由中心模塊完成并且基于處理環(huán)路,與面向控制的MCU完全不同,這些差別又會導(dǎo)致不同的編程模式。如果將控制(或網(wǎng)絡(luò))和媒體功能分配給不同的處理器,某些事情也許變簡單了,但是材料成本和制造成本就會增加,而且處理器之間的互通信又會成為主要問題。
但到目前為止,如果將上述功能集成到同一處理器中,應(yīng)用的某一端(網(wǎng)絡(luò)端或媒體端)必然受到嚴(yán)重的性能限制。例如,可能只能運行一個有限的低帶寬網(wǎng)絡(luò)堆棧。而在媒體端,很可能必須降低圖像分辨率,如從VGA降為QVGA,或者必須降低視頻的幀速率。
這些性能限制是應(yīng)用的網(wǎng)絡(luò)端和視頻端具有不同的需要促成的結(jié)果。例如,兩端競爭外部存儲器資源(如對SDRAM的存取)。網(wǎng)絡(luò)堆棧會消耗一些內(nèi)存空間用于代碼和一些外部存儲器空間用于數(shù)據(jù)。指令和數(shù)據(jù)的基本存取模式在存儲器中多少有些“展開”,這樣會降低性能,因為外部存儲器中的行將會不斷地開啟和關(guān)閉。
這個問題是由視頻算法引起的,就是從傳感器接收視頻流或者將視頻流輸出到顯示器。例如,為了給一個LCD顯示器提供數(shù)據(jù),需要進行一次存儲器讀取,如果因為網(wǎng)絡(luò)端請求外部存儲器總線而被拖延了,那么結(jié)果可以從顯示器上清楚地看出來,表現(xiàn)為失去同步。
現(xiàn)在,一種單處理器解決方案解決了上述數(shù)據(jù)瓶頸問題。我們已經(jīng)知道了以太網(wǎng)外設(shè)如何通過DMA移動數(shù)據(jù)從而降低處理器負(fù)荷。同樣地,在視頻端,一個輔助PPI的DMA控制器卸下了處理器內(nèi)核不斷進行數(shù)據(jù)轉(zhuǎn)移的負(fù)擔(dān)。
我們不僅希望處理器不進行數(shù)據(jù)移動,還希望使數(shù)據(jù)通過某個緩沖器的次數(shù)最少,因為每通過一次都會浪費存儲器帶寬。因此,即使視頻數(shù)據(jù)以線性的一維方式存儲在SDRAM中,DMA控制器也要具有對任意大小的數(shù)據(jù)塊進行存取的功能,就好像數(shù)據(jù)是以二維方式存儲的一樣。這種功能節(jié)省了相當(dāng)多的時鐘周期,否則需要時間計算數(shù)據(jù)的轉(zhuǎn)移“進度”或步長。
BF537還包含一些細(xì)微的控制以便減少應(yīng)用的網(wǎng)絡(luò)端和視頻端之間可能的沖突。其中包括對外部存儲器存取模式的控制能力,可編程中斷優(yōu)先級以便防止后臺任務(wù)被鎖在關(guān)鍵的處理區(qū)域之外,以及可配置的DMA道優(yōu)先級以便在應(yīng)用的數(shù)據(jù)流之間進行協(xié)商。
以太網(wǎng)外設(shè)支持“線速率”存取,同時發(fā)送和接收數(shù)據(jù)包。對類似于用戶數(shù)據(jù)包協(xié)議(UDP),傳輸速率很接近10/100Mb/s接口的線速率。處理器負(fù)荷問題對諸如TCP/IP的協(xié)議來說更加重要。例如,UDP所需的處理能力為30MIPS,而BF537的性能為600MIPS,還有足夠的余量實現(xiàn)基本的視頻解碼功能。
一種常用的縮短產(chǎn)品面世時間的方式就是按照QVGA尺寸的圖像執(zhí)行視頻算法,然后將圖像內(nèi)插到VGA尺寸。這樣做具有雙重好處,既降低了處理器負(fù)荷,又降低了外部總線帶寬的占用率。對許多應(yīng)用來說,放大的QVGA圖像就完全夠了,但是在QVGA不夠的情況下,處理器也有足夠的處理能力來提高分辨率。
由于同時具有網(wǎng)絡(luò)、控制和信號處理功能,ADSP-BF537能夠在諸如視頻監(jiān)控、遠(yuǎn)程檢測(使用ADC和DAC進行測量)和IP視頻等領(lǐng)域?qū)崿F(xiàn)低成本、高性能的應(yīng)用。
維庫開發(fā)網(wǎng)