<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32+fpga架構(gòu)的運(yùn)動(dòng)控制器

          stm32+fpga架構(gòu)的運(yùn)動(dòng)控制器

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          因?yàn)?strong>fpga的高速、高同步、純硬件的特點(diǎn),可以很好的實(shí)現(xiàn)多軸的同步和單軸任意頻率脈沖的生成,遠(yuǎn)遠(yuǎn)比stm32自帶的定時(shí)器好用。結(jié)合f407的高性能,高可靠,方便的開(kāi)發(fā)環(huán)境,可以組合在一起做成類似dsp+fpga的運(yùn)動(dòng)卡,但是價(jià)格低廉,用戶入門容易。



          Stm32采用stm32f407,不擴(kuò)展內(nèi)存sram,外部fpga采用ep4ce6,引腳采用多的那種(黑金的那種),板子上使用rtc電池,用來(lái)保持?jǐn)嚯姳Wo(hù)的sram內(nèi)容。


          stm32板子支持以太網(wǎng),mac使用f407自帶的mac器件。
          支持usb,232c,485,can通訊。
          usb用來(lái)實(shí)現(xiàn)和pc機(jī)的連接,232c和485則可以使用modbus-rtu協(xié)議,以太網(wǎng)則實(shí)現(xiàn)econ的協(xié)議。



          Stm32<==fsmc==>fpga,數(shù)據(jù)總線為8,數(shù)據(jù)總線為8,8為數(shù)據(jù)總線可以尋找256字節(jié)空間,對(duì)于模塊來(lái)說(shuō)完全夠用了。如果空間不夠用,還可以采用簡(jiǎn)易的協(xié)議擴(kuò)展方式來(lái)做。

          Stm32上運(yùn)行ucos或者freertos,fpga簡(jiǎn)單的采用quartus運(yùn)行純邏輯,代碼采用verilog語(yǔ)言,fpga不運(yùn)行nios,因?yàn)閚ios很不好用,不可靠,不能用于生產(chǎn)環(huán)境。

          運(yùn)動(dòng)邏輯采用stm32來(lái)做,fpga是執(zhí)行機(jī)構(gòu),由于stm32的小內(nèi)存,無(wú)法將曲線全部計(jì)算出來(lái),只能采用buff或者采用先計(jì)算出規(guī)劃,然后stm32每個(gè)伺服周期計(jì)算下個(gè)周期的數(shù)據(jù),然后下發(fā)給fpga執(zhí)行,fpga主要是實(shí)現(xiàn)速度控制,同時(shí)統(tǒng)計(jì)發(fā)送的脈沖數(shù)量,并可以在fpga內(nèi)部做做簡(jiǎn)單的位置環(huán)控制。


          參考?xì)W姆龍的位置控制模塊接口

          絕對(duì)移動(dòng)
          相對(duì)移動(dòng)
          中斷給進(jìn)
          當(dāng)前位置設(shè)置
          定位完成
          忙標(biāo)識(shí)

          位置
          速度
          加速時(shí)間
          減速時(shí)間
          當(dāng)前位置



          每軸的狀態(tài)
          1,是否對(duì)零
          2,當(dāng)前位置
          3,忙標(biāo)識(shí)
          4,是否就位

          對(duì)于ptp的運(yùn)動(dòng)曲線指令,分為幾個(gè)狀態(tài),
          1,計(jì)算曲線范圍和特征,然后記憶
          2,計(jì)算完成后,每個(gè)伺服周期,根據(jù)范圍和特征,計(jì)算下個(gè)伺服周期的速度值,并發(fā)給fpga
          3,如果伺服周期范圍執(zhí)行完成或者位置指令完成,那么停止當(dāng)前指令執(zhí)行,切入空閑態(tài)

          JOG移動(dòng):速度,ta,ts,正反轉(zhuǎn)移動(dòng)
          停止JOG:
          絕對(duì)PTP移動(dòng):速度,ta,ts,絕對(duì)位置
          相對(duì)PTP移動(dòng):速度,ta,ts,相對(duì)位置
          Servo任務(wù)劃分為兩個(gè)任務(wù),一個(gè)任務(wù)計(jì)算并寫數(shù)據(jù)到fpga,然后等量外一個(gè)專門的任務(wù)發(fā)同步時(shí)間消息,因?yàn)榱硗庖粋€(gè)任務(wù)是專門的空閑定時(shí)任務(wù),所以時(shí)鐘是很準(zhǔn)的,專門負(fù)責(zé)按伺服周期通知另外一個(gè)任務(wù)同步信號(hào)。同步信號(hào)工作原理如下
          周期計(jì)算任務(wù)定時(shí)器任務(wù)
          寫普通數(shù)據(jù)到fpga
          等同步信號(hào)《===============================發(fā)出同步觸發(fā)信號(hào)
          寫同步信號(hào)數(shù)據(jù)到fpga
          伺服接口負(fù)責(zé)提供給別的任務(wù)使用

          運(yùn)動(dòng)軸的狀態(tài)
          0空閑1點(diǎn)到點(diǎn)2運(yùn)動(dòng)停止3點(diǎn)動(dòng)4和編碼器或者虛擬軸同步


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();