基于FPGA的智能誤碼測試儀
2.3 單片機軟件的設計
單片機在誤碼儀中承擔著控制核心的作用。其實際工作流程如圖5所示。
儀器加電復位后單片機首先配置FPGA。配置成功后,單片機等待用戶的鍵盤指令并確定測試模式和速率。根據(jù)用戶的選擇,單片機將及時地調(diào)整FPGA內(nèi)各模塊的工作參數(shù)。用戶選擇測試開始后,單片機首先檢測FPGA中位同步模塊是否工作正常。根據(jù)位同步模塊的工作情況,單片機可向用戶發(fā)出無信號及失步告警,提示用戶檢查線路。位同步成功后,單片機每隔1秒讀取一次誤碼數(shù)據(jù)并進行分析計算。若誤碼率大于0.5,則認為序列同步失敗,單片機要求序列同步模塊重新進行同步操作。若連續(xù)3秒同步無效,則認為位同步失效,單片機將發(fā)出失步告警,并提醒用戶發(fā)送端速率可能已改變或信道干擾嚴重。在此期間,誤碼率的顯示和存儲都不受影響。
在發(fā)生誤碼事件后,單片機會及時地通過I2C總線將其存儲于外部E2PROM中,并及時上傳PC機。用戶可通過LCD實時地了解誤碼測試情況,并在測試中隨時查詢存儲器中的誤碼信息。
3 誤碼儀的擴展和再升級
智能誤碼儀的設計和開發(fā)面向的是多種傳輸信道。為了適應不同信道的傳輸方式,設計了大量的外部接口配件,每一種配件提供了不同的碼型變換(HDB3等)和信號調(diào)制解調(diào)方式(FSK等)。用戶可以根據(jù)實際測試需要進行選擇。采用這種靈活的配置方式后,用戶不僅降低了使用成本,而且提高了測試的針對性。
為了提高該誤碼儀的再升級和可移植能力,選用了單片機和FPGA作為核心器件。其中FPGA采用模塊化的設計思想,其中的成熟模塊可被其它基于FPGA的系統(tǒng)或模塊調(diào)用。對于那些需要隨時測試信道誤碼而又不希望另外購買誤碼儀的用戶來說,將已設計好的測試模塊移植到自己的系統(tǒng)中將是一個不錯的選擇。同時,FPGA的正常運行需要對其進行正確的配置,不同的配置文件將使FPGA產(chǎn)生不同的工作效能。用戶通過下載最新的配置文件可以方便地實現(xiàn)系統(tǒng)的軟升級。
近幾年來,“虛擬儀器”技術(shù)逐漸成熟,讓PC機直接配置或部分控制FPGA不僅可以減輕單片機的工作負擔,而且可以通過修改PC機上的軟件實現(xiàn)對專用信道測試功能的優(yōu)化。本文所介紹的誤碼儀在開發(fā)時已注意在這方面留下足夠的拓展空間,只要開發(fā)出更為復雜的PC機客戶端服務程序,無需改動現(xiàn)有的設備就能實現(xiàn)在PC機上進行誤碼測試操作。
本文所介紹的智能誤碼儀采用大規(guī)模可編程集成電路作為核心,具有體積小巧、成本低廉、性能優(yōu)異、可拓展能力強的特點。尤其是FPGA中的自適應位同步模塊和快速序列同步模塊設計獨特、功能完善,具有較高的應用價值。隨著該誤碼儀外部設備的不斷完善和改進,它將向更多的專業(yè)用戶提供更全面更優(yōu)質(zhì)的支持與服務。
評論