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

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

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

CAN為什么比RS-485更好?

硬件攻城獅 ? 來源:玩轉(zhuǎn)單片機(jī)與嵌入式 ? 2023-03-27 09:27 ? 次閱讀

前言

RS-485CAN都是串行通信協(xié)議。它們?cè)试S在單個(gè)系統(tǒng)中布置多點(diǎn)設(shè)備,大大縮短了電纜長(zhǎng)度,差分設(shè)計(jì)適用于強(qiáng)干擾的環(huán)境,兩者都使用120 Ω電阻端接,并配有內(nèi)部過壓電路以進(jìn)行故障保護(hù)。

RS-485和CAN有太多的共同點(diǎn),但無(wú)疑是不一樣的。

RS-485更多的是應(yīng)用在業(yè)領(lǐng)域,CAN被廣泛設(shè)計(jì)用于汽車行業(yè)。但現(xiàn)在,不僅汽車行業(yè)廣泛使用CAN,而且航空航天等其他行業(yè)也開始轉(zhuǎn)向CAN。

但是要了解使這些協(xié)議與眾不同的差異,我們必須知道它們到底是什么。

先簡(jiǎn)要介紹一下RS-485。

RS-485:自20世紀(jì)80年代中期以來一直存在的串行通信協(xié)議。最初是為工業(yè)市場(chǎng)的應(yīng)用而定義的,或者更好的說,它是為工業(yè)應(yīng)用而開發(fā)的。

RS-485由電信行業(yè)協(xié)會(huì)和電子工業(yè)聯(lián)盟聯(lián)合發(fā)布,因此它也被稱為TIA / EIA-485。但更能被業(yè)界接受的名字是RS-485,它的應(yīng)用在:

運(yùn)動(dòng)控制設(shè)備

旋轉(zhuǎn)編碼器接口

計(jì)算機(jī)自動(dòng)化系統(tǒng)(鍵盤、鼠標(biāo)、打印機(jī)等)

工業(yè)控制系統(tǒng)

劇院應(yīng)用

PLC

雖然RS-485被應(yīng)用到多種場(chǎng)合,但越來越多的行業(yè)似乎轉(zhuǎn)向CAN用于其工業(yè)機(jī)械。

為什么要“切換”到CAN總線?

RS-485未能成為通信協(xié)議。它只是被證明是一個(gè)電氣接口。它確實(shí)提供了多點(diǎn)通信功能,但僅適用于至少具有UART的設(shè)備。 01

一主多從系統(tǒng)

從技術(shù)上講,它是一個(gè)半雙工系統(tǒng),一次只能有一個(gè)設(shè)備可以傳輸,其他設(shè)備必須監(jiān)聽。因此,它只能為多個(gè)節(jié)點(diǎn)串行地進(jìn)行數(shù)據(jù)交換提供基本的物理鏈路。即:一主多從。

9ec1be98-cbd3-11ed-bfe3-dac502259ad0.png

與CAN不同,CAN總線的設(shè)備,每個(gè)節(jié)點(diǎn)都可以充當(dāng)主節(jié)點(diǎn),并確切地知道如何以及何時(shí)發(fā)送信號(hào)。

RS-485遵循典型的主從拓?fù)浣Y(jié)構(gòu)。當(dāng)通信處于活動(dòng)狀態(tài)時(shí),所有從站/節(jié)點(diǎn)都接收主站單元發(fā)送的數(shù)據(jù)。如果一個(gè)“從機(jī)”必須回答“主機(jī)”的信息,它就必須切換為“主機(jī)”,這樣才能發(fā)送它的信息。

這種連接的一個(gè)特殊功能是,連接到線路的所有設(shè)備都會(huì)接收傳遞的所有內(nèi)容。當(dāng)設(shè)備必須發(fā)送時(shí),它通過RTS信號(hào)(傳輸請(qǐng)求)激活其傳輸線。傳輸數(shù)據(jù)的元素也接收傳輸?shù)臄?shù)據(jù)。

當(dāng)RS-485總線出現(xiàn)多個(gè)設(shè)備同時(shí)發(fā)送消息時(shí),會(huì)導(dǎo)致過載或可能信號(hào)碰撞,進(jìn)而使整個(gè)消息無(wú)效或?qū)е聰?shù)據(jù)錯(cuò)誤。 02

容錯(cuò)機(jī)制

對(duì)于RS-485,這還不是它唯一的缺點(diǎn)。在定義方面,沒有明確規(guī)定以下的內(nèi)容:

尋址節(jié)點(diǎn)的過程

避免數(shù)據(jù)沖突的方法

框架結(jié)構(gòu)

溝通程序

錯(cuò)誤檢測(cè)等,

3個(gè)理由了解為什么CAN總線更好

CAN總線的顯著優(yōu)勢(shì)在于它高度靈活并提供許多獨(dú)特的功能,從而導(dǎo)致其他行業(yè)的采用率大幅增加。

CAN總線是一種雙線、多點(diǎn)的串行通信標(biāo)準(zhǔn)協(xié)議。就像RS-485一樣,通過CAN的信號(hào)以CAN-H和CAN-L作為差分電壓流動(dòng)。

差分信號(hào)的傳輸類似于RS-485,但事實(shí)差異很大。

CAN總線的優(yōu)勢(shì)主要體現(xiàn)在以下三個(gè)方面:

01

消息傳輸

CAN指定了總線上的完整數(shù)據(jù)包,而不僅僅是物理層。 CAN硬件自動(dòng)處理數(shù)據(jù)包的開始/結(jié)束檢測(cè)、沖突檢測(cè)、回退、重試、校驗(yàn)和生成、驗(yàn)證,以及與處理硬件故障相關(guān)的更多功能。用戶只需要傳輸消息標(biāo)識(shí)符和有效負(fù)載,CAN硬件負(fù)責(zé)添加數(shù)據(jù)包的其他部分。

使用RS-485時(shí),其實(shí)RS-485底層未進(jìn)行任何定義:如數(shù)據(jù)來自何處、誰(shuí)可以發(fā)送它、正在發(fā)送哪些數(shù)據(jù)、接收的數(shù)據(jù)是否損壞等。(除非在軟件中指定,否則什么都不知道)。

02

仲裁

RS-485的主要問題是信號(hào)擁塞。這通常是由于多個(gè)節(jié)點(diǎn)試圖在總線上同時(shí)發(fā)送數(shù)據(jù),從而導(dǎo)致過載。

CAN遵循仲裁,其中消息按狀態(tài)順序排列和接收。失去仲裁的節(jié)點(diǎn)將重新發(fā)送其消息。 對(duì)于所有節(jié)點(diǎn),這種情況將繼續(xù)進(jìn)行,直到只剩下一個(gè)節(jié)點(diǎn)正在傳輸。

由于消息式仲裁,CAN無(wú)需采取額外的預(yù)防措施即可實(shí)現(xiàn)多主機(jī)操作。對(duì)于RS-485,這只能通過特定協(xié)議來實(shí)現(xiàn)。

03

協(xié)同和錯(cuò)誤檢測(cè)及糾正

當(dāng)CAN總線的一個(gè)節(jié)點(diǎn)將隱性狀態(tài)“寫入”總線并看到它實(shí)際上處于主導(dǎo)狀態(tài)時(shí),它知道另一個(gè)節(jié)點(diǎn)正在驅(qū)動(dòng)它。嘗試寫入隱性狀態(tài)的節(jié)點(diǎn)將后退并等待消息的結(jié)束。

寫入主導(dǎo)狀態(tài)的節(jié)點(diǎn)永遠(yuǎn)不會(huì)知道發(fā)生了這種情況。它的消息通常由所有其他節(jié)點(diǎn)發(fā)送和接收。這種沖突檢測(cè)功能允許在沒有任何中央仲裁的情況下實(shí)現(xiàn)對(duì)等網(wǎng)絡(luò)架構(gòu)。

節(jié)點(diǎn)發(fā)送消息,但在檢測(cè)到?jīng)_突時(shí)后退,然后在當(dāng)前數(shù)據(jù)包完成后重試。 最終,總線可用時(shí)發(fā)送這些其他消息,并且發(fā)送先前碰撞的消息時(shí)不會(huì)發(fā)生沖突,包括 16 位 CRC 校驗(yàn)和。

RS-485不能觸發(fā)任何消息沖突,系統(tǒng)的應(yīng)用軟件必須保證避免碰撞。

綜述

雖然RS-485端口仍然被應(yīng)用到到許多新開發(fā)的設(shè)備中中,但CAN功能的如仲裁、錯(cuò)誤消息檢查、改進(jìn)的帶寬和更大的數(shù)據(jù)場(chǎng),加速了對(duì)CAN總線的需求。







審核編輯:劉清

聲明:本文內(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)注

    45

    文章

    3573

    瀏覽量

    133980
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    840

    瀏覽量

    40215
  • plc
    plc
    +關(guān)注

    關(guān)注

    5006

    文章

    13107

    瀏覽量

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

    關(guān)注

    57

    文章

    2694

    瀏覽量

    463149
  • RS-485
    +關(guān)注

    關(guān)注

    11

    文章

    672

    瀏覽量

    84112

原文標(biāo)題:3個(gè)原因告訴你,CAN為什么比RS-485更好?

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RS-485通訊協(xié)議的介紹

    一、RS-485通訊協(xié)議的介紹與CAN類似, RS-485是一種工業(yè)控制環(huán)境中常用的通訊協(xié)議,它具有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)的特點(diǎn)。 RS-485通訊協(xié)議由
    發(fā)表于 08-20 06:08

    使用RS-485需要注意什么

    ://bbs.21ic.com/icview-317805-1-1.html使用RS-485要注意的一個(gè)問題 為了讓主機(jī)可以...
    發(fā)表于 12-08 07:00

    RS-485的相關(guān)資料分享

    RS-485概述RS-485RS-232一樣,都是串行通信標(biāo)準(zhǔn),現(xiàn)在的標(biāo)準(zhǔn)名稱是TIA485/EIA-485-A,但是人們會(huì)習(xí)慣稱為
    發(fā)表于 02-09 07:10

    3個(gè)理由了解為什么CAN總線與RS-485更好

      前言  RS-485CAN都是串行通信協(xié)議。它們?cè)试S在單個(gè)系統(tǒng)中布置多點(diǎn)設(shè)備,大大縮短了電纜長(zhǎng)度,差分設(shè)計(jì)適用于強(qiáng)干擾的環(huán)境,兩者都使用120 Ω電阻端接,并配有內(nèi)部過壓電路以進(jìn)行故障保護(hù)
    發(fā)表于 04-03 14:32

    CAN總線現(xiàn)場(chǎng)總線應(yīng)用方案RS-485升級(jí)到CAN

    關(guān)鍵詞 RS-485、LM3S2016、CAN總線摘要 CAN總線現(xiàn)場(chǎng)總線應(yīng)用方案 RS-485升級(jí)到CAN
    發(fā)表于 11-07 14:14 ?39次下載

    CAN-bus RS485 升級(jí)到CAN

    CAN-bus RS485 升級(jí)到CAN RS-485 簡(jiǎn)述電子工業(yè)協(xié)會(huì)EIA 于1983 年制訂并發(fā)布RS-485 標(biāo)準(zhǔn)并經(jīng)TIA—通訊
    發(fā)表于 03-24 15:49 ?46次下載

    CAN-bus現(xiàn)場(chǎng)總線應(yīng)用方案RS-485升級(jí)到CAN總線

    CAN-bus現(xiàn)場(chǎng)總線應(yīng)用方案RS-485升級(jí)到CAN總線 電子工業(yè)協(xié)會(huì)EIA于1983年制訂并發(fā)布RS-485標(biāo)準(zhǔn),并經(jīng)TIA——通訊工業(yè)協(xié)會(huì)修訂后命名為T
    發(fā)表于 04-06 17:57 ?59次下載

    CAN總線與RS-485總線的通信接口設(shè)計(jì)

    CAN總線與RS-485總線的通信接口設(shè)計(jì) 1  CAN總線及RS-485總線簡(jiǎn)介   CAN總線(Controlle
    發(fā)表于 01-27 10:46 ?4471次閱讀
    <b class='flag-5'>CAN</b>總線與<b class='flag-5'>RS-485</b>總線的通信接口設(shè)計(jì)

    RS-232/RS-485/422與CanBus電平隔離轉(zhuǎn)換器:MWE-CAN200

    ◆ 功能簡(jiǎn)介 MWE-CAN200隔離轉(zhuǎn)換延長(zhǎng)器將RS-232/RS-485/422信號(hào)轉(zhuǎn)換成CanBus電平信號(hào)傳輸,達(dá)到延長(zhǎng)RS-232/RS-
    發(fā)表于 02-23 17:02 ?130次下載

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹
    發(fā)表于 12-21 14:45 ?0次下載

    關(guān)于CAN/RS-485為什么要用雙絞線?

    CAN/RS-485為什么要用雙絞線?
    的頭像 發(fā)表于 03-01 12:25 ?8301次閱讀
    關(guān)于<b class='flag-5'>CAN</b>/<b class='flag-5'>RS-485</b>為什么要用雙絞線?

    RS-485收發(fā)切換】使用RS-485要注意的一個(gè)問題

    RS-485收發(fā)切換】使用RS-485要注意的一個(gè)問題
    發(fā)表于 11-25 11:21 ?21次下載
    【<b class='flag-5'>RS-485</b>收發(fā)切換】使用<b class='flag-5'>RS-485</b>要注意的一個(gè)問題

    RS-485CAN總線到底是什么

    RS-485CAN都是串行通信協(xié)議。它們?cè)试S在單個(gè)系統(tǒng)中布置多點(diǎn)設(shè)備,大大縮短了電纜長(zhǎng)度,差分設(shè)計(jì)適用于強(qiáng)干擾的環(huán)境,兩者都使用120 Ω電阻端接,并配有內(nèi)部過壓電路以進(jìn)行故障保護(hù)。RS-485
    發(fā)表于 10-10 16:23 ?7916次閱讀
    <b class='flag-5'>RS-485</b>和<b class='flag-5'>CAN</b>總線到底是什么

    CAN總線和RS-485總線的主要區(qū)別

    CAN總線和RS-485總線都是常用的工業(yè)通信總線,用于在不同設(shè)備之間傳輸數(shù)據(jù)。雖然它們都有類似的目的,但它們?cè)诤芏喾矫嬗泻艽蟮牟煌?/div>
    發(fā)表于 05-06 14:19 ?1.2w次閱讀

    RS-422/RS-485RS-232相有哪些優(yōu)勢(shì)?

    RS-422/RS-485RS-232相有哪些優(yōu)勢(shì)?由于RS-422/RS-485使用差分信
    的頭像 發(fā)表于 03-22 10:07 ?1215次閱讀
    <b class='flag-5'>RS</b>-422/<b class='flag-5'>RS-485</b> 與 <b class='flag-5'>RS</b>-232相<b class='flag-5'>比</b>有哪些優(yōu)勢(shì)?