基于SOPC的簡(jiǎn)易誤碼率測試儀設計技術(shù)

發(fā)布時(shí)間:2010-4-13 11:53    發(fā)布者:李寬
關(guān)鍵詞: SoPC , 測試儀 , 技術(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ù)的測試頻率要求。



設備上電后進(jìn)入模式選擇,用戶(hù)根據需要設定模式,確認后,mode_reg設置完畢。隨后進(jìn)入速率選擇,設置時(shí)鐘分頻器的數值,用以設置代碼發(fā)送速率。 Control_reg提供了AM7968其他端口的設置。參數設置完畢后,設置好的代碼就配合設定好的時(shí)鐘頻率,通過(guò)通信端口發(fā)送出去了。

需要特別說(shuō)明的是循環(huán)代碼的發(fā)送過(guò)程。因為,在其他模式下,數據自發(fā)送開(kāi)始就一直在數據總線(xiàn)上有效,只要控制好數據的發(fā)送脈沖信號即可;而循環(huán)代碼模式下,數據需要實(shí)時(shí)更新,且不能有遺漏和跳躍,因此特別設計了循環(huán)碼發(fā)生模塊。它以AM7968芯片的ACK信號作為循環(huán)代碼遞增的觸發(fā)信號。這是因為 ACK信號是AM7968在數據發(fā)送完畢后立即發(fā)送的反饋信號。所以利用這個(gè)信號,就很好地保證了循環(huán)代碼的可靠性。

(2)接收端設計

如圖3所示,芯片AM7969是信號的接收端。在用戶(hù)設定了代碼模式后,AM7969的控制寄存器被配置為相應模式。之后設置誤碼計算模式,并將誤碼計數器復位,且設置好對應的對照代碼。



AM7969芯片中的鎖相環(huán)時(shí)鐘生成器(PLL clockgenerator),可以從接收到的數據流中分離出時(shí)鐘信號和數據信號。

由于線(xiàn)路傳輸存在延時(shí)問(wèn)題,會(huì )使AM7969分離的時(shí)鐘相對于發(fā)送端AM7968的時(shí)鐘滯后。對比較器兩端的輸入來(lái)說(shuō),出現了不同步的情況。如果 AM7969也利用本地系統時(shí)鐘,那么其接收到的數據就會(huì )紊亂。這種方法不可取。

本系統采取發(fā)送同步序列的方式來(lái)進(jìn)行同步。在測量開(kāi)始后,發(fā)送端發(fā)送同步序列。在10 ms內(此時(shí)間閾值可進(jìn)行設置),如果接收端沒(méi)有收到同步序列,則判定線(xiàn)路故障,無(wú)法正常測量;如果在時(shí)間閾值內收到同步序列,則立刻進(jìn)入測試狀態(tài)。例如,當發(fā)送代碼A0后,接收端如果在時(shí)限內(時(shí)間閾值)收到信號,則進(jìn)行比較,之后發(fā)送1個(gè)反饋信號Dstrb和1個(gè)數據A1,依此類(lèi)推;如果接收端沒(méi)有收到信號,則系統將認為是誤碼丟失,記為誤碼,同時(shí)自行發(fā)送1個(gè)偽Dstrb,繼續測量。

3.2 顯示模塊設計

顯示部分采用了Visionox公司的VGGl2864E—S002、128×64點(diǎn)陣的單色圖形顯示模塊。該模塊有以下特點(diǎn):亮度高,對比度高,視角寬,響應速度快,溫度范圍寬,功耗低;8位并行數據接口,讀、寫(xiě)操作時(shí)序;模塊內藏64×64顯示數據RAM(RAM中每位數據對應OLED屏上一個(gè)點(diǎn)的亮、暗狀態(tài));接口電路簡(jiǎn)單,使用方便。

本設計通過(guò)VHDL語(yǔ)言編寫(xiě)接口時(shí)序IP核控制器oled.VHD,使其作為Slave device連接到Avalon總線(xiàn)上,實(shí)現了數據顯示功能。

3.3 誤碼率測試儀的SOPC設計

圖4為在SOPC Builder工作窗口中的該誤碼率測試儀的SOPC系統。



其中,cpu_0為主Nios II處理器,cfi_flash_bridge_O為Avalon三態(tài)橋用來(lái)連接Flash IP核控制器cfi_flash_O,sdram是SDRAM IP核控制器,timer_O是Nios II內部定時(shí)器,oled_O是OLED IP核控制器,pio_0是按鍵外部引腳,am7968_2_O和am7969_2_0分別是用VHDL語(yǔ)言編寫(xiě)的收發(fā)芯片AM7968和AM7969的 1P核控制器。

3.4 用SignalTap嵌入式邏輯分析儀驗證設計

SignalTap允許設計者在FPGA運行期間同時(shí)監視內部信號。通過(guò)下載電纜或傳統的分析設備連接到用戶(hù)PC機上,便可以在用戶(hù)的PC機上觀(guān)察到這些信號的波形。使用SignalTap類(lèi)似于使用邏輯分析儀,用戶(hù)能夠設置初始化、觸發(fā)(內部或外部)和顯示條件并觀(guān)察內部信號,以此研究運行狀態(tài)。用戶(hù)的分析參數可以被編譯為嵌入式邏輯分析儀(ELA),它和設計的其他數據一起配置FPGA。

圖5是將誤碼率測試儀硬件邏輯下載到FPGA中,用SignalTap看到的系統實(shí)際運行時(shí)的波形截圖。它顯示的是當測試代碼設定為循環(huán)代碼模式時(shí),測試代碼從0OH到FFH之間循環(huán)發(fā)送的波形情況。信號am_clk是系統時(shí)鐘;to_7969clk是信號接收端AM7969的輸入時(shí)鐘;am_ack是信號發(fā)送端AM7968的發(fā)送反饋信號,每返回一個(gè)am_ack表示有一個(gè)數據已經(jīng)發(fā)送出去;to_7969_clk是指AM7969從接收到的信號中分離出來(lái)的時(shí)鐘信號,從SignalTap可以看出有一定的延時(shí);am_data信號是發(fā)送端AM7968發(fā)出的數據;to_7969_data是信號接收端 AM7969收到的數據,可以看出,線(xiàn)路上有一定的延時(shí);am_strb和tO_7969_dstrb分別是AM7968和AM7969的數據發(fā)送和接收的同步脈沖信號,本測試儀就是利用這個(gè)信號來(lái)統計測試碼發(fā)送個(gè)數和測試碼接收個(gè)數的。



4 軟件設計

在軟件設計方面,本著(zhù)簡(jiǎn)單易用的原則進(jìn)行,在盡可能滿(mǎn)足實(shí)際使用需求的同時(shí),提供友好的人機交互接口。下面分別介紹一下軟件的開(kāi)發(fā)環(huán)境(Nios II IDE)和軟件開(kāi)發(fā)設計。

Nios II集成開(kāi)發(fā)環(huán)境(IDE)是Nios II系列嵌入式處理器的基本軟件開(kāi)發(fā)工具。所有軟件開(kāi)發(fā)任務(wù)都可以在Nios IIIDE下完成,包括編輯、編譯和調試程序。Nios II IDE提供了一個(gè)統一的開(kāi)發(fā)平臺,用于所有Nios II處理器系統。僅僅通過(guò)1臺PC機、1片A1tera公司的FPGA以及1根JTAG下載電纜,軟件開(kāi)發(fā)人員就能夠往Nios II處理器系統寫(xiě)入程序,并與Nios II處理器系統進(jìn)行通信。Nios II IDE為軟件開(kāi)發(fā)提供4個(gè)主要功能:工程管理器、編輯器和編譯器、調試器、閃存編程器。

為了便于大批量地測量線(xiàn)路的誤碼率,方便用戶(hù)使用,設計了“自動(dòng)測量”模式。該模式的各種參數是用戶(hù)預先設置好的,其中包括測試模式、測試速率、測試代碼以及時(shí)間閾值或者數量閾值。這樣,用戶(hù)在檢測大批量的通信電纜時(shí),就不需要重復進(jìn)行繁瑣的參數設置了。表1是需要用戶(hù)設置的參數,圖6為主程序流程。





5 結論

本文結合石油勘探儀器車(chē)與外部設備連接電纜測試的實(shí)際,提出了一種采用SOPC技術(shù)的誤碼率測試儀整體設計實(shí)現方案。能夠較好地滿(mǎn)足測量要求,接口友好,并且在誤碼率上給予用戶(hù)比較客觀(guān)的評價(jià)。設備具有體積小、重量輕、功耗低、成本低、性能高、易于軟硬件升級等優(yōu)點(diǎn)。比起其他專(zhuān)業(yè)誤碼率測試設備,在經(jīng)濟性、實(shí)用性方面表現得尤為突出。

參考文獻

   1. 潘松.黃繼業(yè) EDA 技術(shù)與VHDL 2005
   2. 李蘭英 Nios II嵌入式軟核SOPC設計原理及應用 2006
   3. 潘松.黃繼業(yè).曾毓 SOPC 技術(shù)實(shí)用教程 2005
   4. 吳繼華.王誠 Altera FPGA/CPLD設計(高級篇) 2005

作者:中國海洋大學(xué) 王建國  李紹光
來(lái)源:單片機與嵌入式系統應用 2009 (2)
本文地址:http://selenalain.com/thread-10389-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页