專利名稱:一種函數信號發生裝置及方法
技術領域:
本發明是關于脈沖技術領域,尤其是關于脈沖寬度調制技術領域,具體來說是關于一種函數信號發生裝置及方法。
背景技術:
在電子系統的測量、校驗及維護中,函數信號發生器被廣泛采用。隨著電子技術的發展,對函數信號發生器的要求也逐漸提高,需要函數信號發生器能夠產生更為豐富的調制信號,這其中就包括近些年來在測量、通信、功率控制與變換等領域中得到廣泛應用的脈沖寬度調制(PWM, Pulse Width Modulation)信號。PWM是一種對模擬信號電平進行數字編碼的方法,脈沖的占空比被調制用來對一個具體模擬信號的電平進行編碼。隨著電力電子技術、微電子技術和自動控制技術的發展以及各種新的理論方法的應用,出現了多種PWM控制技術,包括正弦波PWM法、硬件調制法、梯形波與三角波比較法等等。采用這些方法產生的PWM信號都是數字形式的,不適用于函數信號發生器。現有技術中,基于DDS (直接頻率合成)技術的函數信號發生器都采用波表的方式生成任意波形,包括脈沖,其基本原理是將一個周期的脈沖存儲在波形存儲器中,然后以跳點的方式從這個波形存儲器中取出脈沖并輸出。這類函數信號發生器沒有用于邊沿控制的模擬電路,只能通過修改波表來修改邊沿時間,這會耗用很多處理器資源,而且一般都不支持PWM輸出。現有技術中,函數信號發生器輸出的脈沖信號的邊沿時間一般都是可以設置的,PWM信號作為一種特殊形式的脈沖,其邊沿時間也應該是可以設置的。圖1是現有技術 提供的一種對脈沖的上升、下降邊沿時間的控制電路,控制電路利用電容對電壓具有的記憶性質,通過控制對電容的充放電電流進而控制電容輸出電壓的波形,如圖1所示,控制電路實現了對差分脈沖的上下沿時間的調整,對脈沖邊沿時間的調整過程如下:四個隧道二極管CR1、CR2、CR3、CR4構成高速開關切換網絡;三個電流源1:、
I2、ISM對電容充電;兩個場效應管 \、Τ2構成高速開關,控制差分輸入信號的通斷。差分脈沖從ΥΙΝ+和Yin-輸入。當輸入信號ΥΙΝ+的上升沿到來時,Yin-幅度下降。此時T1導通、T2關斷。電容C1放電,調整Yotit-的下降沿;電容C2充電,調整Yotit+的上升沿。電容充、放電時有如下的關系式:⑶=/ Idt,從這個公式中要計算出脈沖的邊沿時間比較困難,可以將流過電容的電流近似看作一個三角波,由此可得到脈沖上升、下降時間與脈沖幅度、充放電電流和電容之間的關系式為:T ^ 2CU/I。因此,改變電流源Ip 12、Isum和電容Cp C2的大小即可調整脈沖的上升、下降時間。為了以皮秒級的速度切換電容電路給高速脈沖的上、下邊沿充放電,圖1中的開關切換網絡采用了隧道二極管,雖然速度快、工作頻率高,但熱穩定性較差。在信號發生器中,邊沿時間是任意可設的,就圖1電路而言,只能通過兩種方式控制邊沿時間。(I)采用多級電容網絡代替圖1中的C1、C2,針對不同的邊沿時間,需要切換不同標值的電容,控制起來較為復雜,只能用于邊沿時間的粗放控制;(2)修改電流源Ip 12、Isum的輸出電流,常用的一種做法是通過修改參考電壓來控制電流源的輸出電流,而參考電壓是由控制器通過數模轉換器來調整的。因此,采用圖1模擬器件組成的控制電路控制脈沖邊沿時間是比較復雜的,成本
較高,穩定性差。
發明內容
為克服現有技術中邊沿控制電路調整PWM信號上下邊沿時間成本高、穩定性差的問題,本發明提供一種函數信號發生裝置及方法。本發明提供一種函數信號發生裝置,所述的函數信號發生裝置包括:偏移乘法器單元,用于接收調制源信號和調制偏移系數,生成偏移量;脈寬加法器單元,用于接收所述的偏移量和初始脈寬,生成脈沖寬度閾值;周期計數器單元,用于在調制開始后計數并生成計數結果;比較器單元,用于接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息;加減累加單元,用于接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累力口,得到累加計數值;數模轉換單元,用于接收所述的累加計數值并轉換為模擬量,生成函數信號。本發明還提供一種函數信號發生方法,所述的函數信號發生方法包括:接收調制源信號和調制偏移系數,生成偏移量;接收所述的偏移量和初始脈寬,生成脈沖寬度閾值;在調制開始后計數并生成計數結果;接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息;接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值;接收所述的累加計數值并轉換為模擬量,生成函數信號。本發明提供的一種函數信號發生裝置及方法,使PWM信號的各個調制參數,例如脈沖頻率、調制偏移、調制源;而且脈沖上下邊沿時間可以分別靈活設置。并且結構簡單、實現容易、成本較低,無需專門的邊沿控制電路,也不會耗用處理器的資源修改波表。
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,并不構成對本發明的限定。在附圖中:圖1是現有技術提供的一種對脈沖的上升、下降邊沿時間的控制電路。圖2是本發明實施例提供的一種函數信號發生裝置的模塊圖。圖3是本發明實施例提供的一種函數信號發生裝置的模塊圖。圖4是本發明實施例提供的一種函數信號發生裝置的模塊圖。圖5是本發明實施例提供的一種函數信號發生裝置的模塊圖。
圖6為本發明實施例提供的加減累加單元600的模塊圖。圖7是本發明實施例提供的一種函數信號發生方法流程圖。圖8是本發明實施例提供的一種函數信號發生方法流程圖。圖9是本發明實施例提供的一種函數信號發生方法流程圖。圖10是本發明實施例提供的一種函數信號發生方法流程圖。圖11為本發明實施例提供的加減累加方法的流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,下面結合實施方式和附圖,對本發明做進一步詳細說明。在此,本發明的示意性實施方式及其說明用于解釋本發明,但并不作為對本發明的限定。本發明實施例提供一種函數信號發生裝置及方法,以下結合附圖對本發明進行詳細說明。實施例一目前市場上基于DDS(直接數字頻率合成,Direct Digital FrequencySynthesis)技術的函數信號發生器一般都采用DDS+DAC(數字模擬轉換器,Digital toAnalog Converter)的架構。實現DDS功能的主要有三類,數字信號處理器(DSP)、專用DDS芯片或者可編程邏輯陣列(FPGA)。專用DDS芯片的功能是無法修改的,而對于DSP、FPGA,可以很容易利用本發明實現PWM信號的輸出。本發明實施例提供的函數信號發生裝置主要采用“計數”的方式實現的,為基于DDS技術的函數信號發生器提供了一種產生PWM信號的方法,這類信號發生器使用DDS+DAC輸出波形,不具有專門的脈沖邊沿調整電路。圖2是本發明實施例提供的一種函數信號發生裝置的模塊圖,如圖2所示,函數信號發生裝置200包括偏移乘法器單元201、脈寬加法器單元202、周期計數器單元203、比較器單元204、加減累加單元205和數模轉換單元206,其中:偏移乘法器單元201,用于接收調制源信號和調制偏移系數,生成偏移量。在本發明實施例中,偏移乘法器單元201將調制源信號的幅度乘上調制偏移系數,以便將偏移量歸一化到脈沖寬度偏移量的范圍之內。本發明實施例提供的函數信號發生裝置可用于產生PWM信號,除此之外,當調制偏移系數為O時,函數信號發生裝置可以用于產生脈沖。脈寬加法器單元202,用于接收所述的偏移量和初始脈寬,生成脈沖寬度閾值。在本發明實施例中,脈寬加法器單元202將接收到的偏移量與初始脈寬相加,二者之和作為脈沖寬度閾值。隨著調制信號源幅度的改變,生成的脈沖寬度閾值也會隨之變化,即所謂脈沖寬度調制。周期計數器單元203,用于在調制開始后計數并生成計數結果。在本發明實施例中,當調制開始后,周期計數器單元203開始從O計數,計數到一預定周期閾值后從O開始重新計數,其中周期閾值決定了脈沖周期。比較器單元204,用于接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息。在本發明實施例中,比較器單元204將周期計數器單元203的計數結果與脈寬加法器單元202生成的脈沖寬度閾值進行比較,可以得到脈沖起始位置信息和脈沖結束位置信息,其中,脈沖起始位置表示脈沖要從低電平變化到高電平,也就意味著上升沿的到來,脈沖結束位置則表示下降沿的到來。加減累加單元205,用于接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值。在本發明實施例中,加減累加單元205是實現脈沖邊沿時間的關鍵模塊,不僅可以累加,也可以累減,加減累加單元205可以是一 N位累加器。對上升沿而言,當脈沖起始位置信號到來時,加減累加單元205從O開始,以上升沿控制字累加至溢出,溢出后累加器停止計數,保持為2N-1的累加值,而從O至溢出這段時間,就是脈沖上升沿時間。下降沿也是同樣道理,當脈沖結束位置信號到來時,加減累加單元205從2n-1開始,以下降沿控制字累減至溢出;溢出后累加器停止計數,保持為0,而從2N-1至溢出這段時間,就是脈沖下降沿時間。本發明中,加減累加單元205的位寬決定了脈沖周期、脈沖寬度和邊沿時間的范圍。由于現有FPGA的邏輯資源非常豐富,因此采用較寬位寬的計數器,就能獲得很大范圍的上述參數。當加減累加單元205位寬為48位,主時鐘310的周期為10納秒,則脈沖上、下邊沿時間最多可達二百萬秒。這是圖1現有技術中的模擬的邊沿調整電路所無法企及的。數模轉換單元206,用于接收所述的累加計數值并轉換為模擬量,生成函數信號。在本發明實施例中,數模轉換單元206將加減累加單元205的計數值轉換為模擬量,也就產生了上下邊沿分別可設的PWM信號。圖3是本發明實施例提供的一種函數信號發生裝置的模塊圖,如圖3所示,函數信號發生裝置300包括模數轉換單元301、調制存儲器單元302、調制源選擇器單元303、偏移乘法器單元304、脈寬加法器單元305、周期計數器單元306、比較器單元307、加減累加單元308、數模轉換單元309和時鐘單元310,其中:時鐘單元310,為其它模塊提供主時鐘340,需要說明的是,圖3中的所有單元均由時鐘單元310提供主時鐘,為清楚的體現圖3中其他單元的連接關系,此處的時鐘單元310與其他單元的連接關系并沒有在附3中一一畫出,因此圖3中的時鐘單元310的連接線路并不能作為對本發明的限定;模數轉換單元301,將模擬量的待調制信號311轉換為數字量312,以便于FPGA/DSP的處理;調制存儲器單元302,存儲的是某些標準的函數波形或者用于自定義的文件331,在調制前,根據用戶選擇,某個函數波形或者調制文件被寫入到調制存儲器單元302中;調制源選擇器單元303,根據用戶的命令332選擇外部調制源312或者內部調制源313 ;偏移乘法器單元304,將選擇后的調制源幅度314乘上調制偏移系數333,以便歸一化到脈沖寬度偏移量的范圍之內;脈寬加法器單元305,將偏移量315加上初始脈寬334,二者之和作為脈沖寬度閾值316 ;隨著調制源幅度的改變,脈沖寬度閾值316也隨之變化,也就是所謂脈沖寬度調制了 ;周期計數器單元306,當調制開始后,周期計數器單元306以時鐘310開始從O計數,計數到周期閾值335后從O開始重新計數。周期閾值決定了脈沖周期;比較器單元307,將周期計數器單元306的計數結果317與脈寬閾值316作比較,可得到如下信息:脈沖起始位置318、脈沖結束位置318,脈沖起始位置表示脈沖要從低電平變化到高電平,也就意味著上升沿的到來,脈沖結束位置則表示下降沿的到來;加減累加單元308,是實現脈沖邊沿時間的關鍵模塊。對上升沿而言,當脈沖起始位置信號到來時,N位累加器從O開始,以上升沿控制字336累加至溢出;溢出后累加器停止計數,保持為2N-1的累加值。從O至溢出這段時間,就是脈沖上升沿時間。下降沿也是同樣道理,當脈沖結束位置信號到來時,N位累加器從2n-1開始,以下降沿控制字337累減至溢出;溢出后累加器停止計數,保持為O。從2N-1至溢出這段時間,就是脈沖下降沿時間。因為這個累加器不僅可以累加,也可以累減,所以稱為加減累加器;數模轉換單元309,將加減累加器的計數值320轉換為模擬量,也就產生了上下邊沿分別可設的PWM信號。根據上述說明,PWM信號的各個參數如下公式。PWM脈沖周期=時鐘310周期X周期閾值335(公式I)PWM脈沖寬度=調制源幅度314X偏移系數333+初始脈寬334 (公式2)PWM脈沖上升沿時間=時鐘310周期X2N+上升沿控制字336 (公式3)PWM脈沖上降沿時間=時鐘310周期X2N+下降沿控制字337 (公式4)假設作為載波的脈沖本身的寬度為PWtl,經過調制后的脈寬偏移為PWdev,則隨著調制源幅度的變化,PWM信號的脈寬變化范圍是(PWq-PWdev) (PWQ+PWDEV)。因此,
`
PWM 初始脈寬=PW0-PWdev(公式 5)2 X PWdev =調制源幅度314的最大值X偏移系數333 (公式6)中央處理器根據上述六個公式,設置各個參數。圖4、5是本發明實施例提供的一種函數信號發生裝置的模塊圖,如圖4、5所示,與函數信號發生裝置300不同之處在于,函數信號發生裝置400、500均不具有調制源選擇器單元303,僅具有模數轉換單元301和調制存儲器單元302其中之一,省去了用戶進行選擇的步驟。通過上述公式1-6可以看出,時鐘310的周期對PWM信號的參數有很大影響,如果周期越小,即時鐘頻率越高,則產生的PWM信號的邊沿時間的精度也越高。但使用DSP或者FPGA來實現圖3所示的PWM電路時,無論DSP或者FPGA工作的主頻都是有限的。圖6為本發明實施例提供的加減累加單元600的模塊圖,如圖6所示,加減累加單元600采用并行結構改善PWM信號的各個參數。加減累加單元600包括:至少兩個加減累加模塊601,用于接收脈沖起始位置信息和脈沖結束位置信息并進行累加,分別得到第一累加計數值。在本發明實施例中,加減累加單元600使用M個加減累加模塊601代替圖3中的單一的加減累加單元308,而且M個加減累加模塊601是并行工作的。單一的加減累加單元308每個時鐘周期只能計數一次;而對于M個加減累加模塊601,同樣的一個時鐘周期,卻能計數M次。并串轉換模塊602,用于將所述的至少兩個加減累加模塊生成的第一累加計數值轉換為一第二累加計數值并輸出至數模轉換單元309。
在本發明實施例中,M個加減累加模塊601的輸出經過M:1的并串轉換模塊602轉換為一個輸出送給數模轉換單元309。PWM脈沖邊沿時間的計算公式為:PWM脈沖上升沿時間=(時鐘310周期+Μ) X 2N+上升沿控制字336 (公式I)與圖3對比,圖6相當于用一個M倍頻率的高速時鐘進行加減累加,脈沖上升沿時間的精度被提高M倍。同理,脈沖下降沿時間的精度也被提高M倍。由于FPGA的特點是邏輯資源豐富,但主頻不高,尤其是中、低端的FPGA,主頻一般不超過125MHz。但采用圖6所示的并行結構,雖然多耗用一些邏輯資源,但可以極大的提高輸出波形的采樣率。假設主時鐘310的頻率為125MHz,采用并行的8個加減累加器,則輸出波形的采樣率達到1GHz。因此,即使是低成本FPGA,采用本發明產生PWM信號,也能達到高端信號發生器所具有的采樣率。而且,邊沿時間的精度也成倍提高。本發明實施例采用累加器、計數器產生脈沖邊沿可調的PWM信號,不用專門的脈沖邊沿調整電路,也無需波表存儲器,節省了大量的硬件資源。不僅成本低、結構簡單,而且實現、調試容易,加快了產品上市時間。本發明可以靈活設置PWM信號的參數,例如脈沖周期、邊沿時間、調制偏移、調制源等等,而且脈沖的上、下邊沿時間是分別可設的,因此本發明具有很高的靈活性。目前市場上的很多DDS信號發生器采用波表的方式產生脈沖,跳點取數的方式會造成脈沖有很大的周期抖動。與之相比,本發明采用計數的方式產生脈沖,抖動很小,約等于主時鐘的抖動。本發明特別適合用FPGA實現,無需存儲脈沖波形的波形存儲器,也不用中央處理器耗用大量資源為了修改邊沿時間而重新配置波表;不僅PWM參數可靈活配置,且中央處理器只需告訴FPGA修改后的參數值,其余工作就讓以并行處理能力見長的FPGA來實現。實施例二圖7是本發明實施例提供的一種函數信號發生方法流程圖,如圖7所示,所述的函數信號發生方法包括:S701,接收調制源信號和調制偏移系數,生成偏移量。在本發明實施例中,函數信號發生方法可應用于一函數信號發生裝置,函數信號發生裝置將調制源信號的幅度乘上調制偏移系數,以便將偏移量歸一化到脈沖寬度偏移量的范圍之內。本發明實施例提供的函數信號發生方法可用于產生PWM信號,除此之外,當調制偏移系數為O時,函數信號發生裝置可以用于產生脈沖。S702,接收所述的偏移量和初始脈寬,生成脈沖寬度閾值。在本發明實施例中,函數信號發生裝置將接收到的偏移量與初始脈寬相加,二者之和作為脈沖寬度閾值。隨著調制信號源幅度的改變,生成的脈沖寬度閾值也會隨之變化,即所謂脈沖寬度調制。S703,在調制開始后計數并生成計數結果。在本發明實施例中,當調制開始后,函數信號發生裝置開始從O計數,計數到一預定周期閾值后從O開始重新計數,其中周期閾值決定了脈沖周期。S704,接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息。在本發明實施例中,函數信號發生裝置將計數結果與生成的脈沖寬度閾值進行比較,可以得到脈沖起始位置信息和脈沖結束位置信息,其中,脈沖起始位置表示脈沖要從低電平變化到高電平,也就意味著上升沿的到來,脈沖結束位置則表示下降沿的到來。S705,接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值。在本發明實施例中,對上升沿而言,當脈沖起始位置信號到來時,函數信號發生裝置從O開始,以上升沿控制字累加至溢出,溢出后停止計數,保持為2N-1的累加值,而從O至溢出這段時間,就是脈沖上升沿時間。下降沿也是同樣道理,當脈沖結束位置信號到來時,函數信號發生裝置從2N-1開始,以下降沿控制字累減至溢出;溢出后停止計數,保持為0,而從2N-1至溢出這段時間,就是脈沖下降沿時間。本發明中,函數信號發生裝置中加減累加單元的位寬決定了脈沖周期、脈沖寬度和邊沿時間的范圍。由于現有FPGA的邏輯資源非常豐富,因此采用較寬位寬的計數器,就能獲得很大范圍的上述參數。當位寬為48位,主時鐘的周期為10納秒,則脈沖上、下邊沿時間最多可達二百萬秒。這是圖1現有技術中的模擬的邊沿調整電路所無法企及的。S706,接收所述的累加計數值并轉換為模擬量,生成函數信號。在本發明實施例中,函數信號發生裝置將計數值轉換為模擬量,也就產生了上下邊沿分別可設的PWM信號。圖8是本發明實施例提供的一種函數信號發生方法流程圖,如圖8所示,所述的函數信號發生方法包括:S801,函數信號發生裝置提供主時鐘;S802,函數信號發生裝置將模擬量的待調制信號轉換為數字量,以便于FPGA/DSP的處理;S803,函數信號發生裝置存儲標準的函數波形或者用于自定義的文件,在調制前,根據用戶選擇,某個函數波形或者調制文件被寫入到函數信號發生裝置中;S804,函數信號發生裝置根據用戶的命令選擇外部調制源或者內部調制源;S805,函數信號發生裝置將選擇后的調制源幅度乘上調制偏移系數,以便歸一化到脈沖寬度偏移量的范圍之內;S806,函數信號發生裝置將偏移量加上初始脈寬,二者之和作為脈沖寬度閾值;隨著調制源幅度的改變,脈沖寬度閾值也隨之變化,也就是所謂脈沖寬度調制了 ;S807,當調制開始后,函數信號發生裝置以時鐘開始從O計數,計數到周期閾值后從O開始重新計數。周期閾值決定了脈沖周期;S808,函數信號發生裝置將計數結果與脈寬閾值作比較,可得到如下信息:脈沖起始位置、脈沖結束位置,脈沖起始位置表示脈沖要從低電平變化到高電平,也就意味著上升沿的到來,脈沖結束位置則表示下降沿的到來;S809,函數信號發生裝置接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值。對上升沿而言,當脈沖起始位置信號到來時,函數信號發生裝置從O開始,以上升沿控制字累加至溢出;溢出后停止計數,保持為2N-1的累加值。從O至溢出這段時間,就是脈沖上升沿時間。下降沿也是同樣道理,當脈沖結束位置信號到來時,函數信號發生裝置從2N-1開始,以下降沿控制字累減至溢出;溢出后停止計數,保持為O。從2N-1至溢出這段時間,就是脈沖下降沿時間。函數信號發生裝置不僅可以累加,也可以累減;S810,函數信號發生裝置將累加的計數值轉換為模擬量,也就產生了上下邊沿分別可設的PWM信號。根據上述說明,PWM信號的各個參數如下公式。PWM脈沖周期=時鐘周期X周期閾值(公式I)PWM脈沖寬度=調制源幅度X偏移系數+初始脈寬 (公式2)PWM脈沖上升沿時間=時鐘周期X2n+上升沿控制字(公式3)PWM脈沖上降沿時間=時鐘周期X2n+下降沿控制字(公式4)假設作為載波的脈沖本身的寬度為PWtl,經過調制后的脈寬偏移為PWdev,則隨著調制源幅度的變化,PWM信號的脈寬變化范圍是(PWq-PWdev) (PWQ+PWDEV)。因此,PWM 初始脈寬=PW0-PWdev(公式 5)2 X PWdev =調制源幅度的最大值X偏移系數(公式6)
中央處理器根據上述六個公式,設置各個參數。圖9、10分別是本發明實施例提供的一種函數信號發生方法的流程圖,如圖9、10所示,與圖8所示的函數信號發生方法不同之處在于,圖9、10所示的函數信號發生方法均省去了步驟S804,并分別保留步驟S802和S803其中之一。通過上述公式1-6可以看出,時鐘的周期對PWM信號的參數有很大影響,如果周期越小,即時鐘頻率越高,則產生的PWM信號的邊沿時間的精度也越高。但使用DSP或者FPGA來實現圖8所示的PWM發生方法時,無論DSP或者FPGA工作的主頻都是有限的。圖11為本發明實施例提供的加減累加方法的流程圖,如圖11所示,加減累加方法采用將累加器并行以改善PWM信號的各個參數。加減累加方法包括:S1101,接收脈沖起始位置信息和脈沖結束位置信息并進行累加,分別得到至少兩個第一累加計數值。在本發明實施例中,函數信號發生裝置使用M個加減累加模塊代替單一的加減累加單元,而且M個加減累加模塊是并行工作的。單一的加減累加單元每個時鐘周期只能計數一次;而對于M個加減累加模塊,同樣的一個時鐘周期,卻能計數M次。S1102,將所述的至少兩個第一累加計數值轉換為一第二累加計數值并輸出。在本發明實施例中,M個加減累加模塊的輸出經過M:1的并串轉換,轉換為一個輸出。PWM脈沖邊沿時間的計算公式為:PWM脈沖上升沿時間=(時鐘周期+Μ) X2n+上升沿控制字 (公式2)圖11所示的加減累加方法相當于用一個M倍頻率的高速時鐘進行加減累加,脈沖上升沿時間的精度被提高M倍。同理,脈沖下降沿時間的精度也被提高M倍。由于FPGA的特點是邏輯資源豐富,但主頻不高,尤其是中、低端的FPGA,主頻一般不超過125MHz。但采用圖11所示的并行加減累加方法,雖然多耗用一些邏輯資源,但可以極大的提高輸出波形的采樣率。假設主時鐘的頻率為125MHz,采用并行的8個加減累加器,則輸出波形的采樣率達到1GHz。因此,即使是低成本FPGA,采用本發明產生PWM信號,也能達到高端信號發生器所具有的采樣率。而且,邊沿時間的精度也成倍提高。
本發明實施例提供的函數信號發生方法采用累加器、計數器產生脈沖邊沿可調的PWM信號,不用專門的脈沖邊沿調整電路,也無需波表存儲器,節省了大量的硬件資源。不僅成本低、結構簡單,而且實現、調試容易,加快了產品上市時間。本發明實施例提供的函數信號發生方法可以靈活設置PWM信號的參數,例如脈沖周期、邊沿時間、調制偏移、調制源等等,而且脈沖的上、下邊沿時間是分別可設的,因此本發明具有很高的靈活性。目前市場上的很多DDS信號發生器采用波表的方式產生脈沖,跳點取數的方式會造成脈沖有很大的周期抖動。與之相比,本發明采用計數的方式產生脈沖,抖動很小,約等于主時鐘的抖動。本發明特別適合用FPGA實現,無需存儲脈沖波形的波形存儲器,也不用中央處理器耗用大量資源為了修改邊沿時間而重新配置波表;不僅PWM參數可靈活配置,且中央處理器只需告訴FPGA修改后的參數值,其余工作就讓以并行處理能力見長的FPGA來實現。以上所述的具體實施方式
,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式
而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種函數信號發生裝置,其特征在于,所述的函數信號發生裝置包括: 偏移乘法器單元,用于接收調制源信號和調制偏移系數,生成偏移量; 脈寬加法器單元,用于接收所述的偏移量和初始脈寬,生成脈沖寬度閾值; 周期計數器單元,用于在調制開始后計數并生成計數結果; 比較器單元,用于接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息; 加減累加單元,用于接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值; 數模轉換單元,用于接收所述的累加計數值并轉換為模擬量,生成函數信號。
2.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的偏移乘法器單元將所述的調制源信號和所述的調制偏移系數相乘,生成所述的偏移量。
3.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的脈寬加法器單元將所述的偏移量和所述的初始脈寬相加,生成所述的脈沖寬度閾值。
4.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的函數信號發生裝置還包括: 時鐘單元,用于提供時鐘信號;所述的周期計數器單元在調制開始后開始從O計數,計數到周期閥值后從O開始重新計數。
5.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的函數信號發生裝置還包括: 模數轉換單元,用于接收待調制信號并轉換為數字量,生成外部調制源信號; 調制存儲器單元,用于存儲函數波形或者用于自定義的調制文件,生成內部調制源信號; 調制源選擇器單元,用于根據用戶的命令選擇外部調制源信號或者內部調制源信號輸出。
6.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的函數信號發生裝置還包括: 模數轉換單元,用于接收待調制信號并轉換為數字量,生成調制源信號。
7.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的函數信號發生裝置還包括: 調制存儲器單元,用于存儲函數波形或者用于自定義的調制文件,生成調制源信號。
8.根據權利要求1所述的函數信號發生裝置,其特征在于,所述的加減累加單元包括: 至少兩個加減累加模塊,用于接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,分別得到第一累加計數值; 并串轉換模塊,用于將所述的至少兩個加減累加模塊生成的第一累加計數值轉換為一第二累加計數值并輸出至所述的數模轉換單元。
9.一種函數信號發生方法,其特征在于,所述的函數信號發生方法包括: 接收調制源信號和調制偏移系數,生成偏移量; 接收所述的偏移量和初始脈寬, 生成脈沖寬度閾值; 在調制開始后計數并生成計數結果;接收所述的計數結果與所述的脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息; 接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值; 接收所述的累加計數值并轉換為模擬量,生成函數信號。
10.根據權利要求9所述的函數信號發生方法,其特征在于,所述的接收調制源信號和調制偏移系數,生成偏移量包括: 將所述的調制源信號和所述的調制偏移系數相乘,生成所述的偏移量。
11.根據權利要求9所述的函數信號發生方法,其特征在于,所述的接收所述的偏移量和初始脈寬,生成脈沖寬度閾值包括: 將所述的偏移量和所述的初始脈寬相加,生成所述的脈沖寬度閾值。
12.根據權利要求9所述的函數信號發生方法,其特征在于,在接收調制源信號和調制偏移系數,生成偏移量之前,所述的方法還包括: 提供時鐘信號; 所述的在調制開始后計數并生成計數結果包括: 在調制開始后開 始從O計數,計數到周期閥值后從O開始重新計數。
13.根據權利要求9所述的函數信號發生方法,其特征在于,在接收調制源信號和調制偏移系數,生成偏移量之前,所述的方法還包括: 接收待調制信號并轉換為數字量,生成外部調制源信號; 存儲函數波形或者用于自定義的調制文件,生成內部調制源信號; 根據用戶的命令選擇外部調制源信號或者內部調制源信號輸出。
14.根據權利要求9所述的函數信號發生方法,其特征在于,在接收調制源信號和調制偏移系數,生成偏移量之前,所述的方法還包括: 接收待調制信號并轉換為數字量,生成調制源信號。
15.根據權利要求9所述的函數信號發生方法,其特征在于,在接收調制源信號和調制偏移系數,生成偏移量之前,所述的方法還包括: 存儲函數波形或者用于自定義的調制文件,生成調制源信號。
16.根據權利要求9所述的函數信號發生方法,其特征在于,所述的接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值包括: 接收所述的脈沖起始位置信息和脈沖結束位置信息并進行累加,分別得到至少兩個第一累加計數值; 將所述的至少兩個第一累加計數值轉換為一第二累加計數值并輸出。
全文摘要
本發明是關于一種函數信號發生裝置及方法,所述的裝置包括偏移乘法器單元,用于接收調制源信號和調制偏移系數,生成偏移量;脈寬加法器單元,用于接收偏移量和初始脈寬,生成脈沖寬度閾值;周期計數器單元,用于在調制開始后計數并生成計數結果;比較器單元,用于接收計數結果與脈沖寬度閾值并進行比較,生成脈沖起始位置信息和脈沖結束位置信息;加減累加單元,用于接收脈沖起始位置信息和脈沖結束位置信息并進行累加,得到累加計數值;數模轉換單元,用于接收累加計數值并轉換為模擬量,生成函數信號。
文檔編號H03K7/08GK103178814SQ20111043167
公開日2013年6月26日 申請日期2011年12月21日 優先權日2011年12月21日
發明者丁新宇, 王悅, 王鐵軍, 李維森 申請人:北京普源精電科技有限公司