基于DSP與FPGA的跟蹤伺服運動控制
DSP的功能主要通過軟件實現(xiàn),在此主要實現(xiàn)接收上位機指令,完成位置環(huán)和速度環(huán)反饋的雙閉環(huán)控制算法,以及速度的PID調(diào)節(jié),產(chǎn)生PWM輸出。由于實際工作環(huán)境較為復雜,所以選用了抗干擾能力強的CAN總線作為與上位機的通信方式,TMS320F2812內(nèi)部集成了一個eCAN模塊,只需增加相應的CAN收發(fā)器外圍電路就可以實現(xiàn)通信。根據(jù)系統(tǒng)采樣頻率調(diào)整事件管理器的定時器,控制寄存器的控制字來設定PWM工作方式和頻率,通過調(diào)整比較寄存器的數(shù)值來改變PWM的占空比,根據(jù)功率驅(qū)動電路的驅(qū)動芯片來設置死區(qū)控制寄存器的數(shù)值來調(diào)整死區(qū)時間,通過專用的PWM輸出口輸出占空比可調(diào)的帶有死區(qū)的PWM信號[7]。
將DSP片上集成的多通道緩沖串口配置成SPI模式,與FPGA內(nèi)部的SPI模塊完成數(shù)據(jù)交換,從而完成DSP對FPGA的控制。此時DSP上的Mcbsp為SPI通信的主機,FPGA內(nèi)部的SPI模塊為從機,從FPGA讀取數(shù)據(jù)時,只需向從機發(fā)送偽數(shù)據(jù)。這種通信方式避免了占用大量的DSP I/O口資源,速度快,出錯率小。
由于TMS320F2812內(nèi)部集成的12位高速A/D轉(zhuǎn)換器只能輸入電壓范圍在0~3 V以內(nèi)的模擬信號,因此需要對輸入的雙極性電壓信號進行處理,具體電路如圖2所示。為了提高A/D采樣精度,需要進行軟件校準,基本思想是通過采樣已知電壓信號來確定偏差。本文引用地址:http://www.ex-cimer.com/article/151924.htm
2.2 FPGA模塊
FPGA選型時綜合考慮片上邏輯單元、用戶I/O口數(shù)量以及功能擴展的需要,根據(jù)前期仿真結(jié)果選用Altera公司的CycloneⅡ系列的EP2C8Q208C8,它具有8 256個邏輯單元,138個用戶I/O,36個M4KRAM和2個鎖相環(huán),內(nèi)核電壓只有1.2 V,具有低成本、低功耗的特點[8,9]。由于FPGA具有高速并行處理能力,所以保證了系統(tǒng)的同步性[10]。它的I/O口支持3.3 V LVTTL電平,與DSP管腳電平兼容,因此不用進行電平轉(zhuǎn)換,可直接連接,使用方便。
FPGA模塊主要完成伺服控制器的邏輯接口功能,并可以擴展通用I/O口數(shù)量,方便功能擴展。在此主要實現(xiàn)4個模塊:串行通信接口模塊、SPI模塊、D/A接口模塊和中斷控制模塊。其中SPI模塊配置成從機工作模式,與DSP的Mcbsp配合完成DSP與FPGA的數(shù)據(jù)交換。各模塊獨立并行工作,并由頂層控制模塊統(tǒng)一協(xié)調(diào)控制,具有速度快、可移植性好的特點。
2.3 D/A轉(zhuǎn)換器模塊
根據(jù)轉(zhuǎn)換通道數(shù)、精度和轉(zhuǎn)換速度,D/A轉(zhuǎn)換芯片選擇BURR-BROWN公司的DAC7614。它是12位串行數(shù)模轉(zhuǎn)換器,4路模擬輸出,功耗只有20 mW,單次轉(zhuǎn)換建立時間10 μs[10]。
評論