新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于FPGA的RS485接口誤碼測試儀的設計和實現

        基于FPGA的RS485接口誤碼測試儀的設計和實現

        作者: 時間:2010-05-26 來源:網絡 收藏

        (2) 邏輯設計[5-6]
        本系統大部分功能通過實現,使用Verilog編寫程序。由于采用的是逐位比較式方案,因此,首先由m序列產生模塊產生4.096 Mb/s碼率的m序列,送入反相器作為源端。反相器是為了人為產生誤碼而設置的。當按下按鍵時,反相器使能,將m序列1位反相后輸出,即相當于產生了1個誤碼。m序列和時鐘同時輸出給被測系統,經被測系統后再返回給誤碼測試儀。誤碼測試儀對輸入的m序列和本地產生的m序列進行同步,同步以后,在固定寄存器中置入64位m序列數據。在源端,固定寄存器和移位寄存器不斷進行比較,直到兩者一致,則啟動延時計數器,同時接收端移位寄存器與固定寄存器進行比較,當兩者一致時關閉計數器,此時計數器中的數值即為被測系統的延時。另一方面,同步以后,開始進行誤碼統計。若在設置的測試周期內誤碼率大于設定的門限值,則認為失步,重新開始同步。最后,將誤碼數和系統延時數通過SPI送給單片機,進行誤碼率和系統延時的計算,將計算結果顯示在LCD上。SPI是通過軟件進行模擬的。整個內部的模塊框圖如圖4所示。

        5 系統設計仿真
          對設計完成后的主要功能模塊進行了仿真以驗證其功能的正確性。
        (1) m序列產生器仿真
        本設計采用了23級m序列以確保偽隨機序列的特性,其本原多項式為f(x)=1+x5+x23,仿真波形如圖5所示。

        (2) SPI仿真
        FPGA與單片機之間采用SPI接口進行通信。外圍設備接口SPI通常有3~4條信號線,本文采用3線方式,即片選線SS、時鐘線SCK和數據線SDIO。SS為低時有效,在SCK的同步下傳送數據,仿真波形如圖6所示。
        (3) 系統仿真
          系統開始工作并正確同步后,開始誤碼和延時的統計。每當單片機發送1個請求數據信號,就送出當前的誤碼數和延時數,單片機進行計算后送顯示器顯示。系統仿真波形如圖7所示。

        6 調試
         調試是整個設計實現的關鍵步驟。經過調試,最終實現了設計的所有功能。下面給出在設計和調試中的一些經驗教訓以供參考。
        (1) 51單片機的Port 1端口默認情況下沒有上拉電阻,因此需要特別注意。在調試初期就是因為沒有在外部加上拉電阻而導致與FPGA通信不正常。
        (2) 接口芯片對于差分線的輸入輸出阻抗匹配要求比較嚴格,需要根據手冊要求選擇合適的匹配電阻,否則會導致輸入輸出差分信號質量嚴重劣化,影響系統正常工作。
        (3) FPGA與單片機通信等功能需要特別注意時序的配合問題,否則可能導致通信不正常。可以通過選擇適當的觸發沿來調整時序。
          本文介紹了一種基于FPGA的接口的誤碼測試儀的設計原理和實現過程。與傳統的誤碼測試儀相比,本誤碼測試儀具有原理簡單、接口獨特、可測試系統延時等特點。此外,由于FPGA良好的可擴展性,可以在不改變硬件電路的基礎上方便地增加或修改相應的功能,增加了系統的可擴展性。


        上一頁 1 2 下一頁

        關鍵詞: FPGA 485 RS 接口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五指山市| 新兴县| 平罗县| 饶阳县| 额敏县| 江孜县| 鸡东县| 天峻县| 崇明县| 原阳县| 隆化县| 同江市| 宣城市| 阳谷县| 松潘县| 咸阳市| 连南| 贡山| 潮州市| 石台县| 崇信县| 盐源县| 贵定县| 崇仁县| 西藏| 余江县| 藁城市| 青川县| 利辛县| 楚雄市| 平乡县| 封开县| 海淀区| 封丘县| 巧家县| 托克逊县| 措美县| 西盟| 泰来县| 鹰潭市| 泰宁县|