<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 處理器與音視頻外設(shè)之間的連接

          處理器與音視頻外設(shè)之間的連接

          ——
          作者:美國(guó)模擬器件(ADI)公司 David Katz 時(shí)間:2007-07-02 來(lái)源:電子產(chǎn)品世界 收藏

          數(shù)字信號(hào)處理器以需要大量I/O負(fù)載的應(yīng)用為目標(biāo),通常為開(kāi)發(fā)人員提供各種集成接口—某些是標(biāo)準(zhǔn)接口,另外一些則是專用接口。例如,美國(guó)模擬器件公司(ADI)的Blackfin系列處理器是會(huì)聚處理器,這意味著它們?cè)谝粋€(gè)芯片上集成了DSP與MCU功能,這些處理器擁有與音頻應(yīng)用相關(guān)的兩種主要類型的串行接口。該處理器的低比特速率雙線接口(TWI)與串行外設(shè)接口(SPI)模塊是用于音頻器件控制與配置的。這些外設(shè)接口的前向通道通常用于配置或控制音頻轉(zhuǎn)換器,而反向通道則主要負(fù)責(zé)傳輸轉(zhuǎn)換器的反饋信息或狀態(tài)信息。該處理器的高比特速率串行端口外圍電路,通常用于執(zhí)行音頻數(shù)據(jù)傳輸。

          Blackfin處理器的雙線接口與恩智浦半導(dǎo)體公司的雙向I2C總線相兼容,并在多個(gè)器件之間提供一種非常簡(jiǎn)明的交換控制信息與數(shù)據(jù)信息的方式。它支持主從操作,傳輸速率高達(dá)400 kbps。I2C總線的串行數(shù)據(jù)(SDA)與串行時(shí)鐘(SCL)線(參見(jiàn)圖1)包含多個(gè)主接口,因此它可以連接一個(gè)以上可以對(duì)數(shù)據(jù)轉(zhuǎn)換進(jìn)行初始化的集成電路。串行數(shù)據(jù)流與串行時(shí)鐘數(shù)據(jù)流之間的相位差決定在指定時(shí)間點(diǎn)的操作模式是主操作還是從操作。雖然我們不可能在這里列出世界上所有的I2C器件,但卻可以說(shuō):使用包含I2C端口的數(shù)據(jù)處理器時(shí),不管結(jié)構(gòu)如何,都可以擁有多種不同的互連方案。

          圖1 I2c信號(hào)實(shí)例

          Blackfin處理器全雙工串行外設(shè)接口(SPI),運(yùn)行速率最高可達(dá)33Mbps(遠(yuǎn)遠(yuǎn)超過(guò)絕大多數(shù)A/D與D/A轉(zhuǎn)換器的控制要求), 該接口與摩托羅拉串行外設(shè)接口標(biāo)準(zhǔn)兼容。SPI是摩托羅拉公司發(fā)明的,又稱作Microwire,是美國(guó)國(guó)家半導(dǎo)體公司的注冊(cè)商標(biāo)。SPI的擴(kuò)展包括排隊(duì)串行外設(shè)接口(QSPI)以及Microwire PLUS,二者都已經(jīng)面市。SPI是一個(gè)3針數(shù)據(jù)通信接口組成(參見(jiàn)圖2),支持主從環(huán)境以及多主機(jī)環(huán)境。SPI接口包括:MOSI(主出從入)接口、MISO (主入從出)接口以及串行時(shí)鐘(SCK)接口。Blackfin處理器的1個(gè)SPI選擇輸入針腳,允許其他SPI器件選擇Blackfin處理器;Blackfin處理器的7個(gè)選擇輸出引腳,允許該處理器選擇其他SPI器件。雖然開(kāi)發(fā)人員一般使用 SPI作為處理器與周邊電路之間的同步串行通信接口,但SPI也可以用于內(nèi)部處理器通信。至于I2C,由于SPI已經(jīng)在業(yè)界廣泛使用,與SPI兼容的器件隨處可見(jiàn)。

          圖2 SPI信號(hào)實(shí)例

          Blackfin處理器的全雙工同步串行端口(SPORT)工作在較高數(shù)據(jù)速率,支持同時(shí)發(fā)送與接收。與音頻應(yīng)用相關(guān)的SPORT特性包括:兩套獨(dú)立的發(fā)送與接收引腳(原始數(shù)據(jù)、二次數(shù)據(jù)、時(shí)鐘與幀同步),8通道I2S立體聲音頻(恩智浦半導(dǎo)體公司數(shù)字音頻“Integrated Interchip Sound”總線協(xié)議),最大字長(zhǎng)32比特,分辨率超過(guò)絕大多數(shù)高精度音頻應(yīng)用。

          I2S是眾所周知的串行總線立體聲音頻傳輸標(biāo)準(zhǔn),廣泛用于系統(tǒng)單元(如模數(shù)轉(zhuǎn)換器以及數(shù)模轉(zhuǎn)換器)之間的互連。I2S接口還用于高端CD與DVD播放器、以及PC聲卡。I2S總線設(shè)計(jì)通常包括以下三條串行線路:1條包括兩個(gè)時(shí)分多址數(shù)據(jù)通道的線路,1條字選擇線路以及1條時(shí)鐘線路。在I2S標(biāo)準(zhǔn)(參見(jiàn)圖3)下,任何器件都可以通過(guò)提供必要的時(shí)鐘信號(hào)而成為系統(tǒng)主器件,I2S從器件通常驅(qū)動(dòng)來(lái)自外部時(shí)鐘輸入的內(nèi)部時(shí)鐘信號(hào)。I2S設(shè)計(jì)能夠單獨(dú)處理來(lái)自時(shí)鐘信號(hào)的音頻數(shù)據(jù),而且通過(guò)分離數(shù)據(jù)信號(hào)與時(shí)鐘信號(hào),可以減輕與時(shí)間相關(guān)的誤差(可能引起抖動(dòng)),而不再需要防抖動(dòng)器件。

          圖3 I2S音頻信號(hào)實(shí)例

          音頻輸入,音頻輸出

          為了將音頻源與數(shù)字信號(hào)處理器相連,在圖4中,麥克風(fēng)的模擬輸出通過(guò)模數(shù)(A/D)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),在這種情況下,麥克風(fēng)承擔(dān)相當(dāng)直接的接口任務(wù)。從控制的角度看,DSP作為主機(jī)工作,它選擇A/D轉(zhuǎn)換器作為SPI從屬外圍電路。接著,利用4個(gè)SPORT引腳中的3個(gè)引腳,向Blackfin處理器傳輸數(shù)據(jù)。圖5給出相反的例子,處理器與數(shù)模(D/A)轉(zhuǎn)換器的連接,這也同樣容易。在這種情況下,處理器仍將作為SPI接口主機(jī)配置與控制轉(zhuǎn)換器,數(shù)據(jù)通過(guò)I2S SPORT接口流向數(shù)模轉(zhuǎn)換器。然后,向講話者反饋模擬輸出。

          圖4 音頻A/D轉(zhuǎn)換器與嵌入式處理器的連接

          圖5 音頻D/A轉(zhuǎn)換器與嵌入式處理器的連接

          音頻接口技巧

          下面的幾個(gè)提示將使已經(jīng)容易的應(yīng)用變得更加容易。在處理器的雙線接口(TWI),一定要記住按照I2C規(guī)范在SCL與SDA上各加上一個(gè)上拉電阻,因?yàn)檫@些引腳不能由高電平驅(qū)動(dòng)(所有的時(shí)鐘與同步信號(hào)都要使用正確的終止)。在SPI端口,要檢查每個(gè)MISO引腳與MISO引腳的連接(因?yàn)檫@兩個(gè)信號(hào)名稱非常相似,信號(hào)的名稱與功能容易混淆)。

          簡(jiǎn)化開(kāi)發(fā)的一個(gè)好辦法是利用供應(yīng)商提供的器件驅(qū)動(dòng)程序套件,供應(yīng)商的硬件平臺(tái)開(kāi)發(fā)工具可以用于評(píng)估與開(kāi)發(fā)嵌入式處理方案。例如,ADI公司的Visual DSP++工具套件,包括SPI、SPORT、TWI與其他接口的外圍驅(qū)動(dòng)程序。用戶可以通過(guò)標(biāo)準(zhǔn)應(yīng)用編程接口(API),配置與控制這些接口。Blackfin EZ-KIT評(píng)估板與相關(guān)的EZ-Extender擴(kuò)展卡,這些轉(zhuǎn)換器附帶了大量代碼范例,可以為設(shè)計(jì)人員提供有益的框架,使其迅速掌握音頻器件如何同Blackfin處理器進(jìn)行接口。
            
          連接至視頻流

          Blackfin處理器與視頻進(jìn)行接口類似于它與音頻的接口,但是比后者更復(fù)雜。

          國(guó)際電信聯(lián)盟(ITU)的BT.601建議闡明了數(shù)字電視信號(hào)編碼。最常用的BT.601色彩空間是YCbCr色彩空間,其中,Y表示亮度分量,Cr與Cb表示色度分量。亮度與色度是根據(jù)RGB值計(jì)算出來(lái)的,它們相互獨(dú)立,比RGB信號(hào)更適于進(jìn)行壓縮。通常,在4:4:4 YCbCr格式中,每個(gè)像素包括1個(gè)亮度值和2個(gè)色度值(Cb與Cr)。4:2:2 YCbCr格式則是一種色彩空間壓縮格式,其中,每個(gè)像素由1個(gè)亮度值和1個(gè)色度值(Cb或Cr)組成。

          數(shù)字視頻信號(hào)利用若干定時(shí)信號(hào)組成視頻幀。水平同步(HSYNC)信號(hào)標(biāo)定了一個(gè)視頻幀的每一個(gè)掃描行(從左至右)的有效視頻信號(hào)起點(diǎn)。垂直同步信號(hào)(VSYNC) 從上至下標(biāo)定了一個(gè)新的視頻幀起點(diǎn)。在交織視頻中,利用場(chǎng)指示器(FIELD)區(qū)分視頻幀的奇場(chǎng)與偶場(chǎng)。最后,像素時(shí)鐘信號(hào)對(duì)視頻幀中的像素分量同步進(jìn)行補(bǔ)充。

          在BT.601標(biāo)準(zhǔn)視頻中,這些同步信號(hào)通過(guò)物理方式轉(zhuǎn)送到硬件引腳。不過(guò),BT.656建議定義了傳輸4:2:2 YCbCr數(shù)字視頻的并行與串行接口,在數(shù)據(jù)流中嵌入這些同步信號(hào),不再需要額外的硬件信號(hào)。這需要在數(shù)據(jù)流(0xFF, 0x00, 0x00, 0xAB—其中,0xAB是控制字節(jié),根據(jù)數(shù)據(jù)流中當(dāng)前像素的位置而不同)中插入前導(dǎo)。圖6給出NTSC與PAL幀結(jié)構(gòu)實(shí)例,圖7說(shuō)明如何在數(shù)據(jù)流中設(shè)置前導(dǎo)。

          圖6  BT.656數(shù)字視頻幀結(jié)構(gòu)

          圖7  如何在BT.656視頻幀中使用前導(dǎo)

          數(shù)字視頻源(如來(lái)自數(shù)字CMOS傳感器的信號(hào))可以直接與Blackfin處理器的并行外設(shè)接口(PPI)連接。然而,模擬攝像機(jī)來(lái)源則必須首先通過(guò)視頻解碼器,經(jīng)過(guò)數(shù)字化轉(zhuǎn)換成視頻流后,輸入至處理器。
          對(duì)于視頻輸出,處理器能夠?qū)τ谝曨l輸出而言,Blackfin處理器能夠自然地向TFT-LCD等顯示器發(fā)送數(shù)字視頻流。該顯示器只接受直接的數(shù)字輸入。另一方面,如果視頻信號(hào)欲流向模擬顯示器(如CRT顯示器),它必須首先通過(guò)硬件視頻編碼器,將數(shù)字視頻流轉(zhuǎn)換為適當(dāng)?shù)哪M格式。

          連接視頻源

          圖8給出CMOS圖像傳感器如何同嵌入式處理器連接。這里,雙線接口(TWI)控制通道與Micron公司的CMOS圖像傳感器I2C總線連接,圖像數(shù)據(jù)直接輸入Blackfin處理器的8位并行外設(shè)接口(也可以根據(jù)傳感器的分辨率,實(shí)現(xiàn)10位、12位甚或16位連接)。

          圖8  CMOS圖像傳感器與Blackfin處理器的連接

          雖然Blackfin處理器的并行外設(shè)接口往往是包含直接接口的高速并行端口(16條數(shù)據(jù)線,最多3個(gè)幀同步信號(hào),1個(gè)時(shí)鐘信號(hào)),但該端口不具備某些圖像友好的特性,因而無(wú)法與處理器的DMA引擎聯(lián)合工作。并行外設(shè)接口的詳細(xì)資料太多,本文不再贅述。

          本例中的圖像傳感器提供像素時(shí)鐘信號(hào)以及某種類型的成幀處理——水平同步信號(hào)將標(biāo)定有效掃描行區(qū)域。而垂直同步信號(hào)則是一個(gè)“幀有效”類信號(hào)。對(duì)于支持ITU-R BT.656標(biāo)準(zhǔn)的許多其他圖像傳感器,則不需要這些同步信號(hào)。

          如果視頻輸入信號(hào)來(lái)自模擬源,如便攜式模擬攝像機(jī),那么信號(hào)必須首先經(jīng)過(guò)視頻解碼器。在圖9所示的例子中,處理器通過(guò)I2C與TWI接口配置解碼器,其PPI接口接收來(lái)自視頻解碼器的8位數(shù)字?jǐn)?shù)據(jù)流以及行鎖像素時(shí)鐘信號(hào)。

          圖9  處理器與來(lái)自模擬源的視頻解碼器的連接

          連接視頻顯示器

          在大多數(shù)應(yīng)用中,僅保存在處理器內(nèi)存中的視頻幀的利用是有限的。視頻幀必須傳輸至顯示設(shè)備。當(dāng)然,模擬顯示器首先需要視頻編碼,如圖10所示??梢岳肐2C接口,完成通過(guò)Blackfin處理器PPI數(shù)據(jù)總線(盡管這些特殊編碼器支持BT.656標(biāo)準(zhǔn),某些編碼器確需要通過(guò)PPI幀同步信號(hào)傳送顯式幀同步信號(hào))發(fā)送數(shù)據(jù)的配置。類似于TFT LCD面板的數(shù)字顯示器需要某些相同的信號(hào)層信號(hào)與同步層信號(hào),包括水平同步信號(hào)、垂直同步信號(hào)以及數(shù)據(jù)取樣時(shí)鐘信號(hào)。在連接至TFT LCD面板時(shí),一般都會(huì)利用整個(gè)16位數(shù)據(jù)總線,因?yàn)榇蠖鄶?shù)TFT-LCD面板都支持18位甚至更高數(shù)據(jù)率;而且有選擇地使用脈寬調(diào)制(PWM)定時(shí)器模塊,因?yàn)樵S多TFT-LCD面板都不配備定時(shí)控制器。圖11給出模擬顯示時(shí)處理器與視頻編碼器的典型連接。

          圖10 模擬顯示時(shí)處理器與視頻編碼器的連接

          圖11 處理器與TFT LCD面板相連的實(shí)例


          視頻連接技巧

          我們應(yīng)當(dāng)盡可能采用BT.656標(biāo)準(zhǔn),因?yàn)樗梢源蠓鶞p少視頻接口應(yīng)用中屢見(jiàn)不鮮的定時(shí)不協(xié)調(diào)與不一致的問(wèn)題。同時(shí),還需要密切注意的是,A/D或D/A轉(zhuǎn)換器的默認(rèn)設(shè)置。有時(shí)候,這些轉(zhuǎn)換器可以直接應(yīng)用,無(wú)需通過(guò)I2C或SPI接口進(jìn)行設(shè)置。此外,必須確保盡可能不要影響像素時(shí)鐘源,因?yàn)楦鶕?jù)應(yīng)用的不同,這些時(shí)鐘速率可能高達(dá)數(shù)十MHz,一個(gè)完全獨(dú)立的時(shí)鐘信號(hào)有助于提高系統(tǒng)性能和穩(wěn)定性。

          當(dāng)Blackfin處理器與典型的RGB666 LCD面板(其紅、綠、藍(lán)分量各占6位,共計(jì)18位)連接時(shí),處理器的16位接口實(shí)際上是把其當(dāng)作RGB565連接的。不要將紅色與藍(lán)色通道中的最低有效位棄之不顧,因?yàn)檫@種通用做法會(huì)影響視頻信號(hào)的動(dòng)態(tài)范圍。相反,在平板顯示器上,可以將紅色和藍(lán)色分量的最低有效位與最高有效位結(jié)合起來(lái),這樣就可以確保三個(gè)色彩分量都能提供從最低值到最高值的完整動(dòng)態(tài)范圍。而綠色通道則連接至6位接口,用于傳輸6位綠色分量信號(hào),因?yàn)榫G色是這三種色彩分量中對(duì)視覺(jué)影響最大的顏色。

          模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)


          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


          脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
          上拉電阻相關(guān)文章:上拉電阻原理


          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();