采用FPGA實施DisplayPort
在今年 1 月舉辦的美國消費電子展 (CES) 上,數(shù)家主要平板電視及顯示技術(shù)公司紛紛宣布推出高清3D電視和令人驚艷的4k x 2k LCD 顯示器,從而可將用戶家中、車內(nèi)或移動設(shè)備上的電視、顯示器以及其他電子設(shè)備之間需要交換的數(shù)據(jù)量提升至前所未有的水平。在這些最新的電視上,體育迷們可以歡欣鼓舞地體驗到眾多優(yōu)異性能,如176°的超廣視界、1200:1的超高對比度以及 450 尼特的亮度——足以使最陰暗的洞穴通透明亮。
本文引用地址:http://butianyuan.cn/article/236289.htm不過,對于開發(fā)這些電視或連接至這些電視的電子產(chǎn)品的設(shè)計工程師來說,最新特性需要非常高的帶寬。例如,一部具備800萬像素的四聲道 4kx2k 高清電視(可為家庭提供數(shù)字影院效果)需要的帶寬是當前頂級電視和顯示器在理想工作狀態(tài)下的4倍,這意味著在機頂盒與高清電視之間存在巨大的數(shù)據(jù)吞吐量。
對更高帶寬的需求并不單來自消費產(chǎn)品市場,為了滿足MRI和CT 掃描、命令與控制、菊花鏈顯示、電子公告牌與 DNA 3D渲染、航空器、天氣以及人體構(gòu)造等眾多領(lǐng)域的顯示需要,廣播設(shè)備、數(shù)字顯示、科研以及醫(yī)療市場也在不斷加大對帶寬的要求。
為了在控制成本的同時還能有助于滿足這種帶寬需求,視頻電子標準協(xié)會(VESA)于2007 年向市場推出了DisplayPort。如今,VESA DisplayPort 1.1a 已能夠在單根線纜內(nèi)支持多達 4 個通道且每通道最高2.7Gbit/s的數(shù)據(jù)率,而 DisplayPort 1.2 又將支持的數(shù)據(jù)數(shù)率翻番,達到 5.4Gb/s(足以在單顯示器應(yīng)用中支持 3840 × 2400 像素 (60Hz),或 4 臺顯示器應(yīng)用中的 1920×1200 像素,或 2560×1600 像素的 3D 顯示 (120Hz))。DisplayPort 可同時支持兩種嵌入式顯示,如筆記本電腦的顯示器,以及視頻“源端”設(shè)備(機頂盒、DVD 播放機、PC 圖形卡以及筆記本電腦)和獨立顯示設(shè)備(HDMI 與 DisplayPort 標準文檔中所稱的“宿端”設(shè)備)之間的盒至盒連接 (box-to-box connection)。
而賽靈思 (Xilinx) 推出了名為 Xilinx LogiCORE DisplayPort v1.1(v1.2 將在 IDS 12.1 中配套提供)的靈活可編程 VESA DisplayPort v.1.1a 解決方案。在用戶展開設(shè)計之前,建議先了解與該標準的部分關(guān)鍵功能有關(guān)的背景信息,如 Policy Maker,以及如何使用Xilinx即將推出的XAPP“使用 MicroBlaze 嵌入式系統(tǒng)實施 DisplayPort Source Policy Maker Controller System參考設(shè)計”在東京電子設(shè)備 (TED) 提供的 Spartan-6 消費類視頻套件上完成實施工作。
Policy Maker:關(guān)鍵性差異
在顯示市場上,VESA通過 DisplayPort引領(lǐng)著從VGA、DVI以及HDMI等協(xié)議成功升級至高速串行收發(fā)器、基于包的層架構(gòu)協(xié)議。與并行協(xié)議不同,串行分組協(xié)議在實現(xiàn)和維持連接或鏈路方面要多一層復(fù)雜性。在VESA DisplayPort 1.1a規(guī)范中,控制功能被劃分為Link Policy Maker和Stream Policy Maker。Link Policy Maker可管理鏈路,并負責保持鏈路同步。其任務(wù)包括發(fā)現(xiàn)鏈路、對鏈路進行初始化和維護。Stream Policy Maker可管理傳輸初始化,并通過底層硬件對行動序列施加控制來維護同步流。
Policy Maker 的上述要素需根據(jù)特定的實施來決定,而且可在操作系統(tǒng)、軟件驅(qū)動程序、固件或者FPGA邏輯中進行配置。為簡化使用,許多商用DisplayPort IC將Link和Stream Policy Maker對設(shè)計人員隱藏。若用戶顯示要求與套裝的DisplayPort ASSP相匹配,其價格和易用性無可爭辯。但是,希望產(chǎn)品在競爭中脫穎而出的設(shè)計人員傾向于采用 FPGA。
Source Policy Maker參考設(shè)計
DisplayPort Source Policy Maker Controller System參考設(shè)計采用賽靈思MicroBlaze 嵌入式系統(tǒng)來實施與商用套裝DisplayPort芯片類似的功能,且具備可進行源代碼定制的額外優(yōu)勢。通過使用該參考設(shè)計的應(yīng)用手冊,用戶不必對Policy Maker進行詳細了解即可順利啟動設(shè)計工作,僅需簡單地將范例設(shè)計連接起來。
除了上述源代碼設(shè)計之外,DisplayPort的傳輸(Tx)或源端內(nèi)核也配套提供了用于實現(xiàn)有限狀態(tài)機(FSM)控制器的額外范例設(shè)計。
在顯示市場上,VESA 通過 DisplayPort 引領(lǐng)著從 VGA、DVI 以及 HDMI 等協(xié)議成功升級至高速串行收發(fā)器、基于包的層架構(gòu)協(xié)議。
DisplayPort Tx FSM 控制器范例設(shè)計(頂級文件名 dport_tx_fsm_cntrl)配套提供 DisplayPort LogiCORE 源端設(shè)計范例。此概念驗證設(shè)計內(nèi)含基于 RTL 的有限狀態(tài)機,以實施可演示正確啟動流程的簡單 Policy Maker。dport_tx_fsm_cntrl 設(shè)計范例的優(yōu)勢在于可以顯著縮短仿真時間。
Source Policy Maker Controller System參考設(shè)計采用MicroBlaze 嵌入式系統(tǒng) XAPP,其頂級 ISE項目名稱為“dport_source_ref_design.xise”。它使用戶能夠根據(jù)自己需要對 Source Policy Maker Controller 的源代碼進行修改。此外,還能夠與LogicCORE v1.2 (IDS 12.1) 和 Spartan-6 TED 消費類視頻套件協(xié)同運行。
上述兩種范例設(shè)計均包含可實現(xiàn)內(nèi)核設(shè)置及鏈路和流維護的基本流程。
功能概述
源端、宿端/視頻規(guī)范都會采用 Policy Maker,但在 DisplayPort LogiCORE 中,賽靈思對它們進行了差別實施。與源(發(fā)送)端的 Policy Maker 功能相比,宿(接收)端的 Policy Maker 功能要簡單得多。賽靈思在 LogiCORE 內(nèi)實施了大部分宿端 Policy Maker 功能?;?nbsp;RTL 的宿端控制器可提供剩余部分的功能。由于源端 Policy Maker 的功能復(fù)雜得多,因而可采用源代碼參考設(shè)計的方式提供。
讓我們來深入了解源端 Policy Maker,其使設(shè)計人員能夠最大限度地提高功能靈活性與實施靈活性。頂級范例設(shè)計包含內(nèi)核的兩個高級組件示例:XAPP 使用 MicroBlaze 嵌入式系統(tǒng)實施 DisplayPort Source Policy Maker Controller System參考設(shè)計;以及 DisplayPort 內(nèi)核源端(發(fā)送)設(shè)計。賽靈思將內(nèi)核的實施分成原子鏈路功能,分別稱為主鏈路、二級通道以及 AUX 通道協(xié)議。主鏈路可實現(xiàn)主視頻流的交付。二級通道可在消隱期內(nèi)將音頻信息的交付集成到主鏈路中。賽靈思將在未來的內(nèi)核中提供二級通道。同時,AUX 通道可為宿端通信通道建立專用源端(見圖 2)。
賽靈思為用戶數(shù)據(jù)接口新增了線路緩存器,使用戶能夠在 FPGA(見圖 2、3 和 4)中便捷實施范例設(shè)計。圖 3 中宿端的 Policy Maker 與 Device Controller 都是 CORE GeneratorTM 所提供宿端設(shè)計范例的組成部分。
MicroBlaze 處理器發(fā)揮核心作用
賽靈思推出的Source Policy Maker Controller可與內(nèi)核配合使用,這樣其功能在很大程度上和ASSP DisplayPort源端設(shè)備一樣。建議您使用MicroBlaze嵌入式或外部處理器來正確初始化和維持該鏈路。XAPP包含的Policy Maker參考設(shè)計預(yù)配置版本在FPGA內(nèi)的 MicroBlaze 處理器中實施,可幫助用戶立刻將設(shè)計方案轉(zhuǎn)換成硬件。正式供貨時的參考設(shè)計將包含設(shè)計人員可修改的源代碼。
Source Policy Maker Controller 設(shè)計的“邏輯”部分位于 MicroBlaze 處理器之上,并使用 I2C 命令來控制鏈路、數(shù)據(jù)流以及配置空間。該 C 語言代碼可實施 Policy Maker 的指令控制、高級示例文件以及嵌入式開發(fā)套件 (EDK)。同時賽靈思還提供軟件開發(fā)套件 (SDK) 項目文件,可為設(shè)計人員最大限度地提高實施靈活性。此外,賽靈思還可為使用現(xiàn)有控制平臺處理器的應(yīng)用提供 C 語言源代碼。設(shè)計人員可將該源代碼添加至 FPGA 內(nèi)外的現(xiàn)有控制軟件中。根據(jù)許可證協(xié)議,只要代碼能夠同內(nèi)核配合使用,控制器即可在FPGA外部實施(即在外部處理器中實施)。
設(shè)計人員可使用支持賽靈思 Platform Studio (EDK) 的嵌入式硬件設(shè)計套件或具有 SDK 的嵌入式軟件設(shè)計套件,對 XAPP 設(shè)計進行修改。通常情況下,F(xiàn)PGA 設(shè)計人員使用 EDK,而軟件開發(fā)人員則使用 SDK。EDK 流會生成一個中間網(wǎng)絡(luò)文件 (NGC),您可以在實施設(shè)計之前,將其整合在ISE項目中。NGC 文件包含構(gòu)成 BRAM 初始化一部分的 MicroBlaze 代碼。
快速轉(zhuǎn)換
如果用戶修改過軟件,EDK 流通常會占用較長的時間。不過,用戶一旦生成了網(wǎng)絡(luò)列表,就不再需要 EDK 或者 SDK 了。SDK 流可修改 FPGA 比特流,因此僅需更新 BRAM 中的 MicroBlaze 代碼內(nèi)容。該 SDK 流能夠為軟件修改提供更快的轉(zhuǎn)換時間,但在這種情況下,用戶必須每生成一個比特流就使用一次 SDK。
在 DisplayPort 中,VESA 為系統(tǒng)增添了智能性,不但能在源端設(shè)備(如機頂盒、DVD 播放器或 PC 圖形卡)與宿端設(shè)備(如顯示監(jiān)控器)之間進行功能協(xié)調(diào),而且還可優(yōu)化通信參數(shù)。
擴展顯示識別
DisplayPort 一個特別重要的特性是,能夠通過 VESA 的增強顯示識別數(shù)據(jù) (EDID) 結(jié)構(gòu)與不同的設(shè)備進行接口相連。EDID 并不是什么新事物。實際上多年以來設(shè)計人員一直在使用各種視頻接口讀取 EDID 的宿端設(shè)備參數(shù),從而與設(shè)備進行接口連接。不過這些早期的 EDID 及相關(guān)接口技術(shù)通常不包含高級可配置通信通道。如今借助DisplayPort,VESA為系統(tǒng)增添了智能性,不但能在源端(如機頂盒、DVD 播放器或 PC 圖形卡)與宿端設(shè)備(如顯示監(jiān)控器)之間進行功能協(xié)調(diào),而且還可優(yōu)化通信參數(shù)。DisplayPort v1.1a 可協(xié)調(diào)的變量包括通道數(shù)量(1、2 或者 4)、每信道數(shù)據(jù)速率(1.62 或 2.7Gb/s)、電壓擺幅(0.2、0.6、0.8、1.2 V)、4 個級別的通道預(yù)加重以及鏈路時鐘向下擴散。由 CORE Generator 生成,并與 LogiCORE 一道提供的接收宿端范例設(shè)計可提供范例 EDID(圖 3),以便滿足 EDID 源端設(shè)備的讀取需求,確保用戶的最佳視覺體驗。
宿端范例設(shè)計在 FPGA 內(nèi)部的 BRAM 中實施了 EDID 數(shù)據(jù)結(jié)構(gòu)。DisplayPort 的源代碼可通過 AUX 通道實現(xiàn) I2C 協(xié)議。圖 3 和圖 4 顯示了連接至源端的 DisplayPort 宿端的方框圖。宿端的 Link 與 Stream Policy Maker屬于宿端內(nèi)核的組成部分,不過源端的Link Policy Maker 具有更高的復(fù)雜性,將作為源代碼隨參考設(shè)計提供。EDID通過I2C接口與接受宿端進行接口連接。
I2C 協(xié)議非常適合針對 EDID 數(shù)據(jù)結(jié)構(gòu)的連接,并常常用于這種類型的應(yīng)用。I2C 控制器負責定位與管理在 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 提供控制信號,在與適當?shù)拈_集輸出相連時,可提供 I2C 主接口。宿端內(nèi)含名為“DisplayPort 配置數(shù)據(jù)(DPCD)”的數(shù)據(jù)結(jié)構(gòu),可以存儲配置數(shù)據(jù)并作為宿端與源端都可讀寫的通信郵箱使用。源端一般使用跨 AUX 通道的 DPCD 內(nèi)容(圖 3 和圖 4)。
結(jié)語
采用 MicroBlaze 的賽靈思 Source Policy Maker Controller 系統(tǒng)參考設(shè)計經(jīng)過精心設(shè)計,可充分發(fā)揮DisplayPort的所有優(yōu)勢,向市場推出功能豐富的顯示產(chǎn)品。
參考文獻:
[1]Xilinx IP Center – DisplayPort LogiCORE[R/OL]:http://www.xilinx.com/products/ipcenter/EF-DIDISPLAYPORT.htm
[2]Quantum Data 882E Video Test Instruments[R/OL],http://www.quantumdata.com/pdf/882E_DP_DS_RevI.pdf
[3]VESA DisplayPort Standard[S]. v1.1a, 2008-1
[4]Philips Semiconductors.I2S Bus特點.1996 (更多I2S:http://www.nxp.com/acrobat_download/various/I2SBUS.pdf )
[5]UG196 and UG 198.Virtex-5 FPGA GTP Transceiver User Guides
[6]UG386.Spartan-6 FPGA GTP TransceiverUser Guide
fpga相關(guān)文章:fpga是什么
評論