新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的LCD顯示的遠(yuǎn)程更新設(shè)計實現(xiàn)

基于FPGA的LCD顯示的遠(yuǎn)程更新設(shè)計實現(xiàn)

作者: 時間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/201706/348674.htm

第1章 的背景與應(yīng)用

1.1 LCD的產(chǎn)生與發(fā)展

液晶顯示器,簡稱LCD(Liquid Crystal Display)。世界上第一臺液晶顯示設(shè)備出現(xiàn)在20世紀(jì)70年代初,被稱之為TN-LCD(扭曲向列)液晶顯示器。80年代,STN-LCD(超扭曲向列)液晶顯示器出現(xiàn),同時TFT-LCD(薄膜晶體管)液晶顯示器技術(shù)被研發(fā)出來,但液晶技術(shù)仍未成熟,難以普及。80年代末90年代初,日本掌握了STN-LCD及TFT-LCD生產(chǎn)技術(shù),LCD工業(yè)開始高速發(fā)展。

現(xiàn)在,LCD是筆記本電腦和掌上電腦的主要顯示設(shè)備,在投影機中,它也扮演著非常重要的角色,而且它開始逐漸滲入到桌面顯示器市場中。相信不遠(yuǎn)的未來,器將會更為普及地應(yīng)用于商業(yè)、工業(yè)、軍事等領(lǐng)域。

1.2 遠(yuǎn)程視頻監(jiān)控系統(tǒng)的簡述

早期的視頻監(jiān)控系統(tǒng)受限于地域限制,隨著視頻監(jiān)控技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展,出現(xiàn)了遠(yuǎn)程視頻監(jiān)控系統(tǒng)。遠(yuǎn)程視頻監(jiān)控系統(tǒng)是把圖形信息轉(zhuǎn)變成信號信息,通過攝取、傳輸、顯示等設(shè)備實現(xiàn)一定距離內(nèi)圖形轉(zhuǎn)換為圖像,在互聯(lián)網(wǎng)上傳輸,從而實現(xiàn)較遠(yuǎn)距離可以看到現(xiàn)場圖形信息的系統(tǒng)。

遠(yuǎn)程視頻監(jiān)控系統(tǒng)通過互聯(lián)網(wǎng)打破了地域限制,隨著遠(yuǎn)程視頻監(jiān)控技術(shù)的成熟以及應(yīng)用,人們的生產(chǎn)、生活以及企業(yè)管理正在發(fā)生新的變化,遠(yuǎn)程視頻監(jiān)控系統(tǒng)廣泛滲透到教育、政府、娛樂場所、醫(yī)院、酒店、運動場館、城市治安甚至家庭等多個領(lǐng)域。

1.3 在遠(yuǎn)程視頻監(jiān)控的應(yīng)用

遠(yuǎn)程視頻監(jiān)控系統(tǒng)主要包括:前端攝像設(shè)備、傳輸存儲設(shè)備、終端控制顯示設(shè)備。其中,LCD顯示作為監(jiān)控顯示設(shè)備應(yīng)用于遠(yuǎn)程視頻監(jiān)控系統(tǒng)中。圖 1為某視頻監(jiān)控系統(tǒng)設(shè)計原理圖。

圖 1 某視頻監(jiān)控系統(tǒng)設(shè)計原理圖

第2章 系統(tǒng)整體設(shè)計方案

2.1研究需求與目標(biāo)

2.1.1研究需求

本設(shè)計“基于的LCD顯示的”作為遠(yuǎn)程視頻監(jiān)視系統(tǒng)的監(jiān)控終端設(shè)備,伴隨著視頻監(jiān)控系統(tǒng)的發(fā)展而發(fā)展。近年來,中國視頻監(jiān)控市場受平安城市建設(shè),北京奧運會、上海世博會、廣州亞運會、深圳大運會等安保項目以及各行業(yè)視頻監(jiān)控需求快速增長等因素的刺激和拉動,取得了超常規(guī)快速發(fā)展,整體市場規(guī)模迅速擴大。

作為中國視頻監(jiān)控市場未來發(fā)展方向之一的網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng),其市場規(guī)模將于2013年達168.91億元,增速遠(yuǎn)超行業(yè)平均增長率水平。鑒于技術(shù)條件限制,高清視頻監(jiān)控一般建立在網(wǎng)絡(luò)化的應(yīng)用基礎(chǔ)之上,若考慮給予智能高清視頻監(jiān)控市場占IP視頻監(jiān)控市場15%的份額估算,則2011-2013年智能高清監(jiān)控市場規(guī)模將分別達13億元、18億元和25億元,復(fù)合增速將高于36%。綜上所述,可以預(yù)計未來3-5年視頻監(jiān)控市場將繼續(xù)保持強勁增長,行業(yè)整體處于高速發(fā)展階段。可見,本設(shè)計有著廣泛的應(yīng)用前景以及市場需求。

2.1.2研究目標(biāo)

本次設(shè)計定位為視頻監(jiān)控系統(tǒng)的終端設(shè)備,其在系統(tǒng)中的位置如圖 2所示。

圖 2 視屏監(jiān)控系統(tǒng)結(jié)構(gòu)圖

本設(shè)計預(yù)期實現(xiàn)的功能與技術(shù)指標(biāo):

  1. 提供良好的人機界面和簡單方便的操作方式;

  2. 提供兩種視頻監(jiān)控方式:實時視頻播放以及歷史錄像的播放;

  3. 預(yù)留USB接口,方便用戶擴展前端存儲功能;

  4. 提供用戶管理功能,實現(xiàn)權(quán)限管理;

  5. 支持圖像屏蔽與圖像抓拍;

  6. 實現(xiàn)圖像分辨率:640*480;

  7. 實現(xiàn)視頻幀率:30fps

其中,監(jiān)控人員具體的操作方式為通過鼠標(biāo)來選擇觀看實時視頻或查詢視屏錄像:

  1. 在觀看實時視頻時,本設(shè)計運行FTPClient應(yīng)用程序向視屏錄像服務(wù)器請求實時的視屏數(shù)據(jù),將接收到的實時視屏先緩存在本地的內(nèi)存中,然后進行解碼、播放,通過HDMI接口將視屏數(shù)據(jù)傳輸?shù)絃CD顯示器上面顯示。

  2. 在查詢歷史錄像時,本設(shè)計擬提供瀏覽視屏錄像服務(wù)器中所有視屏錄像的功能,用戶根據(jù)自己的需要,選取相關(guān)的視屏文件,當(dāng)用戶選擇下載視屏文件到本地時,本設(shè)計從視屏錄像服務(wù)器上面緩存視屏文件到內(nèi)存中,然后寫入掛載的U盤中。當(dāng)視屏下載完畢后,運行播放器程序播放下載的視屏文件,提供播放、前進、后退、暫停等常用的播放功能。

2.2 系統(tǒng)概要設(shè)計

2.2.1 Genesys開發(fā)板簡介

Digilent的Genesys開發(fā)板集成了功能強大的Xilinx Virtex®-5 ,為廣大用戶帶來了一個功能強大、方便實用的設(shè)計平臺。其設(shè)計框圖如圖 3所示。

圖 3 Genesys開發(fā)板的組成框圖

Genesys板上還集成了千兆以太網(wǎng)接口、高速存儲器、高分辨率音頻和視頻電路、以及USB主機接口等選項。Genesys開發(fā)板采用業(yè)界主流設(shè)計,無論是復(fù)雜系統(tǒng),還是專用的高性能應(yīng)用,Genesys都能為您提供有效的解決方案。其主要特性如下所示:

  • Xilinx Virtex 5 LX50T , 1136-pin BGA package

  • 256Mbyte DDR2 SODIMM with 64-bit wide data

  • 10/100/1000 Ethernet PHY and RS-232 serial port

  • multiple USB2 ports for programming, data, and hosting

  • HDMI video up to 1600x1200 and 24-bit color

  • AC-97 Codec with line-in, line-out, mic, and headphone

  • real-time power monitors on all power rails

  • 16Mbyte StrataFlash™ for configuration and data storage

  • Programmable clocks up to 400MHz

  • 112 I/O’s routed to expansion connectors

  • GPIO includes eight LEDs, two buttons, two-axis navigation switch, eight slide switches, and a 16x2 character LCD

  • ships with a 20W power supply and USB cable

2.2.2基于Genesys開發(fā)板的實現(xiàn)構(gòu)想

根據(jù)上面所述的預(yù)期實現(xiàn)功能與技術(shù)指標(biāo),并結(jié)合Genesys開發(fā)板的資源,本設(shè)計的實現(xiàn)構(gòu)想:

  1. 使用XILINX公司的Microblaze作為整個系統(tǒng)的中央處理器;

  2. 在Microblaze軟核處理器系統(tǒng)中進行PeatLinux操作系統(tǒng)的移植;

  3. 使用進行圖像數(shù)據(jù)的傳輸;

  4. 通過有線以太網(wǎng)的通訊方式與FTP服務(wù)器進行連接,并下載FTP服務(wù)器里的視頻數(shù)據(jù)進行播放或存儲在本地的U盤上;

  5. 使用帶有HDMI的LCD液晶顯示器作為顯示設(shè)備;

2.2.3 Genesys開發(fā)板上的資源利用情況

根據(jù)設(shè)計的要求,Genesys開發(fā)板上的硬件資源既能滿足本設(shè)計的硬件需求又能顯示出其優(yōu)越的性能。表格 1為本設(shè)計在Genesys開發(fā)板上的資源利用情況。

表格 1 本設(shè)計在Genesys開發(fā)板上的資源利用情況

Genesys開發(fā)板的硬件資源

本設(shè)計中的使用情況

Adept USB2

DDR 256MByte

HDMI Video

10/100/1000 Ethernet PHY

Basic I/O

16 X 2 LCD

High-Speed Expansion

iMPACT USB2

StrataFlash 32Mbyte

AC-97 Audio Codec

USB Host

Clock Gen

RS-232 Port

Pmod Port Expansion

第3章 系統(tǒng)詳細(xì)設(shè)計

3.1 系統(tǒng)硬件平臺設(shè)計

3.1.1 系統(tǒng)的硬件構(gòu)成

本系統(tǒng)的硬件設(shè)計由以下部分構(gòu)成:MicroBalze處理器、中斷控制器XPS INTC、XPS Timer/Counter定時器/計數(shù)器、XPS BRAM接口控制器、外部存儲器控制器XPS MCH EMC、多端口存儲器控制器 XPS MPMC,DMA控制器XPS DMA、外設(shè)控制器 XPS EPC、三態(tài)以太網(wǎng)MAC核 XPS LL TEMAC、XPS TFT控制器、串口控制器XPS UART 16650、通用IO控制器 XPS GPIO、XPS PS2等控制器組成。圖4為本系統(tǒng)的結(jié)構(gòu)框圖。

其中,MicroBalze處理器、中斷控制器XPS INTC、XPS Timer/Counter定時器/計數(shù)器構(gòu)成了移植Petalinux基本硬件平臺。多端口存儲器控制器 XPS MPMC連接外部的DDR2 SODIMM,外部存儲器控制器XPS MCH EMC連接外接的Flash。XPS EPC提供USB Host功能用來連接U盤。XPS LL TEMAC 核用來提供以太網(wǎng)接入。XPS TFT 控制器連接HDMI接口,驅(qū)動LCD的顯示。XPS UART 16650 連接串口,作為移植PetaLinux的調(diào)試接口。XPS PS2 IPCore 連接PS2接口,在本設(shè)計中連接鼠標(biāo),提供用戶操作接口。

圖 4 系統(tǒng)結(jié)構(gòu)框圖

3.1.2 系統(tǒng)所需的IP核簡介

為了提高設(shè)計性能和縮短設(shè)計周期,本設(shè)計將會充分利用Xilinx公司所提供的多個IP核進行開發(fā)設(shè)計。本設(shè)計中將會使用到的IP核以及使用該IP核的理由如下所述:

  1. 軟處理器 本設(shè)計使用的處理器IP核為MicroBlaze。MicroBlaze內(nèi)核是一款32位 RISC 哈佛架構(gòu)軟核處理器,具有豐富的、針對嵌入式應(yīng)用進行了優(yōu)化的指令集。MicroBlaze 擁有超過 70 種配置選項,支持從超小型嵌入式微控制器到運行 Linux 的高性能嵌入式計算機的各種配置。這種靈活性的核心在于兩種版本的 MicroBlaze:針對面積進行了優(yōu)化的 MicroBlaze(帶有3級指令執(zhí)行流水線)和針對性能進行了優(yōu)化的 MicroBlaze(帶有5級指令執(zhí)行流水線)。

  2. 中斷控制器 設(shè)計中,選取了XPS Interrupt Controller IP Core該中斷控制器。該控制器具有如下特征:作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;可配置的中斷輸入數(shù)目;觸發(fā)沿可設(shè)置為上升沿或下降沿。

  3. 定時器 設(shè)計中需要使用定時器來為PetaLinux產(chǎn)生時鐘節(jié)拍,設(shè)計中選了XPS Timer/Counter,是用于連接PLB總線上的32位定時器。該IP同時具有如下特征:作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;其PLB接口支持字節(jié)使能;可編程的定時器位寬;PWM輸出。

  4. DDR2控制器 選用XPS MPMC IP Core作為本系統(tǒng)的DDR2內(nèi)存控制器。該控制器具有如下特點:支持SDMA;支持單速率內(nèi)存(SDR)和雙速率內(nèi)存(DDR/DDR2/DDR3/LPDDR);支持錯誤檢驗、性能顯示和寄存器調(diào)試功能。

  5. 片上Block RAM控制器 選用BRAM Interface Controller作為片上Block RAM的控制器。該控制器具有如下特點:支持32、64、128位的PLB接口;支持32、64、128位的內(nèi)部RAM數(shù)據(jù)寬度;32bit的地址寬度。

  6. FLASH控制器 選用XPS MCH EMC作為外部FLASH存儲控制器,該控制器具有如下特點:可作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;支持多達4個的外部存儲塊;支持單beat傳輸和burst傳輸;支持同步/異步SRAMs和Nor Flash內(nèi)存芯片。

  7. DMA控制器 選用XPS Central DMA Controller作為系統(tǒng)的DMA控制器,該控制器具有如下特點:可作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;支持一個通道的源地址到目的地址的內(nèi)存直接讀??;提供可編程的源地址、目標(biāo)地址和傳輸長度;參數(shù)化的本地FIFO深度和burst突發(fā)深度;支持不連續(xù)塊的會輸。

  8. U盤控制器 選用XPS External Peripheral Controller作為U盤存儲的控制器,該控制器具有如下特點:可作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;支持同步或異步的方式與外設(shè)通訊;可根據(jù)外設(shè)芯片來設(shè)定數(shù)據(jù)寬度;可配置的外部總線接口時序。

  9. 以太網(wǎng)控制器 選取XPS LL TEMAC作為本設(shè)計的以太網(wǎng)MAC控制器,該控制器具有如下特點:具有2K、4K、8K、16K、32K 字節(jié)的接收和發(fā)送數(shù)據(jù)FIFO緩存;過濾錯誤幀;支持多種PHY接口;全雙工操作;支持VLAN幀。

  10. TFT顯示控制器 選取XPS TFT Controller作為LCD控制器,該控制器具有如下特點:支持18bit VGA或24bit DVI;支持25MHz 時鐘實現(xiàn)640*480分辨率、60Hz刷新率;支持PLB接口與TFT接口的兩個獨立時鐘。

  11. UART控制器 選取XPS 16650 UART作為本設(shè)計的串口控制器,該控制器具有以下特征:支持PLB V4.6接口;軟硬件上兼容全部16450和16550UARTs;滿足所有的串口接口協(xié)議。

  12. 通過I/O控制器 設(shè)計中選用PLB General Pupose Input/Output來控制LED燈,該控制器可配置為單端或雙端GPIO通道;每個GPIO可動態(tài)配置為輸入或輸出口;可生產(chǎn)中斷請示。

  13. PS2控制器 本設(shè)計中使用XPS PS2 Controller作為鼠標(biāo)的控制器,該控制器的特征有:作為32bit的從設(shè)備連接到32、64或128位的PLB總線上;可配置成單端或雙端的PS2控制器;支持兩個PS2設(shè)備,分別由兩個8字節(jié)寬的寄存器控制。

3.1.3 移植PetaLinux的可行性分析

Genesy Virtex-5 FPGA Development Board開發(fā)板上面有256MB的DDR2 SODIMM、16Mbyte StrataFlash(一共32M字節(jié))。這16Mbyte StrataFlash作為非易失存儲器來存放FPGA的配置文件,單個FPGA的配置文件大小不超過2MByte,剩余30M字節(jié)供用戶使用。PetaLinux一般規(guī)則下的最小配置為需要4MByte的DDR2,推薦使用16MByte的DDR2,至少8Mbyte的FLASH。因此,在Genesy Virtex-5 FPGA Development Board開發(fā)板上面嵌入MicroBlaze處理器核后,再進行PetaLinux的移植是可行的。本設(shè)計采用的嵌入式操作系統(tǒng)為2.6內(nèi)核的PetaLinux。

3.2 嵌入式系統(tǒng)的選取

支持MicroBlaze 處理器的嵌入式操作系統(tǒng)很多,比如μC/ OS-II、BuleCat ME Linux、RTA MB、 hreadX、PetaLinux等。PetaLinux 操作系統(tǒng)是面向MicroBlaze 軟核處理器的全功能嵌入式 Linux 操作系統(tǒng)。其發(fā)布采用了“all in one” 的整合方式, 將針對 MicroBlaze 處理器定制的Linux2. 4/ 2. 6 內(nèi)核源碼、 U2boot 源碼、相關(guān)的開發(fā)工具以及開發(fā)板參考硬件平臺配置,集成在一個壓縮包內(nèi)發(fā)行,極大地方便了開發(fā)人員的使用。該操作系統(tǒng)主要具有以下幾大特點:

  1. 針對 FPGA 嵌入式開發(fā)的特點采用了板級支持包。

  2. 自動生成工具,可以根據(jù)用戶定義的嵌入式硬件平臺信息自動生成板級支持包,簡化了操作系統(tǒng)的移植。

  3. PetaLinux 發(fā)布的源碼樹中包含了部分常用 IP 核的驅(qū)動程序(如 GPIO、 EthernetLite、 UartLite 等) ,減少了用戶移植、 編寫驅(qū)動程序的工作量。

  4. 根據(jù)設(shè)計的不同需求,可以通過配置菜單將 PetaLinux 配置成without MMU support 和MMU support 兩種版本,即μClinux 和標(biāo)準(zhǔn)Linux。

  5. PetaLinux包含了大量的腳本命令(如petalinux2cop2y2autoconfig、petalinux2new2platform、petalinux2new2app等) ,給用戶的使用提供了便捷條件。

本題目要求實現(xiàn)以遠(yuǎn)程更新LCD,F(xiàn)TP是文件傳輸協(xié)議的縮寫,它是一種用于文件傳輸?shù)腎nternet標(biāo)準(zhǔn)。通常,我們可以認(rèn)為FTP是一種基于TCP/IP協(xié)議的應(yīng)用程序,它工作在OS網(wǎng)絡(luò)模型的第七層,TCP協(xié)議的應(yīng)用層上。

完善的內(nèi)置網(wǎng)絡(luò)是Linux的一大特點。 Linux在通信和網(wǎng)絡(luò)功能方面優(yōu)于其他操作系統(tǒng)。其他操作系統(tǒng)不包含如此緊密地和內(nèi)核結(jié)合在一起的連接網(wǎng)絡(luò)的能力,也沒有內(nèi)置這些聯(lián)網(wǎng)特性的靈活性。而Linux為用戶提供了完善的、強大的網(wǎng)絡(luò)功能。

支持Internet是其網(wǎng)絡(luò)功能之一。Linux免費提供了大量支持Internet的軟件,Internet是在Unix領(lǐng)域中建立并繁榮起來的,在這方面使用Linux是相當(dāng)方便的,用戶能用Linux與世界上的其他人通過Internet網(wǎng)絡(luò)進行通信。

文件傳輸是其網(wǎng)絡(luò)功能之二。用戶能通過一些Linux命令完成內(nèi)部信息或文件的傳輸。

遠(yuǎn)程訪問是其網(wǎng)絡(luò)功能之三。Linux不僅允許進行文件和程序的傳輸,它還為系統(tǒng)管理員和技術(shù)人員提供了訪問其他系統(tǒng)的窗口。通過這種遠(yuǎn)程訪問的功能,一位技術(shù)人員能夠有效地為多個系統(tǒng)服務(wù),即使那些系統(tǒng)位于相距很遠(yuǎn)的地方。

PetaLinux強大的網(wǎng)絡(luò)功能可以很好的完成本題目網(wǎng)絡(luò)傳輸?shù)囊?,而且隨著PetaLinux的不斷發(fā)展,越來越多的Xilinx公司的IP Core驅(qū)動程序(XPX LL TEMAC, XPS UART 16550,XPS GPIO,XPS DMA)加入了其內(nèi)核中,大大減小了開發(fā)的難度,加上linux是開源的,在網(wǎng)上有大量的資源可以獲取,從另一方面加速了設(shè)計開發(fā)的進程?;谝陨蟽?yōu)點,選擇了PetaLinux作為本次設(shè)計的嵌入式操作系統(tǒng)。

3.3 嵌入式系統(tǒng)應(yīng)用程序設(shè)計

基于FPGA的LCD顯示的遠(yuǎn)程更新的軟件部分可分為FTP客戶端模塊、視屏播放器模塊和圖形人機交互模塊三部分,其軟件的組成結(jié)構(gòu)如圖 5所示,它們的作用分別是:

  1. FTP客戶端模塊:實現(xiàn)FTP客戶端的基本功能并提供文件下載的接口函數(shù)供上層調(diào)用。

  2. 視屏播放器模塊:實現(xiàn)視屏文件的播放控制。

  3. 圖形人機交互模塊:提供整個系統(tǒng)的圖形化用戶管理接口。

圖 5 軟件組成

3.3.1 FTP客戶端的設(shè)計

FTP在TCP/IP協(xié)議層間的位置如圖 6所示:

圖 6 FTP在TCP/IP協(xié)議層間的位置

FTP與其他基于TCP協(xié)議的應(yīng)用程序不同,它在客戶進程和服務(wù)器進程之間使用了兩個TCP連接:一個是控制連接,客戶端與FTP服務(wù)器通過控制連接進行溝通,連接FTP,發(fā)送FTP指令都是通過控制連接來完成的,它會一直持續(xù)到客戶進程與服務(wù)器進程之間的會話完成為止;另一個是數(shù)據(jù)連接,每當(dāng)有文件在客戶機與服務(wù)器之間傳輸時,就建立一個數(shù)據(jù)連接,數(shù)據(jù)請求完成后,F(xiàn)TP關(guān)閉該段數(shù)據(jù)連接。FTP采用這種方式將傳輸控制與數(shù)據(jù)傳輸?shù)耐ǖ老嗷シ蛛x,最大限度地提高了網(wǎng)絡(luò)中數(shù)據(jù)的吞吐量。

視屏錄像服務(wù)器中保存了視屏錄像,假設(shè)在視屏錄像服務(wù)器上也運行了FTP服務(wù)器程序,當(dāng)用戶點播實時視頻時,本設(shè)計以匿名用戶登陸FTP服務(wù)器將視屏文件的部分先緩存到本地的DDR2 SODIMM中,然后同時進行下載和播放。當(dāng)用戶選擇查詢視屏錄像時,首先將需要觀看的視屏下載到本地的U盤中,然后使用播放器進行播放??紤]到文件下載是一種非常耗時的操作,為了提高視屏文件的下載效率,視屏文件的下載操作需要在子線程中完成。

3.3.2 視屏播放器模塊的設(shè)計

視屏播放器模塊準(zhǔn)備在PeatLinux上面移植Mplayer播放器。MPlayer是Linux上的視屏播放器,它的功能十分強大,能夠播放眾多格式的文件,在X86 PC機上運行很穩(wěn)定,也可以把它移植到非X86CPU上的嵌入式系統(tǒng)中來。相對其它播放器來說,其資源占用非常少,不需要任何系統(tǒng)解碼器就可以播放各種媒體格式,對于MPEG/XviD/DivX格式的文件支持尤其好。MPlayer能使用眾多本地的Xanim,RealPlayer和Win32 DLL編解碼器,播放大多數(shù)MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、QT/MOV、FLI、RM、NuppelVideo、yuv4mpeg、FILM、RoQ文件。借助于MPlayer你能觀看VideoCD、SVCD、DVD、3ivx、RealMedia和DivX格式的電影。MPlayer的另一個大的特色是支持廣泛的輸出設(shè)備,它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、Aalib、DirectFB下工作,而且你也能使用GGI和SDL(由此使用它們支持的各種驅(qū)動模式)和一些低級的硬件相關(guān)的驅(qū)動模式。這個播放器能很穩(wěn)定地播放被破壞的MPEG文件,并且它能播放Windows media player都打不開的有損壞的AVI文件,甚至,沒有索引部分的AVI文件也可以播放。

Mplayer播放器采用了MEncoder解碼器。MEncoder采用的編解碼器包是libavcodec,這個編解碼器包可以在多種平臺上對Cinepak、DV、H.263、H.264/MPEG-4 AVC、HuffYUV、Indeo、MJPEG、MPEG-1、MPEG-2、MPEG-4 Part 2、RealVideo、Sorenson、Theora、WMV編碼格式的視頻流進行解碼,它同時也是已知完成這些任務(wù)最快的解碼器。

Mplayer移植到嵌入式平臺時,編譯后的可執(zhí)行程序的大小在10~16MByte之間,由于Genesys開發(fā)板只有30MByte的Flash可以使用,所以不將Mplayer編譯后的可執(zhí)行文件放在文件系統(tǒng)中,而是將它存儲在U盤中,待運行時再將它加載到開發(fā)板上執(zhí)行。

3.3.3 圖形人機交互模塊

本設(shè)計以鼠標(biāo)作為用戶輸入接口,采用帶有HDMI接口的LCD顯示器作為輸出設(shè)備,利用QT 2.2.0進行圖形界面的設(shè)計。QT/E是跨平臺的C++圖形用戶界面(GUI)工具包,它是著名的QT開發(fā)商TrollTech發(fā)布的面向嵌入式系統(tǒng)的QT版本,Qt是目前KDE等項目使用的GUI支持庫,許多基于Qt的X Windows程序可以非常方便地移植到嵌入式Qt/Embedded版本上。自從Qt/Embedded發(fā)布以來,就有許多嵌入式Linux開發(fā)商利用Qt/Embedded進行嵌入式GUI應(yīng)用開發(fā)。

Qt/Embedded是一個多平臺的C++圖形用戶界面開發(fā)工具包,它注重與能給用戶提供精美的圖形界面所需的所有元素,而且其開發(fā)過程是基于面向?qū)ο蟮木幊趟枷耄襋t/embedded支持真正的組建編程。

整個設(shè)計的軟件工程流程圖,如圖 7所示:

圖 7 系統(tǒng)的軟件流程圖

3.4 調(diào)試環(huán)境的搭建說明

根據(jù)前面的設(shè)計要求,本設(shè)計在調(diào)試時需要用到視頻錄像服務(wù)器。但由于實際條件的限制,故使用帶有千兆以太網(wǎng)口的高性能PC作為視頻服務(wù)器。



評論


相關(guān)推薦

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

關(guān)閉