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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于1394總線通信的I/O模塊在數(shù)控系統(tǒng)中的應(yīng)用

          基于1394總線通信的I/O模塊在數(shù)控系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

          光耦電路圖
          圖3光耦電路圖

            根據(jù)光耦芯片TLP521-4的使用條件,Ic范圍應(yīng)在0~10 mA;,If范圍應(yīng)在0~25 mA;Ic/If范圍應(yīng)在100%~600%。又根據(jù)光耦芯片內(nèi)部結(jié)構(gòu)可知,輸入部分為一個(gè)發(fā)光二極管,故其工作電流,,不可太小。對(duì)于輸入光耦電路,選取R1=4.7kΩ,R2=470Ω,則有Ic=7.02 mA,If=5.11 mA,Ic/If=137Ω;對(duì)于輸出光耦電路,選取R3=1kΩ,R4=4.7kΩ,則有Ic=5.11 mA,If=3.3 mA,Ic/If=155%,均在正常工作范圍內(nèi)。

          2 I/O模塊通信軟件設(shè)計(jì)

            IEEE 1394協(xié)議支持異步傳輸和等時(shí)傳輸兩種機(jī)制。本設(shè)計(jì)采用的是異步傳輸模式,其特點(diǎn)是???,通過發(fā)送ACK信號(hào)及響應(yīng)包來實(shí)現(xiàn)。1394芯片為收發(fā)數(shù)據(jù)準(zhǔn)備了FIFO空間。針對(duì)異步傳輸?shù)氖茿RF(異步數(shù)據(jù)包接收FIFO),ATF(異步數(shù)據(jù)包傳輸FIFO)空間,空間大小可以進(jìn)行配置分配,F(xiàn)IFO空間總和為512個(gè)Quadlet(4字節(jié)字)。由于FIFO不能直接映射到DSP空間,需要通過操作CFR寄存器(配置寄存器)來讀寫FIFO空間。

            發(fā)送數(shù)據(jù)時(shí),通過Write First,Write Continue,Write Update 3個(gè)寄存器將數(shù)據(jù)寫入ATF,發(fā)送器從ATF寄存器中取出數(shù)據(jù),并把它們打包成規(guī)則的串行總線數(shù)據(jù)包的格式,然后通過物理層仲裁總線,并發(fā)送數(shù)據(jù)包。發(fā)送數(shù)據(jù)包之后若能接收到正確的ACK信號(hào)及響應(yīng)包則表示發(fā)送成功,否則需要重傳。接收數(shù)據(jù)時(shí),首先接收器從物理層接口取走數(shù)據(jù)并檢查目標(biāo)節(jié)點(diǎn)是否為當(dāng)前節(jié)點(diǎn),CRC字段是否正確。若檢測(cè)到是正確的異步包,則將數(shù)據(jù)包存入ARF中。ARF中存人數(shù)據(jù)后,可以通過讀取ARFThere寄存器,了解ARF中收到的數(shù)據(jù)量,之后通過操作ARFRead寄存器讀取接收到的異步數(shù)據(jù)。讀取之后發(fā)送正確的響應(yīng)包,完成數(shù)據(jù)接收。實(shí)現(xiàn)數(shù)據(jù)發(fā)送接收部分代碼如下:

          代碼

          3 I/O模塊在數(shù)控系統(tǒng)中的應(yīng)用

            3.1 I/O模塊在數(shù)控系統(tǒng)中的功能測(cè)試

            使用基于1394通信的I/O模塊完成上位機(jī)應(yīng)用程序?qū)C(jī)床的控制。I/O模塊輸入端連接刀庫左移極限、刀庫右移極限、刀庫回零、刀庫定位、刀庫提前感應(yīng)、手輪軸選擇(x、y、z、A、C共5個(gè)輸入)、手輪擋位選擇(1,0.1,0..01共3個(gè)輸入)共13個(gè)輸入。I/O模塊輸出端連接機(jī)床照明燈、冷卻泵、主軸使能、主軸定位、主軸正轉(zhuǎn)、主軸反轉(zhuǎn)、主軸停止、主軸松刀、潤滑泵、伺服上電、刀庫左移、刀庫右移、刀庫正轉(zhuǎn)、刀庫反轉(zhuǎn)、刀具夾緊、刀具松開和刀具定位共17個(gè)輸出。其余輸入輸出端口置高。為了保證數(shù)據(jù)的準(zhǔn)確性,1394通信采用異步傳輸方式。所有數(shù)據(jù)運(yùn)算及處理均由上位機(jī)應(yīng)用程序完成,I/O模塊主要負(fù)責(zé)數(shù)據(jù)傳輸。程序框圖如圖4所示。


          圖4 I/0模塊功能測(cè)試流程圖

            上位機(jī)每4 ms向I/0發(fā)送一次異步數(shù)據(jù),I/O模塊收到上位機(jī)數(shù)據(jù)后觸發(fā)中斷,進(jìn)入中斷程序。根據(jù)收到數(shù)據(jù)命令控制機(jī)床運(yùn)行,并將輸入GPIO狀況發(fā)送給上位機(jī)。數(shù)百萬個(gè)周期測(cè)試下來,機(jī)床運(yùn)行正常。查看到輸入開關(guān)量被正確傳輸?shù)缴衔粰C(jī),上位機(jī)控制數(shù)據(jù)也被正確的輸出給數(shù)控機(jī)床,并且機(jī)床能夠?qū)崟r(shí)執(zhí)行指令。驗(yàn)證了1394總線的高速傳輸,及I/O模塊在高檔數(shù)控系統(tǒng)中的功能實(shí)現(xiàn)。



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