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