在1月份舉辦的美國消費電子展(Consumer Electronics Show) 上,數家業界主要的平板電視及顯示技術公司紛紛宣布推出高清 3D 電視和令人驚艷的4K x 2K LCD 顯示器,從而可將用戶家中、車內或移動設備上的電視、顯示器以及其他電子設備之間需要交換的數據量顯著提升至前所未有的水平。在這些最新的電視上,體育迷們可以歡欣鼓舞地體驗到眾多優異性能,如 176 度的超廣視界、1,200:1 的超高對比度以及 450尼特的亮度--足以使最陰暗的洞穴通透明亮。
不過, 對于開發這些電視或連接至這些電視的電子產品的設計工程師來說,所有這些最新特性都意味著需要非常高的帶寬。例如,一部具備 800 萬像素的四聲道 4Kx2K 高清電視(可為家庭提供數字影院效果)需要的帶寬是當前頂級電視和顯示器在理想工作狀態下所需帶寬的四倍,這意味著在機頂盒與高清電視之間存在巨大的數據吞吐量。
這種對更高帶寬的需求并不單單來自消費產品市場,為了滿足 MRI 和 CT掃描、命令與控制、菊花鏈顯示、電子公告牌與 DNA 3D渲染、航空器、天氣以及人體構造等眾多應用領域的顯示需要,廣播設備、數字顯示、科研以及醫療市場也在不斷加大對帶寬的要求。
為了在控制成本的同時還能有助于滿足這種帶寬需求,視頻電子標準協會 (Video Electronics Standards Association) 于 2007 年向市場推出了DisplayPort,并隨后積極與合作伙伴展開合作,對 DisplayPort 進行優化。如今,VESA DisplayPort 1.1a 已能夠在單根線纜內支持多達 4 個通道且每通道最高 2.7Gbps 的數據率,而 DisplayPort1.2 又將支持的數據數率翻了一番,達到5.4Gbps(足以在單顯示器應用中支持3,840 x 2,400 像素 (60Hz),或 4 臺顯示器應用中的 1,920x1,200 像素,或 2,560x 1,600 像素的 3D 顯示 (120Hz))。DisplayPort 可同時支持兩種嵌入式顯示,如筆記本電腦的顯示器,以及視頻“源端”設備(機頂盒、DVD 播放機、PC 圖形卡以及筆記本電腦)和獨立顯示設備(HDMI 與 DisplayPort 標準文檔中所稱的“宿端”設備)之間的盒至盒連接 (box-to-box connection)。
一些芯片制造商已針對上述應用推出了現成的標準發送器和接收機,而賽靈思推出了名為 Xilinx LogiCORETM DisplayPort v1.1(v1.2 將在 IDS 12.1中配套提供) 的靈活可編程 VESA DisplayPort v.1.1a 解決方案。該 IP 可隨時提供給賽靈思的客戶,但在用戶展開設計之前,建議先了解與該標準的部分關鍵功能有關的其它背景信息,如Policy Maker,以及如何使用我們即將推出的 XAPP“使用 MicroBlazeTM 嵌入式系統實施 DisplayPort Source PolicyMaker 控制系統參考設計”在東京電子設備 (TED) 提供的 Spartan-6 消費類視頻套件 (http://www.teldevice.co.jp/eng/)上完成實施工作。
Policy Maker - 關鍵性差異
對于顯示市場來說,DisplayPort協議標志著連接技術的重大變革。這次轉型的意義不亞于在 Intel 主導的 PC 市場上從并行 PCI 總線升級至串行 PCI Express.在顯示市場上,VESA 通過DisplayPort 引領著從 VGA、DVI 以及HDMI 等協議成功升級至高速串行收發器、基于包的層架構協議。與并行協議不同,串行分組協議在實現和維持連接或鏈路方面要多一層復雜性。在 VESA DisplayPort 1.1a 規范中,控制功能被劃分為 Link Policy Maker 和 Stream Policy Maker.Link Policy Maker 可管理鏈路,并負責保持鏈路同步。其任務包括發現鏈路、對鏈路進行初始化和維護。Stream Policy Maker 可管理傳輸初始化,并通過底層硬件對行動序列施加控制來維護同步流。
Policy Maker 的上述要素需根據特定的實施來決定,而且可在操作系統、軟件驅動程序、固件或者 FPGA 邏輯中進行配置。為簡化使用,許多商用DisplayPort IC 將 Link 和 Stream PolicyMaker 對設計人員隱藏。如果用戶的顯示要求恰與套裝的 DisplayPort ASSP相匹配,則其價格和易用性確實無可爭辯。但是,想要讓產品在競爭中脫穎而出的設計人員則傾向于采用 FPGA.
圖2 DisplayPort Source Policy Maker Controller System Reference Design 與 LogiCORE 源端高層結構圖
Source Policy Maker參考設計
DisplayPort Source Policy Maker控制系統參考設計采用MicroBlaze嵌入式系統來實施與商用套裝 DisplayPort 芯片類似的功能,且具備可進行源代碼定制的額外優勢。通過使用 Source Policy Maker Controller System Reference Design 的應用手冊,用戶不必對 Policy Maker 進行詳細了解即可順利啟動設計工作,僅需簡單地將范例設計連接起來。
除了上述源代碼設計之外,DisplayPort 的傳輸 (Tx) 或源端內核也配套提供了用于實現有限狀態機 (FSM)控制器的額外范例設計。
DisplayPort Tx FSM 控制器范例設計(其頂級文件名為 dport_tx_fsm_cntrl)配套提供 DisplayPort LogiCORE 源端設計范例。該款簡單的概念驗證設計內含基于 RTL 的有限狀態機,以實施可演示正確啟動流程的簡單Policy Maker.與其他范例設計相比,dport_tx_fsm_cntrl 設計范例的優勢在于可以顯著縮短仿真時間。
Source Policy Maker 控制系統參考設計采用擬將于 5 月下旬推出的MicroBlaze 嵌入式系統 XAPP,其頂級ISE 項目名稱為“dport_source_ref_design.xise”(您可以通過訪問 http://www.xilinx.com/products/ipcenter/EF-DI-DISPLAYPORT.htm 快速查找到)。該設計使用戶能夠根據自己的需要對 Source Policy Maker Controller的源代碼進行修改。此外,其還能夠與 DisplayPort LogicCORE v1.2 (IDS12.1) 版和 Spartan-6 TED 消費類視頻套件協同運行。
上述兩種范例設計都包含了可實現內核設置及鏈路和流維護的基本流程。請注意,TED Spartan-6 消費類視頻套件沒有提供 DisplayPort 線纜。
功能概述
源端、宿端/ 視頻規范都會采用 Policy Maker,但在 DisplayPortLogiCORE 中,賽靈思對它們進行了差別實施。與源(發送)端的 Policy Maker 功能相比, 宿( 接收) 端的Policy Maker 功能要簡單得多。賽靈思LogiCORE 在 LogiCORE 內實施了大部分宿端 Policy Maker 功能。基于 RTL的宿端控制器可提供剩余部分的功能。由于源端 Policy Maker 的功能復雜得多,因而可采用源代碼參考設計的方式提供。
讓我們來深入了解源端Policy Maker,其使設計人員能夠最大限度地提高功能靈活性與實施靈活性。頂級范例設計包含內核的兩個高級組件示例:XAPP 使用 MicroBlaze 嵌入式系統實施 DisplayPort Source Policy Maker 控制系統參考設計;以及 DisplayPort 內核源端(發送)設計。賽靈思將內核的實施分成原子鏈路功能,分別稱為主鏈路 (Main Link)、二級通道 (Secondary Channel) 以及 AUX 通道協議。主鏈路可實現主視頻流的交付。二級通道可在消隱期內將音頻信息的交付集成到主鏈路中。賽靈思將在未來發布的內核中提供二級通道。同時,AUX 通道可為宿端通信通道建立專用源端(參見圖 2)。
賽靈思為用戶數據接口新增了線路緩存器,使用戶能夠在 FPGA(參見圖 2、3 和 4)中便捷實施范例設計。圖 3 中宿端的 Policy Maker 與 Device Controller 都是 CORE GeneratorTM 所提供宿端設計范例的組成部分。
MicroBlaze 處理器發揮核心作用
賽靈思推出的 Source Policy Maker Controller 可與內核配合使用,這樣其功能在很大程度上和 ASSP DisplayPort源端設備一樣。我們建議您使用MicroBlaze 嵌入式或外部處理器來正確初始化和維持該鏈路。XAPP 包含的Policy Maker Reference Design 預配置版本在 FPGA 內的 MicroBlaze 處理器中實施,可幫助用戶立刻將設計方案轉換成硬件。正式供貨時的參考設計將包含設計人員可以修改的源代碼。
Source Policy Maker Controller設計的“邏輯”部分位于 MicroBlaze處理器之上,并使用 I2C 命令來控制內核配合使用,控制器即可在 FPGA 外部實施(即在外部處理器中實施)。
設計人員可使用支持賽靈思Platform Studio (EDK) 的賽靈思嵌入式硬件設計套件或具有 SDK 的賽靈思嵌入式軟件設計套件,對 XAPP 設計進行修改。通常情況下,FPGA 設計人員使用 EDK,而軟件開發人員則使用SDK.
EDK 流會生成一個中間網絡文件 (NGC),您可以在實施設計之前,將其整合在項級 ISE 項目中。NGC文件包含構成 BRAM 初始化一部分的MicroBlaze 代碼。
如果用戶修改過軟件,EDK 流通常會占用較長的時間。不過,用戶一旦生成了網絡列表,就不再需要 EDK或者 SDK 了。SDK 流可修改 FPGA比特流,因此僅需更新 BRAM 中的MicroBlaze 代碼內容。該 SDK 流能夠為軟件修改提供更快的轉換時間,但在這種情況下,用戶必須每生成一個比特流就使用一次 SDK.有關本專題的 XAPP 白皮書涵蓋了如何使用賽靈思FPGA 嵌入式軟件開發套件運行該設計的詳盡說明。
該“入門指南”涵蓋豐富信息,其中包括訂購與許可、仿真、全系統硬件評估,以及技術支持等。此外,其還包含用戶可用于生成范例設計的腳本文件,以及如何使用范例測試臺與范例模式生成器進行仿真的說明。
用戶可將該設計與從 TED Spartan-6FPGA 消費類視頻套件中下載的完整版或評估版賽靈思DisplayPort LogiCORE以及 DisplayPort FPGA Mezzanine Card卡配合使用。
源端的 Policy Maker 內含一個狀態機,可通過 AMBA?APB 端口或采用AMBA 至 PLB 橋的 32 位 PLBv46 總線連接至處理器接口。賽靈思在 BlockRAM 中存儲了用戶可修改的指令集。賽靈思用來調訓 (train) 該鏈路的 C++代碼不但是采用 GNU C++ 編譯器編譯的,并且還在采用賽靈思 EDK PlatformStudio 處理器設計套件的 FPGA 內部實施的軟 MicroBlaze 處理器上進行了全面測試。參考設計包含完整的賽靈思 SDK項目。范例測試臺可將一個 135MHz的時鐘連接至 VID 時鐘,并將一個100MHz 的時鐘連接至 APB 時鐘。賽靈思對所有輸入是否連接正確進行檢查。此外,頂級模塊還提供復位功能。
擴展顯示識別
DisplayPort 一個特別重要的特性是,能夠通過 VESA 的增強顯示識別2010年 夏季刊37手把手課堂:FPGA 101數據 (EDID) 結構與不同的設備進行接口相連。EDID 并不是什么新事物。實際上多年以來設計人員一直在使用各種視頻接口讀取 EDID 的宿端設備參數,從而與設備進行接口連接。不過這些早期的 EDID 及相關接口 技術通常不包含高級可配置通信通道。如今借助 DisplayPort,VESA 為系統增添了智能性,不但能在源端(如機頂盒、DVD 播放器或 PC 圖形卡)與宿端設備(如顯示監控器)之間進行功能協調,而且還可優化通信參數。DisplayPort v1.1a 可協調的變量包括通道數量(1、2 或者 4)、每信道數據速率(1.62 或 2.7Gbps)、電壓擺幅(0.2、0.6、0.8、1.2 V)、4 個級別的通道預加重以及鏈路時鐘向下擴散。
由 CORE Generator 生成,并與LogiCORE 一道提供的接收宿端范例設計可提供范例 EDID(見圖 3),以便滿足 EDID 源端設備的讀取需求,確保用戶的最佳視覺體驗。
圖3 DisplayPort 接收高級方框圖
宿端范例設計在 FPGA 內部的BRAM 中實施了 EDID 數據結構。DisplayPort 的源代碼可通過 AUX 通道實現 I2C 協議。圖 3 和圖 4 顯示了連接至源端的 DisplayPort 宿端的方框圖。宿端的 Link 與 Stream Policy Maker屬于宿端內核的組成部分,不過源端的 LinkPolicy Maker 具有更高的復雜性,將作為源代碼隨參考設計提供。EDID 通過I2C 接口與接受宿端進行接口連接。
I2C 協議非常適合針對 EDID 數據結構的連接,并常常用于這種類型的應用。I2C 控制器負責定位與管理在EDID 中發現的數據,并通過串行接口與 I2C 接口協議(通過 AUX 通道)將數據傳輸至宿端內核。在工作模式下,用戶無需知曉 EDID 是否正被訪問。用戶可通過檢測 I2C 總線來監控 ROM 的內容。在調試模式下,用戶能夠修改I2C 控制器,覆蓋 EDID ROM 提供的 3位內容。I2C 提供控制信號,在與適當的開集輸出相連時,可提供 I2C 主接口。
宿端內含名為“DisplayPort 配置數據(DPCD)”的數據結構,可以存儲配置數據并作為宿端與源端都可讀寫的通信郵箱使用。源端一般使用跨 AUX 通道的 DPCD 內容(參見圖 3 和圖 4)。
Policy Maker 鏈路調訓
在 DisplayPort 鏈路上建立通信的過程稱為“鏈路調訓”。在鏈路調訓的過程中,內核在通信啟動時將著力于最大限度降低錯誤的同時,優化鏈路速度與功耗。如果在數據傳輸中出現問題,內核將自動重復鏈路調訓,以適應不斷變化的條件。源端與宿端信息包之間的通信通過雙向半雙工 1Mbps AUX 通道進行。視頻與音頻數據通過主鏈路信道(1、2 或 4)進行傳輸,其是從源端到宿端的高速千兆位級收發器通道。
內核的鏈路調訓工作分兩步執行:時鐘恢復、信道均衡;符號鎖定(symbol lock)、信道間對準。步驟一,接收器的 PLL 鎖定至進入的信號,并恢復鏈路時鐘。步驟二,系統對通道均衡與信道間對準進行優化。
下面是源端與宿端的 PolicyMakers 的典型工作順序:
1. Tx Link Policy Maker 可監控熱拔插檢測情況,如果檢測到有熱拔插,則向 Stream Source Policy Maker 發送通知。Stream Source Policy Maker 通過 AUC 通道讀取宿端 EDID;
2. Tx Link Policy Maker 通過AUX 通道讀取來自宿端的 DisplayPort配置數據。根據源端與宿端的功能配置情況,它可為宿端 DPCD 的鏈路配置字段編寫配置參數,并通過寫入到宿端 DPCD 的“TRAINING_PATTERN_SET”字節啟動鏈路調訓,隨即對調訓模式的發送進行初始化;
3. Tx Link Policy Maker 根據來自 Rx Link Policy Maker 的反饋,通過調節電壓擺幅以及在必要時調節比特率,來控制時鐘恢復順序。一旦內核完成時鐘恢復,鏈路調訓就進入通道均衡階段。在該階段,如果調用 Rx LinkPolicy Maker,即對預加重進行調節。此外,接收器還將在本階段完成符號鎖定與信道間的對準;
4. 一旦內核通過鏈路調訓( 即系統完成位鎖定與符號鎖定),就會在 DPCD 中予以提示。Tx Link PolicyMaker 可向 Tx Stream Policy Maker 報告調訓狀況,以在進行流屬性數據傳輸的同時實現同步流。
Policy Maker 的附加功能
除了參與鏈路調訓外,Tx Link Policy Maker 還可利用來自接收器的IRQ HPD 信號監控宿端事件通知,并可檢查 DPCD 的鏈路狀態字段,了解中斷的原因。如果Tx Link Policy Maker檢測到鏈路失去鎖定,就必須重新訓練鏈路。如果接收器調用,其還可重新配置鏈路,增加或者減少主鏈路信道數。
此外,Link Policy Maker 還可決定多個 AUX 請求事物處理的順序,因為每個事物處理結束于另一個事物處理開始之前。由于宿端的答復可以是 NACK或者 DEFER,Policy Maker 必須決定針對這兩種情況的后續工作。AUX 事物處理僅限于 16 字節的數據,因此Policy Maker 必須將較大的事務處理分成多個不超過 16 字節的事物處理。
由于 DisplayPort 能夠協商和優化鏈路設置,因而能夠在不斷變動的條件下實現最佳結果。Link 與 Stream Policy Maker是進行流程協調的控制功能,能夠實現現代高速視頻與音頻的傳輸。采用 MicroBlaze 嵌入式系統的賽靈思Source Policy Maker Controller 系統參考設計經過精心設計,可幫助您充分發揮這些全新功能的所有優勢,向市場推出功能豐富的顯示產品。賽靈思DisplayPort LogiCORE 可提供高度靈活的源端與宿端解決方案,具有可下載到TED Spartan-6 消費類視頻套件中的范例 EDID 及源代碼。免費提供該 IP 的評估版本。
評論
查看更多