基于SOPC的簡(jiǎn)易誤碼率測試儀設計技術(shù)
本設計主要用于石油勘探儀器車(chē)與外部設備連接電纜的通信可靠性測試。誤碼率測試儀主要由測試信號發(fā)生模塊、收發(fā)模塊、誤碼統計模塊以及鍵盤(pán)和液晶顯示模塊等部分組成。通過(guò)對測量參數的設置,該設備可以對通信線(xiàn)路進(jìn)行不同速率、不同碼元的誤碼率閉環(huán)測量,并通過(guò)圖形點(diǎn)陣顯示屏進(jìn)行實(shí)時(shí)顯示,以供評估使用。
常見(jiàn)的誤碼率測試儀多數專(zhuān)用于測試各種標準高速信道,不便于測試實(shí)際應用中大量的專(zhuān)用信道,并且價(jià)格高,搭建測試平臺復雜。隨著(zhù)大規模集成電路的迅速發(fā)展,FPGA在保持其集成度高、體積小、功耗低、性?xún)r(jià)比高等特點(diǎn)的同時(shí),能夠實(shí)現越來(lái)越復雜的功能,廣泛應用于通信設備的設計實(shí)現。本設計采用Altera公司的Cyclone系列FPGA芯片EPlCl2,內嵌Nios II軟核CPU,并利用SOPC技術(shù)進(jìn)行了整體設計,在保證具有良好性能的同時(shí),更有利于后期的優(yōu)化和升級。接口采用ECL(電流開(kāi)關(guān)型邏輯電路)電平,可以直接鏈接測試電纜,方便現場(chǎng)測試。
1 SOPC和Nios II概述
SOPC(System On Programmable Chip,可編程片上系統)是基于大規模FPGA的單片系統,是美國Altera公司于2000年提出的(同時(shí)推出了相應的開(kāi)發(fā)軟件QuartusII)。SOPC的設計技術(shù)是現代計算機輔助設計技術(shù)、EDA技術(shù)和大規模集成電路技術(shù)高度發(fā)展的產(chǎn)物。SOPCBuilder是Altera公司為硬件設計人員開(kāi)發(fā)的一套系統級硬件設計工具,通過(guò)它可以方便地創(chuàng )建Nios II CPU系統級設計項目,從而為設計人員提供SOPC設計必需的軟硬件設計平臺。
Nios II嵌入式處理器是FPGA生產(chǎn)廠(chǎng)商Altera公司推出的軟核CPU,是一種面向用戶(hù)的、可以靈活定制的通用精簡(jiǎn)指令集架構(RISC)32位高性能嵌入式CPU。NiosII以軟核的方式提供給用戶(hù),并專(zhuān)門(mén)為在A(yíng)ltera的FPGA上實(shí)現做了優(yōu)化,用于SOPC集成,最后在FPGA上實(shí)現。Nios II IDE是SOPC系統的軟件開(kāi)發(fā)環(huán)境,在Nios II IDE中可以進(jìn)行軟件的編寫(xiě)、下載和調試等工作。
2 誤碼率測試儀功能概述
誤碼率測試儀分別設有2個(gè)通信測試端口――輸出端口和輸入端口,分別連接到待測試電纜的兩端,構成數據傳輸回路。FPGA內部有一個(gè)Nios II軟核CPU,負責初始化和管理該系統;用VHDL語(yǔ)言編寫(xiě)了收發(fā)芯片AM7968和AM7969的控制器接口模塊,完成測試碼發(fā)送、接收、誤碼率統計的任務(wù);系統還設有4×4的矩陣掃描鍵盤(pán)和128×64分辨率的0LED圖像點(diǎn)陣顯示屏作為人機接口,如圖1所示。
用戶(hù)通過(guò)矩陣鍵盤(pán)輸入并設置測試代碼、通信速率以及測量模式(定時(shí)測量、定量測量)。確認開(kāi)始測量后,Nios配置AM7968和AM7969,并通過(guò)AM7968發(fā)送測試代碼,經(jīng)待測試電纜及AM7969接收到數據后,將接收的代碼與原始數據比較。如果發(fā)現不等,即認為是誤碼,統計誤碼個(gè)數的計數器加1。當測量停止時(shí),0LED顯示屏輸出誤碼率數值及其他測量信息。
3 硬件設計
3. 1 收發(fā)模塊設計
誤碼率測試儀的收發(fā)芯片采用的是美國AMD公司的AM7968和AM7969。
AM7968發(fā)送端芯片和AM7969接收端芯片提供通過(guò)同軸電纜或者光線(xiàn)傳輸的一般通用接口,通信速率在40~175 Mbps的范圍內可以調節。AM7968/AM7969為并行TTL總線(xiàn)接口,一共有12位的數據和控制總線(xiàn),可以靈活配置成8~10位數據總線(xiàn),對應4~2位控制總線(xiàn)的接口形式。
(1)發(fā)送端設計
如圖2所示,芯片AM7968是信號的發(fā)送端。根據功能設置,測試代碼的發(fā)送模式有固定代碼模式、循環(huán)碼模式和自定義代碼模式3種。故設置控制寄存器(mode_reg)位寬為2:OO為初始狀態(tài),系統位于初始化狀態(tài);01為固定代碼模式,發(fā)送系統預設的代碼;lO為循環(huán)代碼模式,測試代碼從00h~FFh連續循環(huán)發(fā)送;11為自定義代碼模式,發(fā)送用戶(hù)自定義的代碼。
發(fā)送頻率的設置,是通過(guò)AM7968的輸入時(shí)鐘(50MHz)直接分頻實(shí)現的。在A(yíng)M7968的控制器中,設有時(shí)鐘分頻寄存器(clk_div_reg)。該寄存器位寬為8。也就是說(shuō),用戶(hù)可以在40~175 Mbps范圍之內,設定256種不同頻率,進(jìn)行誤碼率的測試工作,盡可能地滿(mǎn)足用戶(hù)的測試頻率要求。
評論