亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種信號(hào)發(fā)生器及其波表重組方法

文檔序號(hào):7518323閱讀:456來源:國(guó)知局
專利名稱:一種信號(hào)發(fā)生器及其波表重組方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于信號(hào)處理技術(shù),特別是關(guān)于信號(hào)發(fā)生器技術(shù),具體的將是關(guān)于一種直接數(shù)字合成(Direct Digital Synthesis DDS)方法。
背景技術(shù)
目前市場(chǎng)上的存儲(chǔ)器種類非常多,主要有易失性的RAM和DRAM、非易失性的 EEPR0M、R0M、EPR0M、N0R、NAND閃存、鐵電存儲(chǔ)器(FeRAM)和新興的磁性存儲(chǔ)器(MRAM)。應(yīng)用信號(hào)發(fā)生器時(shí),要選擇合適的存儲(chǔ)器。SRAM具有豐富的訪問接口,控制簡(jiǎn)單、訪問速度也很快;但是它的一個(gè)基本單元通常由4 6個(gè)晶體管組成,成本很高,尤其在信號(hào)源要求大容量的任意波時(shí),成本尤其難以接受。某些基于現(xiàn)場(chǎng)可編程門陣列FPGA的信號(hào)源產(chǎn)品使用內(nèi)嵌的存儲(chǔ)器單元作為波形內(nèi)存,如基于SRAM工藝的現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)部存儲(chǔ)單元,但是由于容量有限,也不適合大容量任意波的需求。Flash具有非易失性,但其操作方式,以及較低的擦除、寫入、讀取效率顯然不適合對(duì)輸出頻率要求越來越高的信號(hào)源產(chǎn)品。DRAM的一個(gè)存儲(chǔ)單元大約需要一個(gè)晶體管和一個(gè)電容,由于實(shí)現(xiàn)工藝的不同,結(jié)構(gòu)較SRAM要簡(jiǎn)單許多,無論集成度、生成成本以及體積、容量,DRAM都比SRAM具有優(yōu)勢(shì)。但是DRAM需要不斷的刷新,才能保存數(shù)據(jù),并且系統(tǒng)接口復(fù)雜,讀寫速度不如SRAM。DRAM+FPGA能實(shí)現(xiàn)高采樣率、大波表的任意波輸出,并能通過修改采樣時(shí)鐘的頻率以及任意波波表的長(zhǎng)度來修改最終輸出波形的頻率,成為很多任意波發(fā)生器(AWG)的首選解決方案。圖1為現(xiàn)有技術(shù)中的信號(hào)發(fā)生器的結(jié)構(gòu)示意圖,信號(hào)發(fā)生器包括主板101、現(xiàn)場(chǎng)可編程門陣列FPGA106、數(shù)模轉(zhuǎn)換芯片(DAC) 107、模擬電路108及外部波形存儲(chǔ)器109。主板包括CPU102、CPU外圍設(shè)備、IXD屏103、鍵盤104及時(shí)鐘源105等。現(xiàn)場(chǎng)可編程門陣列 FPGA106包括CPU接口模塊110,時(shí)鐘模塊111,外部存儲(chǔ)控制器112,內(nèi)部信號(hào)源113,地址累加器114,數(shù)據(jù)選擇模塊115,先入先出(First Input First Output FIFO)模塊116,數(shù)據(jù)處理模塊117及外設(shè)控制模塊118。發(fā)明人在實(shí)現(xiàn)本發(fā)明過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在下面問題由于DRAM的工作特點(diǎn),它的總線利用率不可能達(dá)到100%,以一顆200M工作頻率、 16bits數(shù)據(jù)位寬的DDR2SDRAM為例,在最理想的逐點(diǎn)讀取的情況下,總線利用率約為80%, 吞吐量為640MByte/S ;如果是跳點(diǎn)讀取,總線利用率最低會(huì)急劇下降到10%。上述信號(hào)發(fā)生器只有逐點(diǎn)讀取DRAM,才能滿足高采樣率輸出的要求,在波表長(zhǎng)度較大的情況下,無法輸出較高頻率的波形。舉例說來,上述信號(hào)發(fā)生器產(chǎn)品,采樣率可調(diào)范圍IOM 1. 25GSa/S,波形長(zhǎng)度128 8MPts,輸出頻率只有9. 76MHz 1. 25Hz的范圍
發(fā)明內(nèi)容
本發(fā)明提供一種信號(hào)發(fā)生器及其波表重組方法,以提高大波表任意波的輸出頻率范圍和頻率精度。在一實(shí)施例中,本發(fā)明提供一種信號(hào)發(fā)生器,包括CPU、現(xiàn)場(chǎng)可編程門陣列FPGA、 外部波形存儲(chǔ)器、數(shù)模轉(zhuǎn)換芯片及模擬電路,所述的現(xiàn)場(chǎng)可編程門陣列FPGA通過CPU接口連接所述CPU,所述外部波形存儲(chǔ)器與所述現(xiàn)場(chǎng)可編程門陣列FPGA中的外部存儲(chǔ)控制器連接,所述的外部波形存儲(chǔ)器包含用戶波表存儲(chǔ)模塊及緩沖波表存儲(chǔ)模塊,所述的用戶波表存儲(chǔ)模塊用于存儲(chǔ)用戶波表;所述現(xiàn)場(chǎng)可編程門陣列FPGA包括工作模式判斷模塊,位于所述CPU接口中,用于判斷任意波的工作模式是否為抽點(diǎn)模式;波表重組模塊,與所述CPU 接口連接,控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊,并輸出存儲(chǔ)的波表。在另一實(shí)施例中,本發(fā)明提供一種一種波表重組方法,利用權(quán)利要求1所述的信號(hào)發(fā)生器,其特征在于,所述的方法包括判斷任意波的工作模式是否為抽點(diǎn)模式;如果是,從用戶波表存儲(chǔ)模塊中抽取波表;將抽取的波表存儲(chǔ)到緩沖波表存儲(chǔ)模塊;輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。本發(fā)明的有益技術(shù)效果本發(fā)明提高了大波表任意波的輸出頻率范圍和頻率精度。本發(fā)明實(shí)現(xiàn)頻率改變時(shí)只需要計(jì)算抽點(diǎn)頻率字、抽點(diǎn)周期數(shù)等參數(shù),節(jié)省了 CPU花費(fèi)的時(shí)間。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中圖1為現(xiàn)有技術(shù)中信號(hào)發(fā)生器的結(jié)構(gòu)示意圖;圖2是基于DDS技術(shù)的任意函數(shù)發(fā)生器(Are)的簡(jiǎn)化結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例信號(hào)發(fā)生器的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例波表重組方法流程圖;圖5為本發(fā)明實(shí)施例信號(hào)發(fā)生器的工作流程圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。信號(hào)發(fā)生器作為一種信號(hào)源,因其能夠產(chǎn)生不同頻率、不同幅度的規(guī)則或者不規(guī)則的波形,在電子系統(tǒng)的測(cè)量、校驗(yàn)及維護(hù)中得到了廣泛的應(yīng)用。隨著現(xiàn)在電子芯片集成化的發(fā)展,儀器設(shè)備的結(jié)構(gòu)越來越復(fù)雜,工作頻率越來越高,對(duì)信號(hào)發(fā)生器的輸出頻率和波形形狀提出了更高的要求。直接數(shù)字合成(Direct Digital Synthesis,以下簡(jiǎn)稱DDS)是目前頻率合成中的一種主要技術(shù),具有低成本、高分辨率、快速轉(zhuǎn)換時(shí)間、可以產(chǎn)生任意波形以及切換時(shí)輸出波形相位連續(xù)等特點(diǎn),在信號(hào)發(fā)生器設(shè)計(jì)中被廣泛采用。圖2是一個(gè)典型的基于DDS技術(shù)的任意函數(shù)發(fā)生器(Are)的簡(jiǎn)化結(jié)構(gòu)圖。在固定頻率(fc)的固定時(shí)鐘101的控制下,N位的相位累加器106累加頻率控制字K105得到相碼,相碼經(jīng)過相位寄存器107尋址波形存儲(chǔ)器102進(jìn)行相碼-幅碼變換輸出不同的幅度編碼,再經(jīng)過數(shù)模變換器(DAC) 103得到相應(yīng)的階梯波,最后經(jīng)過包括低通波器在內(nèi)的模擬電路104處理后,即得到由頻率控制字K決定的連續(xù)變化的輸出波形。輸出信號(hào)的頻率為 K*fc/2N,輸出信號(hào)的頻率分辨率為fC//2N。其中N是相位累加器的位數(shù),假設(shè)t時(shí)刻其累加值為Kt,則在下一采樣時(shí)鐘信號(hào)fc的上升沿,其值增加K,即經(jīng)過一個(gè)時(shí)鐘周期,地址信號(hào)增加K,所以Kw = Kt+K,gKw > 2N則溢出,余數(shù)將保留并參加下一次累加。由于一般情況下為提高波形精度,N值會(huì)取的較大,所以只取累加結(jié)果的高A位(A< N),作為波形內(nèi)存的地址,對(duì)其進(jìn)行尋址。圖3為本發(fā)明實(shí)施例信號(hào)發(fā)生器的結(jié)構(gòu)示意圖;如圖3所示,本發(fā)明實(shí)施例的信號(hào)發(fā)生器包括主板101、現(xiàn)場(chǎng)可編程門陣列FPGA106、數(shù)模轉(zhuǎn)換芯片(DAC) 107、模擬電路108 及外部波形存儲(chǔ)器301。外部波形存儲(chǔ)器301容量較大,用于存儲(chǔ)較大長(zhǎng)度的大波表;信號(hào)發(fā)生器用的2G bits的DDR2 SDRAM。外部波形存儲(chǔ)器301包括用戶波表存儲(chǔ)模塊301及緩沖波表存儲(chǔ)模塊302,所述的用戶波表存儲(chǔ)模塊301用于存儲(chǔ)CPU下發(fā)的波表,該波表可以是CPU從非易失性存儲(chǔ)器中讀出的波表、上位機(jī)下發(fā)的波表。主板101包括核心部分CPU102、CPU外圍設(shè)備(圖中未示出包括用于系統(tǒng)控制的數(shù)字信號(hào)處理器(DSP),用于輔助DSP工作的存儲(chǔ)器Flash和SDRAM,用于連接上位機(jī)或者網(wǎng)絡(luò)的LAN、GPIB、USB等總線接口模塊)、!XD屏103、鍵盤104及時(shí)鐘源105等,時(shí)鐘源105 為整個(gè)系統(tǒng)提供高精度的頻率可調(diào)的時(shí)鐘,不過頻率可調(diào)范圍很小,且只有在儀器校準(zhǔn)時(shí)才修改頻率。現(xiàn)場(chǎng)可編程門陣列FPGA106通過CPU接口連接主板101的CPU?,F(xiàn)場(chǎng)可編程門陣列FPGA106是波形處理的核心裝置,用于將CPU下發(fā)的波表數(shù)據(jù)經(jīng)過處理后送給DAC,現(xiàn)場(chǎng)可編程門陣列FPGA106包括CPU接口模塊110,時(shí)鐘模塊 111,外部存儲(chǔ)控制器112,內(nèi)部信號(hào)源113,地址累加器114,數(shù)據(jù)選擇模塊115,先入先出 (Firstlnput First Output FIFO)模塊116,數(shù)據(jù)處理模塊117及外設(shè)控制模塊118。外部波形存儲(chǔ)器301與所述現(xiàn)場(chǎng)可編程門陣列FPGA中的外部存儲(chǔ)控制器112連接。110CPU接口模塊可以實(shí)現(xiàn)現(xiàn)場(chǎng)可編程門陣列FPGA與CPU之間的通信,以便CPU控制現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)部的其它模塊;簡(jiǎn)單起見,在圖3中,除了時(shí)鐘模塊111標(biāo)明了時(shí)鐘信號(hào)的來源,現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)部其它模塊的控制信號(hào)均來自CPU接口模塊, 圖中沒有標(biāo)出。CPU接口模塊110中包括工作模式判斷模塊(圖中未示出),工作模式判斷模塊用于判斷任意波的工作模式是否為抽點(diǎn)模式?,F(xiàn)場(chǎng)可編程門陣列FPGA106還包括波表重組模塊304,與所述CPU接口 110連接, 當(dāng)工作模式判斷模塊判斷出任意波的工作模式是否為抽點(diǎn)模式時(shí),波表重組模塊304控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊,并輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。如果任意波的工作模式不是抽點(diǎn)模式,而是播放模式,就不需要利用波表重組模塊,數(shù)據(jù)選擇模塊115直接選擇用戶波表存儲(chǔ)模塊302中的波表數(shù)據(jù)寫人到FIFO模塊116。
時(shí)鐘模塊111利用現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)嵌的頻率合成軟核對(duì)時(shí)鐘源提供的 IOMHz時(shí)鐘作頻率合成,產(chǎn)生現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)部其它模塊以及外部波形存儲(chǔ)器和 DAC的工作時(shí)鐘。外部存儲(chǔ)控制器112,實(shí)現(xiàn)現(xiàn)場(chǎng)可編程門陣列FPGA與外部波形存儲(chǔ)器的連接與控制,按照CPU配置的參數(shù)(包括波表起始地址、波表長(zhǎng)度等)將CPU下發(fā)的波表寫入外部波形存儲(chǔ)器301的用戶波表存儲(chǔ)模塊302中;在要求輸出波形時(shí),將外部波形存儲(chǔ)器112的波表數(shù)據(jù)讀出送給數(shù)據(jù)選擇模塊。內(nèi)部信號(hào)源113除了存儲(chǔ)于外部波形存儲(chǔ)器301的任意波,還可以輸出標(biāo)準(zhǔn)規(guī)則的基本波形如正弦波、鋸齒波等,這些波表存儲(chǔ)在現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)嵌的存儲(chǔ)單元構(gòu)成的內(nèi)部波形存儲(chǔ)器(圖中未示)中。內(nèi)部源產(chǎn)生的基本波表數(shù)據(jù)也送給數(shù)據(jù)選擇單元。地址累加器114根據(jù)CPU設(shè)置的頻率控制字,累加地址,將累加結(jié)果分別送給外部存儲(chǔ)控制器301和內(nèi)部信號(hào)源里的內(nèi)部波形存儲(chǔ)器;數(shù)據(jù)選擇模塊115根據(jù)CPU的參數(shù)設(shè)置,從用戶波表存儲(chǔ)模塊301及緩沖波表存儲(chǔ)模塊302的兩路波表數(shù)據(jù)中選出一路作為寫數(shù)據(jù)寫入FIFO模塊。FIFO模塊116是指具有先入先出特點(diǎn)的存儲(chǔ)器;為了便于控制,F(xiàn)IFO模塊116寫入側(cè)的時(shí)鐘和讀出側(cè)的時(shí)鐘由時(shí)鐘模塊分別產(chǎn)生;FIFO模塊116根據(jù)FIFO的存儲(chǔ)情況送出一個(gè)反饋信號(hào)給地址累加器114,控制地址累加器114進(jìn)行正常累加還是暫停累加,正常累加所產(chǎn)生的相位地址對(duì)應(yīng)的波表數(shù)據(jù)會(huì)寫入FIFO,暫停累加時(shí)也就暫停寫入FIFO。數(shù)據(jù)處理模塊117對(duì)從FIFO模塊116中讀出的數(shù)據(jù)作二次處理,如并串轉(zhuǎn)換、輸出關(guān)閉時(shí)輸出空閑電平等;處理后的數(shù)據(jù)送給外部數(shù)模轉(zhuǎn)換芯片107。外設(shè)控制模塊118按照CPU設(shè)置的參數(shù)控制外部模擬器件,例如放大電路的增益系數(shù)、偏置電壓、濾波器的選擇等等。數(shù)模轉(zhuǎn)換芯片107將現(xiàn)場(chǎng)可編程門陣列FPGA送出的數(shù)字格式的波形數(shù)據(jù)轉(zhuǎn)換為模擬量,輸出給模擬電路108輸出;模擬電路108處理DAC輸出的模擬信號(hào),包括低通濾波、 幅度衰減、放大、偏置等。CPU可以向波表重組模塊304下發(fā)的配置參數(shù),所述配置參數(shù)包括抽點(diǎn)頻率字及抽點(diǎn)周期數(shù)。波表重組模塊304根據(jù)CPU下發(fā)的配置參數(shù)生成波表重組指令,通過波表重組指令控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊,并輸出存儲(chǔ)的波表。所述波表重組指令包括波表抽取指令,波表存儲(chǔ)指令及波表輸出指令;波表抽取指令用于控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表;波表存儲(chǔ)指令用于控制所述外部存儲(chǔ)控制器將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊;波表輸出指令用于控制所述外部存儲(chǔ)控制器輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。進(jìn)一步地,波表輸出指令包括輸出判斷命令,用于判斷抽取的波表是否達(dá)到抽點(diǎn)周期數(shù);波表輸出命令,當(dāng)抽取的波表達(dá)到抽點(diǎn)周期數(shù)時(shí),用于控制所述外部存儲(chǔ)控制器輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。如圖4所示,本發(fā)明提供一種波表重組方法,應(yīng)用于圖3所示的信號(hào)發(fā)生器,所述的方法包括
步驟S401 工作模式判斷模塊判斷任意波的工作模式是否為抽點(diǎn)模式;步驟S402 如果是,從用戶波表存儲(chǔ)模塊中抽取波表;步驟S403 將抽取的波表存儲(chǔ)到緩沖波表存儲(chǔ)模塊;步驟S404 輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。進(jìn)一步地,所述方法還包括根據(jù)CPU下發(fā)的包括抽點(diǎn)頻率字及抽點(diǎn)周期數(shù)配置參數(shù)生成波表重組指令。所述波表重組指令包括波表抽取指令,用于控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表;波表存儲(chǔ)指令,用于控制所述外部存儲(chǔ)控制器將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊;波表輸出指令,用于控制所述外部存儲(chǔ)控制器輸出存儲(chǔ)的波表。進(jìn)一步地,波表輸出指令包括輸出判斷命令,用于判斷抽取的波表是否達(dá)到抽點(diǎn)周期數(shù);波表輸出命令,當(dāng)抽取的波表達(dá)到抽點(diǎn)周期數(shù)時(shí),用于控制所述外部存儲(chǔ)控制器輸出存儲(chǔ)的波表。圖5為本發(fā)明實(shí)施例信號(hào)發(fā)生器的工作流程圖,包括如下步驟步驟S501 用戶設(shè)置參數(shù),包括用戶波表數(shù)據(jù)和波表長(zhǎng)度的選擇,輸出波表頻率的設(shè)定及工作模式的選擇(選擇抽點(diǎn)模式)。步驟S502 =CPU將各個(gè)參數(shù)配置給現(xiàn)場(chǎng)可編程門陣列FPGA,參數(shù)配置包括波表數(shù)據(jù)、波表長(zhǎng)度、工作模式的設(shè)定(選擇抽點(diǎn)模式),輸出波表頻率的設(shè)定等。。步驟S503 判讀波形是否為任意波,如果是,進(jìn)入步驟S504。如果不是任意波,不屬于本發(fā)明要解決的問題,不再贅述。步驟S504 將CPU下發(fā)的波表存儲(chǔ)到外部波形存儲(chǔ)器301的用戶波表存儲(chǔ)模塊 302中。CPU下發(fā)的波表可以是從非易失性存儲(chǔ)器中讀出的波表、或者上位機(jī)下發(fā)的波表。步驟S505 判斷波表是否存儲(chǔ)完成,如果存儲(chǔ)完成,進(jìn)入步驟S506(DDS啟動(dòng)),否則進(jìn)行繼續(xù)執(zhí)行步驟S504。步驟S506 工作模式判斷模塊判斷工作模式是否為抽點(diǎn)模式,如果是,進(jìn)行步驟 S507 ;否則,工作模式為播放模式,進(jìn)行步驟S510。步驟S507 從所述用戶波表存儲(chǔ)模塊中抽取波表。步驟S508 根據(jù)波表存儲(chǔ)指令將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊。步驟S509 根據(jù)波表輸出指令輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。步驟S507至步驟S509為波表重組步驟,為本發(fā)明的關(guān)鍵部分。CPU會(huì)向CPU下發(fā)的包括抽點(diǎn)頻率字及抽點(diǎn)周期數(shù)的配置參數(shù),生成波表重組指令,波表重組指令包括波表抽取指令,波表存儲(chǔ)指令及波表輸出指令,波表重組模塊304將波表抽取指令,波表存儲(chǔ)指令及波表輸出指令發(fā)送給外部存儲(chǔ)控制器112。外部存儲(chǔ)控制器112首先根據(jù)波表抽取指令從所述用戶波表存儲(chǔ)模塊中抽取波表,按照CPU設(shè)置的抽點(diǎn)頻率字從用戶波表中抽點(diǎn)讀取一段樣點(diǎn);為了降低現(xiàn)場(chǎng)可編程門陣列FPGA內(nèi)部資源的占用,信號(hào)發(fā)生器里每次一般最多讀出96個(gè)樣點(diǎn);然后,外部存儲(chǔ)控制器112根據(jù)波表存儲(chǔ)指令將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊;將該段樣點(diǎn)按照DDR2SDRAM要求的格式逐個(gè)寫入到緩沖波表區(qū)。最后, 外部存儲(chǔ)控制器112根據(jù)波表輸出指令輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。波表輸出指令包括輸出判斷命令,用于判斷抽取的波表是否達(dá)到抽點(diǎn)周期數(shù);波表輸出命令,當(dāng)抽取的波表達(dá)到抽點(diǎn)周期數(shù)時(shí),用于輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。在抽點(diǎn)過程中判斷是否滿足CPU設(shè)置的抽點(diǎn)周期數(shù),如果已經(jīng)達(dá)到周期數(shù),說明波表重組完成;如果未達(dá)到周期數(shù),則繼續(xù)抽點(diǎn)。步驟S510 判讀FIFO是否可寫入,如果是,進(jìn)入步驟S511,否則進(jìn)入步驟S512。 DDS地址累加器逐點(diǎn)累加;在累加過程中,判斷FIFO的“水位”狀態(tài),一旦FIFO不能繼續(xù)寫入,就暫停累加,進(jìn)入步驟S512;等FIFO可以繼續(xù)寫入時(shí),再繼續(xù)累加。步驟S511 累加器逐點(diǎn)累加DDS地址。步驟S512 讀取緩沖波表存儲(chǔ)模塊303中的波表。根據(jù)DDS累加后的地址,工作模式為播放模式時(shí)從整個(gè)外部波形存儲(chǔ)器112的用戶波表存儲(chǔ)模塊302逐點(diǎn)讀取波形,工作模式為抽點(diǎn)模式時(shí)從外部波形存儲(chǔ)器的緩沖波表存儲(chǔ)模塊303逐點(diǎn)讀取波形。步驟S513 將讀取的波形寫入FIFO。步驟S514 讀取FIFO中的波形。步驟S515 波形經(jīng)過數(shù)據(jù)處理后輸出給DAC,轉(zhuǎn)化為模擬量,然后進(jìn)入模擬電路進(jìn)行處理。本發(fā)明主要應(yīng)用于任意波抽點(diǎn)方式,外部波表存儲(chǔ)器有USMPts的空間,劃分為用戶波表區(qū)和緩沖波表區(qū),信號(hào)發(fā)生器里分別為固定的16MPts和112MPts。當(dāng)然也可以根據(jù)用戶波表的實(shí)際長(zhǎng)度靈活設(shè)置。對(duì)于給定長(zhǎng)度(L)的原始波表,CPU根據(jù)用戶要求的輸出頻率0 ),計(jì)算出如下參數(shù)送給現(xiàn)場(chǎng)可編程門陣列FPGA 現(xiàn)場(chǎng)可編程門陣列FPGA以抽點(diǎn)頻率字K對(duì)原始波表抽點(diǎn)出P個(gè)周期的樣點(diǎn),存儲(chǔ)到緩沖波表區(qū),然后以采樣時(shí)鐘Fc逐點(diǎn)輸出。這些參數(shù)的關(guān)系如公式1 Fo = P*Fc/INT(P*L/K) (1)其中INT表示取整;對(duì)原始波表抽點(diǎn)后每個(gè)周期的樣點(diǎn)數(shù)是L/K ;總的樣點(diǎn)數(shù)是 P*L/K,這個(gè)值很可能不是整數(shù),但顯然寫入到緩沖波表區(qū)的樣點(diǎn)數(shù)只會(huì)是整數(shù)。公式1中,F(xiàn)c是采樣時(shí)鐘,在信號(hào)發(fā)生器里的頻率是固定的IGHz ;抽點(diǎn)頻率字位寬40b,抽點(diǎn)周期數(shù)位寬Mb,由上面的公式1可以算出輸出頻率的精度是5位,可調(diào)范圍 IuHz 50MHz。實(shí)際上最高頻率還可以更高,但限于濾波器的性能,所以將任意波的輸出頻率限制到合適的水平。本發(fā)明實(shí)現(xiàn)頻率改變時(shí)的頻率切換時(shí)間主要是CPU計(jì)算相關(guān)參數(shù)的時(shí)間以及現(xiàn)場(chǎng)可編程門陣列FPGA重組波表所需要的時(shí)間。因?yàn)橹恍枰?jì)算抽點(diǎn)頻率字、抽點(diǎn)周期數(shù)等參數(shù),CPU花費(fèi)時(shí)間很短,信號(hào)發(fā)生器目前不超過50mS ;現(xiàn)場(chǎng)可編程門陣列FPGA重組時(shí)間取決于重組后波表的樣點(diǎn)數(shù),每個(gè)樣點(diǎn)數(shù)平均耗時(shí)50nS??偟恼f來,本發(fā)明的頻率切換時(shí)間優(yōu)于傳統(tǒng)的任意波處理方式,它們通常是采用修改任意波長(zhǎng)度,由軟件重新組織任意波再寫入到波形內(nèi)存里。本發(fā)明的有益技術(shù)效果本發(fā)明提高了大波表任意波的輸出頻率范圍和頻率精度。本發(fā)明實(shí)現(xiàn)頻率改變時(shí)只需要計(jì)算抽點(diǎn)頻率字、抽點(diǎn)周期數(shù)等參數(shù),節(jié)省了 CPU花費(fèi)的時(shí)間。以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種信號(hào)發(fā)生器,包括CPU、現(xiàn)場(chǎng)可編程門陣列FPGA、外部波形存儲(chǔ)器、數(shù)模轉(zhuǎn)換芯片及模擬電路,所述的現(xiàn)場(chǎng)可編程門陣列FPGA通過CPU接口連接所述CPU,所述外部波形存儲(chǔ)器與所述現(xiàn)場(chǎng)可編程門陣列FPGA中的外部存儲(chǔ)控制器連接,其特征在于所述的外部波形存儲(chǔ)器包含用戶波表存儲(chǔ)模塊及緩沖波表存儲(chǔ)模塊,所述的用戶波表存儲(chǔ)模塊用于存儲(chǔ)波表;所述現(xiàn)場(chǎng)可編程門陣列FPGA包括工作模式判斷模塊,設(shè)置于所述CPU接口中,用于判斷任意波的工作模式是否為抽點(diǎn)模式;波表重組模塊,與所述CPU接口連接,控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊,并輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。
2.如權(quán)利要求1所述的信號(hào)發(fā)生器,其特征在于所述波表重組模塊根據(jù)CPU下發(fā)的配置參數(shù)生成波表重組指令,通過波表重組指令控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊,并輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。
3.如權(quán)利要求2所述的信號(hào)發(fā)生器,其特征在于所述配置參數(shù)包括抽點(diǎn)頻率字及抽點(diǎn)周期數(shù)。
4.如權(quán)利要求3所述的信號(hào)發(fā)生器,其特征在于所述波表重組指令包括波表抽取指令,用于控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表; 波表存儲(chǔ)指令,用于控制所述外部存儲(chǔ)控制器將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊;波表輸出指令,用于控制所述外部存儲(chǔ)控制器輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。
5.如權(quán)利要求4所述的信號(hào)發(fā)生器,其特征在于波表輸出指令包括 輸出判斷命令,用于判斷抽取的波表是否達(dá)到抽點(diǎn)周期數(shù);波表輸出命令,當(dāng)抽取的波表達(dá)到抽點(diǎn)周期數(shù)時(shí),用于控制所述外部存儲(chǔ)控制器輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。
6.一種應(yīng)用于權(quán)利要求1的信號(hào)發(fā)生器的波表重組方法,其特征在于,所述的方法包括判斷任意波的工作模式是否為抽點(diǎn)模式; 如果是,從用戶波表存儲(chǔ)模塊中抽取波表; 將抽取的波表存儲(chǔ)到緩沖波表存儲(chǔ)模塊; 輸出所述緩沖波表存儲(chǔ)模塊中存儲(chǔ)的波表。
7.如權(quán)利要求6所述的方法,其特征在于所述方法還包括根據(jù)CPU下發(fā)的配置參數(shù)生成波表重組指令。
8.如權(quán)利要求7所述的方法,其特征在于所述配置參數(shù)包括抽點(diǎn)頻率字及抽點(diǎn)周期數(shù)。
9.如權(quán)利要求8所述的方法,其特征在于所述波表重組指令包括波表抽取指令,用于控制所述外部存儲(chǔ)控制器從所述用戶波表存儲(chǔ)模塊中抽取波表;波表存儲(chǔ)指令,用于控制所述外部存儲(chǔ)控制器將抽取的波表存儲(chǔ)到所述緩沖波表存儲(chǔ)模塊;波表輸出指令,用于控制所述外部存儲(chǔ)控制器輸出存儲(chǔ)的波表。
10.如權(quán)利要求9所述的方法,其特征在于波表輸出指令包括 輸出判斷命令,用于判斷抽取的波表是否達(dá)到抽點(diǎn)周期數(shù);波表輸出命令,當(dāng)抽取的波表達(dá)到抽點(diǎn)周期數(shù)時(shí),用于控制所述外部存儲(chǔ)控制器輸出存儲(chǔ)的波表。
全文摘要
一種信號(hào)發(fā)生器及其波表重組方法,該信號(hào)發(fā)生器包括CPU、現(xiàn)場(chǎng)可編程門陣列FPGA、外部波形存儲(chǔ)器、數(shù)模轉(zhuǎn)換芯片及模擬電路,該現(xiàn)場(chǎng)可編程門陣列FPGA通過CPU接口連接該CPU,該外部波形存儲(chǔ)器與該現(xiàn)場(chǎng)可編程門陣列FPGA中的外部存儲(chǔ)控制器連接,該外部波形存儲(chǔ)器包含用戶波表存儲(chǔ)模塊及緩沖波表存儲(chǔ)模塊,該用戶波表存儲(chǔ)模塊用于存儲(chǔ)用戶波表;該現(xiàn)場(chǎng)可編程門陣列FPGA包括工作模式判斷模塊,位于該CPU接口中,用于判斷任意波的工作模式是否為抽點(diǎn)模式;波表重組模塊,與該CPU接口連接,控制該外部存儲(chǔ)控制器從該用戶波表存儲(chǔ)模塊中抽取波表,將抽取的波表存儲(chǔ)到該緩沖波表存儲(chǔ)模塊,并輸出存儲(chǔ)的波表。本發(fā)明提高了大波表任意波的輸出頻率范圍和頻率精度。
文檔編號(hào)H03K3/02GK102468829SQ20101053113
公開日2012年5月23日 申請(qǐng)日期2010年11月3日 優(yōu)先權(quán)日2010年11月3日
發(fā)明者李維森, 王悅, 王鐵軍 申請(qǐng)人:北京普源精電科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1