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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創(chuàng)信息技術CAN總線在工業(yè)領域的用途

英創(chuàng)信息技術 ? 來源:英創(chuàng)信息技術 ? 作者:佚名 ? 2019-10-31 15:13 ? 次閱讀

CAN總線是什么

CAN是控制器局域網(wǎng)絡(Controller Area Network, CAN)的簡稱,ISO國際標準化的串行通信協(xié)議(ISO 11898),具有實時性強、傳輸距離遠、抗電磁干擾能力強、成本低等特點。CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)嵌入式工業(yè)控制局域網(wǎng)的標準總線,廣泛應用于汽車電控制系統(tǒng)、電梯控制系統(tǒng)、安全監(jiān)測系統(tǒng)、醫(yī)療儀器、紡織機械、船舶運輸?shù)阮I域。

英創(chuàng)主流工控主板ESMARC系列(目前包括4個大型號:ESM6802,ESM6800,ESM335x,ESM928x)均板載兩路CAN總線,用戶可以直接使用板載CAN總線進行功能評估使用。英創(chuàng)ESMARC底板上面的CAN部分如下圖:

英創(chuàng)ESMARC開發(fā)評估底板上的CAN電路部分

CAN總線的工作原理

CAN總線使用串行數(shù)據(jù)傳輸方式,可以以1Mb/s的速度在40m的雙絞線上運行,也可以使用光纜連接。CAN控制器通過組成總線的兩條線(CAN-H和CAN-L)的電位差來確定總線的電平。在任一時刻,總線上都有兩種電平:顯性電平和隱性電平。只要有一個單元輸出顯性電平,總線上即為顯性電平,只有所有的單元都輸出隱性電平,總線上才為隱性電平。

連接在總線上的所有節(jié)點都能夠發(fā)送信息,如果有超過一個節(jié)點在同一時刻發(fā)送信息,有最高優(yōu)先級的節(jié)點獲得發(fā)送的資格,所有其它節(jié)點執(zhí)行接收操作。

CAN總線工作原理

當CAN總線上的一個節(jié)點發(fā)送數(shù)據(jù)時,它以報文形式廣播給網(wǎng)絡中所有節(jié)點。發(fā)送節(jié)點將要發(fā)送的數(shù)據(jù)和自己的標識符傳送給本節(jié)點的CAN芯片,并處于準備狀態(tài),然后在收到總線分配以后,轉為發(fā)送報文狀態(tài)。CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報文格式發(fā)出,這時網(wǎng)上的其它節(jié)點處于接收狀態(tài)。每個處于接收狀態(tài)的節(jié)點對接收到的報文進行檢測,判斷這些報文是否發(fā)給自己,以確定是否接收。每組報文開頭的11位字符為標識符,定義了報文的優(yōu)先級,這種報文格式稱為面向內容的編址方案。在同一系統(tǒng)中標識符是唯一的,不能有兩個節(jié)點發(fā)送具有相同標識符的報文。

CAN模塊支持以下幀類型:數(shù)據(jù)幀,遠程幀,錯誤幀,超載幀,空閑幀。

典型的CAN幀結構

數(shù)據(jù)幀:用于各節(jié)點之間傳送數(shù)據(jù)消息,由7個不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應答場和幀結束。

遠程幀:用于一個節(jié)點請求其他節(jié)點所擁有的數(shù)據(jù)信息。遠程幀的標識符標識了所需數(shù)據(jù)的類型,而被送回的數(shù)據(jù)信息的標識符和遠程幀的標識符完全一致。數(shù)據(jù)源節(jié)點在接收到遠程幀后,根據(jù)遠程幀的標識符判斷所需數(shù)據(jù)信息類型,并在總線空閑時將相應數(shù)據(jù)送出。

遠程幀由6個位場組成:幀起始、仲裁場、控制場、CRC場、應答場和幀結束。

錯誤幀:為進行錯誤界定,每個CAN控制器均設有兩個錯誤計數(shù)器:發(fā)送錯誤計數(shù)器(TEC)和接收錯誤計數(shù)器(REC)。CAN總線上的所有節(jié)點,按其錯誤計數(shù)器數(shù)值情況,可分為3個狀態(tài):錯誤活動狀態(tài)、錯誤認可狀態(tài)和總線關閉狀態(tài)。

上電復位后,兩個錯誤計數(shù)器的數(shù)值都為0,節(jié)點處于錯誤活動狀態(tài),可正常參與總線通信。檢測到錯誤時,節(jié)點發(fā)送活動錯誤標志,當錯誤計數(shù)器任一數(shù)值超過127時,節(jié)點進入錯誤認可狀態(tài)。處于錯誤狀態(tài)的節(jié)點可以參與總線通信,但出錯后會發(fā)送認可錯誤標志,并在開始進一步發(fā)送數(shù)據(jù)之前等待一段附加時間(暫停發(fā)送場)。當發(fā)送錯誤計數(shù)器和接收計數(shù)器均小于或等于127時,節(jié)點從錯誤認可狀態(tài)再次變?yōu)殄e誤活動狀態(tài)。若發(fā)送錯誤計數(shù)器數(shù)值超過255,則節(jié)點進入總線關閉狀態(tài),無法收發(fā)數(shù)據(jù)。當軟件執(zhí)行操作模式請求命令,并等待128次總線釋放(BusˉFree)序列(11位連續(xù)隱性位)后,節(jié)點從總線脫離狀態(tài)重新回到錯誤活動狀態(tài)。

錯誤幀由兩個不同的位場組成,第一個場由來自不同的節(jié)點的錯誤標志疊加而成,第二個場為錯誤界定符。

超載幀:超載幀由超載標志和超載界定符組成。超載標志由6個顯性位組成,其格式與活動錯誤標志相同。超載界定符由8個隱性位組成,其格式與錯誤界定符相同。導致發(fā)送超載幀的兩個條件為:

(1)一個接收節(jié)點內部接收條件未準備好,要求延遲下一個數(shù)據(jù)幀或遠程幀發(fā)送;

(2)在間歇場(3位)檢測到顯性位。

當超載標志發(fā)出后,每個節(jié)點監(jiān)視總線狀態(tài),直至檢測到從顯性至隱性位的跳變,此時,所有的節(jié)點均己完成了超載標志的發(fā)送,隨后所有節(jié)點開始發(fā)送8個隱性位組成的超載界定符。

空閑幀:數(shù)據(jù)幀及遠程幀與前幀消息之間的間隔被稱為空閑幀的場隔開,空閑幀由間歇場和總線空閑場組成,前面已經(jīng)發(fā)送過報文的錯誤節(jié)點還包括暫停發(fā)送場。間歇場由3個隱性位組成,在此期間,CAN節(jié)點不進行幀發(fā)送。間歇場的存在使CAN控制器在下次消息發(fā)送前有時間進行內部處理操作。總線空閑場可以為任意長度,此時總線處于空閑狀態(tài),允許任何節(jié)點開始報文發(fā)送。等待報文發(fā)送的節(jié)點緊隨間歇場后啟動報文發(fā)送,即在空閑場第一位期間就啟動報文發(fā)送。

錯誤認可節(jié)點完成一個報文發(fā)送后,在開始另一次報文發(fā)送或進入總線空閑狀態(tài)之前,緊隨間歇場發(fā)送8個隱性位的暫停發(fā)送場。發(fā)送暫停發(fā)送場期間,若其他節(jié)點開始發(fā)送報文,則本節(jié)點停止送出暫停發(fā)送場,并變?yōu)閳笪?a target="_blank">接收器

CAN總線電路特點

下圖是一個典型的CAN總線擴展電路(英創(chuàng)ETA704 CAN總線擴展模塊):

典型的CAN接口電路

由圖中可以看出,CAN總線收發(fā)管腳通過磁耦器件ADuM1201隔離后,和CAN驅動芯片TJA1050連接,就組成了一個典型的CAN總線通訊電路。帶隔離CAN總線通訊模塊的CAN收發(fā)器端的所有信號電源與其它部分完全隔離,有效保護了電路的安全。需要注意的是如果扁平帶線過長,會影響高速信號的完整性,所以在評估時使用的連接線盡量短一些,避免出現(xiàn)問題。

CAN總線在英創(chuàng)主板平臺上的應用

英創(chuàng)EM335x工控主板套件 + ETA704 CAN擴展模塊擴展4路CAN

英創(chuàng)主板可以通過主板自帶和外擴功能模塊,支持和管理多路CAN通信。英創(chuàng)工控主板作為核心控制平臺,管理和控制CAN接口與下位設備進行通訊,從而實現(xiàn)實時數(shù)據(jù)處理監(jiān)控等應用。歷年來,大量用戶使用英創(chuàng)主板進行CAN通信相關應用,英創(chuàng)也累積了豐富的工程經(jīng)驗。下面整理出了英創(chuàng)網(wǎng)站發(fā)表的相關技術文檔供用戶參考。雖然有一些方案文檔中提到的英創(chuàng)主板是較老的型號,用戶在新產(chǎn)品開發(fā)的時候未必會使用這些老主板產(chǎn)品,但是文中的軟硬件使用技巧、編程技巧和方法等技術細節(jié),是值得用戶參考或者直接使用的。

應用方案

WinCE系統(tǒng)雙CAN構建方案低成本嵌入式Linux CAN應用方案

使用方法與技巧

CAN接口COM組件在WinCE平臺上的實現(xiàn)CAN接口COM組件在C#語言中的使用

基于SJA1000的CAN通訊接口函數(shù)使用說明EM9170嵌入式主板CAN通訊接口使用說明

SJA1000的CAN通訊接口函數(shù)擴展應用說明工控主板EM9170的CAN通訊應用說明

EM9287 Linux Socket CAN驅動簡介C/C#開發(fā)基于WEC7的CAN通訊應用

EM335x工控主板多路CAN總線擴展方案介紹英創(chuàng)WinCE主板CAN接口數(shù)據(jù)接收性能測試

英創(chuàng)WinCE主板新CAN驅動使用說明英創(chuàng)新CAN驅動接口調用方法及說明

關于新CAN驅動的錯誤幀定義ESM6802 Android版支持雙CAN通信


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6081

    瀏覽量

    34936
  • 安卓
    +關注

    關注

    5

    文章

    2107

    瀏覽量

    56694
收藏 人收藏

    評論

    相關推薦

    創(chuàng)支持Linux高級客戶自行移植內核

    上市)  該項服務具體說明和實施流程參見:支持客戶進行Linux移植  需要該服務的客戶需與創(chuàng)簽訂技術保密協(xié)議,并承諾嚴格履行協(xié)議:創(chuàng)
    發(fā)表于 01-18 13:52

    創(chuàng)信息技術ARM9工控板遠程監(jiān)控領域的應用

    創(chuàng)ARM9工控主板的數(shù)據(jù)采集功能通常采用板上的GPIO實現(xiàn)數(shù)字輸入輸出、通過精簡ISA總線擴展相應的AD或DA實現(xiàn)模擬數(shù)據(jù)的輸入輸出。
    的頭像 發(fā)表于 11-12 10:04 ?1622次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>ARM9工控板<b class='flag-5'>在</b>遠程監(jiān)控<b class='flag-5'>領域</b>的應用

    創(chuàng)信息技術ISA總線的CE設備驅動程序介紹

     創(chuàng)公司推出的系列ARM9工控主板是面向工業(yè)智能設備的高性價比ARM9+WinCE平臺,主板上不僅配置了常規(guī)的標準通訊接口,如以太、串口、USB、CAN通訊接口等,最有特色的還配置了
    的頭像 發(fā)表于 11-12 10:17 ?1512次閱讀

    創(chuàng)信息技術CAN接口COM組件C#語言領域應用

     創(chuàng)ARM9工控主板的一個很大的特色就是提供了標準的CAN總線通訊接口,客戶可以方便地工業(yè)現(xiàn)
    的頭像 發(fā)表于 11-12 10:34 ?2304次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b><b class='flag-5'>CAN</b>接口COM組件<b class='flag-5'>在</b>C#語言<b class='flag-5'>領域</b>應用

    創(chuàng)信息技術SJA1000的CAN通訊接口函數(shù)介紹

    創(chuàng)ARM9系列嵌入式主板一大特色就是提供了CAN接口,并實現(xiàn)了相應的驅動程序,用戶只需直接調用CAN_API函數(shù)即可實現(xiàn)CAN數(shù)據(jù)報文的通
    的頭像 發(fā)表于 01-14 15:04 ?2493次閱讀

    創(chuàng)信息技術EM335x工控主板多路CAN總線擴展方案介紹

    。EM335x核心板已經(jīng)自帶了兩路CAN總線,默認的配置為一路CAN總線,如果需要兩路CAN總線
    的頭像 發(fā)表于 02-03 10:08 ?1896次閱讀

    創(chuàng)信息技術WinCE主板CAN接口數(shù)據(jù)接收性能測試介紹

    創(chuàng)公司嵌入式主板產(chǎn)品中,高端的335x主板系列及低端的ESM9287主板均可支持2路CAN總線標準接口。本文提供CE平臺的EM3352和
    的頭像 發(fā)表于 02-04 11:39 ?1412次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>WinCE主板<b class='flag-5'>CAN</b>接口數(shù)據(jù)接收性能測試介紹

    創(chuàng)信息技術CAN驅動接口調用方法及說明

    用戶可從創(chuàng)開發(fā)光盤中或聯(lián)系創(chuàng)工程師獲得CAN例程源碼。參考例程使用
    的頭像 發(fā)表于 02-05 10:26 ?1280次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>新<b class='flag-5'>CAN</b>驅動接口調用方法及說明

    創(chuàng)信息技術ESM6802 Android版支持雙CAN通信簡介

    2017年8月,創(chuàng)ESM6802 Android基礎版之上,完善了對雙CAN接口的支持。 CAN接口的工作思路大致如下圖所示: 圖1 A
    的頭像 發(fā)表于 02-06 10:57 ?2053次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>ESM6802 Android版支持雙<b class='flag-5'>CAN</b>通信簡介

    創(chuàng)信息技術JAVA操作創(chuàng)主板SPI接口簡介

    2017年9月,創(chuàng)Linux的文件系統(tǒng)中移植了針對嵌入式Linux的JRE(Java Runtime Environment),能夠支持Java應用程序的運行。由于Java語言不能直接訪問硬件
    的頭像 發(fā)表于 02-06 11:09 ?1779次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>主板SPI接口簡介

    創(chuàng)信息技術JAVA操作創(chuàng)主板I2C接口簡介

    2017年9月,創(chuàng)Linux的文件系統(tǒng)中移植了針對嵌入式Linux的JRE(Java Runtime Environment),能夠支持Java應用程序的運行。由于Java語言不能直接訪問硬件
    的頭像 發(fā)表于 02-06 11:06 ?1560次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>主板I2C接口簡介

    創(chuàng)信息技術主板Windows CE環(huán)境中的串口配置

    異步串口UART是工業(yè)領域使用最廣泛,技術最為成熟的接口。Windows CE環(huán)境的創(chuàng)主板中
    的頭像 發(fā)表于 02-06 11:06 ?1090次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>主板<b class='flag-5'>在</b>Windows CE環(huán)境中的串口配置

    創(chuàng)信息技術工控主板產(chǎn)品選型指南介紹

    成都創(chuàng)信息技術有限公司是一家專注于嵌入式工控主板研發(fā)、銷售與服務的高科技公司,嵌入式領域已有18年的從業(yè)經(jīng)歷。
    的頭像 發(fā)表于 02-06 11:31 ?1582次閱讀

    創(chuàng)信息技術精簡ISA總線WinCE編程簡介

    據(jù)線加上4條總線控制信號,即可實現(xiàn)對外部數(shù)據(jù)的快速讀寫,異步訪問的最高速率5MB/s左右。同步訪問需要再使能一條總線時鐘信號(共13條信號),可實現(xiàn)高達12MB/s的數(shù)據(jù)傳輸。精簡ISA總線
    的頭像 發(fā)表于 02-11 16:55 ?1186次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>精簡ISA<b class='flag-5'>總線</b>WinCE編程簡介

    創(chuàng)信息技術6路獨立CAN總線的實現(xiàn)方案簡介

    CAN(Controller Area Network)即控制器局域網(wǎng),由于具有高性能、高可靠性以及簡單的網(wǎng)絡結構,工業(yè)系統(tǒng)中越來越受到人們的重視,并迅速成為了目前國際上應用最廣泛的現(xiàn)場總線
    的頭像 發(fā)表于 02-12 10:53 ?1910次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術</b>6路獨立<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的實現(xiàn)方案簡介