新聞中心

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

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

作者: 時間: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)可知,輸入部分為一個發(fā)光二極管,故其工作電流,,不可太小。對于輸入光耦電路,選取R1=4.7kΩ,R2=470Ω,則有Ic=7.02 mA,If=5.11 mA,Ic/If=137Ω;對于輸出光耦電路,選取R3=1kΩ,R4=4.7kΩ,則有Ic=5.11 mA,If=3.3 mA,Ic/If=155%,均在正常工作范圍內(nèi)。

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

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

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

代碼

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

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

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


圖4 I/0模塊功能測試流程圖

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



評論


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

關(guān)閉