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