久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > stm32+fpga架構的運動控制器

stm32+fpga架構的運動控制器

作者: 時間:2016-11-25 來源:網絡 收藏
因為fpga的高速、高同步、純硬件的特點,可以很好的實現多軸的同步和單軸任意頻率脈沖的生成,遠遠比stm32自帶的定時器好用。結合f407的高性能,高可靠,方便的開發環境,可以組合在一起做成類似dsp+fpga的運動卡,但是價格低廉,用戶入門容易。



Stm32采用stm32f407,不擴展內存sram,外部fpga采用ep4ce6,引腳采用多的那種(黑金的那種),板子上使用rtc電池,用來保持斷電保護的sram內容。


stm32板子支持以太網,mac使用f407自帶的mac器件。
支持usb,232c,485,can通訊。
usb用來實現和pc機的連接,232c和485則可以使用modbus-rtu協議,以太網則實現econ的協議。



Stm32<==fsmc==>fpga,數據總線為8,數據總線為8,8為數據總線可以尋找256字節空間,對于模塊來說完全夠用了。如果空間不夠用,還可以采用簡易的協議擴展方式來做。

Stm32上運行ucos或者freertos,fpga簡單的采用quartus運行純邏輯,代碼采用verilog語言,fpga不運行nios,因為nios很不好用,不可靠,不能用于生產環境。

運動邏輯采用stm32來做,fpga是執行機構,由于stm32的小內存,無法將曲線全部計算出來,只能采用buff或者采用先計算出規劃,然后stm32每個伺服周期計算下個周期的數據,然后下發給fpga執行,fpga主要是實現速度控制,同時統計發送的脈沖數量,并可以在fpga內部做做簡單的位置環控制。


參考歐姆龍的位置控制模塊接口

絕對移動
相對移動
中斷給進
當前位置設置
定位完成
忙標識

位置
速度
加速時間
減速時間
當前位置



每軸的狀態
1,是否對零
2,當前位置
3,忙標識
4,是否就位

對于ptp的運動曲線指令,分為幾個狀態,
1,計算曲線范圍和特征,然后記憶
2,計算完成后,每個伺服周期,根據范圍和特征,計算下個伺服周期的速度值,并發給fpga
3,如果伺服周期范圍執行完成或者位置指令完成,那么停止當前指令執行,切入空閑態

JOG移動:速度,ta,ts,正反轉移動
停止JOG:
絕對PTP移動:速度,ta,ts,絕對位置
相對PTP移動:速度,ta,ts,相對位置
Servo任務劃分為兩個任務,一個任務計算并寫數據到fpga,然后等量外一個專門的任務發同步時間消息,因為另外一個任務是專門的空閑定時任務,所以時鐘是很準的,專門負責按伺服周期通知另外一個任務同步信號。同步信號工作原理如下
周期計算任務定時器任務
寫普通數據到fpga
等同步信號《===============================發出同步觸發信號
寫同步信號數據到fpga
伺服接口負責提供給別的任務使用

運動軸的狀態
0空閑1點到點2運動停止3點動4和編碼器或者虛擬軸同步


評論


技術專區

關閉