摘 要: 一種用于功率MOSFET器件觸發信號產生的多" title="的多">的多通道可調脈寬" title="脈寬">脈寬脈沖發生器。該裝置具有控制簡單,多個通道時間抖動小的特點。
關鍵詞: 信號發生器? 多通道" title="多通道">多通道? 脈寬可調
?
高重復頻率的固體開關技術是脈沖功率領域研究的重點之一。在兆赫茲重復頻率下,適合構成固體開關的功率電子器件有金屬氧化物半導體場效應晶體管(MOSFET)、砷化鎵光導開關(GaAs-PCSS)等。對于將功率MOSFET器件作為固體開關的脈沖功率源" title="功率源">功率源,由于單個功率MOSFET器件的耐壓和輸出電流能力有限,為了得到更高的電壓和更大的電流,需要對大量的功率MOSFET器件進行串聯和并聯。美國利弗莫爾國家實驗室(LLNL)用于產生20kV、400A的脈沖功率源,一共使用了720個功率MOSFET器件[1]。這些功率MOSFET器件在產生輸出脈沖時是同步觸發的,這樣就需要有多通道的同步觸發信號。
功率MOSFET的開關速度非常快,一般為十幾納秒。因此,對同步輸出的觸發信號需要的時間抖動要小于MOSFET器件的開關時間,否則將會引起并聯的MOSFET器件的電流不均勻,導致器件損壞。MOSFET器件的開關完全是由輸入柵極驅動信號決定的,為了能使功率MOSFET器件能在MHz的重復頻率下工作,要求觸發信號源有很小脈寬的輸出能力。本文介紹了一種可用于兆赫茲重復頻率的脈沖功率源上作為觸發信號的多通道可調脈寬、頻率的脈沖發生器的設計。
1 系統的組成和工作原理
脈沖發生器的系統結構如圖1,整個系統由控制部分和光纖發射電路部分組成。在控制部分中,單片機89S52和可編程邏輯器件(CPLD)ispLSI1032E組成了脈沖產生的邏輯硬件核心。單片機負責接收并解析上位機(PC機)的設置信息,如輸出脈沖的寬度,頻率和個數,通過運算得到CPLD所需的分頻數,并通過8位總線傳輸給CPLD,由CPLD產生多個通道同步輸出的脈沖信號。單片機還可以讀取CPLD中關于輸出脈沖的設置,處理后返回到上位機作為診斷信息。CPLD的優點是可用I/O口多,可以實現多通道的同步輸出。光纖發射電路將每一路控制產生的脈沖信號經驅動增強電路之后,分成12路的同步脈沖,用光纖發射器件以光信號" title="光信號">光信號的方式輸出。
2 硬件設計
控制部分的核心是單片機和CPLD器件,它們之間的接口方式一般有獨立方式和總線方式兩種。獨立方式最大的優點是接口邏輯無須遵循單片機內固定的總線方式的讀寫時序。總線方式具有編程簡單、速度快的優點。本設計采用8位總線方式,圖2為硬件連接原理圖。設計中選用的CPLD是Lattice公司的ispLSI1032E-125LJ,CPLD的時鐘采用80MHz的有源晶振,產生的脈沖的最小脈寬為12.5ns,最大的脈沖寬度 為12.5×256=3187.5ns。在脈沖串輸出模式下最多可以輸出255個脈沖;在連續輸出模式下,輸出脈沖個數不受限制。這樣的設計可以滿足脈沖功率源的應用范圍。
單路光纖發射電路原理圖見圖3。為了使光纖發射器件有足夠的驅動電流,電路中用了3個與非門并聯驅動。每一個CPLD的輸出端口都由光纖發射電路分成12路同步光信號輸出,因此,最后能得到的觸發信號的路數可以是非常多的,足以滿足現階段開展的脈沖功率源的研究需要。
?
3 軟件設計
信號發生器需要編寫上位機(PC機)、單片機和CPLD的程序。在PC機上,用Microsoft Visual Studio 2005作為開發平臺,以VB作為開發語言,采用System.IO.Ports.SerialPort作為串口通信的控件,編寫了上位機的控制程序。SerialPort控件很好地封裝了串口通信的操作,編寫程序僅僅需要調用Write和ReadByte這兩個函數[2]。PC的功能模塊包括設置和獲取信號發生器輸出脈沖的寬度、數量、頻率、復位單片機等。 開發的脈沖信號發生器控制程序的用戶界面如圖4所示。
單片機89S52程序的各個函數模塊之間的關系和程序流程如圖5和圖6所示。整個程序以串口中斷處理函數作為程序的主流程。同時,由于把CPLD作為單片機的外部數據存儲器,單片機對CPLD的控制程序就簡化為對CPLD映射的幾個端口的讀寫。
CPLD以Lattice公司的ispLevel3做為開發工具,用VHDL作為開發語言,包括端口映射模塊和脈沖生成模塊。端口映射模塊模擬單片機的讀寫時序,將CPLD映射為單片機的0x80~0x82這幾個地址。其VHDL語言關鍵代碼如下:
process(ALE,RD)
begin
if((ALE and RD)=′1′)then
read<=′1′;
end if;
if((ALE and RD)=′0′)then
read<=′0′;
end if;
end process;
--從總線上讀數據
process(read)
begin
if(read′EVENT and read =′0′) then
case ALE_Address is
when ″10000000″=>P0<=
baseSettingPeriod;
when ″10000001″=>P0<=
baseSettingWidth;
when ″10000010″=>P0<=
baseSettingPulsenumber;
when others =>P0<=″ZZZZZZZZ″;
end case;
end if;
end process;
--寫數據到總線上
process(WR)
begin
if (WR′event and WR=′0′)then
case ALE_Address is
when ″10000000″=>baseSettingPeriod<=P0;
when ″10000001″=>baseSettingWidth<=P0;
when ″10000010″=>baseSettingPulsenumber<=P0;
when others=>null;
end case;
end if;
end process;
端口映射部分的仿真結果如圖7所示。
脈沖生成部分由兩個主要process組成,一個process用來產生單個的脈沖,另一個則用來產生設定數量的脈沖。仿真的波形如圖8所示。
4 實驗結果
圖9是在周期為125ns、脈寬為12.5ns時的實驗波形。對波形的測量結果如表1。
由測量結果可知,實驗波形的脈沖寬度以及周期的測量值與相應的設置值之間的誤差非常小。對二路光信號進行接收、放大和調理之后的波形的測量顯示方法得到的多路功率MOSFET器件的觸發信號,時間抖動可以小于1ns,相對于功率MOSFET開關時間(十幾個ns),其時間抖動帶來的開關動作不同步效應可以忽略。因此,采用這種方式設計的多通道觸發電路可以適應脈沖功率源的應用要求。
本文介紹的使用51內核的單片機和CPLD器件為硬件核心搭建的多通道可調脈寬的脈沖信號發生器,可以產生足夠數量的同步光信號,滿足兆赫茲重復頻率的脈沖功率源的大量同步觸發信號的應用要求。
參考文獻
[1] COOK E G,ALLEN F V,Anaya E M,et al.Solid-
??? State modulator R&D at LLNL.International Workshop
???? on Recent Progress of Induction Accelerators Tsukuba,
???? Japan,2002.
[2] Microsoft Corporation.Microsoft MSDN Library.http://
???? msdn2.microsoft.com/zh-cn/library/system.io.ports.
???? serialport.aspx