基于DSP與FPGA的跟蹤伺服運動控制器設計
摘 要: 在分析光電跟蹤伺服系統特點的基礎上,以TI公司DSP芯片TMS320F2812作為主控制芯片,采用FPGA進行邏輯時序控制,設計了基于DSP和FPGA的多軸伺服運動控制器。給出了該控制器的功能和硬件結構以及軟件流程設計。實驗結果表明,該控制器具有高集成度、靈活性、實時性、模塊化的特點,完全滿足了在復雜環境下對伺服系統控制的要求。
在高速光電跟蹤系統中,對伺服系統的高速性、精確度和穩定性都有很高的要求。為了提高跟蹤精度,越來越多的控制算法被應用于伺服系統中,因此要求控制器能在很短的時間內完成大量的運算[1]。DSP具有較強的運算能力,而FPGA具有高度靈活的可配置性和邏輯時序控制能力[2]。因此在很多伺服控制器中,“DSP+FPGA”結構得到了廣泛的應用。
實際應用環境一般比較復雜,有大量的信息傳遞,并且需要對電機轉速實行精確控制,因此對伺服控制器的多路通信能力,快速運算能力和抗干擾能力都有較高的要求。為了解決這一問題,提供一個較好的實驗平臺,本文結合光電跟蹤伺服系統的特點,提出一種以TI公司的32位定點數字信號處理器TMS320F2812為核心,以Altera公司CycloneⅡ系列FPGA為輔助處理器結構的跟蹤伺服控制器,并綜合闡述了該控制器的功能、硬件設計和軟件流程。該控制器采用單+5 V供電,具有6路模擬信號輸入、4路模擬信號輸出、多路PWM輸出、1路CAN總線、2路RS422和1路RS232串行通信口,具有較強的運算能力和數據通信能力,是良好的數字控制系統實驗平臺。
1 總體結構設計
TMS320F2812作為一款專為電機控制所設計的芯片,不僅具有運算速度快的特點,而且集成了豐富的片內外設資源[3]。設計時綜合考慮DSP片上資源的充分利用、系統的模塊化和可移植性等特點,將整個控制器大體分為4個部分:DSP模塊、FPGA模塊、D/A轉換模塊和通信接口模塊。控制器的總體硬件結構如圖1所示。
從圖1中可以看出,DSP通過CAN總線接收上位機指令;位置信號通過兩路RS422通信口傳給DSP作相應處理;速度信號是由DSP片上集成的QEP電路對電機產生的正交編碼脈沖信號進行解碼獲得;DSP輸出的PWM信號與FPGA相連,通過FPGA內部的保護模塊后經光電隔離輸出到功率放大模塊。外部中斷經FPGA片內中斷控制邏輯后輸出到DSP外部中斷管腳上;DSP與FPGA之間的數據交換通過DSP片上的多通道緩沖串口(Mcbsp)來實現;D/A轉換器控制由FPGA內部的D/A轉換接口模塊接收DSP傳來的數字量并控制邏輯時序;計算機調試接口采用RS232。
2 硬件電路設計
2.1 DSP模塊
32位定點數字信號處理器TMS320F2812整合了DSP和微控制器的最佳性能,能夠在一個周期內完成32×32 bit的乘法運算,或2個16×16 bit乘法累加運算,處理速度最高可達150 MIPS。它采用高性能靜態CMOS技術,內核電壓為1.8 V@135 MHz,1.9 V@150 MHz, I/O端口電壓3.3 V[4,5]。其先進的內部和外設結構使得該處理器特別適合電機及其他運動控制應用,能夠真正實現單片控制,為電機的伺服控制提供了良好的控制功能[6]。
DSP的功能主要通過軟件實現,在此主要實現接收上位機指令,完成位置環和速度環反饋的雙閉環控制算法,以及速度的PID調節,產生PWM輸出。由于實際工作環境較為復雜,所以選用了抗干擾能力強的CAN總線作為與上位機的通信方式,TMS320F2812內部集成了一個eCAN模塊,只需增加相應的CAN收發器外圍電路就可以實現通信。根據系統采樣頻率調整事件管理器的定時器,控制寄存器的控制字來設定PWM工作方式和頻率,通過調整比較寄存器的數值來改變PWM的占空比,根據功率驅動電路的驅動芯片來設置死區控制寄存器的數值來調整死區時間,通過專用的PWM輸出口輸出占空比可調的帶有死區的PWM信號[7]。
pid控制器相關文章:pid控制器原理
評論