基于fpga的oserdes2的改變方波上升時(shí)間的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種示波器,尤其涉及一種基于FPGA的0SERDES2的改變方波上升時(shí)間的方法。
【背景技術(shù)】
[0002]信號(hào)發(fā)生器是用來(lái)產(chǎn)生各種電子信號(hào)的儀器,其廣泛的應(yīng)用在科研、教學(xué)、工程等領(lǐng)域,方波是信號(hào)發(fā)生器產(chǎn)生的一種標(biāo)準(zhǔn)信號(hào),上升時(shí)間是方波的一個(gè)重要參數(shù)。上升時(shí)間是指輸出電壓從10%到90%所需的時(shí)間,上升時(shí)間越短說(shuō)明波形的跳變時(shí)間越短,跳變的時(shí)間越短,說(shuō)明波形從低電平到高電平的時(shí)間也越短暫,這樣生成的波形也更近似于方波。
[0003]方波通常是采用計(jì)數(shù)器的方式產(chǎn)生的,用戶(hù)通過(guò)按鍵設(shè)置方波的周期,F(xiàn)PGA根據(jù)用戶(hù)的設(shè)置來(lái)生成不同的計(jì)數(shù)器來(lái)產(chǎn)生不同頻率的方波。通過(guò)該方法可以方便的產(chǎn)生各種方波,但是方波的上升時(shí)間用計(jì)數(shù)器的時(shí)間決定。例如FPGA的計(jì)數(shù)器時(shí)鐘為125M,則該方波的上升時(shí)間為1/125M = 8ns ο
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種有效減少波形上升時(shí)間基于FPGA的0SERDES2 (輸出并串行轉(zhuǎn)換器)的改變方波上升時(shí)間的方法。
[0005]本發(fā)明采用以下技術(shù)方案:基于FPGA的0SERDES2的改變方波上升時(shí)間的方法,其特征在于:該方法采用的硬件部件包括CPU、FPGA、方波整形電路和幅度控制電路,所述CPU的輸出端與FPGA的輸入端電性連接,所述FPGA的輸出端與方波整形電路的輸入端電性連接,所述方波整形電路的輸出端與幅度控制電路電性連接,所述FPGA內(nèi)置有計(jì)數(shù)器、輸出寄存器和0SERDES2模塊;
該方法具體步驟如下:
51、初始化PFGA中的計(jì)數(shù)器和輸出寄存器;
52、用戶(hù)設(shè)置方波頻率值,CPU根據(jù)設(shè)置的方波頻率值計(jì)算出方波頻率控制字傳送給FPGA ;
53、FPGA接收到CPU傳送過(guò)來(lái)的方波頻率控制字后,計(jì)數(shù)器開(kāi)始累加,當(dāng)計(jì)數(shù)器的值等于方波頻率控制字的一半時(shí),將該方波的輸出寄存器設(shè)置為1111,計(jì)數(shù)器繼續(xù)累加,當(dāng)計(jì)數(shù)器的值等于方波頻率控制字的時(shí),將該方波的輸出寄存器設(shè)置為0000,同時(shí),將計(jì)數(shù)器清零;
54、將步驟S3中的輸出寄存器的輸出接入所述0SERDES2模塊的兩個(gè)以上并行數(shù)據(jù)輸入端口,通過(guò)對(duì)0SERDES2模塊的配置進(jìn)行調(diào)整,提高方波的輸出速度,即提高了方波的上升時(shí)間;
55、0SERDES2模塊將上述提高了方波的上升時(shí)間的方波輸出,經(jīng)過(guò)方波整形電路和幅度控制電路后輸出。
[0006]進(jìn)一步,所述的SI中,將計(jì)數(shù)器的初始值設(shè)置為0,方波的輸出寄存器設(shè)置為OOOOo
[0007]進(jìn)一步,所述步驟S4中的0SERDES2模塊配置如下:
第一步:設(shè)置0SERDES2的參數(shù)
SI 1、設(shè)置 BYPASS_GCLK_FF 旁路始終為 FALSE,即 BYPASS_GCLK_FF ("FALSE");
512、因?yàn)樘幚淼臄?shù)據(jù)位普通的‘0’、‘I’因此將0SERDES2的數(shù)據(jù)模式為SDR的方式;
513、由于將上升時(shí)間由8ns變?yōu)?ns數(shù)據(jù)位數(shù)為4bit,因此將SERDES2的數(shù)據(jù)位寬設(shè)置為4bit ;
514、方波輸出為普通10,將0UTPUT_M0DE設(shè)置為〃SINGLE_ENDED;
515、由于只采用了一個(gè)SERDES,因此將.SERDES_M0DE設(shè)置為〃Ν0ΝΕ";
第二步:設(shè)置0SERDES2的輸入輸出
將方波寄存器信號(hào)連接到0serdes2的Dl、D2、D3和D4上,將方波的輸出信號(hào)連接到Oserdes的輸出端0Q,將0Serdes2的時(shí)鐘設(shè)置為系統(tǒng)時(shí)鐘125M,即就完成0serdes2的配置。
[0008]進(jìn)一步,所述的S2中,所述的用戶(hù)是通過(guò)人機(jī)交互界面設(shè)置方波頻率。
[0009]進(jìn)一步,所述硬件部件還包括與CPU相連的人機(jī)交互界面及其按鍵。
[0010]本發(fā)明采用以上技術(shù)方案,用戶(hù)通過(guò)按鍵設(shè)置方波的周期,CPU根據(jù)設(shè)置的方波周期計(jì)算出方波頻率控制字并傳送給FPGA,在計(jì)數(shù)器和輸出寄存器協(xié)同作用,將方波寄存器的輸出接入所述0SERDES2模塊的并行數(shù)據(jù)輸入端口中,由0SERDES2模塊控制輸出,這樣可將將數(shù)據(jù)的輸出速度提升為原來(lái)的4倍,顯著的提高了方波的上升時(shí)間。
【附圖說(shuō)明】
[0011]現(xiàn)結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳述:
圖1是本發(fā)明改變方波上升時(shí)間的方法之硬件結(jié)構(gòu)示意圖;
圖2是本發(fā)明改變方波上升時(shí)間的方法之0SERDES2模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0012]如圖1所示,本發(fā)明提供了基于FPGA的0SERDES2的改變方波上升時(shí)間的方法,該方法采用的硬件部件包括CPU、FPGA、方波整形電路和幅度控制電路,所述CPU的輸出端與FPGA的輸入端電性連接,所述FPGA的輸出端與方波整形電路的輸入端電性連接,所述方波整形電路的輸出端與幅度控制電路電性連接,所述FPGA內(nèi)置有計(jì)數(shù)器、輸出寄存器和0SERDES2 模塊。
[0013]為進(jìn)一步詳述本發(fā)明,下面對(duì)本發(fā)明中所采用的0SERDES2模塊控制方式做進(jìn)一步說(shuō)明。
[0014]如圖2所示,DU D2、D3、D4為并行數(shù)據(jù)輸入端口,OCE為使能端,Global Clock為全局時(shí)鐘輸入端,I/O Clock為輸出時(shí)鐘輸入端(根據(jù)用戶(hù)的需要輸出串行的速度來(lái)決定,可以設(shè)置為Global Clock的1~4倍),Tl, T2, T3, T4為輸出三態(tài)的控制端,控制當(dāng)輸出數(shù)據(jù)為D1,D2,D3,D4,To pin輸出為高阻還是數(shù)據(jù),TCE為三態(tài)控制的使能段。
[0015]用戶(hù)可以通過(guò)0SERDES2的控制端口輸入想要串并轉(zhuǎn)換的倍數(shù)(2 ~4),并且在Dl, D2,D3,D4,輸入相應(yīng)的數(shù)據(jù),Global Clock,1/0 Clock輸入相應(yīng)的時(shí)鐘關(guān)系,就可以在To pin s得到相應(yīng)的串行數(shù)據(jù)。
[0016]當(dāng)輸出為2倍的串行數(shù)據(jù)時(shí)候,To pin輸出的數(shù)據(jù)依次為D2,Dl (高位到低位)
當(dāng)輸出為3倍的串行數(shù)據(jù)時(shí)候,To pin輸出的數(shù)據(jù)依次為D3,D2,D1 (高位到低位)。
[0017]當(dāng)輸出為4倍的串行數(shù)據(jù)時(shí)候,To pin輸出的數(shù)據(jù)依次為D4,D3,D2,Dl (高位到低位)。
[0018]該方法具體步驟如下:
S1、初始化PFGA中的計(jì)數(shù)器和輸出寄存器;將計(jì)數(shù)器的初始值設(shè)置為0,方波的輸出寄存器設(shè)置為0000。
[0019]S2、用戶(hù)通過(guò)屏幕按鍵設(shè)置方波頻率,CPU接收用戶(hù)設(shè)置的方波頻率,并根據(jù)用戶(hù)設(shè)置的方波頻率,計(jì)算出方波頻率控制字傳送給FPGA ;
計(jì)算方法如下:CPU根據(jù)FPGA在系統(tǒng)時(shí)鐘除以用戶(hù)的設(shè)置頻率就可以得到方波的頻率控制字,例如FPGA的系統(tǒng)時(shí)