基于PNX1500的嵌入多媒體平臺(tái)
1 平臺(tái)整體結(jié)構(gòu)圖
基于飛利浦的嵌入式多媒體硬件平臺(tái)以飛利浦PNX1500為核心,完成視音頻編碼解碼工作。由EEPROM存儲(chǔ)系統(tǒng)最基本的啟動(dòng)配置程序,如配置內(nèi)存和DSP工作頻率,配置應(yīng)用程序起始地址。我們選用三星NandFlash存儲(chǔ)系統(tǒng)應(yīng)用程序,如音視頻編解碼程序;由三星K4D551638F-TC構(gòu)成系統(tǒng)的內(nèi)存。由LG Philip的5.6英寸數(shù)字液晶顯示屏構(gòu)成系統(tǒng)的視頻輸出部分,該液晶屏能與1500輸出的數(shù)字信號(hào)直接匹配,無(wú)需數(shù)模轉(zhuǎn)換。視頻輸入部分由模擬攝像頭與模數(shù)轉(zhuǎn)換芯片SA7113組成。如圖1所示。
2 系統(tǒng)各模塊介紹
2.1 飛利浦PNX1500內(nèi)部結(jié)構(gòu)
飛利浦PNX1500是一款32為超長(zhǎng)指令集的音視頻和圖像處理器,其內(nèi)含為T(mén)M3260處理器,并行五個(gè)指令執(zhí)行槽。能夠運(yùn)行音視頻處理軟件和通用控制PNX1500里的幾個(gè)圖像和視頻協(xié)處理器
能夠進(jìn)行圖像縮放和合成,大大提高了視頻處理的性能。除此之外,PNX1500內(nèi)部還集成有音頻輸入輸出模塊、網(wǎng)絡(luò)模塊、系統(tǒng)啟動(dòng)模塊、硬件計(jì)時(shí)器、通用輸入輸出口等等。內(nèi)部高速總線將多個(gè)模塊連接在一起,如圖2所示。
2.2 內(nèi)存模塊
我們選用了兩片三星公司的K4D551638F-TC作為內(nèi)存,共64MB,支持200Mhz工作頻率。由于DDR內(nèi)存技術(shù)較為成熟,就不再過(guò)多的介紹。值得注意的是,內(nèi)存部分的時(shí)鐘信號(hào)采用差分信號(hào)的方式,在發(fā)送端匹配接地電阻,在接收端匹配串連電阻,防止信號(hào)反射。
2.3 啟動(dòng)EEPROM模塊
PNX1500上電后根據(jù)指定的8個(gè)引腳的電平高低來(lái)判斷采取怎樣的啟動(dòng)模式,從而從不同的存儲(chǔ)體讀取可執(zhí)行的程序。啟動(dòng)模式分為EEPROM啟動(dòng)模式、Flash啟動(dòng)模式和輔助主機(jī)模式(例如PNX1500作為PC上顯卡芯片時(shí))。這里選擇EEPROM啟動(dòng)模式,用上下拉電阻來(lái)配置8個(gè)引腳。由于啟動(dòng)程序二進(jìn)制代碼較短,選擇容量為16KB的Atmel 24C128,通過(guò)IIC總線和PNX1500通信。啟動(dòng)程序中最最要的信息就是對(duì)PNX1500工作狀態(tài)的配置和接下來(lái)應(yīng)該的程序入口。EEPROM中配制DSP工作模式的程序如下所示。
以上程序編譯為二進(jìn)制代碼后寫(xiě)入EEPROM。
由于IIC總線結(jié)構(gòu)簡(jiǎn)單,硬件圖省去。
2.4 Flash模塊
由于EEPROM容量有限,并不能裝載下視頻編解碼等應(yīng)用程序,所以需要例如Flash這樣容量合適的存儲(chǔ)媒體。選取的是由三星公司生產(chǎn)的NandFlashK9F2808U0C,16M×8bit。PNX1500提供了與Flash很好的兼容,引腳的接口如圖3所示。
通過(guò)閱讀K9F2808U0C的手冊(cè),根據(jù)其工作時(shí)序,為上層軟件編寫(xiě)了Flash的驅(qū)動(dòng)程序,如下。
2.5 視頻輸入模塊
本系統(tǒng)采用Philips SAA7113作為視頻解碼器,SAA7113接收標(biāo)準(zhǔn)的CVBS PAL/NTSC制式的視頻信號(hào),也可以接收S-Video視頻輸入信號(hào)。SAA7113內(nèi)建了很多視頻處理單元,通過(guò)其IIC接口可以方便的控制其色度、亮度等等。SAA7113可以選擇輸出CCIR656規(guī)定的數(shù)字視頻信號(hào),提供與DSP處理器的方便接口。在系統(tǒng)上電后,PNX開(kāi)始操作IIC總線對(duì)SAA7113的寄存器進(jìn)行配置,讓其輸出所需要的視頻格式,PNX1500內(nèi)部的視頻輸入(Video Input)單元可以工作在幾種不同的模式下,用來(lái)從片外的視頻源讀取(這個(gè)過(guò)程是DMA操作)數(shù)據(jù)到內(nèi)存中。它可以與符合ITU-TCCIR656的設(shè)備直接相連,視頻數(shù)據(jù)輸入后,將被分成Y/U/V分別存放在內(nèi)存中。SAA7113H與PNX1500連接如圖4:
本設(shè)計(jì)中,對(duì)SAA7113的設(shè)置其實(shí)就是設(shè)置他們芯片中的IIC寄存器,我們將功能做封裝,實(shí)現(xiàn)如下接口函數(shù)。
2.5.1 基本IIC操作函數(shù)
2.5.2 初始化函數(shù)
2.5.3 以下函數(shù)針對(duì)SAA7113的某個(gè)功能作處理
SAA7113的某個(gè)功能作處理 src="/upload/2007_09/070912104378789.jpg">
類(lèi)似的函數(shù)要實(shí)現(xiàn)很多,將這些函數(shù)寫(xiě)成板級(jí)支持庫(kù)的軟件代碼包,供上層調(diào)用,構(gòu)成BSP。
2.6 視頻輸出模塊
PNX1500支持?jǐn)?shù)字液晶屏數(shù)據(jù)格式。我們采用數(shù)字液晶屏來(lái)作為視頻輸出部分,從而省掉了數(shù)模轉(zhuǎn)換的這一環(huán)節(jié),方便了開(kāi)發(fā)。選用了LG-Philps的LB064V02-A16.4英寸液晶屏,該顯示屏分辨率為480×640,每個(gè)象素用18bit數(shù)據(jù)表示,采用RGB模式,每種色彩6bit。LB064V02-A1的工作信號(hào)時(shí)序圖的如圖5所示。
LB064V02-A1與PNX1500連接圖如圖6所示。
其中LB064V02-A1的時(shí)序參數(shù)都是由一定的規(guī)格要求。為了能讓PNX1500的輸出圖像能被正常顯示,設(shè)計(jì)了以下程序初始化PNX1500的視頻輸出模塊。
2.7 音頻輸入輸出
我們選擇了具有回聲消除功能的音頻編解碼芯片MSM7731,它與PNX1500的接口是通過(guò)PNX1500的音頻輸入輸出模塊連接的。如圖6所示。
音頻部分的設(shè)置有幾點(diǎn)需要注意:將PNX1500的音頻輸出單元(AO)作為主控器,由其輸出時(shí)鐘和幀同步信號(hào),將MSM7731和PNX1500的音頻輸入單元(AI)作為從設(shè)備,其位同步信號(hào)和幀同步信號(hào)由外界傳來(lái)。AO_CLK和AO_WS通過(guò)設(shè)置分頻系數(shù)從PNX1500的PLL處得到。
配置音頻編解碼芯片,音頻編解碼芯片的配置接口分為兩種,一種通過(guò)管腳外接上拉或下拉的電阻來(lái)設(shè)定參數(shù),由于管腳有限,所以這種方法能配置的參數(shù)均為基本參數(shù),功能有限。另一種方法是通過(guò)單片機(jī)MCU來(lái)控制,其接口信號(hào)為串行的同步信號(hào)。我們?cè)谙到y(tǒng)上添加一款單片機(jī)來(lái)配置該音頻解碼芯片。
2.8 網(wǎng)
選用National Semiconductor公司的DP83847作為MAC層上的設(shè)備。由于DP83847與PNX1500之間有很好的硬件兼容,故不再介紹兩者之間的硬件鏈接。值得注意的是,DP83847的狀態(tài)指示LED引腳和DP83847物理地址引腳是共用的,所以一定要用上拉或下拉電阻配置。主要的驅(qū)動(dòng)函數(shù)如下。
2.9 電源系統(tǒng)
PNX1500的電源系統(tǒng)相對(duì)復(fù)雜,其核心電壓為1.2V,內(nèi)存操作模塊工作電壓為2.5V,其余模塊都工作在3.3V。作為一個(gè)嵌入式平臺(tái),希望外接電源的電壓總數(shù)越少越好,所以我們平臺(tái)上運(yùn)用了DC-DC器件,將單一的外界電源5V轉(zhuǎn)換為系統(tǒng)所需要的多種電壓。值得注意的是,由于平臺(tái)上芯片和器件比較多,需要將每件器件的工作電流峰值之和作為DC-DC器件的電流參數(shù)。我們選用ST公司的LD1580芯片,這款芯片的特點(diǎn)是能提供最大7A的電流,輸出電壓范圍大,由外接匹配電阻決定輸出電壓。一共三個(gè)LD1580芯片組成本系統(tǒng),首先外接直流電源5V被LD1580轉(zhuǎn)換為3.3V,然后3.3V由兩個(gè)LD1580分別轉(zhuǎn)換為1.2V和2.5V。電源部分電路圖和輸出電壓計(jì)算公司如圖7,其中VREF為2.5V。
此外,由于系統(tǒng)各芯片具有大量的I/O口,在這些I/O口進(jìn)行高低電平轉(zhuǎn)換時(shí),會(huì)瞬間產(chǎn)生大的電流變化量,由于電路板并不是一個(gè)理想導(dǎo)體,存在電感效應(yīng),在電流變化過(guò)快時(shí)會(huì)產(chǎn)生電壓差,導(dǎo)致誤動(dòng)作,所以需要在電源的電和地之間加上低阻抗通道消除電感效應(yīng)帶來(lái)的電壓差。我們?cè)陔娫吹碾姾偷刂g并聯(lián)220微法到100納法的多個(gè)旁路電容,消除不同頻率的電壓跳變。同時(shí)對(duì)板上各個(gè)芯片的電腳也加以旁路電容。
3 印刷電路設(shè)計(jì)
由于本系統(tǒng)有模擬和數(shù)字信號(hào)混合,器件繁多,電壓復(fù)雜,如何保證系統(tǒng)能夠穩(wěn)定工作成為需要著重考慮的問(wèn)題。本系統(tǒng)采用10層設(shè)計(jì),每個(gè)信號(hào)層之間由電層或者地層隔開(kāi),模擬地與數(shù)字信號(hào)的地信號(hào)分開(kāi),同時(shí)在布局的時(shí)候考慮芯片電流回流問(wèn)題,防止串?dāng)_。
本文介紹了基于飛利浦多媒體DSP PNX1500的嵌入式多媒體平臺(tái)的硬件設(shè)計(jì)和低層驅(qū)動(dòng)。該平臺(tái)能性能穩(wěn)定,工作良好,具有很好的應(yīng)用前景。