開放數控系統模型的建立及實現
DSP插補板原理如圖2所示。DSP插補板通過ISA總線與PC機通訊,雙口RAM用于PC機與DSP交換信息,實現數據雙向通訊。控制步進電機時,只需要控制每臺電機輸入的步進脈沖和轉向,就可以控制一臺步進電機,所以步進電機可以直接由F2812 DSP的事件管理器控制,實現四臺電機的聯動。控制伺服電機時,需要控制逆變器的六支開關管(如無刷直流電機和交流異步電機)的開關動作,用F2812 DSP的EVA、EVB分別控制兩通道的PWM輸出,FPGA控制另兩通道的PWM輸出。FPGA接收DSP數據線傳來的三相脈寬,設置好死區寄存器和周期寄存器,完成PWM的輸出控制逆變器六支開關管的動作,實現四軸的聯動。
由于FPGA需要設計兩通道的PWM輸出和總線與控制卡的通訊功能,因此所需要的邏輯單元很大。在設計仿真后,確定FPGA選用Altera公司的Flex10K系列的EPF10K30A。由于其配置單元為SRAM,屬于易失性可編程器件,編程信息在系統斷電后會丟失,所以在設計FPGA時就需要外擴一個Flash存儲器,在每次上電工作時,需要從器件外部的Flash中將編程信息寫入器件的SRAM中,從而可以進行任意次數的編程、快速編程、實現板極和系統級的動態配置,充分體現了硬件的開放性設計。
4 硬件設計
圖3為DSP插補板的硬件接線圖。硬件接線需要注意以下幾個問題:因為DSP的時鐘和FPGA不同,數據傳輸不能正常完成,DSP通過總線向FPGA只寫數據,可以在FPGA中做DPRAM來實現DSP與FPGA的數據交換,在DPRAM的一側用DSP時鐘讀寫,另一側用FPGA系統時鐘讀寫,可以很好地完成數據的讀寫交換。DSP的速度較快,為了保證DSP的運行速度,外部存儲器需要具有一定的速度,否則DSP訪問外部存儲器時需要加入等待周期,且C2000系列的DSP只能同異步的存儲器直接相接。本設計要驅動不同種類的電動機的四軸聯動,需要的數據量比較大,控制算法比較復雜,選用存儲空間大的CY7C104BV33-12作為外擴存儲器。F2812 DSP采用統一尋址方式,CY7C104BV33既可以作為程序存儲器,也可以作為數據存儲器。CY7C104BV33采用3.3V供電,可以與DSP直接相接。DSP系統中難免存在5V/3.3V混合供電現象,I/O為3.3V供電的DSP,其輸入信號電平不允許超過電源電壓3.3V,5V器件輸出信號高電平可達4.4V,長時間超常工作會損壞DSP器件,輸出信號電平一般無需變換。本設計采用74LVC245A(8位、3.3V)進行電平轉換,方向控制信號由DSP的/RD控制。

5 PWM發生器的實現
圖4為FPGA實現PWM設計框圖,以驅動一臺電機6個功率器件為例。它主要由脈寬寄存器、緩沖寄存器、周期寄存器、死區寄存器、死區發生器、比較器組成。脈寬寄存器接收來自DSP刷新后送來的三相PWM信號脈寬;緩沖寄存器實現對脈寬數據的緩沖;周期寄存器決定PWM的載波周期;死區寄存器決定上下橋臂的死區時間;比較寄存器將三相脈寬值與三角載波進行比較,最后生成三相PWM信號PA、PB、PC,再經過死區發生器處理,最后產生6個中心對稱的PWM驅動信號,驅動三相逆變器的6個功率器件。為了實現三相的同步,將三相脈寬寄存器中的值放入各自的緩沖寄存器中,通過基準計數器計數達到最大時,發出三相同步信號SYN,在SYN下將三個脈寬值從緩沖寄存器中取出與三角波進行比較,達到三相同步的目的。

6 實驗結果分析
圖5為在MAX PLUSⅡ環境下仿真的FPGA驅動直流電機的PWM波形,采用VHDL設計的帶有死區功能的PWM輸出,控制逆變器六支開關管AH、AL、BH、BL、CH、CL。AH、BH、CH設為高有效,AL、BL、CL設為低有效,A相占空比50%,B相占空比40%,C相占空比60%。仿真波形符合DSP中EV產生PWM波形的標準,證明了FPGA在DSP的控制下能夠很好地完成電機的控制,FPGA并行擴展了DSP的EV模塊功能。

本文在開放數控模型的基礎上,提出了一個經濟、高速的開放數控系統結構模型。該數控系統在軟硬件平臺體現出了良好的開放性,能控制多種電機四軸聯動,符合開放數控發展方向。給出了FPGA產生帶死區功能的PWM輸出的仿真圖形,理論上證明了該結構模型的正確性和可行性。其經濟高效的性能,符合市場發展的需要。
伺服電機相關文章:伺服電機工作原理
評論