鉅大LARGE | 點(diǎn)擊量:1034次 | 2020年06月18日
基于DSP+FPGA的磁鐵電源控制器的設(shè)計(jì)
摘要:介紹了一種基于DSp和FpGA的磁鐵電源控制器的設(shè)計(jì)方法,闡述了該控制器硬件系統(tǒng)的組成,包括信號(hào)調(diào)理電路、中間數(shù)據(jù)處理部分、后端的驅(qū)動(dòng)電路。同時(shí)給出了DSp和FpGA之間通過(guò)SpI接口通信的具體流程和輸出pWM波形死區(qū)部分的控制流程。設(shè)計(jì)的磁鐵電源控制器有很好的控制和運(yùn)算能力,同時(shí)具有很好的靈活性和可靠性。關(guān)鍵詞:磁鐵電源控制器;DSp;FpGA;SpI磁鐵電源大多作為電源中的一種特種電源被廣泛應(yīng)用于加速器、質(zhì)譜儀等設(shè)備,為磁鐵供應(yīng)特定的勵(lì)磁電流以出現(xiàn)所需的磁場(chǎng),對(duì)磁鐵電源的基本要求來(lái)源于磁場(chǎng)特性,因此基于數(shù)字化電源控制器的磁鐵電源為輸出高精度的穩(wěn)定勵(lì)磁電流,以獲得符合運(yùn)行模式的穩(wěn)定磁場(chǎng)結(jié)構(gòu)供應(yīng)了重要保證。文中介紹的磁鐵電源控制器采用DSp和FpGA的雙CpU結(jié)構(gòu),采用FpGA控制高精度模數(shù)轉(zhuǎn)換器AD7679進(jìn)行采樣,通過(guò)DSp的SpI接口把采集到的數(shù)據(jù)送給DSp;由DSp運(yùn)算處理后輸出用來(lái)控制磁鐵電源的帶有死區(qū)的pWM波形。1控制器總體結(jié)構(gòu)控制器采用DSpTMS320F2812為數(shù)字處理輸出模塊,以Altera公司的CvcloneⅢ系列FpGA控制前端AD進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)傳輸部分由FpGA與DSp的SpI接口完成。通過(guò)DSp的SCI串口與上位機(jī)實(shí)現(xiàn)通訊,顯示并控制電源的運(yùn)行狀態(tài),后端的驅(qū)動(dòng)電路中實(shí)現(xiàn)主電路和驅(qū)動(dòng)電路的隔離。控制器總體結(jié)構(gòu)框圖如圖1所示。
2硬件電路設(shè)計(jì)2.1信號(hào)調(diào)理電路信號(hào)調(diào)理電路的重要用途是實(shí)現(xiàn)信號(hào)的放大和低通濾波。因?yàn)橐WC將AD轉(zhuǎn)換器的采集信號(hào)限制在0~+5V之間,為防止大電流信號(hào)時(shí)出現(xiàn)過(guò)高的輸入電壓會(huì)損壞A/D端口,設(shè)計(jì)了電平限制保護(hù)電路。AD轉(zhuǎn)換器輸入采用差分輸入方式,將單端信號(hào)轉(zhuǎn)換為差分信號(hào),實(shí)現(xiàn)比例放大,有效的濾除了高頻噪聲,便于AD對(duì)輸入信號(hào)的高精度采集。圖2為信號(hào)限幅、隔離、濾波和放大電路。
2.2FpGA對(duì)AD的控制本設(shè)計(jì)采用的AD7679是18位電荷分配的完全差分逐次逼近型模數(shù)轉(zhuǎn)換器,具有570ksps的采樣速率,同時(shí)可以與5V或3V的數(shù)字邏輯電平兼容。為防止采樣點(diǎn)在開(kāi)關(guān)脈沖之上,系統(tǒng)出現(xiàn)振蕩,可以使DSp在發(fā)出開(kāi)關(guān)脈沖的同時(shí)給FpGA一個(gè)同步信號(hào),作適當(dāng)延時(shí),等信號(hào)的尖峰脈沖消失后,F(xiàn)pGA再給ADC發(fā)出采樣命令。AD操作分為空閑、開(kāi)始AD轉(zhuǎn)換、等待AD轉(zhuǎn)換、讀AD轉(zhuǎn)換結(jié)果4個(gè)狀態(tài)。在CONVST信號(hào)的下降沿后,開(kāi)啟轉(zhuǎn)換過(guò)程,BUSY會(huì)自動(dòng)置1,保持轉(zhuǎn)換。當(dāng)BUSY信號(hào)變?yōu)榈碗娖剑珻ONVST保持高電平時(shí),AD7679處于數(shù)據(jù)采集階段。FpGA對(duì)AD的控制如圖3所示,實(shí)際的電路中,F(xiàn)pGA和AD轉(zhuǎn)換器之間加入四通道的磁隔離器件ADuM1412進(jìn)行數(shù)據(jù)隔離。
2.3DSp與FpGA間的通信TMS320F2812內(nèi)部帶有一個(gè)SpI接口,通過(guò)含義控制寄存器。設(shè)置DSp為主設(shè)備,為通信供應(yīng)時(shí)鐘信號(hào),F(xiàn)pGA作為從設(shè)備。由于DSp和FpGA的I/O口引腳電壓相匹配(3.3V),所以不要電平轉(zhuǎn)換電路。設(shè)置FpGA在時(shí)鐘脈沖上升沿時(shí)發(fā)送數(shù)據(jù),在下降沿時(shí)接收數(shù)據(jù)。由于FpGA發(fā)送的數(shù)據(jù)時(shí)總是將最高位的數(shù)據(jù)移出,接著將剩余的數(shù)據(jù)分別左移一位,所以DSp將接收到的數(shù)據(jù)逐位左移實(shí)現(xiàn)數(shù)據(jù)接收。當(dāng)SpISTE引腳為低電平時(shí),F(xiàn)pGA逐位發(fā)送數(shù)據(jù);當(dāng)SpICLK引腳為高電平時(shí),DSp逐位讀取數(shù)據(jù),并且左移一位后等待下一次SpICLK為高電平,當(dāng)SpISTE為高電平時(shí),則DSp已經(jīng)接收完FpGA發(fā)送的數(shù)據(jù),經(jīng)過(guò)8個(gè)時(shí)鐘脈沖后,完成一次SpI時(shí)序,DSp將接收到的數(shù)據(jù)存儲(chǔ)到已經(jīng)含義的數(shù)組中。DSp與FpGA通信引腳連接如圖3所示。