盧 超,朱繼瑜,郝鵬程,張成杰
(1.陜西理工學(xué)院物理與電信工程學(xué)院,陜西漢中723000;2.陜西省漢中中學(xué),陜西漢中723000)
系統(tǒng)采用Altera cycloneⅡ EPLC8Q208C8生成兩組序列信號(hào),m序列信號(hào)通過傳輸信道,然后在加上噪聲信號(hào)偽隨機(jī)序列信號(hào)在終端通過示波器觀察信號(hào)的眼圖,通過切換不同比特率和不同傳輸環(huán)境下的序列信號(hào)來觀察發(fā)現(xiàn)信道的優(yōu)劣以及不同比特率下的傳輸對(duì)信號(hào)的影響,以實(shí)現(xiàn)對(duì)數(shù)字信號(hào)分析的目的,實(shí)現(xiàn)數(shù)據(jù)傳輸速率在一定范圍內(nèi)且檢測(cè)信號(hào)信噪比可調(diào)的簡(jiǎn)易便攜數(shù)字傳輸性能分析儀。系統(tǒng)框圖如圖1所示,該設(shè)備的主要計(jì)數(shù)指標(biāo)是:數(shù)字信號(hào)由M_list為f1(x)=1+x2+x3+x4+x8的m序列,信號(hào)率為在10 kbit/s~100 kbit/s內(nèi)可按10 kbit/s步進(jìn)可調(diào);偽隨機(jī)信號(hào)Noise_list為f2(x)=1+x+x4+x5+x12的噪聲序列;數(shù)據(jù)率為10 Mbit/s,誤差絕對(duì)值不大于1%;誤差絕對(duì)值不大于10%,Manchester_cod是對(duì)M_list信號(hào)的曼切斯特編碼后的輸出信號(hào),目的在于更加便于提取出位同步信號(hào)。
圖1 系統(tǒng)功能框圖
系統(tǒng)主要包括NiosⅡCPU、SDRAM控制器、和PIO接口,通過調(diào)用Altera公司提供對(duì)應(yīng)的IP進(jìn)行定制設(shè)計(jì)一個(gè)基于NiosⅡ的SOPC系統(tǒng),由四部分組成:NiosⅡ模塊塊、PLL模和序列信號(hào)發(fā)生器模塊。
NiosⅡ軟核通過SOPC Builder中調(diào)用IP庫組建實(shí)現(xiàn),由NiosⅡ CPU、SDRAM控制器、通用IO、EPCS控制器、system ID、JTAG UART,與外部鏈接的端口主要5個(gè)部分,分別是系統(tǒng)時(shí)鐘與復(fù)位、TFT LCD控制信號(hào)線、觸摸屏控制信號(hào)線、SDRAM接口控制線、序列信號(hào)發(fā)生器控制信號(hào)線等,構(gòu)成了整個(gè)系統(tǒng)的軟件底層硬件平臺(tái)部分,系統(tǒng)時(shí)鐘100 MHz。
設(shè)計(jì)中考慮到片上RAM存儲(chǔ)的數(shù)據(jù)量較大而NiosⅡCPU只負(fù)責(zé)UART串口的數(shù)據(jù)傳輸可簡(jiǎn)單的接口控制,故而選用了經(jīng)濟(jì)型內(nèi)核,已達(dá)到節(jié)省資源占用的目的。SDRAM控制器用來連接板上集成的64MByte SDRAM,SDRAM控制器的數(shù)據(jù)端dq[15…0]必須連接輸入輸出端口bidir,在Presets中選擇第一項(xiàng)Custom,在Bits中選擇16,其他項(xiàng)不動(dòng),點(diǎn)擊Next,點(diǎn)擊Finish,完成SDRAM控刢器的設(shè)置。I/O口用于TFT LCD觸摸屏的控制以及相關(guān)信號(hào)線,還包括信號(hào)的輸出、SDRAM的控制信號(hào)線等。設(shè)計(jì)采用EPCS16配置芯片,為16Mbyte用于存儲(chǔ)配置文件和片上系統(tǒng)的程序.System ID是一種標(biāo)示符,類似校驗(yàn),在下載程序之前或者重啟之后,都會(huì)對(duì)其進(jìn)行檢驗(yàn),以防止Quartus和NIOS程序版本不一致的錯(cuò)誤發(fā)生。JTAG UART是實(shí)現(xiàn)PC和NiosⅡ系統(tǒng)間的串行通信接口,它用于字符的輸入輸出。PLL模塊通過調(diào)用QuartusII內(nèi)嵌的器件函數(shù)實(shí)現(xiàn)。
2.2.1 m序列
m序列,即最長(zhǎng)線性反饋移位寄存器序列,其特征多項(xiàng)式可表示為:
輸出為f1(x)=1+x2+x3+x4+x8的m序列,利用在MATLAB中利用DSPBuilder構(gòu)建一個(gè)m序列發(fā)生器,圖2顯示了DSP Builder模型表述,采用相連的延時(shí)單元組作為移位寄存器,在開始處使用兩個(gè)非門,防止出使?fàn)顟B(tài)為 0,無法自啟動(dòng),用異或(XOR)完成模四加運(yùn)算,輸出為mout。
圖2 m序列發(fā)生器DSPBuilder設(shè)計(jì)電路
2.2.2 曼切斯特編碼
曼徹斯特編碼是一個(gè)同步時(shí)鐘編碼技術(shù),提供一個(gè)簡(jiǎn)單的方式給編碼簡(jiǎn)單的二進(jìn)制序列而沒有長(zhǎng)的周期沒有轉(zhuǎn)換級(jí)別,因而防止時(shí)鐘同步的丟失,或來自低頻率位移在貧乏補(bǔ)償?shù)哪M鏈接位錯(cuò)誤。系統(tǒng)要求對(duì)數(shù)字信號(hào)發(fā)生器的m序列進(jìn)行曼徹斯特編碼,故將m序列碼與其時(shí)鐘信號(hào)取異或(XOR)非(NOT)即可,在Quartus II中使用原理圖編程如圖3所示。
圖3 曼徹斯特編碼電路
2.2.3 噪聲信號(hào)發(fā)生器
圖4為偽隨機(jī)序列f2(x)=1+x+x4+x5+x12的DSP Builder模型表述,采用相連的延時(shí)單元組作為移位寄存器,用異或(XOR)完成模四加運(yùn)算,輸出為mout。
圖4 偽隨機(jī)序列發(fā)生器DSP Builder設(shè)計(jì)電路
2.2.4 分頻模塊
分頻模塊是由Verilog HDL直接編程實(shí)現(xiàn),將其轉(zhuǎn)換成圖像符號(hào),加入到頂層圖中,用于滿足序列模塊的不同時(shí)鐘,從而實(shí)現(xiàn)系統(tǒng)的不同比特率的輸出。設(shè)計(jì)要求系統(tǒng)序列輸出比特率能夠滿足10 kbit/s~100 kbit/s步進(jìn)可調(diào),步進(jìn)量為10 kbit/s,因此分頻模塊負(fù)責(zé)將經(jīng)過倍頻后的180 MHz的時(shí)鐘信號(hào)clk_180進(jìn)過分頻至10 kbit/s~100 kbit/s,提供給序列信號(hào)時(shí)鐘。CLOCK為20 MHz的本地時(shí)鐘,經(jīng)過二分頻后輸出10 MHz給噪聲信號(hào)發(fā)生器,輸出10 Mbit/s的噪聲信號(hào),rest為分頻模塊的復(fù)位信號(hào)。
片上系統(tǒng)的軟件設(shè)計(jì)在NiosⅡ IDE中通過C語言編程實(shí)現(xiàn),程序通過中斷方式在判斷是否觸摸位置為有效區(qū),從而來進(jìn)行波特率的切換及碼元的切換,此外包括TFT LCD的顯示等,主程序流程圖如圖5所示。
圖5 主程序流程圖
在觸摸屏程序設(shè)計(jì)時(shí),通過端口掃描是否有觸摸,當(dāng)有觸摸時(shí)先判斷是那個(gè)區(qū)域有觸發(fā),如果是碼元切換區(qū)域則進(jìn)行碼元的切換;如果是波特率的步進(jìn)設(shè)置則進(jìn)行波特率的加減設(shè)置。詳細(xì)觸摸屏程序流程圖如圖6所示。觸摸屏的設(shè)計(jì)與鍵盤的區(qū)別就在于需要精確的判斷觸摸的位置,在觸摸時(shí)電阻屏將所觸摸的位置轉(zhuǎn)化成電壓信息因此根據(jù)不同的電壓信號(hào)來判斷位置。程序通過掃描的方式來判斷是否有觸摸,當(dāng)檢查到有觸摸時(shí)進(jìn)入觸摸屏處理子程序,為了防止誤觸,因此在設(shè)計(jì)時(shí)先進(jìn)行軟件濾波。
圖6 觸摸屏子程序流程圖
系統(tǒng)的界面設(shè)計(jì)主要涉及到中英文顯示、背景顏色的顯示、字體大小顏色等等。由于TFT LCD內(nèi)部不帶字庫,因此在進(jìn)行軟件設(shè)計(jì)時(shí)需要通過字模軟件對(duì)需要顯示的字進(jìn)行編碼建模。字符的編碼建模包括ASCII字符編碼和漢字編碼兩個(gè)部分。在程序開始時(shí)先初始化界面,當(dāng)觸摸屏有觸發(fā)時(shí),返回來的參數(shù)值FLAG,先判斷FLAG的值,為0則切換顯示當(dāng)前碼元的類型,為1則切換顯示波特率的值。
2.4.1 FPGA與SDRAM接口設(shè)計(jì)
設(shè)計(jì)采用的是Altera公司提供的片上SDRAM控制接口IP,因此不用單獨(dú)設(shè)計(jì)接口時(shí)序,將調(diào)用的IP模塊的接口連接至片外SDRAM接口,主要包括 sdram_addr[11:0]、bank_addr[1:0]、cas_n、cke、cs_n、dq、dqm、ras_n、we_n 等接口控制線。SDRAM的時(shí)鐘信號(hào)CLK采用FPGA的內(nèi)部PLL生成,要注意片外SDRAM的時(shí)鐘輸入必須比系統(tǒng)的時(shí)鐘滯后-75°相位。(不同型號(hào)的SDRAM時(shí)鐘偏移度不同)
2.4.2 FPGA下載配置電路設(shè)計(jì)
配置又稱下載,是對(duì)FPGA的內(nèi)容進(jìn)行編程的一個(gè)過程。每次上電后需要進(jìn)行配置,是基于SRAM工藝FPGA的一個(gè)特點(diǎn)。在FPGA內(nèi)部,有許多可編程的多路器、邏輯、互聯(lián)節(jié)點(diǎn)和RAM初始化內(nèi)容等,都需要配置數(shù)據(jù)來控制。Altera的FPGA器件有3類配置下載方式:主動(dòng)配置方式(AS)和被動(dòng)配置方式(PS)和最常用的(JTAG)配置方式,本系統(tǒng)的配置電路中設(shè)計(jì)了兩種配置方式即AS配置和JTAG配置模式,AS配置在系統(tǒng)掉電時(shí)可將配置數(shù)據(jù)保存在EPCS16的配置芯片中,配置文件為.pof文件;JTAG配置是為了便于系統(tǒng)的調(diào)試而專門設(shè)置的,掉電不保存,配置文件為.sof文件,圖7為EPCS16配置芯片與FPGA的兩種配置方式的電路圖。
設(shè)計(jì)采用320*240的TFT LCD顯示屏觸摸屏為電阻式觸摸屏,控制芯片分別為sd12900和XPT2046。由于采用的是片上系統(tǒng),F(xiàn)PGA與TFT和觸摸屏模塊接口電路由片上系統(tǒng)生成的I/O口直接與TFT和觸摸屏控制接口連接,對(duì)其進(jìn)行控制操作。為了滿足電平兼容,TFT觸摸屏模塊采用3.3V供電電壓,電源取自于FPGA核心板電源,保證了系統(tǒng)的電源完整性與穩(wěn)定性。其中TFT控制信號(hào)LCD_CS、LCD_DATA、LCD_LIGHT、LCD_RD、LCD_REST、LCD_RS、LCD_ER 分別為片選信號(hào)、數(shù)據(jù)、背光、讀信號(hào)、復(fù)位、讀控制和寫控制,觸摸屏控制信號(hào) TS_CS、TS_IN、TS_IRQ、TS_OUT、TS_SCLK分別為片選、輸入、中斷、輸出、時(shí)鐘信號(hào)。
圖7 FPGA配置接口電路
開發(fā)工具主要是Altera公司提供的QuartusII9.0、DSPBuilder9.0、NIOS IDE9.0 和 Mentor公司的仿真工具M(jìn)odelSim6.4a,編程語言包括VerilogHDL、C語言、MATLAB編輯語言,VerilogHDL語言主要是在Quartus II中完成相關(guān)模塊的建立,C語言是在NiosⅡIDE平臺(tái)里完成TFT觸摸屏的控制顯示與讀寫,MATLAB編輯語言主要指在集成于MATLAB中的DSP Builder的模型工具完成序列的建立與HDL的導(dǎo)出。系統(tǒng)測(cè)試中,主要是在實(shí)驗(yàn)室里通過建立不同的傳輸信道將系統(tǒng)生成的不同比特率的序列碼加在進(jìn)去,在輸出端連接至示波器觀察其傳輸信號(hào)的眼圖,評(píng)測(cè)其誤碼率與信道的優(yōu)劣,測(cè)試主要包括以下五個(gè)部分:
(1)測(cè)試數(shù)字信號(hào)序列f1(x)=1+x2+x3+x4+x8的m序列的比特率是否正確,10 kbit/s~100 kbit/s之間連續(xù)步進(jìn)為10 kbit/s;
(2)測(cè)試數(shù)字信號(hào)序列f2(x)=1+x+x4+x5+x12的m序列數(shù)據(jù)率為10 Mbit/s,誤差絕對(duì)值不大于1%,誤差絕對(duì)值不大于10%;
(3)利用f1(x)=1+x2+x3+x4+x8產(chǎn)生的時(shí)鐘信號(hào),在示波器上顯示數(shù)字信號(hào)該信號(hào)的信號(hào)眼圖,并測(cè)試眼幅度;
(4)測(cè)試f1(x)=1+x2+x3+x4+x8序列采用曼徹斯特編碼后的波形;
(5)模擬一個(gè)傳輸信道將f2(x)=1+x+x4+x5+x12序列與f1(x)=1+x2+x3+x4+x8同時(shí)添加在該信道中進(jìn)行傳輸,在終端觀察眼圖分析噪聲對(duì)信號(hào)質(zhì)量的影響。
按照測(cè)試步驟連接至示波器(UTD2062CEL,60 MHz 1 GS/s)測(cè)試各項(xiàng)數(shù)據(jù)波形如圖8所示,包括m序列發(fā)生器、曼切斯特編碼、噪聲序列發(fā)生器的示波器顯示波形。
圖8 各項(xiàng)數(shù)據(jù)波形的顯示
加載噪聲信號(hào)的眼圖如圖9(a)所示,無噪聲信號(hào)的眼圖如圖9(b)所示,測(cè)試條件均為:200 kHz低通濾波器、10 kpbs m序列曼徹斯特編碼。噪聲信號(hào)3.56 V,顯示的眼圖幅度4.2 V。在原有噪聲的基礎(chǔ)上,慢慢增大噪聲信號(hào)的幅值,隨著信噪比的降低,還能提取同步信號(hào),并正確的顯示開始慢慢閉合的眼圖。
經(jīng)過測(cè)試數(shù)字信號(hào)發(fā)生器的波特率能夠達(dá)到10 K到100 K步進(jìn)可調(diào)的方波信號(hào),偽隨機(jī)信號(hào)發(fā)生器輸出了10 MHz的方波信號(hào),m序列數(shù)據(jù)率的測(cè)試如表1所示,可以計(jì)算出數(shù)據(jù)率平均誤差為0.157 6%。在fH=200 kHz,偽隨機(jī)信號(hào) 100 mV,輸出的TTL=4.46VP-P時(shí),測(cè)得眼圖幅度為表2所示,均達(dá)到系統(tǒng)要求的指標(biāo)。
圖9 各種信號(hào)眼圖的顯示
表1 m序列數(shù)據(jù)率的測(cè)試表格
表2 眼圖幅度
存在誤差的原因主要是認(rèn)為誤差、硬件誤差、測(cè)量?jī)x器誤差等,此外在測(cè)試為隨機(jī)信號(hào)的時(shí)鐘時(shí)發(fā)現(xiàn)其時(shí)鐘信號(hào)有信號(hào)的反射現(xiàn)象,進(jìn)過分析發(fā)現(xiàn)如果IC之間的互連線比較長(zhǎng),線的特性阻抗又不均勻,或者終端沒有匹配,會(huì)引起反射,如果始端也不匹配,則會(huì)來回反射而造成振鈴。該現(xiàn)象的決定因素:特性阻抗、匹配方式、失配大小終端反射系數(shù)、始端反射系數(shù)、線長(zhǎng),分析原因是因?yàn)殡娐钒迨鞘止ず附拥?,信?hào)完整性不是太好,同時(shí)也由于傳輸阻抗不匹配,因此通過在時(shí)鐘信號(hào)線的終端和源端分別串接一個(gè)33 Ω的電阻發(fā)現(xiàn)這種振鈴現(xiàn)象得到了很大的抑制。
設(shè)計(jì)的數(shù)字信號(hào)傳輸性能分析儀采用Altera公司的Cyclone II系列的FPGA芯片EP2C8Q208C8,實(shí)現(xiàn)了波特率步進(jìn)為10 kbit/s的m序列發(fā)生器與曼徹斯特編碼,并通過測(cè)量眼圖的幅度來分析不同信道環(huán)境對(duì)信號(hào)傳輸?shù)男盘?hào)完整性及碼間串?dāng)_的影響,該分析儀采用TFT觸摸屏,操作方便,人機(jī)交互性好,可廣泛推廣。
[1]孫盼,姚佳毅,林閱斌.基于FPGA的數(shù)字信號(hào)傳輸性能分析儀[J].電子科技,2012(8):32-34.
[2]張驍,宋杰,丁昊.基于FPGA的簡(jiǎn)易數(shù)字信號(hào)傳輸性能分析儀[J].電子測(cè)量技術(shù),2012(8):78-81
[3]張芳芳,周火鳳,宋麗輝,等.基于DSP和USB的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2010(7):66-68
[4]鄧岳平,肖鐵軍.基于FPGA的并行DDS信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(7):2319-2323
[5]褚改霞,潘衛(wèi),王棟,等.基于FPGA的多路數(shù)字信號(hào)復(fù)分接器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009(5):43-46.
[6]李娜,王克甫,呂潔.基于FPGA的數(shù)字信號(hào)源設(shè)計(jì)[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006(1):27-28+40.
[7]盛祥佐,徐釗,羅文超.基于FPGA的數(shù)字信號(hào)發(fā)生器及其在QPSK調(diào)制中的應(yīng)用[J].工礦自動(dòng)化,2007(4):69-72.
[8]李永杰,凌朝東.數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2008(7):19-21.
[9]劉文,馮燕,王巍.基于PCI的DSP+FPGA數(shù)字信號(hào)處理平臺(tái)[J].科學(xué)技術(shù)與工程,2008(9):2348-2351,2355.
[10]袁俊泉,皇甫堪.基于DSP與FPGA的實(shí)時(shí)數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)[J].系統(tǒng)工程與電子技術(shù),2004(11):1561-1563.