新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用FPGA實(shí)現(xiàn) DisplayPort

采用FPGA實(shí)現(xiàn) DisplayPort

作者: 時(shí)間:2011-09-24 來源:網(wǎng)絡(luò) 收藏
在1月份舉辦的美國消費(fèi)電子展(Consumer Electronics Show) 上,數(shù)家業(yè)界主要的平板電視及顯示技術(shù)公司紛紛宣布推出高清 3D 電視和令人驚艷的4K x 2K LCD 顯示器,從而可將用戶家中、車內(nèi)或移動(dòng)設(shè)備上的電視、顯示器以及其他電子設(shè)備之間需要交換的數(shù)據(jù)量顯著提升至前所未有的水平。在這些最新的電視上,體育迷們可以歡欣鼓舞地體驗(yàn)到眾多優(yōu)異性能,如 176 度的超廣視界、1,200:1 的超高對比度以及 450尼特的亮度——足以使最陰暗的洞穴通透明亮。

  不過, 對于開發(fā)這些電視或連接至這些電視的電子產(chǎn)品的設(shè)計(jì)工程師來說,所有這些最新特性都意味著需要非常高的帶寬。例如,一部具備 800 萬像素的四聲道 4Kx2K 高清電視(可為家庭提供數(shù)字影院效果)需要的帶寬是當(dāng)前頂級(jí)電視和顯示器在理想工作狀態(tài)下所需帶寬的四倍,這意味著在機(jī)頂盒與高清電視之間存在巨大的數(shù)據(jù)吞吐量。

  這種對更高帶寬的需求并不單單來自消費(fèi)產(chǎn)品市場,為了滿足 MRI 和 CT掃描、命令與控制、菊花鏈顯示、電子公告牌與 DNA 3D渲染、航空器、天氣以及人體構(gòu)造等眾多應(yīng)用領(lǐng)域的顯示需要,廣播設(shè)備、數(shù)字顯示、科研以及醫(yī)療市場也在不斷加大對帶寬的要求。

  為了在控制成本的同時(shí)還能有助于滿足這種帶寬需求,視頻電子標(biāo)準(zhǔn)協(xié)會(huì) (Video Electronics Standards Association) 于 2007 年向市場推出了DisplayPort,并隨后積極與合作伙伴展開合作,對 DisplayPort 進(jìn)行優(yōu)化。如今,VESA DisplayPort 1.1a 已能夠在單根線纜內(nèi)支持多達(dá) 4 個(gè)通道且每通道最高 2.7Gbps 的數(shù)據(jù)率,而 DisplayPort1.2 又將支持的數(shù)據(jù)數(shù)率翻了一番,達(dá)到5.4Gbps(足以在單顯示器應(yīng)用中支持3,840 x 2,400 像素 (60Hz),或 4 臺(tái)顯示器應(yīng)用中的 1,920x1,200 像素,或 2,560x 1,600 像素的 3D 顯示 (120Hz))。DisplayPort 可同時(shí)支持兩種顯示,如筆記本電腦的顯示器,以及視頻“源端”設(shè)備(機(jī)頂盒、DVD 播放機(jī)、PC 圖形卡以及筆記本電腦)和獨(dú)立顯示設(shè)備(HDMI 與 DisplayPort 標(biāo)準(zhǔn)文檔中所稱的“宿端”設(shè)備)之間的盒至盒連接 (box-to-box connection)。


圖1 TED Spartan-6 消費(fèi)類視頻套件

  一些芯片制造商已針對上述應(yīng)用推出了現(xiàn)成的標(biāo)準(zhǔn)發(fā)送器和接收機(jī),而賽靈思推出了名為 Xilinx LogiCORETM DisplayPort v1.1(v1.2 將在 IDS 12.1中配套提供) 的靈活可編程 VESA DisplayPort v.1.1a 解決方案。該 可隨時(shí)提供給賽靈思的客戶,但在用戶展開設(shè)計(jì)之前,建議先了解與該標(biāo)準(zhǔn)的部分關(guān)鍵功能有關(guān)的其它背景信息,如Policy Maker,以及如何使用我們即將推出的 XAPP“使用 MicroBlazeTM 系統(tǒng)實(shí)施 DisplayPort Source PolicyMaker 控制系統(tǒng)參考設(shè)計(jì)”在東京電子設(shè)備 (TED) 提供的 Spartan-6 消費(fèi)類視頻套件上完成實(shí)施工作。

  Policy Maker — 關(guān)鍵性差異

  對于顯示市場來說,DisplayPort協(xié)議標(biāo)志著連接技術(shù)的重大變革。這次轉(zhuǎn)型的意義不亞于在 Intel 主導(dǎo)的 PC 市場上從并行 PCI 總線升級(jí)至串行 PCI Express。在顯示市場上,VESA 通過DisplayPort 引領(lǐng)著從 VGA、DVI 以及HDMI 等協(xié)議成功升級(jí)至高速串行收發(fā)器、基于包的層架構(gòu)協(xié)議。與并行協(xié)議不同,串行分組協(xié)議在實(shí)現(xiàn)和維持連接或鏈路方面要多一層復(fù)雜性。在 VESA DisplayPort 1.1a 規(guī)范中,控制功能被劃分為 Link Policy Maker 和 Stream Policy Maker。Link Policy Maker 可管理鏈路,并負(fù)責(zé)保持鏈路同步。其任務(wù)包括發(fā)現(xiàn)鏈路、對鏈路進(jìn)行初始化和維護(hù)。Stream Policy Maker 可管理傳輸初始化,并通過底層硬件對行動(dòng)序列施加控制來維護(hù)同步流。

  Policy Maker 的上述要素需根據(jù)特定的實(shí)施來決定,而且可在操作系統(tǒng)、軟件驅(qū)動(dòng)程序、固件或者 邏輯中進(jìn)行配置。為簡化使用,許多商用DisplayPort IC 將 Link 和 Stream PolicyMaker 對設(shè)計(jì)人員隱藏。如果用戶的顯示要求恰與套裝的 DisplayPort ASSP相匹配,則其價(jià)格和易用性確實(shí)無可爭辯。但是,想要讓產(chǎn)品在競爭中脫穎而出的設(shè)計(jì)人員則傾向于采用 。


圖2 DisplayPort Source Policy Maker Controller System Reference Design 與 LogiCORE 源端高層結(jié)構(gòu)圖

  Source Policy Maker參考設(shè)計(jì)

  DisplayPort Source Policy Maker控制系統(tǒng)參考設(shè)計(jì)采用MicroBlaze系統(tǒng)來實(shí)施與商用套裝 DisplayPort 芯片類似的功能,且具備可進(jìn)行源代碼定制的額外優(yōu)勢。通過使用 Source Policy Maker Controller System Reference Design 的應(yīng)用手冊,用戶不必對 Policy Maker 進(jìn)行詳細(xì)了解即可順利啟動(dòng)設(shè)計(jì)工作,僅需簡單地將范例設(shè)計(jì)連接起來。

  除了上述源代碼設(shè)計(jì)之外,DisplayPort 的傳輸 (Tx) 或源端內(nèi)核也配套提供了用于實(shí)現(xiàn)有限狀態(tài)機(jī) (FSM)控制器的額外范例設(shè)計(jì)。

  DisplayPort Tx FSM 控制器范例設(shè)計(jì)(其頂級(jí)文件名為 dport_tx_fsm_cntrl)配套提供 DisplayPort LogiCORE 源端設(shè)計(jì)范例。該款簡單的概念驗(yàn)證設(shè)計(jì)內(nèi)含基于 RTL 的有限狀態(tài)機(jī),以實(shí)施可演示正確啟動(dòng)流程的簡單Policy Maker。與其他范例設(shè)計(jì)相比,dport_tx_fsm_cntrl 設(shè)計(jì)范例的優(yōu)勢在于可以顯著縮短仿真時(shí)間。

  Source Policy Maker 控制系統(tǒng)參考設(shè)計(jì)采用擬將于 5 月下旬推出的MicroBlaze 嵌入式系統(tǒng) XAPP,其頂級(jí)ISE 項(xiàng)目名稱為“dport_source_ref_design.xise“。該設(shè)計(jì)使用戶能夠根據(jù)自己的需要對 Source Policy Maker Controller的源代碼進(jìn)行修改。此外,其還能夠與 DisplayPort LogicCORE v1.2 (IDS12.1) 版和 Spartan-6 TED 消費(fèi)類視頻套件協(xié)同運(yùn)行。

  上述兩種范例設(shè)計(jì)都包含了可實(shí)現(xiàn)內(nèi)核設(shè)置及鏈路和流維護(hù)的基本流程。請注意,TED Spartan-6 消費(fèi)類視頻套件沒有提供 DisplayPort 線纜。

  功能概述

  源端、宿端/ 視頻規(guī)范都會(huì)采用 Policy Maker,但在 DisplayPortLogiCORE 中,賽靈思對它們進(jìn)行了差別實(shí)施。與源(發(fā)送)端的 Policy Maker 功能相比, 宿( 接收) 端的Policy Maker 功能要簡單得多。賽靈思LogiCORE 在 LogiCORE 內(nèi)實(shí)施了大部分宿端 Policy Maker 功能?;?RTL的宿端控制器可提供剩余部分的功能。由于源端 Policy Maker 的功能復(fù)雜得多,因而可采用源代碼參考設(shè)計(jì)的方式提供。

  讓我們來深入了解源端Policy Maker,其使設(shè)計(jì)人員能夠最大限度地提高功能靈活性與實(shí)施靈活性。頂級(jí)范例設(shè)計(jì)包含內(nèi)核的兩個(gè)高級(jí)組件示例:XAPP 使用 MicroBlaze 嵌入式系統(tǒng)實(shí)施 DisplayPort Source Policy Maker 控制系統(tǒng)參考設(shè)計(jì);以及 DisplayPort 內(nèi)核源端(發(fā)送)設(shè)計(jì)。賽靈思將內(nèi)核的實(shí)施分成原子鏈路功能,分別稱為主鏈路 (Main Link)、二級(jí)通道 (Secondary Channel) 以及 AUX 通道協(xié)議。主鏈路可實(shí)現(xiàn)主視頻流的交付。二級(jí)通道可在消隱期內(nèi)將音頻信息的交付集成到主鏈路中。賽靈思將在未來發(fā)布的內(nèi)核中提供二級(jí)通道。同時(shí),AUX 通道可為宿端通信通道建立專用源端(參見圖 2)。

  賽靈思為用戶數(shù)據(jù)接口新增了線路緩存器,使用戶能夠在 FPGA(參見圖 2、3 和 4)中便捷實(shí)施范例設(shè)計(jì)。圖 3 中宿端的 Policy Maker 與 Device Controller 都是 CORE GeneratorTM 所提供宿端設(shè)計(jì)范例的組成部分。

  MicroBlaze 處理器發(fā)揮核心作用

  賽靈思推出的 Source Policy Maker Controller 可與內(nèi)核配合使用,這樣其功能在很大程度上和 ASSP DisplayPort源端設(shè)備一樣。我們建議您使用MicroBlaze 嵌入式或外部處理器來正確初始化和維持該鏈路。XAPP 包含的Policy Maker Reference Design 預(yù)配置版本在 FPGA 內(nèi)的 MicroBlaze 處理器中實(shí)施,可幫助用戶立刻將設(shè)計(jì)方案轉(zhuǎn)換成硬件。正式供貨時(shí)的參考設(shè)計(jì)將包含設(shè)計(jì)人員可以修改的源代碼。

  Source Policy Maker Controller設(shè)計(jì)的“邏輯”部分位于 MicroBlaze處理器之上,并使用 I2C 命令來控制內(nèi)核配合使用,控制器即可在 FPGA 外部實(shí)施(即在外部處理器中實(shí)施)。

  設(shè)計(jì)人員可使用支持賽靈思Platform. Studio (EDK) 的賽靈思嵌入式硬件設(shè)計(jì)套件或具有 SDK 的賽靈思嵌入式軟件設(shè)計(jì)套件,對 XAPP 設(shè)計(jì)進(jìn)行修改。通常情況下,F(xiàn)PGA 設(shè)計(jì)人員使用 EDK,而軟件開發(fā)人員則使用SDK。

  EDK 流會(huì)生成一個(gè)中間網(wǎng)絡(luò)文件 (NGC),您可以在實(shí)施設(shè)計(jì)之前,將其整合在項(xiàng)級(jí) ISE 項(xiàng)目中。NGC文件包含構(gòu)成 BRAM 初始化一部分的MicroBlaze 代碼。

  如果用戶修改過軟件,EDK 流通常會(huì)占用較長的時(shí)間。不過,用戶一旦生成了網(wǎng)絡(luò)列表,就不再需要 EDK或者 SDK 了。SDK 流可修改 FPGA比特流,因此僅需更新 BRAM 中的MicroBlaze 代碼內(nèi)容。該 SDK 流能夠?yàn)檐浖薷奶峁└斓霓D(zhuǎn)換時(shí)間,但在這種情況下,用戶必須每生成一個(gè)比特流就使用一次 SDK。有關(guān)本專題的 XAPP 白皮書涵蓋了如何使用賽靈思FPGA 嵌入式軟件開發(fā)套件運(yùn)行該設(shè)計(jì)的詳盡說明。

  該“入門指南”涵蓋豐富信息,其中包括訂購與許可、仿真、全系統(tǒng)硬件*估,以及技術(shù)支持等。此外,其還包含用戶可用于生成范例設(shè)計(jì)的腳本文件,以及如何使用范例測試臺(tái)與范例模式生成器進(jìn)行仿真的說明。

  用戶可將該設(shè)計(jì)與從 TED Spartan-6FPGA 消費(fèi)類視頻套件中下載的完整版或*估版賽靈思DisplayPort LogiCORE以及 DisplayPort FPGA Mezzanine Card卡配合使用。

  源端的 Policy Maker 內(nèi)含一個(gè)狀態(tài)機(jī),可通過 AMBA?APB 端口或采用AMBA 至 PLB 橋的 32 位 PLBv46 總線連接至處理器接口。賽靈思在 BlockRAM 中存儲(chǔ)了用戶可修改的指令集。賽靈思用來調(diào)訓(xùn) (train) 該鏈路的 C++代碼不但是采用 GNU C++ 編譯器編譯的,并且還在采用賽靈思 EDK PlatformStudio 處理器設(shè)計(jì)套件的 FPGA 內(nèi)部實(shí)施的軟 MicroBlaze 處理器上進(jìn)行了全面測試。參考設(shè)計(jì)包含完整的賽靈思 SDK項(xiàng)目。范例測試臺(tái)可將一個(gè) 135MHz的時(shí)鐘連接至 VID 時(shí)鐘,并將一個(gè)100MHz 的時(shí)鐘連接至 APB 時(shí)鐘。賽靈思對所有輸入是否連接正確進(jìn)行檢查。此外,頂級(jí)模塊還提供復(fù)位功能。

  擴(kuò)展顯示識(shí)別

  DisplayPort 一個(gè)特別重要的特性是,能夠通過 VESA 的增強(qiáng)顯示識(shí)別2010年 夏季刊37手把手課堂:FPGA 101數(shù)據(jù) (EDID) 結(jié)構(gòu)與不同的設(shè)備進(jìn)行接口相連。EDID 并不是什么新事物。實(shí)際上多年以來設(shè)計(jì)人員一直在使用各種視頻接口讀取 EDID 的宿端設(shè)備參數(shù),從而與設(shè)備進(jìn)行接口連接。不過這些早期的 EDID 及相關(guān)接口 技術(shù)通常不包含高級(jí)可配置通信通道。如今借助 DisplayPort,VESA 為系統(tǒng)增添了智能性,不但能在源端(如機(jī)頂盒、DVD 播放器或 PC 圖形卡)與宿端設(shè)備(如顯示.)之間進(jìn)行功能協(xié)調(diào),而且還可優(yōu)化通信參數(shù)。DisplayPort v1.1a 可協(xié)調(diào)的變量包括通道數(shù)量(1、2 或者 4)、每信道數(shù)據(jù)速率(1.62 或 2.7Gbps)、電壓擺幅(0.2、0.6、0.8、1.2 V)、4 個(gè)級(jí)別的通道預(yù)加重以及鏈路時(shí)鐘向下擴(kuò)散。

  由 CORE Generator 生成,并與LogiCORE 一道提供的接收宿端范例設(shè)計(jì)可提供范例 EDID(見圖 3),以便滿足 EDID 源端設(shè)備的讀取需求,確保用戶的最佳視覺體驗(yàn)。


圖3 DisplayPort 接收高級(jí)方框圖

  宿端范例設(shè)計(jì)在 FPGA 內(nèi)部的BRAM 中實(shí)施了 EDID 數(shù)據(jù)結(jié)構(gòu)。DisplayPort 的源代碼可通過 AUX 通道實(shí)現(xiàn) I2C 協(xié)議。圖 3 和圖 4 顯示了連接至源端的 DisplayPort 宿端的方框圖。宿端的 Link 與 Stream Policy Maker屬于宿端內(nèi)核的組成部分,不過源端的 LinkPolicy Maker 具有更高的復(fù)雜性,將作為源代碼隨參考設(shè)計(jì)提供。EDID 通過I2C 接口與接受宿端進(jìn)行接口連接。

  I2C 協(xié)議非常適合針對 EDID 數(shù)據(jù)結(jié)構(gòu)的連接,并常常用于這種類型的應(yīng)用。I2C 控制器負(fù)責(zé)定位與管理在EDID 中發(fā)現(xiàn)的數(shù)據(jù),并通過串行接口與 I2C 接口協(xié)議(通過 AUX 通道)將數(shù)據(jù)傳輸至宿端內(nèi)核。在工作模式下,用戶無需知曉 EDID 是否正被訪問。用戶可通過檢測 I2C 總線來監(jiān)控 ROM 的內(nèi)容。在調(diào)試模式下,用戶能夠修改I2C 控制器,覆蓋 EDID ROM 提供的 3位內(nèi)容。I2C 提供控制信號(hào),在與適當(dāng)?shù)拈_集輸出相連時(shí),可提供 I2C 主接口。

  宿端內(nèi)含名為“DisplayPort 配置數(shù)據(jù)(DPCD)”的數(shù)據(jù)結(jié)構(gòu),可以存儲(chǔ)配置數(shù)據(jù)并作為宿端與源端都可讀寫的通信郵箱使用。源端一般使用跨 AUX 通道的 DPCD 內(nèi)容(參見圖 3 和圖 4)。


圖4 VESA DisplayPort v1.1a 主鏈路

  Policy Maker 鏈路調(diào)訓(xùn)

  在 DisplayPort 鏈路上建立通信的過程稱為“鏈路調(diào)訓(xùn)”。在鏈路調(diào)訓(xùn)的過程中,內(nèi)核在通信啟動(dòng)時(shí)將著力于最大限度降低錯(cuò)誤的同時(shí),優(yōu)化鏈路速度與功耗。如果在數(shù)據(jù)傳輸中出現(xiàn)問題,內(nèi)核將自動(dòng)重復(fù)鏈路調(diào)訓(xùn),以適應(yīng)不斷變化的條件。源端與宿端信息包之間的通信通過雙向半雙工 1Mbps AUX 通道進(jìn)行。視頻與音頻數(shù)據(jù)通過主鏈路信道(1、2 或 4)進(jìn)行傳輸,其是從源端到宿端的高速千兆位級(jí)收發(fā)器通道。

  內(nèi)核的鏈路調(diào)訓(xùn)工作分兩步執(zhí)行:時(shí)鐘恢復(fù)、信道均衡;符號(hào)鎖定(symbol lock)、信道間對準(zhǔn)。步驟一,接收器的 PLL 鎖定至進(jìn)入的信號(hào),并恢復(fù)鏈路時(shí)鐘。步驟二,系統(tǒng)對通道均衡與信道間對準(zhǔn)進(jìn)行優(yōu)化。

  下面是源端與宿端的 PolicyMakers 的典型工作順序:

  1. Tx Link Policy Maker 可監(jiān)控?zé)岚尾鍣z測情況,如果檢測到有熱拔插,則向 Stream Source Policy Maker 發(fā)送通知。Stream Source Policy Maker 通過 AUC 通道讀取宿端 EDID;

  2. Tx Link Policy Maker 通過AUX 通道讀取來自宿端的 DisplayPort配置數(shù)據(jù)。根據(jù)源端與宿端的功能配置情況,它可為宿端 DPCD 的鏈路配置字段編寫配置參數(shù),并通過寫入到宿端 DPCD 的“TRAINING_PATTERN_SET”字節(jié)啟動(dòng)鏈路調(diào)訓(xùn),隨即對調(diào)訓(xùn)模式的發(fā)送進(jìn)行初始化;

  3. Tx Link Policy Maker 根據(jù)來自 Rx Link Policy Maker 的反饋,通過調(diào)節(jié)電壓擺幅以及在必要時(shí)調(diào)節(jié)比特率,來控制時(shí)鐘恢復(fù)順序。一旦內(nèi)核完成時(shí)鐘恢復(fù),鏈路調(diào)訓(xùn)就進(jìn)入通道均衡階段。在該階段,如果調(diào)用 Rx LinkPolicy Maker,即對預(yù)加重進(jìn)行調(diào)節(jié)。此外,接收器還將在本階段完成符號(hào)鎖定與信道間的對準(zhǔn);

  4. 一旦內(nèi)核通過鏈路調(diào)訓(xùn)( 即系統(tǒng)完成位鎖定與符號(hào)鎖定),就會(huì)在 DPCD 中予以提示。Tx Link PolicyMaker 可向 Tx Stream Policy Maker 報(bào)告調(diào)訓(xùn)狀況,以在進(jìn)行流屬性數(shù)據(jù)傳輸?shù)耐瑫r(shí)實(shí)現(xiàn)同步流。

  Policy Maker 的附加功能

  除了參與鏈路調(diào)訓(xùn)外,Tx Link Policy Maker 還可利用來自接收器的IRQ HPD 信號(hào)監(jiān)控宿端事件通知,并可檢查 DPCD 的鏈路狀態(tài)字段,了解中斷的原因。如果Tx Link Policy Maker檢測到鏈路失去鎖定,就必須重新訓(xùn)練鏈路。如果接收器調(diào)用,其還可重新配置鏈路,增加或者減少主鏈路信道數(shù)。

  此外,Link Policy Maker 還可決定多個(gè) AUX 請求事物處理的順序,因?yàn)槊總€(gè)事物處理結(jié)束于另一個(gè)事物處理開始之前。由于宿端的答復(fù)可以是 NACK或者 DEFER,Policy Maker 必須決定針對這兩種情況的后續(xù)工作。AUX 事物處理僅限于 16 字節(jié)的數(shù)據(jù),因此Policy Maker 必須將較大的事務(wù)處理分成多個(gè)不超過 16 字節(jié)的事物處理。

  由于 DisplayPort 能夠協(xié)商和優(yōu)化鏈路設(shè)置,因而能夠在不斷變動(dòng)的條件下實(shí)現(xiàn)最佳結(jié)果。Link 與 Stream Policy Maker是進(jìn)行流程協(xié)調(diào)的控制功能,能夠?qū)崿F(xiàn)現(xiàn)代高速視頻與音頻的傳輸。采用 MicroBlaze 嵌入式系統(tǒng)的賽靈思Source Policy Maker Controller 系統(tǒng)參考設(shè)計(jì)經(jīng)過精心設(shè)計(jì),可幫助您充分發(fā)揮這些全新功能的所有優(yōu)勢,向市場推出功能豐富的顯示產(chǎn)品。賽靈思DisplayPort LogiCORE 可提供高度靈活的源端與宿端解決方案,具有可下載到TED Spartan-6 消費(fèi)類視頻套件中的范例 EDID 及源代碼。免費(fèi)提供該 的*估版本。


linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

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

關(guān)閉