新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的DVI/HDMI接口實現方案

        基于FPGA的DVI/HDMI接口實現方案

        作者: 時間:2013-05-23 來源:網絡 收藏

          ECP2M/ECP3的CML SERDES輸入(見圖3的接收信號流)收到T M D S三個通道的信號(0、1,和2)數據。由于/HDMI的信號不采用標準的8B/10B編碼,SERDES后面的PCS設置成10位模式(旁路)。T M D S信號傳輸使用對本協議唯一的四個對齊的字符(不同于8B/10B方式)。串行器與SERDES的CDR傳遞10位的原始數據,進行字節對齊。/HDMI鏈路連接能以多個不同的頻率發送數據,自動檢測邏輯被用來檢測正在傳送的是哪種分辨率,并配置PCS以便在SERDES鎖相環中實現鎖定。

        接收信號流

        接收同步

          一旦10位數據在FGPA中,執行上述定義的三個步驟(字節對齊、通道對齊、多通道對齊)是必須的 .字節對齊:設計確定在數據流的哪里是10位數據字節的開始和結束。在結構中使用有限狀態機(FSM)來完成這一任務。把數據流的第一個和第二個10位組合在一起,形成一個20位的總線;然后分解至9位、10位總線。在這一階段,數據與對齊的字符進行比較,當字符順序發生了8次(稱為單通道對齊),同步信號有效。狀態圖如圖4所示。

        狀態圖

          同步檢測之后,對齊數據的字節寫入FIFO.當所有三個通道都完成了“通道對齊”,就可以寫入FIFO,至此通道對齊的任務就結束了。在這一階段, 將等待直到FIFO處于半滿狀態,并在同一時間(多通道對齊)對三個FIFO進行讀操作 .這將保證三個通道對齊,并同步。

          基于ECP2M的發送功能實現

          ECP2M傳送鎖相環有最佳的操作范圍,預定義的范圍為:Low、MedLow、 Med、MedHigh 和 High.通過SCI總線,所有這些范圍在ECP2M中都是動態配置的。因為有各種各樣的顯示分辨率,針對理想的輸出率,/HDMI參考設計必須有SERDES組。例如,如果要求一個720p的HDMI顯示,即742.5Mbps,SERDES PCS必須設置在適當的范圍(MedLow)。顯示的數據是放置在一個由DVI/HDMI參考設計定義的FIFO中。同步從三個T M D S的每個通道中讀取數據,然后將FIFO的數據移至PCS,再用SERDES進行傳輸。PCS設置成10位模式,串行輸出FIFO的數據。在這一階段,采用合適的時鐘,數據將被轉換為新的T M D S 流,使接收器恢復信號,如果配上顯示器,就會出現圖像。具體原理見圖5.

        具體原理

          系統演示和驗證

          這個DVI/HDMI參考設計是經過檢驗和驗證的,并遵守相關規范。萊迪思已經實現了DVI環回演示,展示了設計的功能。可用ECP2M50E-SEV SERDES評估板和其它硬件來進行演示,萊迪思半導體公司提供評估板和其他硬件。除了電路板之外,系統演示還需要DVI至SMA的接口卡、各種DVI和SMA電纜、一個DVI源和監視器。整個演示和測試設置如圖6所示。

        整個演示和測試設置

          通過DVI至DVI或HDMI到DVI電纜,從筆記本電腦的接口得到DVI/HDMI數據流。DVI至SMA接口卡將轉換為DVI連接器至SMA,可通過SMA電纜與評估板相連接。一旦信號到達FPGA,將進行處理并環回至TX SERDES通道。然后,通過SMA電纜傳輸數據送回到電路板上的SMA至DVI適配器,并最終在顯示器上進行比較。ECP2M集成了用來接收和發送三個DVI T M D S數據流的代碼。在FPGA內完成字節對齊和同步邏輯,并將數據存入FIFO.在傳輸方向,ECP2M從FIFO中取得數據,以10位的模式直接傳送至SERDES.該設計確保可在FIFO中三個DVI/HDMI通道完全對齊。

          利用內置的SERDES和可以從萊迪思半導體公司得到的參考設計,ECP2M可以成功地實現接收和/或傳送DVI/功能。通過使用FPGA技術和參考設計,設計人員能夠很快地實現設計的其余部分,并無縫地連接到一個DVI/ ,以滿足他們自己的特殊要求。


        上一頁 1 2 下一頁

        關鍵詞: FPGA DVI HDMI接口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平阳县| 梁山县| 伊金霍洛旗| 临泽县| 修武县| 长武县| 铅山县| 林州市| 武夷山市| 宝兴县| 舒城县| 泰和县| 呼伦贝尔市| 杭锦后旗| 双鸭山市| 阿克| 肥城市| 永清县| 策勒县| 云梦县| 襄垣县| 石首市| 兴安盟| 枝江市| 峨山| 乌拉特后旗| 南澳县| 陇西县| 五原县| 余干县| 西华县| 义马市| 新津县| 楚雄市| 英超| 新竹市| 策勒县| 东安县| 夏邑县| 吉林省| 同仁县|