<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于1394總線(xiàn)通信的I/O模塊在數控系統中的應用

基于1394總線(xiàn)通信的I/O模塊在數控系統中的應用

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

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

  根據光耦芯片TLP521-4的使用條件,Ic范圍應在0~10 mA;,If范圍應在0~25 mA;Ic/If范圍應在100%~600%。又根據光耦芯片內部結構可知,輸入部分為一個(gè)發(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%,均在正常工作范圍內。

2 I/O模塊通信軟件設計

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

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

代碼

3 I/O模塊在數控系統中的應用

  3.1 I/O模塊在數控系統中的功能測試

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


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

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



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>