無序脈沖發(fā)生電路的制作方法
【專利摘要】本發(fā)明公開了一種無序脈沖發(fā)生電路,包括隨機數(shù)獲取模塊、計數(shù)值轉(zhuǎn)換模塊和脈沖產(chǎn)生模塊,其中:隨機數(shù)獲取模塊,包括第一時序控制狀態(tài)機,以及均與該第一時序控制狀態(tài)機連接的第一除法電路、加法電路和數(shù)據(jù)存儲電路,用于獲取隨機數(shù);計數(shù)值轉(zhuǎn)換模塊,包括輸出脈沖狀態(tài)識別電路、第二除法電路和第二時序控制狀態(tài)機,計算隨機周期的計數(shù)值和隨機有效電平的計數(shù)值;脈沖產(chǎn)生模塊,根據(jù)所述隨機周期的計數(shù)值和所述隨機有效電平的計數(shù)值產(chǎn)生無序脈沖。本發(fā)明通過純硬件電路產(chǎn)生無序脈沖,直接將系統(tǒng)時鐘頻率提高,即可獲得較高的無序脈沖頻率輸出。
【專利說明】無序脈沖發(fā)生電路
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無序脈沖的產(chǎn)生,尤其涉及一種通過硬件電路產(chǎn)生無序脈沖的無序脈沖發(fā)生電路。
[0002]
【背景技術(shù)】
[0003]在激光加工中當需要激光光斑無序排列和能量不均勻化時,需用到無序脈沖發(fā)生器用于控制激光脈沖輸出間隔和出光時間無序化以實現(xiàn)上述目標。所以要求該無序脈沖發(fā)生器具有使輸出每個脈沖的頻率、占空比均能無序變化的功能。目前很多專利和文獻談到了很多產(chǎn)生隨機數(shù)的方法,如CN201410112133和CN201420183585等。而要實現(xiàn)上述功能,則大部分采用具有類似微控制器結(jié)構(gòu)的控制芯片,通過編寫程序,實時調(diào)整脈沖輸出寄存器中的周期值和比較值來實現(xiàn)。如,利用對實時時鐘的采集獲得當前隨機數(shù)通過編程軟件處理獲得對應(yīng)波動區(qū)域的周期值和比較值送入PWM部件單元以獲得無序脈沖。
[0004]目前所采用的方法,因主要利用軟件獲取隨機數(shù),再計算對應(yīng)實際可用計數(shù)值,所耗用的時間較長,對應(yīng)輸出脈沖頻率在50KHz或更高頻率以上時無法實現(xiàn)每個脈沖的實時調(diào)整,且由于采用微控制器結(jié)構(gòu)芯片,所以每個脈沖計數(shù)值的重新幅值,需要在定時器中斷中完成,這樣也導(dǎo)致了控制精度的誤差出現(xiàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中軟件計算耗時和控制精度不高的缺陷,提供一種純硬件的解決方法,從而獲得在較高脈沖頻率下依然能實時改變每個脈沖的周期和占空比的功能,且具有很高的控制精度,完全滿足在高頻下激光脈沖無序化要求的無序脈沖發(fā)生電路。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
提供一種無序脈沖發(fā)生電路,包括隨機數(shù)獲取模塊、計數(shù)值轉(zhuǎn)換模塊和脈沖產(chǎn)生模塊,其中:
隨機數(shù)獲取模塊,包括第一時序控制狀態(tài)機,以及均與該第一時序控制狀態(tài)機連接的第一除法電路、加法電路和數(shù)據(jù)存儲電路;其中,數(shù)據(jù)存儲電路用于存儲Lag Fibonaicc法產(chǎn)生隨機數(shù)的基數(shù),第一時序狀態(tài)控制機每次讀取數(shù)據(jù)存儲電路中的兩個數(shù)據(jù),并送入加法電路中進行加法計算,加法電路將計算結(jié)果送入第一除法電路,進行除法計算獲取余數(shù);
計數(shù)值轉(zhuǎn)換模塊,包括輸出脈沖狀態(tài)識別電路、第二除法電路和第二時序控制狀態(tài)機,所述脈沖狀態(tài)識別電路對脈沖產(chǎn)生模塊輸出的脈沖進行計數(shù)識別當前脈沖輸出狀態(tài),根據(jù)該當前脈沖輸出狀態(tài)將所述隨機數(shù)獲取模塊得到的隨機數(shù)映射到預(yù)設(shè)的數(shù)值區(qū)域,并通過第二除法電路計算隨機周期的計數(shù)值和隨機有效電平的計數(shù)值;
脈沖產(chǎn)生模塊,根據(jù)所述隨機周期的計數(shù)值和所述隨機有效電平的計數(shù)值產(chǎn)生無序脈沖。
[0007]本發(fā)明所述的無序脈沖發(fā)生電路中,所述脈沖產(chǎn)生模塊包括計時器和比較器電路、第三時序控制狀態(tài)機,該第三時序控制狀態(tài)機在每個脈沖開始計數(shù)時將所述隨機周期的計算值和所述隨機有效電平的計數(shù)值送入所述計時器和比較器電路的周期計數(shù)寄存器、比較寄存器,以獲得無序脈沖輸出。
[0008]本發(fā)明所述的無序脈沖發(fā)生電路中,該無序脈沖發(fā)生電路還包括隨機數(shù)緩沖模塊,連接在隨機數(shù)獲取模塊和計數(shù)值轉(zhuǎn)換模塊之間,用于緩沖和存儲隨機數(shù)。
[0009]本發(fā)明所述的無序脈沖發(fā)生電路中,所述數(shù)據(jù)存儲電路、隨機數(shù)緩沖模塊為FIFO電路或者雙口 RAM。
[0010]本發(fā)明所述的無序脈沖發(fā)生電路中,在送出隨機數(shù)后,第一時序狀態(tài)控制機調(diào)整下次需要從數(shù)據(jù)存儲電路中讀取數(shù)據(jù)的地址值。
[0011]本發(fā)明所述的無序脈沖發(fā)生電路中,所述第一除法電路計算得到余數(shù)后,將該余數(shù)替換數(shù)據(jù)存儲電路中所讀取的數(shù)據(jù)。
[0012]本發(fā)明產(chǎn)生的有益效果是:本發(fā)明通過純硬件電路產(chǎn)生無序脈沖,直接將系統(tǒng)時鐘頻率提高,即可獲得較高的無序脈沖頻率輸出(可達500KHZ以上),由于是純硬件電路,可以實現(xiàn)誤差精度〈I個系統(tǒng)時鐘周期,在輸出頻率為500KHZ以下時該誤差完全可忽略不計。
[0013]
【專利附圖】
【附圖說明】
[0014]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是本發(fā)明實施例無序脈沖發(fā)生電路的硬件電路整體結(jié)構(gòu)示意圖;
圖2是本發(fā)明實施例隨機數(shù)獲取模塊電路結(jié)構(gòu)示意圖;
圖3是本發(fā)明實施例計數(shù)值轉(zhuǎn)換模塊的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例脈沖產(chǎn)生模塊的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例中輸出的脈沖序列為兩種脈沖的示意圖。
[0015]
【具體實施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0017]圖1是本發(fā)明實施例的硬件電路整體結(jié)構(gòu)示意圖,其實現(xiàn)可以是采用硬件描述語言也可是具體的數(shù)字電路。其中I是隨機數(shù)獲取模塊,2是隨機數(shù)緩沖模塊,3是計數(shù)值轉(zhuǎn)換模塊,4是脈沖產(chǎn)生模塊。需要說明的是其中隨機數(shù)緩沖模塊2可以是采用FIFO電路(同步或異步)也可是雙口 RAM等其它具有暫存數(shù)據(jù)功能的電路形式,對于低頻脈沖,隨機數(shù)緩沖模塊2甚至可以取消。
[0018]圖2是本發(fā)明實施例的32位隨機數(shù)獲取模塊的示意圖。圖中,數(shù)據(jù)存儲模塊5用于存儲Lag Fibonaicc法產(chǎn)生隨機數(shù)的基數(shù),6是32位硬件加法電路,7是48位硬件除法電路,8是整體的時序控制狀態(tài)機。隨機數(shù)獲取模塊的隨機數(shù)的獲取動作流程是按照LagFibonaicc法,時序控制狀態(tài)機8控制讀取數(shù)據(jù)存儲模塊5中滿足要求的兩個地址中的數(shù)據(jù),送入加法電路6中完成加法計算然后送入除法電路7中進行除法計算獲取余數(shù),然后將該余數(shù)替換從數(shù)據(jù)存儲模塊5中讀取數(shù)據(jù)中的一個數(shù),以便用于后續(xù)隨機數(shù)的產(chǎn)生。并同時送出該余數(shù)作為隨機數(shù),供其他電路模塊使用。同步調(diào)整下次需要從數(shù)據(jù)存儲模塊5中讀取數(shù)據(jù)的地址值。
[0019]需要說明的是:圖2只是給出了 32位隨機數(shù)獲取模塊的結(jié)構(gòu)圖,其它位數(shù)隨機數(shù)獲取也可通過類似該結(jié)構(gòu)和動作流程獲得,只是需要修改數(shù)據(jù)位寬即可;數(shù)據(jù)存儲模塊5可以使雙口 RAM,也可以是FIFO或其它具有數(shù)據(jù)讀取存儲功能的電路,該電路的儲存數(shù)據(jù)位寬和數(shù)據(jù)個數(shù)可以進行相應(yīng)調(diào)整,其初始值可以是通過計算輸入賦值也可以是事先計算好直接作為初值方式寫入數(shù)據(jù)存儲模塊5中;加法電路6中可以是其它位數(shù)的硬件加法電路,其位數(shù)大小受獲取隨機數(shù)數(shù)據(jù)大小相關(guān),可以聯(lián)動調(diào)整,同理除法電路7中的位數(shù)只要高于隨機數(shù)位數(shù)即可。
[0020]圖3是對應(yīng)隨機數(shù)的計數(shù)值轉(zhuǎn)換模塊示意圖。圖中脈沖狀態(tài)識別電路9主要用于產(chǎn)生類似乒乓節(jié)奏時序。因為一個脈沖的產(chǎn)生,其計數(shù)周期值和有效電平計數(shù)值一定是在脈沖前產(chǎn)生的,所以該脈沖狀態(tài)識別電路9主要是識別當前脈沖有效輸出的情況下,發(fā)生時序以產(chǎn)生下一個脈沖所需的計數(shù)參數(shù),可為兩種狀態(tài),也可以是三種狀態(tài)或多種狀態(tài)。本發(fā)明中脈沖產(chǎn)生模塊輸出的是一串脈沖。計數(shù)值轉(zhuǎn)換模塊主要用于在輸出當前脈沖的情況下計算出下一個脈沖產(chǎn)生所需參數(shù),也就是說當前脈沖的周期時間為計算下一個脈沖參數(shù)所用時間的最大極限。若要輸出脈沖的頻率很快,則該計算時間就會很短,則需要劃分的狀態(tài)就可能會多于兩種以增加計算時間。
[0021]輸出脈沖狀態(tài)識別電路9是通過對輸出脈沖計數(shù)獲取當前輸出脈沖狀態(tài),如圖5所示,本例中是列舉成兩種狀態(tài),即將脈沖分為A脈沖和隨后的B脈沖,則輸出的脈沖序列即為ABABAB……通過這樣脈沖狀態(tài)劃分后,可以在輸出A脈沖時,計算將要輸出B脈沖的相關(guān)參數(shù)值,在輸出B脈沖時,計算將要輸出A脈沖的相關(guān)參數(shù)值。若分成更多狀態(tài)其功能以此類推。
[0022]除法電路10是用來將隨機數(shù)映射到具體數(shù)值區(qū)域的32位硬件除法電路以計算有效隨機計數(shù)值。因為隨機數(shù)是32位的數(shù)據(jù)(這個數(shù)據(jù)值很大),而需要實現(xiàn)的脈沖周期和隨機有效電平值是在某個范圍內(nèi)的(小于隨機數(shù)據(jù)值),所以需要將隨機數(shù)據(jù)進行相應(yīng)求余數(shù)的方法使產(chǎn)生的數(shù)值落在所需要的范圍內(nèi),所以需要進行數(shù)值區(qū)域的映射。該具體數(shù)值區(qū)域是預(yù)先設(shè)定的。該模塊的轉(zhuǎn)換動作流程是時序控制狀態(tài)機11通過接受輸出脈沖狀態(tài)識別電路9中不同狀態(tài)指導(dǎo)除法電路10計算得到下一個脈沖所需要的在具體數(shù)值區(qū)域的隨機周期計數(shù)值和隨機有效電平計數(shù)值。比如得到的隨機數(shù)是6542755,而所需要計數(shù)的范圍是1000~2000 (對應(yīng)的頻率為10Khz~20Khz),則利用隨機數(shù)/1000的結(jié)果取余數(shù)即為755,將該余數(shù)加1000得到最終落在該區(qū)域的映射數(shù)值1000+755=1755。
[0023]需要說明的是輸出脈沖狀態(tài)識別電路9中的狀態(tài)可以是多種,除法電路10中的位數(shù)跟隨隨機數(shù)的位寬可以變化的。
[0024]圖4是脈沖產(chǎn)生模塊的示意圖,圖中12是32位的計數(shù)器和比較器電路,13是時序控制狀態(tài)機。脈沖產(chǎn)生動作流程是通過時序控制狀態(tài)機13將圖3中的隨機周期的計算值和隨機有效電平的計數(shù)值在每個脈沖開始計數(shù)時送入計數(shù)器和比較器電路12中的周期計數(shù)寄存器和比較寄存器以獲得無序脈沖輸出。其工作過程為:如果計數(shù)器和比較器電路12中有一個計數(shù)器從I開始計數(shù),此時輸出電平為有效電平輸出。計數(shù)器在系統(tǒng)時鐘的每個脈沖到來時計數(shù)值增加I。當計數(shù)器中的計數(shù)值等于設(shè)置在比較寄存器中的數(shù)值時,輸出電平翻轉(zhuǎn)為無效電平輸出。當計數(shù)值等于周期計數(shù)寄存器中的數(shù)值時,表明一個輸出脈沖周期結(jié)束。此時更新周期計數(shù)寄存器和比較寄存器中的數(shù)值,同時計數(shù)器的值歸1,重新開始計數(shù)和新脈沖的產(chǎn)生。
[0025]需要說明的是,因為舉例為32位分辨率的脈沖輸出,當脈沖分辨率變化則相應(yīng)計數(shù)器和比較器電路12中的位寬要相應(yīng)調(diào)整。
[0026]本發(fā)明可以通過可編程邏輯器件實現(xiàn),如FPGA實現(xiàn)。
[0027]本發(fā)明通過純硬件電路產(chǎn)生無序脈沖,直接將系統(tǒng)時鐘頻率提高,即可獲得較高的無序脈沖頻率輸出(可達500KHZ以上),由于是純硬件電路,可以實現(xiàn)誤差精度〈I個系統(tǒng)時鐘周期,在輸出頻率為500KHZ以下時該誤差完全可忽略不計。
[0028]應(yīng)當理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種無序脈沖發(fā)生電路,其特征在于,包括隨機數(shù)獲取模塊、計數(shù)值轉(zhuǎn)換模塊和脈沖產(chǎn)生模塊,其中: 隨機數(shù)獲取模塊,包括第一時序控制狀態(tài)機,以及均與該第一時序控制狀態(tài)機連接的第一除法電路、加法電路和數(shù)據(jù)存儲電路;其中,數(shù)據(jù)存儲電路用于存儲Lag Fibonaicc法產(chǎn)生隨機數(shù)的基數(shù),第一時序狀態(tài)控制機每次讀取數(shù)據(jù)存儲電路中的兩個數(shù)據(jù),并送入加法電路中進行加法計算,加法電路將計算結(jié)果送入第一除法電路,進行除法計算獲取余數(shù); 計數(shù)值轉(zhuǎn)換模塊,包括輸出脈沖狀態(tài)識別電路、第二除法電路和第二時序控制狀態(tài)機,所述脈沖狀態(tài)識別電路對脈沖產(chǎn)生模塊輸出的脈沖進行計數(shù)識別當前脈沖輸出狀態(tài),根據(jù)該當前脈沖輸出狀態(tài)將所述隨機數(shù)獲取模塊得到的隨機數(shù)映射到預(yù)設(shè)的數(shù)值區(qū)域,并通過第二除法電路計算隨機周期的計數(shù)值和隨機有效電平的計數(shù)值; 脈沖產(chǎn)生模塊,根據(jù)所述隨機周期的計數(shù)值和所述隨機有效電平的計數(shù)值產(chǎn)生無序脈沖。
2.根據(jù)權(quán)利要求1所述的無序脈沖發(fā)生電路,其特征在于,所述脈沖產(chǎn)生模塊包括計時器和比較器電路、第三時序控制狀態(tài)機,該第三時序控制狀態(tài)機在每個脈沖開始計數(shù)時將所述隨機周期的計算值和所述隨機有效電平的計數(shù)值送入所述計時器和比較器電路的周期計數(shù)寄存器、比較寄存器,以獲得無序脈沖輸出。
3.根據(jù)權(quán)利要求1所述的無序脈沖發(fā)生電路,其特征在于,該無序脈沖發(fā)生電路還包括隨機數(shù)緩沖模塊,連接在隨機數(shù)獲取模塊和計數(shù)值轉(zhuǎn)換模塊之間,用于緩沖和存儲隨機數(shù)。
4.根據(jù)權(quán)利要求3所述的無序脈沖發(fā)生電路,其特征在于,所述數(shù)據(jù)存儲電路、隨機數(shù)緩沖模塊為FIFO電路或者雙口 RAM。
5.根據(jù)權(quán)利要求1所述的無序脈沖發(fā)生電路,其特征在于,在送出隨機數(shù)后,第一時序狀態(tài)控制機調(diào)整下次需要從數(shù)據(jù)存儲電路中讀取數(shù)據(jù)的地址值。
6.根據(jù)權(quán)利要求1所述的無序脈沖發(fā)生電路,其特征在于,所述第一除法電路計算得到余數(shù)后,將該余數(shù)替換數(shù)據(jù)存儲電路中所讀取的數(shù)據(jù)。
【文檔編號】H03K3/02GK104506166SQ201410687664
【公開日】2015年4月8日 申請日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】王振 申請人:武漢工程大學(xué)