瞿 盛,龐科旺
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
磁鐵電源大多作為電源中的一種特種電源被廣泛應(yīng)用于加速器、質(zhì)譜儀等設(shè)備,為磁鐵提供特定的勵磁電流以產(chǎn)生所需的磁場,對磁鐵電源的基本要求來源于磁場特性,因此基于數(shù)字化電源控制器的磁鐵電源為輸出高精度的穩(wěn)定勵磁電流,以獲得符合運(yùn)行模式的穩(wěn)定磁場結(jié)構(gòu)提供了重要保證[1-2]。文中介紹的磁鐵電源控制器采用DSP和FPGA的雙CPU結(jié)構(gòu),采用FPGA控制高精度模數(shù)轉(zhuǎn)換器AD7679進(jìn)行采樣,通過DSP的SPI接口把采集到的數(shù)據(jù)送給DSP;由DSP運(yùn)算處理后輸出用來控制磁鐵電源的帶有死區(qū)的PWM波形。
控制器采用DSP TMS320F2812為數(shù)字處理輸出模塊,以Altera公司的CycloneⅢ系列FPGA控制前端AD進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)傳輸部分由FPGA與DSP的SPI接口完成。通過DSP的SCI串口與上位機(jī)實(shí)現(xiàn)通訊,顯示并控制電源的運(yùn)行狀態(tài),后端的驅(qū)動電路中實(shí)現(xiàn)主電路和驅(qū)動電路的隔離??刂破骺傮w結(jié)構(gòu)框圖如圖1所示。
圖1 控制器總體結(jié)構(gòu)框圖Fig.1 Structure diagram of the magnet power supply controller
信號調(diào)理電路的主要作用是實(shí)現(xiàn)信號的放大和低通濾波。因?yàn)橐WC將AD轉(zhuǎn)換器的采集信號限制在0~+5 V之間,為防止大電流信號時產(chǎn)生過高的輸入電壓會損壞A/D端口,設(shè)計了電平限制保護(hù)電路。AD轉(zhuǎn)換器輸入采用差分輸入方式,將單端信號轉(zhuǎn)換為差分信號,實(shí)現(xiàn)比例放大,有效的濾除了高頻噪聲,便于AD對輸入信號的高精度采集。圖2為信號限幅、隔離、濾波和放大電路。
圖2 信號調(diào)理電路Fig.2 Signal conditioning circuit
本設(shè)計采用的AD7679是18位電荷分配的完全差分逐次逼近型模數(shù)轉(zhuǎn)換器,具有570 ksps的采樣速率,同時可以與5 V或3 V的數(shù)字邏輯電平兼容。為防止采樣點(diǎn)在開關(guān)脈沖之上,系統(tǒng)出現(xiàn)振蕩,可以使DSP在發(fā)出開關(guān)脈沖的同時給FPGA一個同步信號,作適當(dāng)延時,等信號的尖峰脈沖消失后,F(xiàn)PGA再給ADC發(fā)出采樣命令。AD操作分為空閑、開始AD轉(zhuǎn)換、等待AD轉(zhuǎn)換、讀AD轉(zhuǎn)換結(jié)果4個狀態(tài)。在CONVST信號的下降沿后,開啟轉(zhuǎn)換過程,BUSY會自動置1,保持轉(zhuǎn)換。當(dāng)BUSY信號變?yōu)榈碗娖?,CONVST保持高電平時,AD7679處于數(shù)據(jù)采集階段。FPGA對AD的控制如圖3所示,實(shí)際的電路中,F(xiàn)PGA和AD轉(zhuǎn)換器之間加入四通道的磁隔離器件ADuM1412進(jìn)行數(shù)據(jù)隔離。
圖3 FPGA對AD的控制及FPGA與DSP的通信電路Fig.3 DSP control of the AD and circuit of communication between DSP and FPGA
TMS320F2812內(nèi)部帶有一個SPI接口,通過定義控制寄存器,設(shè)置DSP為主設(shè)備,為通信提供時鐘信號,F(xiàn)PGA作為從設(shè)備。由于DSP和FPGA的I/O口引腳電壓相匹配(3.3 V),所以不需要電平轉(zhuǎn)換電路。設(shè)置FPGA在時鐘脈沖上升沿時發(fā)送數(shù)據(jù),在下降沿時接收數(shù)據(jù)。由于FPGA發(fā)送的數(shù)據(jù)時總是將最高位的數(shù)據(jù)移出,接著將剩余的數(shù)據(jù)分別左移一位,所以DSP將接收到的數(shù)據(jù)逐位左移實(shí)現(xiàn)數(shù)據(jù)接收。當(dāng)SPISTE引腳為低電平時,F(xiàn)PGA逐位發(fā)送數(shù)據(jù);當(dāng)SPICLK引腳為高電平時,DSP逐位讀取數(shù)據(jù),并且左移一位后等待下一次SPICLK為高電平,當(dāng)SPISTE為高電平時,則DSP已經(jīng)接收完FPGA發(fā)送的數(shù)據(jù),經(jīng)過8個時鐘脈沖后,完成一次SPI時序,DSP將接收到的數(shù)據(jù)存儲到已經(jīng)定義的數(shù)組中。DSP與FPGA通信引腳連接如圖3所示。
圖4的驅(qū)動電路中高速光耦HCPL-4503快速實(shí)現(xiàn)信號的轉(zhuǎn)換和隔離,而故障信號經(jīng)低速光耦TLP521-1隔離后送至PDPINTx引腳,PWM輸出引腳變?yōu)楦咦钁B(tài),同時產(chǎn)生一個中斷,封鎖驅(qū)動信號,關(guān)閉功率開關(guān)管。
當(dāng)發(fā)生中斷時,DSP的CPU會根據(jù)中斷響應(yīng)的優(yōu)先級和中斷向量表判斷,跳至相應(yīng)的子程序執(zhí)行,實(shí)現(xiàn)各自的功能。圖5為主程序的流程圖。
為防止上下兩橋臂開關(guān)器件同時導(dǎo)通,驅(qū)動波形需要具有一定的死區(qū)時間。設(shè)置DSP死區(qū)控制寄存器DBTCONx[8-11]位死區(qū)定時器周期為m,DBTCON[2-4]位的死區(qū)定時器預(yù)定標(biāo)因子為x/p,若通用定時器時鐘周期為t,則死區(qū)時間tS=m*p*t[6]。死區(qū)部分控制流程如圖6所示。
圖4 后端驅(qū)動電路Fig.4 Backend driving circuit
圖5 主程序流程圖Fig.5 Flow chart of main program
圖6 死區(qū)部分控制流程Fig.6 Control-flowchart of dead zone
圖7為DSP和FPGA之間的通信流程。波特率的配置通過對DSP的SPIBRR寄存器的編程實(shí)現(xiàn),在SPI接口設(shè)計時應(yīng)注意使用系統(tǒng)時鐘對SCLK信號進(jìn)行同步以減少SCLK引起的通信錯誤。
采用DSP+FPGA架構(gòu)的磁鐵電源控制器兼有兩種信號處理芯片的優(yōu)越性,有效的提高了運(yùn)算速度和精度。在后續(xù)的研究中根據(jù)需要設(shè)置相應(yīng)參數(shù),選擇合適的控制算法,以滿足磁鐵電源輸出極低紋波和受精確控制的電流。
圖7 DSP與FPGA之間的通信流程Fig.7 Flowchart of SPIcommunication between DSP and FPGA
[1]馬紅霞,燕偉康,趙升.一種高穩(wěn)定度軟開關(guān)加速器磁鐵穩(wěn)流電源[J].電氣傳動自動化,2009,31(3):32-34.MA Hong-xia,YAN Wei-kang,ZHAO Sheng.A magnet stabilized-current supply of high-stability soft switch accelerator[J].Electric Drive Automation,2009,31(3):32-34.
[2]趙久籍,尹兆升.粒子加速器技術(shù)[M].北京:高等教育出版社,2006.
[3]李夕紅.基于DSP和FPGA的數(shù)字化開關(guān)電源的實(shí)用化研究[D].成都:成都理工大學(xué),2008
[4]劉勇,祝忠明,羅文淵,等.基于FPGA+DSP的高精度數(shù)字電源數(shù)據(jù)采集系統(tǒng)設(shè)計[J].電子元器件應(yīng)用,2009,11(1):25-27.LIU Yong,ZHU Zhong-ming,LUO Wen-yuan, et al.Design of high-precision digital power data collecting system based on FPGA+DSP [J].Electronic Components Applications,2009,11(3):25-27.
[5]劉鵬鵬,王晶,尹小杰,等.基于DSP和FPGA的通用控制器的設(shè)計[J].電子設(shè)計工程,2011,19(21):170-172.LIU Peng-peng,WANG Jing,YIN Xiao-jie, et al.Design of a genrral motion controller based on DSP and FPGA[J].Electronic Design Engineering,2011,19(21):170-172.
[6]顧衛(wèi)鋼.手把手教你學(xué)DSP—基于TMS320X281X[M].北京:北京航空航天大學(xué)出版社,2010.