0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CANOpen系列教程01_ 初識(shí)CAN與CANOpen及相關(guān)內(nèi)容

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-07 16:15 ? 次閱讀

1寫在前面

我之前學(xué)習(xí)CANOpen的時(shí)候,網(wǎng)上有用的資料極少,走了不少彎路。到目前為止,網(wǎng)上關(guān)于CANOpen的資料依然很少。所以,特地寫下該系列教程,幫助初學(xué)者跨過這道坎。

從我個(gè)人學(xué)習(xí)CANOpen的經(jīng)歷來看,學(xué)會(huì)使用CANOpen難度其實(shí)不大。難點(diǎn)在于需要掌握的基礎(chǔ)知識(shí)很多,而且許多都有關(guān)聯(lián)性,容易把人繞暈。

那么,我希望通過結(jié)合之前我的學(xué)習(xí)經(jīng)歷,以及工作經(jīng)驗(yàn),站在小白的角度寫下該系列教程。當(dāng)然,該教程由我個(gè)人編輯并整理,難免有些廢話,或者錯(cuò)誤,還請(qǐng)諒解。

2

初識(shí)CAN與CANOpen

2.1 什么是CAN?

CAN:是Controller Area Network的縮寫,即控制器局域網(wǎng)絡(luò),屬于工業(yè)現(xiàn)場(chǎng)總線,是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。

從OSI(Open System Interconnection開放系統(tǒng)互聯(lián))7層網(wǎng)絡(luò)模型的角度來看,CAN現(xiàn)場(chǎng)總線僅僅定義了第 1 層(物理層)和第 2 層(數(shù)據(jù)鏈路層)。

而在實(shí)際設(shè)計(jì)中,這兩層完全由硬件實(shí)現(xiàn),設(shè)計(jì)人員無需再為此開發(fā)相關(guān)軟件或固件(Firmware),只要了解如何調(diào)用相關(guān)的接口寄存器,即可完成對(duì)CAN的控制。

上面介紹的內(nèi)容可能太官方,初學(xué)者可能看了之后還是不明白。簡(jiǎn)單的說:CAN總線就是一層硬件協(xié)議。比如:差分信號(hào)電平的定義、數(shù)據(jù)幀的定義等等。

PS:初學(xué)者可以結(jié)合UART來理解,比如UART串口發(fā)送一個(gè)字符’A’,它就是一種串行通信的方式。

2.2 什么是CANOpen?

CANopen是一種架構(gòu)在CAN控制局域網(wǎng)上的高層軟件通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場(chǎng)總線協(xié)議。

CANopen協(xié)議是在20世紀(jì)90年代末,由總部位于德國紐倫堡的 CiA 組織——CAN-in-Automation,在 CAL(CAN Application Layer)的基礎(chǔ)上發(fā)展而來。

所以,關(guān)于CANOpen協(xié)議內(nèi)容請(qǐng)參看:http://www.can-cia.org

由于CAN總線只定義了OSI中的物理層和數(shù)據(jù)鏈路層,因此對(duì)于不同的應(yīng)用出現(xiàn)了不同的【應(yīng)用層協(xié)議】,為了使不同廠商產(chǎn)品能夠相互兼容,世界范圍內(nèi)需要通用的CAN應(yīng)用層通信協(xié)議。

在過去的二三十年中涌現(xiàn)出許多的協(xié)議,不過到現(xiàn)在為止能夠廣泛被承認(rèn)的協(xié)議卻不多,現(xiàn)在應(yīng)用較廣的CAN應(yīng)用層協(xié)議主要有以下三種:

CANopen協(xié)議:主要應(yīng)用在汽車、工業(yè)控制、自動(dòng)化儀表等領(lǐng)域,目前由 CIA 負(fù)責(zé)管理和維護(hù);

J1939協(xié)議:CAN總線在商用車領(lǐng)域占有絕大部分市場(chǎng)份額的應(yīng)用層協(xié)議,由美國機(jī)動(dòng)車工程師學(xué)會(huì)發(fā)起,現(xiàn)已在全球范圍內(nèi)得到廣泛的應(yīng)用;

DeviceNet協(xié)議:在美國等地占有相當(dāng)大的市場(chǎng)份額,主要用于工業(yè)通信及控制和儀器儀表等領(lǐng)域。

而本文說的CANOpen也是目前應(yīng)用較廣的一種協(xié)議。簡(jiǎn)單的說,CANOpen就是CAN總線應(yīng)用層協(xié)議。

PS:學(xué)習(xí)CANOpen應(yīng)用層協(xié)議之前請(qǐng)務(wù)必先了解CAN總線協(xié)議。

3

CAN總線特點(diǎn)

CAN總線采用差分信號(hào)傳輸,通常情況下只需要兩根信號(hào)線(CAN-H和CAN-L)就可以進(jìn)行正常的通信。在干擾比較強(qiáng)的場(chǎng)合,還需要用到屏蔽地即CAN-G(主要功能是屏蔽干擾信號(hào)), CAN協(xié)議推薦用戶使用屏蔽雙絞線作為CAN總線的傳輸線。

CAN總線通信的優(yōu)勢(shì)和特點(diǎn):

A.CAN總線上任意節(jié)點(diǎn),均可在任意時(shí)刻主動(dòng)的向其它節(jié)點(diǎn)發(fā)起通信,但在同一時(shí)刻優(yōu)先級(jí)高的節(jié)點(diǎn)能獲得總線的使用權(quán)。

B.標(biāo)準(zhǔn)CAN總線傳輸波特率可達(dá)到1Mbps。在5Kbps的通信波特率下最遠(yuǎn)傳輸距離可以達(dá)到 10Km,即使在1Mbps的波特率下也能傳輸40m的距離。

C.CAN總線定義使用了硬件報(bào)文濾波,可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)及點(diǎn)對(duì)多點(diǎn)的通信方式,不需要軟件來控制。

D.CAN 總線所掛接的節(jié)點(diǎn)數(shù)量主要取決于CAN總線收發(fā)器或驅(qū)動(dòng)器,目前的驅(qū)動(dòng)器一般都可以使同一網(wǎng)絡(luò)容量達(dá)到110個(gè)節(jié)點(diǎn)。

E.CAN總線通信介質(zhì)可采用雙絞線、同軸電纜或光纖,選擇極為靈活??纱蟠蠊?jié)約組網(wǎng)成本。

當(dāng)然,CAN總線的優(yōu)勢(shì)還有許多,當(dāng)你掌握之后就會(huì)明白為什么CAN總線應(yīng)用得如此廣泛了。

4

教程規(guī)劃

CAN總線及CANOpen協(xié)議相關(guān)的內(nèi)容相對(duì)比較多,如果每一個(gè)細(xì)節(jié)知識(shí)點(diǎn)都寫出來,可能花掉我業(yè)余時(shí)間寫一年也寫不完。

我寫該教程目的在于引導(dǎo)初學(xué)者入門,我會(huì)結(jié)合實(shí)例代碼讓大家邊學(xué)邊理解,至于實(shí)際項(xiàng)目編程應(yīng)用不一定講述的很多(這個(gè)看后面情況)。

首先從CAN底層講起,再到CANOpen協(xié)議相關(guān)基礎(chǔ)知識(shí),最后實(shí)際應(yīng)用。當(dāng)然,中間每一個(gè)環(huán)節(jié)內(nèi)容相對(duì)可能較多,也有可能會(huì)遺漏部分內(nèi)容。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15879

    瀏覽量

    175336
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2663

    瀏覽量

    462430
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    235

    瀏覽量

    43414
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DeviceNet轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)(DeviceNet轉(zhuǎn)CANopen

    一,設(shè)備主要功能 捷米特JM-DNT-COP網(wǎng)關(guān)實(shí)現(xiàn)DeviceNet總線和CANopen網(wǎng)絡(luò)連接起來。本網(wǎng)關(guān)連接到DeviceNet總線中作為從站使用,連接到CANopen總線中作為主站
    的頭像 發(fā)表于 09-10 10:16 ?129次閱讀
    DeviceNet轉(zhuǎn)<b class='flag-5'>CANopen</b>協(xié)議網(wǎng)關(guān)(DeviceNet轉(zhuǎn)<b class='flag-5'>CANopen</b>)

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用?

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用? CANopen以太網(wǎng)網(wǎng)關(guān)是一種連接CANopen總線和以太網(wǎng)的設(shè)備,它提供了在CANopen網(wǎng)絡(luò)和以太網(wǎng)之間傳輸數(shù)據(jù)的功能。本文將詳細(xì)介紹
    的頭像 發(fā)表于 02-02 16:59 ?3036次閱讀

    EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)在工業(yè)領(lǐng)域的應(yīng)用方法

    CANopen網(wǎng)關(guān)進(jìn)行配置。配置內(nèi)容包括EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)的IP地址、端口號(hào)、轉(zhuǎn)換規(guī)則等。 4.連接設(shè)備:將需要通訊的設(shè)備連接到EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)上
    發(fā)表于 01-31 14:54

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服驅(qū)動(dòng)器的應(yīng)用
    的頭像 發(fā)表于 01-10 10:50 ?627次閱讀
    Profinet協(xié)議轉(zhuǎn)換為<b class='flag-5'>CanOpen</b>協(xié)議來連接<b class='flag-5'>CanOpen</b>伺服驅(qū)動(dòng)器的應(yīng)用

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服驅(qū)動(dòng)器的應(yīng)用,以下是一些運(yùn)用的基本步驟:系列
    發(fā)表于 01-10 10:29

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來連接CanOpen伺服驅(qū)動(dòng)器的應(yīng)用

    局域網(wǎng)(CAN)網(wǎng)絡(luò)的通信協(xié)議,被廣泛應(yīng)用于汽車和其他嵌入式系統(tǒng)中。對(duì)于將Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議以鏈接臺(tái)達(dá)B3系列伺服驅(qū)動(dòng)器的應(yīng)用,以下是一些運(yùn)用的基本步驟:系列
    的頭像 發(fā)表于 01-10 10:27 ?332次閱讀

    通過CANopen轉(zhuǎn)Modbus TCP網(wǎng)關(guān)的伺服系統(tǒng)

    CANopen協(xié)議與伺服電機(jī)進(jìn)行通訊。CANopen協(xié)議是一種先進(jìn)的、高效的通訊協(xié)議,它基于CAN總線技術(shù),能夠?qū)崿F(xiàn)設(shè)備之間的快速、穩(wěn)定通訊。在CANopen協(xié)議中,從站設(shè)備需要配置控
    發(fā)表于 01-02 16:51

    ModbusTCP轉(zhuǎn)CANopen網(wǎng)關(guān)在樓宇消防中的應(yīng)用

    Modbus TCP,而樓宇自動(dòng)化系統(tǒng)則通常采用CANopen協(xié)議。Modbus TCP是一種串行通信協(xié)議,被廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域,而CANopen是一種基于控制器局域網(wǎng)(CAN)協(xié)議的開放式標(biāo)準(zhǔn)
    發(fā)表于 12-25 16:29

    耐用通信Ethercat轉(zhuǎn)canopen網(wǎng)關(guān)在鋼鐵行業(yè)的應(yīng)用案例

    ——將用戶canopen設(shè)備接入國產(chǎn) PLC 控制系統(tǒng) 關(guān)鍵詞:Ethercat轉(zhuǎn)canopen Ethercat PLC Canopen臺(tái)達(dá)伺服 ? 現(xiàn)場(chǎng)應(yīng)用Ethercat轉(zhuǎn)canopen
    的頭像 發(fā)表于 12-25 10:19 ?389次閱讀
    耐用通信Ethercat轉(zhuǎn)<b class='flag-5'>canopen</b>網(wǎng)關(guān)在鋼鐵行業(yè)的應(yīng)用案例

    工業(yè)通訊中CANOPEN轉(zhuǎn)EtherCAT的轉(zhuǎn)換

    CANOPEN轉(zhuǎn)EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)是一款能夠?qū)?b class='flag-5'>CANOPEN接口設(shè)備連接到EtherCAT網(wǎng)絡(luò)系統(tǒng)的產(chǎn)品。該網(wǎng)關(guān)作為EtherCAT網(wǎng)絡(luò)的從站,可以將CANOPEN設(shè)備集成到EtherCAT控制系統(tǒng)中,實(shí)現(xiàn)EtherC
    的頭像 發(fā)表于 12-12 11:33 ?342次閱讀
    工業(yè)通訊中<b class='flag-5'>CANOPEN</b>轉(zhuǎn)EtherCAT的轉(zhuǎn)換

    工業(yè)通訊中CANOPEN轉(zhuǎn)EtherCAT的轉(zhuǎn)換

    EtherCAT控制系統(tǒng)中,實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)與CANOPEN網(wǎng)絡(luò)的數(shù)據(jù)交互。它支持標(biāo)準(zhǔn)的CAN2.0A接口,符合CANOPEN CiA 401標(biāo)準(zhǔn),同時(shí)具有2個(gè)RJ45以太網(wǎng)接口,支持100BASE-TX
    發(fā)表于 12-12 11:31

    ModbusTCP轉(zhuǎn)CanOpen網(wǎng)關(guān)助力工控行業(yè)

    在工業(yè)自動(dòng)化領(lǐng)域,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)一直扮演著至關(guān)重要的角色。其中,modbustcp轉(zhuǎn)canopen網(wǎng)關(guān)以其獨(dú)特的優(yōu)勢(shì),成為不同設(shè)備間通信的橋梁。這款網(wǎng)關(guān)將modbus TCP協(xié)議的設(shè)備與CANopen
    發(fā)表于 12-11 10:53

    Modbus轉(zhuǎn)CANopen協(xié)議相互轉(zhuǎn)換在工業(yè)中的作用

    在工業(yè)自動(dòng)化領(lǐng)域,Modbus和CANopen協(xié)議都是非常常見的通信協(xié)議。Modbus是一種串行通信協(xié)議,常用于連接PLC和傳感器/執(zhí)行器。而CANopen是一種基于CAN總線的應(yīng)用層協(xié)議,廣泛應(yīng)用
    發(fā)表于 12-08 17:02

    TMS320F28335學(xué)習(xí)之中斷和定時(shí)器的相關(guān)內(nèi)容

    本次總結(jié)為中斷和定時(shí)器的相關(guān)內(nèi)容。除了基本的寄存器配置,初始化,中斷主要是掌握三級(jí)中斷制,定時(shí)器主要關(guān)注定時(shí)器的工作原理和中斷時(shí)間的設(shè)置。
    的頭像 發(fā)表于 11-08 10:17 ?2066次閱讀
    TMS320F28335學(xué)習(xí)之中斷和定時(shí)器的<b class='flag-5'>相關(guān)內(nèi)容</b>

    LDO相關(guān)內(nèi)容介紹

    在電壓轉(zhuǎn)換電路中,LDO和DC-DC電路是最常用的兩種方式,本篇主要介紹LDO相關(guān)內(nèi)容。 LDO是線性電源的一種,它可以實(shí)現(xiàn)電源電壓的轉(zhuǎn)換,不過主要用在降壓領(lǐng)域。它的全稱是Low Dropout
    的頭像 發(fā)表于 11-06 11:09 ?531次閱讀
    LDO<b class='flag-5'>相關(guān)內(nèi)容</b>介紹