DIY小發(fā)明:打造你自己的流媒體播放器,解決方案、硬件框圖
項目背景及可行性分析
- 項目名稱、項目的主要內(nèi)容及目前的進展情況
我們的項目名稱叫做流媒體播放器,項目的主要內(nèi)容為利用Xilinx的Virtex-2 Pro FPGA 上豐富的邏輯資源來實現(xiàn)一個自定義的模塊,該模塊能作為流媒體播放過程中的一個功能部件。我們已經(jīng)能在XUP Virtex-2 Pro FPGA里基于PowerPC的平臺上進行軟件解碼音視頻文件,但是對于分辨率在640x480以上的視頻解碼和音視頻同步解碼上,系統(tǒng)的性能還不盡理想,接下來我們想對該系統(tǒng)進行一個剖析,以決定系統(tǒng)哪些方面需要完善。
- 項目關鍵技術(shù)及創(chuàng)新點的論述;
整個系統(tǒng)采用了IBM的CoreConnect的總線架構(gòu),該架構(gòu)采用了PLB/OPB/DCR三級總線結(jié)構(gòu),富于靈活性和簡便性的總線接口使得各種外設可以掛載在能夠發(fā)揮它們最大效能的總線上。并且,在XC2VP30里內(nèi)嵌了兩顆PowerPC405。在雙核概念流行的當今,我們也可以嘗試建立一個簡單的SMP系統(tǒng),這是我們項目的創(chuàng)新點之一。另外,我們也會在系統(tǒng)中添加觸控技術(shù),編寫一個觸摸板控制器為市場上流行的各種觸摸板提供統(tǒng)一的接口,以提供更友好的人機界面。這也是我們項目的另外一個創(chuàng)新點。
在這里,我們還有另外一個設想,或許在我們的系統(tǒng)中,我們還可以嘗試一下將MicroBlaze或者PicoBlaze這樣的微處理器/微控制器添加進來,組成一個異構(gòu)多核系統(tǒng),由于MicroBlaze也采用了CoreConnect的部分架構(gòu),加上PicoBlaze只占用較少的邏輯資源,這里面或許有很大的潛力可以挖掘。
- 技術(shù)成熟性和可靠性論述:
我們的系統(tǒng)目前仍處在原型驗證階段,即能夠?qū)崿F(xiàn)基本的音視頻播放功能,但正如我們前面所述,這只是為我們提供了一種實現(xiàn)的可能性驗證。系統(tǒng)采用的模型為CPU+OS+Application,或許這樣的結(jié)構(gòu)還不盡合理,沒有將資源使用到合適的地方。也許采用CPU+Co-Processor+Application的結(jié)構(gòu)更合適,因此我們還需要對音視頻(或許主要是視頻)處理技術(shù)進行深入的研究以及運用ESL的設計方法學,以便我們更好地對系統(tǒng)模型結(jié)構(gòu)進行更好地選擇。
項目實施方案
1.方案基本功能框圖及描述
圖 1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)基本功能描述:該流媒體播放器的應用場合為超市。在懸掛的大屏幕平板電視后面安裝有我們的流媒體播放器終端,該終端與超市內(nèi)部的局域網(wǎng)的流媒體服務器相連接。顧客可以通過觸摸板來選擇他感興趣的商品的廣告信息,同通過我們的播放器播放顯示在平板電視上。
2.需要的開發(fā)平臺
目標 FPGA開發(fā)平臺:XUP Virtex-2 Pro (XC2VP30)
該平臺內(nèi)嵌雙PowerPC硬核,30816 Logic Cell的規(guī)模非常適合音視頻處理。當然,XC2V5000的FPGA平臺也適合我們設計自定義功能模塊。
配套開發(fā)工具:
硬件:Xilinx Platform USB Cable
軟件:ISE 8.2i;
EDK 8.2i;
System Generator 8.2
ModelSim;
ChipScope 8.2i;
PlanAhead
2.方案實施過程中需要開發(fā)的模塊
在我們項目中需要開發(fā)的功能模塊主要有:
音頻功能——使用AC97 codec 以及opb ac97 controller, Linux用過ALSA驅(qū)動調(diào)用AC97 controller播放聲音。
觸摸屏LCD功能——LCD 作為整個系統(tǒng)的主要顯示設備,而觸摸屏必須要能夠識別出幾個基本的輸入動作,比如單擊,雙擊,拖曳等等。作為主要的輸入設備,觸摸屏會被用來控制Slice Show和媒體播放。
媒體播放功能——將一段分辨率為320*240的視頻短片復制到文件系統(tǒng)里面以后,Mplayer應該能夠通過Frame Buffer和音頻解碼流暢的輸出圖像和聲音。
網(wǎng)絡和點播功能——建立一個流媒體點播的服務器,用網(wǎng)線連接服務器和開發(fā)板以后,MPlayer 應該能夠流暢的播放服務器上的流媒體格式。
3.系統(tǒng)最終要達到的性能指標
我們的開發(fā)板能夠通過網(wǎng)絡流暢的點播mms格式640×480的帶mp3音頻的視頻文件,通過LCD觸摸屏實現(xiàn)與用戶的互動。
需要的其它資源
1.設計輸入輸出功能子板
6.4 inch LCD 觸摸屏模塊,以及配套的逆變器,接口電纜。
3.方針、開發(fā)工具
列出在方案實施過程中所需要的仿真、開發(fā)工具等。
表 1 硬件需求
Hardware | Exact Version |
Xilinx XUPV2P 開發(fā)板 | Rev 03 |
臺式機 (Windows XP) (可選) | Windows XP SP2, AMD Sempron 2200+ 512MB RAM |
USB JTAG 下載線 | N/A |
串口延長線 | N/A |
DDR266 or PC2100 SDRAM | KINGMAX 256MB or 512MB(可選) |
網(wǎng)線 | RJ45 |
CF卡 | SanDisk(可選) |
帶觸摸屏的TFT LCD | 3.5 or 6.5 Inch(可選) |
表 2 軟件需求
Software | Exact version |
Xilinx ISE Foundation | 8.2i |
Xilinx EDK | 8.2i |
ModelSim | 6.1e SE |
Favorite Linux Distribution | SUSE 10.1 |
MontaVista PowerPC Linux Developer Edition | 2.4 or 2.6 (可選) |
BusyBox | 1.2.0 or 1.0.0 |
Crosstool | 0.43 |
MPlayer Source | V1.0rc |
評論