新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的幀同步系統設計方案

        基于FPGA的幀同步系統設計方案

        作者:杜勇 劉帝英 時間:2014-02-14 來源:摘自《電子發燒友》 收藏

          圖5 是校核模塊的Modelsim 仿真波形。其中,幀長度LenFrame=16,校核幀數CheckNum=2,容錯門限ErrorNum=0,其余參數與搜索模塊相同。從波形上很容易 看出,當search_over第一次出現高電平時,其后連續兩組同步碼均為“1011000(ErrorNum=0)”;當search_over第二 次出現高電平時,其后第一組同步碼為“1001000(ErrorNum=1)”,第二組同步碼為“1011000(ErrorNum=0)”。因此第一 次幀校核順利通過,校核完成后check_over輸出一個高電平脈沖,research_check保持為低電平;第二次校核未通過,校核完成后 research_check輸出一個高電平脈沖,check_over保持為低電平。

        本文引用地址:http://www.104case.com/article/221559.htm
        校核模塊Modelsim仿真波形圖

          2.4 同步模塊的設計與仿真

          為了簡化設計,將同步狀態分為三個進程來完成,即計數器進程(Counter)、幀校驗進程 (FrameChecking)和同步校驗進程(SyncChecking)。Counter 進程用于產生幀內數據位置的計數,當檢測到check_over 信號為高電平時,重新開始以幀周期(LenFrame)循環計數;FrameChecking 進程用于產生幀起始位置的同步脈沖,且高電平脈沖與同步碼的最后1 b對齊,該進程首先需要對同步碼組進行校核,如校核通過,則在同步碼位置處產生一個高電平脈沖FramePosition,如果校驗未通過,則在同步碼位 置不產生高電平脈沖;SyncChecking進程通過判斷FramePosition 來確定系統是否處于同步狀態,即只需判斷FramePosition是否連續在同步碼組的位置出現低電平,如連續出現SyncNum 次低電平,則判斷為失鎖,否則繼續維持同步狀態。

          圖6 是同步模塊的Modelsim 仿真波形。其中同步態校核幀數SyncNum=2,其他參數與校核態相同。從圖中可以看出,當檢測到check_over為高電平時,計數器Number 開始以周期為幀長LenFrame=16循環計數。當check_over 出現高電平時,其后連續4 組同步碼為 “1011000(ErrorNum=0)”,“1001000(ErrorNum=1)”,“1001000(ErrorNum=1)”,“1001000(ErrorNum=1)”。 由于此時設置的容錯門限ErrorNum=0,因此第一碼校核通過,輸出了同步脈沖FramePosition,此后出現連續3 個校核未通過的數據幀。同步狀態信號State_Sync 高電平狀態持續維持了2 幀數據的長度,而后停止同步狀態,輸出失步信號research_sync,用于啟動搜索過程。

        同步模塊Modelsim仿真波形圖

          3 系統的實現及仿真

          本實例的目標器件為XC3S200-4FT200,實現后,查找表資源(LUTs)占用了 484 個(12%),全局時鐘資源(GCLKs)占用了1個(12%)。最高系統時鐘頻率(Maximum frequency)可達54.81 MHz.圖7 是系統的Modelsim 仿真波形。其中,各模塊的容錯門限ErrorNum均為0,其他同步參數不變。

        幀同步系統Modelsim仿真波形圖

          圖7 實際上對幀同步系統的搜索、校核、校核未通過、失步、重新搜索、重新同步等過程進行了完整的仿真測試。

          4 結語

          本方案是基于模塊化設計思想,采用語言對幀同步系統進行設計實現,有利于程序的移置及維 護。方案設計的關鍵在于理解各模塊之間的信號接口關系及時序關系。在模塊設計時,通過進一步合理劃分模塊內部的結構,可以更好地理清程序思路并提高設計方 案的效率。最后利用Modelsim 6.0軟件進行了仿真測試。仿真結果表明,該方案中設計的同步系統工作穩定,滿足性能要求。

        fpga相關文章:fpga是什么



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大新县| 高安市| 保定市| 新河县| 琼结县| 霍山县| 淮滨县| 庆城县| 武山县| 松江区| 黎川县| 缙云县| 大埔县| 日照市| 老河口市| 祁阳县| 德清县| 鸡东县| 密山市| 基隆市| 南川市| 烟台市| 寿阳县| 安顺市| 于都县| 汉阴县| 和平县| 察哈| 邹平县| 清涧县| 虎林市| 邵阳市| 延川县| 西乌珠穆沁旗| 南投县| 新巴尔虎右旗| 米易县| 马关县| 佛坪县| 乌什县| 清水河县|