最新精品久久,欧美亚洲福利,表妹免费在线观看,久久国产二区,国产三级电影网站,日本特黄久久,成人a在线视频免费观看

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

來(lái)源:互聯(lián)網(wǎng)

點(diǎn)擊:2180

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:I/O模塊 數(shù)控系統(tǒng) 總線通信

    數(shù)控系統(tǒng)作為數(shù)控機(jī)床裝備的核心關(guān)鍵部件,是決定機(jī)床裝備的性能、功能、可靠性和成本的關(guān)鍵因素。我國(guó)的數(shù)控系統(tǒng)技術(shù)基礎(chǔ)薄弱,高檔數(shù)控系統(tǒng)基本依賴進(jìn)口,而相關(guān)高檔數(shù)控系統(tǒng)的開(kāi)發(fā)技術(shù),國(guó)外對(duì)我國(guó)至今仍封鎖限制,成為制約我國(guó)高檔數(shù)控機(jī)床發(fā)展的瓶頸。自主開(kāi)發(fā)高檔數(shù)控系統(tǒng)迫在眉睫,而其中的關(guān)鍵技術(shù)就是數(shù)據(jù)通信速率的提高。

      IEEE 1394最初由Apple公司提出,命名為FireWire(火線),是一種高速串行總線。IEEE(電氣和電子工程師協(xié)會(huì))在1995年認(rèn)可FireWire為IEEE1394—1995規(guī)范,繼而又對(duì)該協(xié)議中一些模糊的定義加以修正,推出了IEEE 1394a.2000規(guī)范,解決了一些兼容性問(wèn)題。2001年,更新的1394規(guī)范——1394b也被推出,其帶寬、傳輸速度、距離和效率都有了大幅度提高。IEEE 1394支持100 Mb/s、200 Mh/s和400 Mb/s的傳輸速率;支持點(diǎn)到點(diǎn)的傳輸,各個(gè)節(jié)點(diǎn)可以脫離主機(jī)自主執(zhí)行事務(wù);另外,它還支持即插即用、熱插拔、同步和異步傳輸方式,公平仲裁原則。鑒于IEEE 1394的高速傳輸?shù)葍?yōu)越性,將其應(yīng)用于高檔數(shù)控系統(tǒng)成為一種必然的趨勢(shì)。

      本研究設(shè)計(jì)出一塊基于1394總線傳輸?shù)腎/O模塊,該模塊應(yīng)用在高檔數(shù)控系統(tǒng)中,負(fù)責(zé)實(shí)時(shí)采集機(jī)床開(kāi)關(guān)量數(shù)據(jù),數(shù)據(jù)傳輸及控制機(jī)床進(jìn)給量。

    1 1394總線通信I/O模塊硬件設(shè)計(jì)

      1.1 I/O模塊整體結(jié)構(gòu)介紹

      該模塊主要包括1394芯片、DSP芯片和光耦芯片。該模塊共引出32個(gè)輸入口和24個(gè)輸出口,具有高速傳輸、抗干擾的特點(diǎn)。該模塊I/O端El通過(guò)排線與數(shù)控機(jī)床的開(kāi)關(guān)量相連接,負(fù)責(zé)數(shù)據(jù)采集及實(shí)時(shí)控制。1394端口通過(guò)1394總線與上位機(jī)進(jìn)行通信,負(fù)責(zé)I/O模塊與上位機(jī)的數(shù)據(jù)傳輸。該模塊與上位機(jī)及機(jī)床的整體架構(gòu)。

      I/O模塊中各芯片間的連接:DSP芯片選用TI公司的TMS320F2812,它是一款32位定點(diǎn)DSP芯片,運(yùn)行速度高,處理功能強(qiáng)大,并且具有豐富的片內(nèi)外圍設(shè)備,便于接口和模塊化設(shè)計(jì)。共有56位復(fù)用GPIO,可引出作為I/O端口。1394芯片選用TI公司的TSB43AA82,它是一款集成物理層和數(shù)據(jù)鏈路層的兩端口1394控制器,兼容1394—1995和IEEEl394a一2000規(guī)范,支持異步數(shù)據(jù)傳輸。光耦芯片選用TOSHIBA公司的TLP521-4,每個(gè)芯片內(nèi)具有4個(gè)獨(dú)立隔離通道舊J。DSP芯片與1394芯片通過(guò)數(shù)據(jù)線、地址線和控制線連接。DSP芯片引出56位GPIO管腳,通過(guò)光耦芯片與外界設(shè)備連接。

      1.2 DSP芯片外圍電路介紹

      TMS320F28 12的XZCS6 AND7連接TSB43 AA82的xcs(片使能),用于片選TSB43AA82,當(dāng)訪問(wèn)區(qū)域6時(shí)有效;XWE為寫(xiě)有效,連接TSB43AA82的XWR(寫(xiě)使能),用于向TSB43AA82寫(xiě)入數(shù)據(jù);XRD為讀有效,連接TSB43AA82的XRD(讀使能),用于讀取TSB43AA82數(shù)據(jù);XRS為復(fù)位輸出,連接ARESETP(物理層模塊復(fù)位輸入)和ARESETL(鏈路層模塊復(fù)位輸入),用于控制TSB43AA82復(fù)位;TSB43AA82的XINT為中斷信號(hào)輸出,連接TMS320F2812的XINTl一XBIO中斷輸入),用于中斷程序;XWAIT為等待信號(hào)輸出,連接TMS320F2812的XREADY(數(shù)據(jù)準(zhǔn)備輸入),用于說(shuō)明外設(shè)已為訪問(wèn)做好準(zhǔn)備;XA0~XA7,BD108~BDI015為8位地址總線,XD0~XDl5,DA0~DAl5為16位數(shù)據(jù)總線,用于TMS320F2812與TSIM3AA82之間數(shù)據(jù)傳輸。TLP521-4的P為內(nèi)部發(fā)光二極管正極,N為內(nèi)部發(fā)光二極管負(fù)極,Out為內(nèi)部三極管輸出。

      1.3 光耦芯片電路介紹

      本設(shè)計(jì)的I/O模塊通過(guò)引入光耦芯片,實(shí)現(xiàn)DSP芯片與機(jī)床的電路隔離、電平匹配等功能。輸入光耦電路指I/O模塊輸入端,“輸入1”連接機(jī)床開(kāi)關(guān)量;“輸出1”連接DSP的輸入GPIO。輸出光耦電路指IZO模塊輸出端,“輸入2”連接DSP的輸出GPIO;“輸出2”通過(guò)繼電器連接機(jī)床的控制量。

      根據(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)是叮靠,通過(guò)發(fā)送ACK信號(hào)及響應(yīng)包來(lái)實(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空間,需要通過(guò)操作CFR寄存器(配置寄存器)來(lái)讀寫(xiě)FIFO空間。

      發(fā)送數(shù)據(jù)時(shí),通過(guò)Write First,Write Continue,Write Update 3個(gè)寄存器將數(shù)據(jù)寫(xiě)入ATF,發(fā)送器從ATF寄存器中取出數(shù)據(jù),并把它們打包成規(guī)則的串行總線數(shù)據(jù)包的格式,然后通過(guò)物理層仲裁總線,并發(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ù)后,可以通過(guò)讀取ARFThere寄存器,了解ARF中收到的數(shù)據(jù)量,之后通過(guò)操作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模塊輸入端連接刀庫(kù)左移極限、刀庫(kù)右移極限、刀庫(kù)回零、刀庫(kù)定位、刀庫(kù)提前感應(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)、主軸停止、主軸松刀、潤(rùn)滑泵、伺服上電、刀庫(kù)左移、刀庫(kù)右移、刀庫(kù)正轉(zhuǎn)、刀庫(kù)反轉(zhuǎn)、刀具夾緊、刀具松開(kāi)和刀具定位共17個(gè)輸出。其余輸入輸出端口置高。為了保證數(shù)據(jù)的準(zhǔn)確性,1394通信采用異步傳輸方式。所有數(shù)據(jù)運(yùn)算及處理均由上位機(jī)應(yīng)用程序完成,I/O模塊主要負(fù)責(zé)數(shù)據(jù)傳輸。

      上位機(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ù)百萬(wàn)個(gè)周期測(cè)試下來(lái),機(jī)床運(yùn)行正常。查看到輸入開(kāi)關(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)。

      3.2中轉(zhuǎn)時(shí)延測(cè)試分析

      TSIM3AA82是一種雙端口1394芯片,因此可以將多個(gè)I/O模塊串聯(lián),模塊1最后上電,并進(jìn)行總線復(fù)位,強(qiáng)制自己為根節(jié)點(diǎn)。模塊1的節(jié)點(diǎn)號(hào)為0,模塊2、3、4節(jié)點(diǎn)號(hào)相應(yīng)為1、2、3。

      寄存器Ping_Timer記錄了Ping包從發(fā)出到收回的時(shí)間,每次40 as?,F(xiàn)在從O節(jié)點(diǎn)分別向1、2、3節(jié)點(diǎn)發(fā)送Ping包,共測(cè)試20次。0節(jié)點(diǎn)到l節(jié)點(diǎn)的Ping_Timer值穩(wěn)定為14;0節(jié)點(diǎn)到2節(jié)點(diǎn)的Ping_Timer值為19共14次,值為20共6次;0節(jié)點(diǎn)到3節(jié)點(diǎn)的Ping_Timer值為24共12次,值為25共8次。

      0到1節(jié)點(diǎn)不經(jīng)過(guò)轉(zhuǎn)發(fā),僅僅是數(shù)據(jù)傳輸時(shí)間。0節(jié)點(diǎn)到2節(jié)點(diǎn)的傳輸增加了1節(jié)點(diǎn)的兩次轉(zhuǎn)發(fā)時(shí)間。0節(jié)點(diǎn)到3節(jié)點(diǎn)的傳輸增加了1節(jié)點(diǎn)兩次轉(zhuǎn)發(fā)及2節(jié)點(diǎn)兩次轉(zhuǎn)發(fā)的時(shí)間。

      按照以上分析,采用代數(shù)平均數(shù)算法,可計(jì)算得到節(jié)點(diǎn)轉(zhuǎn)發(fā)時(shí)間為108.7 as。而TSB43AA82芯片的PHY Internal Registers中的delay字段定義了中轉(zhuǎn)時(shí)延的最大值,即從數(shù)據(jù)的第1位接收到數(shù)據(jù)包被轉(zhuǎn)發(fā)所需要的最大時(shí)間,為144+(delay×20)as,其中TSB43AA82中delay為0。故最壞情況下轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)數(shù)據(jù)的延遲為144 ns。所測(cè)得的中轉(zhuǎn)時(shí)延為108.7 n8在144 ns以內(nèi),與理論值完全符合。

      3.3 多節(jié)點(diǎn)的伺服同步

      一個(gè)數(shù)控系統(tǒng)中有多個(gè)伺服單元,這些伺服單元可以通過(guò)各自的I/O模塊與上位機(jī)進(jìn)行通信。高檔數(shù)控系統(tǒng)對(duì)于各個(gè)伺服單元之間的伺服周期同步有較高的要求。

     可以利用上位機(jī)向所有節(jié)點(diǎn)發(fā)送1394廣播包作為同步信號(hào),各節(jié)點(diǎn)收到廣播包后開(kāi)始執(zhí)行新得到的插補(bǔ)命令,從而實(shí)現(xiàn)各個(gè)伺服節(jié)點(diǎn)同時(shí)執(zhí)行同一插補(bǔ)周期的數(shù)據(jù)。根據(jù)1394網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及1394傳輸協(xié)議可知,數(shù)據(jù)的傳輸是經(jīng)過(guò)各個(gè)節(jié)點(diǎn)的轉(zhuǎn)發(fā)實(shí)現(xiàn)的,所以在邏輯位置上距離上位機(jī)較遠(yuǎn)的節(jié)點(diǎn)收到廣播包比其他節(jié)點(diǎn)要晚,導(dǎo)致同步信號(hào)不夠準(zhǔn)確。

      針對(duì)這一情況,可以利用3.2節(jié)所測(cè)節(jié)點(diǎn)中轉(zhuǎn)時(shí)延,人為地補(bǔ)足這個(gè)時(shí)間差,實(shí)現(xiàn)更高精度的同步。由于采用的TSB43AA82是雙端口1394芯片,拓?fù)浣Y(jié)構(gòu)比較簡(jiǎn)單,呈線性,一般上位機(jī)強(qiáng)制為根節(jié)點(diǎn),節(jié)點(diǎn)號(hào)為0。假設(shè)整個(gè)數(shù)控系統(tǒng)共有m個(gè)節(jié)點(diǎn),則邏輯位置上距離上位機(jī)最遠(yuǎn)的節(jié)點(diǎn)號(hào)為m-1??梢跃幊炭刂乒?jié)點(diǎn)號(hào)為i的節(jié)點(diǎn)在收到廣播包后延時(shí)(m-1-i)×108.7 as,之后執(zhí)行插補(bǔ)命令,從而實(shí)現(xiàn)各節(jié)點(diǎn)之間真正的伺服同步。

    4 結(jié)束語(yǔ)

      本設(shè)計(jì)的基于IEEE 1394通信的I/O模塊經(jīng)測(cè)試完全滿足高檔數(shù)控系統(tǒng)的實(shí)時(shí)性要求。根據(jù)3.2節(jié)中轉(zhuǎn)時(shí)延的測(cè)試結(jié)果,可以利用1394廣播包來(lái)同步多個(gè)節(jié)點(diǎn)模塊。另外該模塊利用光耦芯片與外界環(huán)境隔離,能夠有效預(yù)防干擾。除數(shù)控系統(tǒng)外,該模塊還可廣泛應(yīng)用于很多其他場(chǎng)合,負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)采集及高速數(shù)據(jù)傳輸。

    (審核編輯: 智匯張瑜)

    聲明:除特別說(shuō)明之外,新聞內(nèi)容及圖片均來(lái)自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。