新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > CANOpen協(xié)議如何保證通訊不丟幀?

        CANOpen協(xié)議如何保證通訊不丟幀?

        作者: 時(shí)間:2017-06-08 來源:網(wǎng)絡(luò) 收藏

        摘要:如何讓現(xiàn)場(chǎng)更加穩(wěn)定可靠,不丟失,這向來都是工程師們難以解決的問題。本文將運(yùn)用國際規(guī)范的通訊協(xié)議來展示怎樣才能搭建好握手通訊。

        本文引用地址:http://www.104case.com/article/201706/352577.htm


        (Service data object)
        主要用于CANopen主站對(duì)從節(jié)點(diǎn)的參數(shù)配置。服務(wù)確認(rèn)是的最大的特點(diǎn),為每個(gè)消息都生成一個(gè)應(yīng)答,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。如圖 1所示,這就像快遞,需要收方簽收后,給寄方發(fā)送一個(gè)已經(jīng)簽收的確認(rèn)才算完成一次投遞。

        圖 1 SDO與快遞簽收

        在一個(gè)CANopen系統(tǒng)中,通常CANopen從節(jié)點(diǎn)作為SDO服務(wù)器,CANopen主節(jié)點(diǎn)作為客戶端(稱為CS通訊)。SDO客戶端通過索引和子索引,能夠訪問SDO服務(wù)器上的對(duì)象字典。這樣CANopen主節(jié)點(diǎn)可以訪問從節(jié)點(diǎn)的任意對(duì)象字典項(xiàng)的參數(shù),并且SDO也可以傳輸任何長度的數(shù)據(jù)(當(dāng)數(shù)據(jù)長度超過4個(gè)字節(jié)時(shí)就拆分成多個(gè)報(bào)文來傳輸)。


        (communication principle)
        SDO的非常單一,發(fā)送方(客戶端)發(fā)送CAN-ID為600h+Node-ID的報(bào)文,其中Node-ID為接收方(服務(wù)器)的節(jié)點(diǎn)地址,數(shù)據(jù)長度均為8字節(jié);
        接收方(服務(wù)器)成功接收后,回應(yīng)CAN-ID為580h+Node-ID的報(bào)文。這里的Node-ID依然是接收方(服務(wù)器)的節(jié)點(diǎn)地址,數(shù)據(jù)長度均為8字節(jié)。如圖 2所示。

        圖 2 SDO

        (Expedited SDO protocol)
        最常用最常見的是快速SDO,所謂快速,就是1次來回就搞定。前提是讀取和寫入的值不能大于32位。如圖 3所示,為的示意圖。命令中直接包含了要讀寫的索引、子索引、數(shù)據(jù)。可謂直接命中。

        快速SDO的難點(diǎn)在于CS命令符的記憶,需要讀者收藏這個(gè)示意圖。

        圖 3 快速SDO示意圖

        通過快速SDO,可以直接對(duì)CANopen節(jié)點(diǎn)的對(duì)象字典中的值進(jìn)行讀取和修改,所以在做參數(shù)配置之外,也經(jīng)常作為關(guān)鍵性數(shù)據(jù)傳輸之用。比如CANopen控制機(jī)器人的電機(jī)轉(zhuǎn)動(dòng)角度時(shí),就使用SDO來傳輸,保證可靠到達(dá)。


        普通SDO協(xié)議(Normal SDO protocol)
        當(dāng)需要傳輸?shù)闹党^32位時(shí),就不能使用快速SDO傳輸。必須使用普通SDO進(jìn)行分幀傳輸。在應(yīng)用中較少用到,一般用于CANopen節(jié)點(diǎn)的程序固件升級(jí),或者做網(wǎng)關(guān)轉(zhuǎn)換MVB總線之類數(shù)據(jù)最大可達(dá)256位的應(yīng)用。


        普通SDO協(xié)議難點(diǎn)在于分包邏輯與CS命令符的變化。依然難以記憶,需要讀者將以下示意圖進(jìn)行收藏。


        當(dāng)然普通SDO的CAN幀ID與快速SDO相同,依然發(fā)送方(客戶端)發(fā)送的報(bào)文CAN-ID為600h+Node-ID,接收方(服務(wù)器)成功接收后,回應(yīng)CAN-ID為580h+Node-ID的報(bào)文。


        下載協(xié)議download protocol 如圖 4所示。

        圖 4 普通SDO下載協(xié)議

        上傳協(xié)議upload protocol 如圖 5所示。

        圖 5 普通SDO上傳協(xié)議



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 天水市| 安顺市| 轮台县| 奉节县| 柏乡县| 离岛区| 鹤峰县| 闻喜县| 福安市| 延川县| 西昌市| 武清区| 丹东市| 临安市| 东至县| 揭西县| 凤庆县| 日喀则市| 淳安县| 东丽区| 岳普湖县| 枣强县| 滦南县| 库车县| 北碚区| 阳朔县| 黑河市| 东乌珠穆沁旗| 宜城市| 南平市| 台北县| 石屏县| 金华市| 汽车| 美姑县| 高阳县| 万载县| 刚察县| 正蓝旗| 新野县| 昭觉县|