基于FPGA的RS485接口誤碼測試儀的設計
5 系統設計仿真
對設計完成后的主要功能模塊進(jìn)行了仿真以驗證其功能的正確性。
(1) m序列產(chǎn)生器仿真
本設計采用了23級m序列以確保偽隨機序列的特性,其本原多項式為f(x)=1+x5+x23,仿真波形如圖5所示。
(2) SPI接口仿真
FPGA與單片機之間采用SPI接口進(jìn)行通信。外圍設備接口SPI通常有3~4條信號線(xiàn),本文采用3線(xiàn)方式,即片選線(xiàn)SS、時(shí)鐘線(xiàn)SCK和數據線(xiàn)SDIO。SS為低時(shí)有效,在SCK的同步下傳送數據,仿真波形如圖6所示。
(3) 系統仿真
系統開(kāi)始工作并正確同步后,開(kāi)始誤碼和延時(shí)的統計。每當單片機發(fā)送1個(gè)請求數據信號,就送出當前的誤碼數和延時(shí)數,單片機進(jìn)行計算后送顯示器顯示。系統仿真波形如圖7所示。
6 調試
調試是整個(gè)設計實(shí)現的關(guān)鍵步驟。經(jīng)過(guò)調試,最終實(shí)現了設計的所有功能。下面給出在設計和調試中的一些經(jīng)驗教訓以供參考。
(1) 51單片機的Port 1端口默認情況下沒(méi)有上拉電阻,因此需要特別注意。在調試初期就是因為沒(méi)有在外部加上拉電阻而導致與FPGA通信不正常。
(2) RS485接口芯片對于差分線(xiàn)的輸入輸出阻抗匹配要求比較嚴格,需要根據手冊要求選擇合適的匹配電阻,否則會(huì )導致輸入輸出差分信號質(zhì)量嚴重劣化,影響系統正常工作。
(3) FPGA與單片機通信等功能需要特別注意時(shí)序的配合問(wèn)題,否則可能導致通信不正常??梢酝ㄟ^(guò)選擇適當的觸發(fā)沿來(lái)調整時(shí)序。
本文介紹了一種基于FPGA的RS485接口的誤碼測試儀的設計原理和實(shí)現過(guò)程。與傳統的誤碼測試儀相比,本誤碼測試儀具有原理簡(jiǎn)單、接口獨特、可測試系統延時(shí)等特點(diǎn)。此外,由于FPGA良好的可擴展性,可以在不改變硬件電路的基礎上方便地增加或修改相應的功能,增加了系統的可擴展性。
參考文獻
[1] 曹志剛,錢(qián)亞生. 現代通信原理[M]. 北京:清華大學(xué)出版社,2001.
[2] 段吉海,黃智偉. 基于CPLD/FPGA的數字通信系統建模與設計[M]. 北京:電子工業(yè)出版社,2004.
[3] Analog Devices Inc. ADM4850-7 Series Data Book[Z]. 2004.
[4] 牛思先,向征. 基于RS-422/485的串行異步通訊接口的設計和應用[J]. 計算機工程與設計,2007(10).
[5] 夏宇聞. Verilog數字系統設計教程[M]. 北京:北京航空航天大學(xué)出版社,2003.
[6] 王誠,薛小剛,鐘信潮,等. FPGA/CPLD設計工具Xilinx ISE 5.X使用詳解[M]. 北京:人民郵電出版社,2003.
評論