采用FPGA實施DisplayPort
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外部實施(即在外部處理器中實施)。
本文引用地址:http://2s4d.com/article/112027.htm設(shè)計人員可使用支持賽靈思 Platform Studio (EDK) 的嵌入式硬件設(shè)計套件或具有 SDK 的嵌入式軟件設(shè)計套件,對 XAPP 設(shè)計進行修改。通常情況下,FPGA 設(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 控制器負責(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 提供控制信號,在與適當(dāng)?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
評論