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