在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 數(shù)控同步現(xiàn)場總線與CAN總線網關的設計

            數(shù)控同步現(xiàn)場總線與CAN總線網關的設計

            作者: 時間:2016-12-20 來源:網絡 收藏

            4 NCSF與CAN數(shù)據(jù)幀封裝轉換模塊

            NCSF-CAN協(xié)議轉換模塊把CAN數(shù)據(jù)幀封裝在NCSF數(shù)據(jù)包中。NCSF應用層提供四類設備應用服務:計數(shù)器、操作站、伺服電機和簡單I/0設備,其中計數(shù)器設備服務數(shù)據(jù)包中可利用的字段比較多,所以選擇把CAN報文封裝在計數(shù)器數(shù)據(jù)包中。

            CAN數(shù)據(jù)幀由七部分構成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應答場和幀結尾。其中,幀起始為一個“顯性”位;仲裁場由11位標識符和遠程發(fā)送請求位(RTR)構成;控制場有六位,最后四位是數(shù)據(jù)場長度,其余兩位保留;數(shù)據(jù)場是數(shù)據(jù)幀中的有效數(shù)據(jù),長度為0—8個字節(jié);應答場有兩位分別為應答間隙和應答定界符;最后是7位的幀結尾。CAN遠程幀沒有數(shù)據(jù)場,RTR位為“隱形”。綜合CAN的各種幀,NCSF—CAN網關需要把標識符、RTR位、數(shù)據(jù)長度字段、0—8字節(jié)的數(shù)據(jù)封裝在計數(shù)器數(shù)據(jù)包的計數(shù)器字段中,然后通過NCSF的鏈路傳送給主站。

            計數(shù)器數(shù)據(jù)包長48個字節(jié),支持5個計數(shù)器,按絕對增量方式計數(shù),采用32位計數(shù)。由此每個計數(shù)器數(shù)據(jù)包傳輸20字節(jié)的數(shù)據(jù),每個CAN幀的數(shù)據(jù)至多8個字節(jié),再加上標識符等字段也不多于20字節(jié)。表1為計數(shù)器數(shù)據(jù)包與CAN數(shù)據(jù)幀的封裝轉換。

            表1 計數(shù)器數(shù)據(jù)包與CAN數(shù)據(jù)幀的封裝轉換

            點擊放大圖片

            點擊放大圖片


            為了區(qū)分普通計數(shù)器數(shù)據(jù)包和封裝CAN數(shù)據(jù)幀的特殊計數(shù)器數(shù)據(jù)包,規(guī)定前兩個字節(jié)為0x0101的計數(shù)器數(shù)據(jù)包為封裝CAN協(xié)議數(shù)據(jù)的數(shù)據(jù)包。IOIN和IO.OUT是輸入輸出端子控制字段。CNT0_CNT、CNTl_CNT、CNT2_CNT、CNT3_CNT和CNT4_CNT為五個計數(shù)器,在主站發(fā)往計數(shù)器從站的計數(shù)器數(shù)據(jù)包中這些字段為1表示對應的計數(shù)器清零,為0表示正常計數(shù),其它值沒有定義。

            為了兼容主站的計數(shù)器命令,主站發(fā)往NCSF_CAN網關的計數(shù)器字段不能為0或1。為了達到此目的規(guī)定:CNTO_CNT、CNTI_CNT、CNT2_CNT、CNT3_CNT和CNT4_CNT最高位為1,即這些字段的最小值為Ox80000000。CNT0_CNT的0_15位對應于CAN數(shù)據(jù)幀的id字段的0-15位;CNT0_CNT的16位是擴展報文標志;17位對應為RTR位;CNT0_CNT的18位表示此數(shù)據(jù)包是否包含有效數(shù)據(jù),為1表示此數(shù)據(jù)包封裝了_個CAN數(shù)據(jù)幀,為0表示不含有效數(shù)據(jù)的計數(shù)器報文,直接轉發(fā)此幀即可;CNTO_CNT的19位,標識此數(shù)據(jù)包中信息是否為主站對NCSF_CAN網關的配置控制信息,為1表示配置數(shù)據(jù)用于配置網關的運行參數(shù),為0表示封裝的是CAN數(shù)據(jù)幀。CNT1_CNT的0—15位對應其余的CAN數(shù)據(jù)幀id字段位,這32位足以存儲CAN擴展報文29位長的id字段;CNT1_CNT的16—22位存儲數(shù)據(jù)長度。

            5 NCSF主站對網關數(shù)據(jù)的處理

            引入NCSF-CAN網關后,NCSF主站的軟件結構如圖7所示。用戶層行規(guī)為用戶提供統(tǒng)一的接口服務,而服務映射管理層用于把用戶層行規(guī)的通用接口映射到具體協(xié)議的應用層服務。主站接收到計數(shù)器數(shù)據(jù)包頭部為OxO101時經過CAN數(shù)據(jù)幀封裝轉換處理得到CAN數(shù)據(jù)幀,此幀經過CAN的應用層,通過服務映射管理和用戶層行規(guī)提交給NC系統(tǒng),NC系統(tǒng)由此可以得知CAN總線上的設備狀態(tài)、I/0和傳感器數(shù)據(jù)等信息。NC系統(tǒng)向CAN總線上發(fā)送命令或數(shù)據(jù)時,先通過用戶層行規(guī)和服務映射管理層映射到相應的CAN應用層,然后把需要傳送的CAN數(shù)據(jù)幀封裝到NCSF計數(shù)器數(shù)據(jù)包中,通過NCSF的物理鏈路發(fā)到NCSF-CAN網關,對數(shù)據(jù)包解析和轉換后,即可把相應的命令或數(shù)據(jù)發(fā)送到CAN總線上。

            圖7所示軟件結構也是其它現(xiàn)場總線與NCSF互聯(lián)的基本結構:用戶層行規(guī)為NC系統(tǒng)提供統(tǒng)一的服務接口,而服務映射管理層先把相應的命令或數(shù)據(jù)映射到具體的某一種協(xié)議應用層,然后封裝到NCSF應用層,通過NCSF的物理鏈路發(fā)送到NCSF與此協(xié)議的交互網關,最后發(fā)送到特定的總線上。

            點擊放大圖片

            圖7 引入NCSF-CAN網關后的主站軟件結構

            6 NCSF-CAN網關工作流程

            NCSF-CAN網關設備加電后首先初始化NCSF模塊,接著初始化CAN模塊和數(shù)據(jù)幀封裝轉換模塊。初始化完成后,NCSF-CAN網關等待接收NCSF總線和CAN總線數(shù)據(jù)。為確保NCSF的實時性,NCSFCAN網關接收到每個數(shù)據(jù)包后應該在盡量短的時間內把有效數(shù)據(jù)插入,然后轉發(fā)出去。為此,當收到NCSF數(shù)據(jù)幀后,并不等待CAN總線的響應,僅僅查看當前NCSF發(fā)送隊列中是否有數(shù)據(jù),沒則立即轉發(fā);有則封裝隊頭數(shù)據(jù)后再轉發(fā)。處理NCSF數(shù)據(jù)包的過程如圖8所示。



            評論


            技術專區(qū)

            關閉