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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于COMX的機(jī)器人伺服控制器設(shè)計

          基于COMX的機(jī)器人伺服控制器設(shè)計

          作者: 時間:2012-11-21 來源:網(wǎng)絡(luò) 收藏


          3 軟件設(shè)計
          3.1 軟件結(jié)構(gòu)
          基于的軟件框架如圖4所示。伺服系統(tǒng)的主控芯片是,在軟件上采用了ST公司開發(fā)的底層固件庫來操作硬件接口。在本系統(tǒng)中,主要有RS485通信模塊、驅(qū)動模塊、A/D轉(zhuǎn)換模塊、D/A轉(zhuǎn)換模塊以及I/O模塊。系統(tǒng)中通過來實(shí)現(xiàn)通信,采用RS485來控制SR518舵機(jī),同時采用這些模塊的API來構(gòu)建伺服驅(qū)動的應(yīng)用程序。

          本文引用地址:http://www.ex-cimer.com/article/159683.htm

          d.JPG


          3.2 COMX驅(qū)動設(shè)計
          COMX驅(qū)動的執(zhí)行流程,在硬件電路連接好的前提下,主要任務(wù)是寄存器的配置及通信流程的控制。首先,要配置的相關(guān)引腳,將與COMX相關(guān)的數(shù)據(jù)線、地址線、片選線和讀寫信號線全部設(shè)置成復(fù)用推挽輸出模式;然后,設(shè)置FSMC的相關(guān)寄存器,配置FSMC時鐘、時序邏輯、讀寫模式、數(shù)據(jù)寬度等;接著,就是COMX啟動檢測階段,由于COMX是獨(dú)立網(wǎng)卡,內(nèi)部有獨(dú)立的系統(tǒng),只有在它內(nèi)部系統(tǒng)運(yùn)行就緒后才能正常通信,這就需要檢測COMX提供的一些標(biāo)志寄存器的相關(guān)位,以此來判斷內(nèi)部系統(tǒng)的狀態(tài);最后,等COMX一切就緒后就可以正常通信,執(zhí)行讀寫操作。
          COMX是獨(dú)立的網(wǎng)卡設(shè)備,通過加載不同的固件程序,來實(shí)現(xiàn)各種實(shí)時以太網(wǎng)通信協(xié)議,本系統(tǒng)中使用的是從站協(xié)議。在COMX使用之前,要保證固件程序下載到Flash中,同時配置文件也要保存在Flash中。
          COMX上電啟動時,會自動加載運(yùn)行固件,并讀取配置文件。下載固件時要使用赫優(yōu)訊公司配套的PCI板卡和cifX Test軟件工具,配置文件的下載需要用SYCON.net工具,具體步驟可以查看參考文獻(xiàn)。當(dāng)固件程序和配置文件下載完畢后,就可以使用COMX網(wǎng)卡了。
          3.3 COMX讀寫操作實(shí)現(xiàn)
          COMX讀寫模式是基于緩沖的握手方式,在DPM中,主機(jī)和netX500系統(tǒng)通過握手標(biāo)記來劃分DPM的數(shù)據(jù)讀寫權(quán)限,這些握手標(biāo)記在握手通道中。每個通道都有一對CMD和ACK標(biāo)記位,當(dāng)這兩個標(biāo)記位相同時,主機(jī)可以寫相應(yīng)的DPM區(qū)域;當(dāng)不同時,主機(jī)可以讀相應(yīng)的DPM區(qū)域。COMX發(fā)送數(shù)據(jù)的過程如圖5所示。

          e.JPG


          根據(jù)以上分析過程,可以設(shè)計出COMX發(fā)送數(shù)據(jù)的驅(qū)動程序,其執(zhí)行流程如圖6所示。

          f.JPG



          評論


          相關(guān)推薦

          技術(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); })();