RS-485 vs CAN: Valg af feltbus

RS-485 vs CAN: Choosing a Field Bus

Kort svar

RS-485 og CAN kører begge over et termineret differentielt par, men de løser forskellige problemer.RS-485 er et fysisk lag: det flytter bytes pålideligt over langt kabel, og du leverer protokollen, adresseringen og fejlhåndteringen i software.CAN er et komplet datalinklag: det tilføjer indramning, arbitrering, fejldetektion og automatisk retransmission i hardware. Vælg RS-485, når du har brug for afstand og enkelhed, og CAN, når du har brug for multi-master-determinisme og indbygget fejlhåndtering. Ved 250 kbps dækker RS-485 komfortabelt 300 m, mens CAN allerede er tæt på sin 250 m-grænse — og den reelle fordel ved CAN er ikke afstanden, det er protokollen.

Hovedpointer for ledelsen

  • Afstand er et kabel- og termineringsproblem, ikke et protokolproblem.Ved 250 kbps er CAN's praktiske grænse omkring 250 m; RS-485 kan nå længere med samme ledningspar og en lavere bithastighed.
  • CAN's værdi er arbitration.Flere noder kan begynde at transmittere samtidig, og rammen med højere prioritet vinder uden kollision; RS-485 kræver en master eller en softwareprotokol for at undgå kollisioner.
  • RS-485's common-mode-område er bredere(−7 V til +12 V) end en typisk CAN-transceivers, hvilket betyder noget i industrielle installationer med jordforskydninger.
  • Begge kræver terminering i begge ender, korte stubledninger og et biasnetværk; de fleste feltfejl skyldes ledningsføring og terminering, ikke transceiveren.

1. Hvad hver bus egentlig er

RS-485 (TIA/EIA-485-A) definerer kun det elektriske lag: differentielle drivere og modtagere, et common-mode-område, unit-load-grænser og termineringsregler. Den siger intet om adressering, indramning, kollisionshåndtering eller fejlgenopretning. En UART plus en RS-485-transceiver giver dig et robust byte-rør; protokollen ovenpå er dit design.

CAN (ISO 11898-2) definerer det fysiske lagogdata-link-laget. Rammer bærer en identifikator, et datafelt, CRC og kvittering; arbitrering er bitvis og ikke-destruktiv; fejl detekteres, og rammer gensendes automatisk. Det er en masse adfærd indbygget i controlleren og transceiveren, og det er derfor, CAN dominerer bilindustrien og mobile maskiner.

En beslægtet standard, RS-422, bruger samme differentielle signalering med et dedikeret driver- og modtagerpar (fire ledninger) og understøtter højere hastighed over kortere afstande. RS-485 er multi-drop-versionen med to ledninger; når denne artikel siger RS-485, betyder det to-tråds multipunkt-tilfældet, medmindre andet er angivet.

2. Hastighed kontra afstand

Bithastighed RS-485 praktisk afstand CAN praktisk afstand
10 Mbps ~10–15 m not supported (classic CAN)
1 Mbps ~100–120 m ~40 m
500 kbps ~200–300 m ~100 m
250 kbps ~300–600 m ~250 m
125 kbps ~600–1200 m ~500 m
50 kbps ~1200 m ~1000 m
Practical bit rate versus cable length for RS-485 and CAN
Samme fysik, forskellige grænser: RS-485 bevarer større afstand ved en given bitrate.

Tabellen er en planlægningsvejledning, ikke en garanti: kabelkapacitans, stublængde, termineringstolerance og nodeantal flytter alle grænsen. Den vigtige sammenligning er formen: begge falder nogenlunde med samme fysik, men CAN opgiver afstanden tidligere, fordi dets bittiming og arbitrage kræver strammere signalintegritet.

3. Topologi, terminering og bias

Begge busser er multi-drop differentielle par, der termineres i begge fysiske ender. RS-485 bruger en enkelt 120 Ω-modstand i hver ende; CAN bruger ofte ensplitterminering— to 60 Ω-modstande i serie med midtpunktet afledt til stel — hvilket forbedrer common-mode-stabilitet og EMC.

Bias i tomgangstilstand er den anden halvdel. Et termineret par uden aktiv driver flyder nær 0 V, hvilket er et udefineret logikniveau. RS-485-netværk bruger et fail-safe-biasnetværk — typisk en pull-up på den ene linje og en pull-down på den anden — for at holde en kendt tomgangstilstand. Med to 120 Ω-termineringer parallelt (60 Ω) kræver en differentiel tomgangsspænding på 200 mV ca. 3.3 mA, hvilket fra en 5 V-forsyning betyder cirka 1.4 kΩ i alt, eller 680 Ω på hver side.

CAN-transceivere leverer normalt bias internt og specificerer det recessive niveau; det er en grund til, at CAN-kabling er nemmere at få korrekt.

4. Protokol: den egentlige forskel

RS-485 er halv-duplex på et tolederpar (fireleder-fuld-duplex findes). Kun én driver må være aktiveret ad gangen, så netværket kræver en master, en token eller en kollisionsundgåelsesordning implementeret i software. Det er fint til Modbus, DMX, Profibus-lignende protokoller og mange proprietære links, men determinismen er kun så god som softwaren.

CAN er multi-master fra designet af. Enhver node kan starte en frame, når bussen er ledig; hvis to starter samtidig, vinder den med den dominante identifikator arbitreringen, og den anden prøver automatisk igen. Beskeder med højere prioritet har derfor begrænset latenstid, hvilket er grunden til, at CAN bruges til styreløkker i køretøjer og maskiner.

Aspekt RS-485 CAN / CAN FD
Layer defined Physical only Physical + data link
Multi-master No (software) Yes, by arbitration
Error handling Application CRC, ACK, retransmission
Max nodes 32 unit loads (256 with 1/8 UL) Typically 110–120
Common-mode range −7 V to +12 V About −2 V to +7 V
Typical use Modbus, DMX, long sensor runs Automotive, machinery, battery packs

5. Gennemregnet eksempel: 300 m, 250 kbps, 16 noder

Et industrielt netværk har brug for 16 noder over 300 m ved 250 kbps med en 5 V transceiver-forsyning. Hvilken bus?

  • CAN ved 250 kbpser specificeret til ca. 250 m, så 300 m er allerede ud over planlægningsgrænsen; det vil kræve en repeater eller en lavere bitrate.
  • RS-485 ved 250 kbpser komfortabel ved 300 m. Med 50 pF/m kabel udgør parret ca. 15 nF; med 60 Ω effektiv terminering er RC-tidskonstanten 0,9 µs, og 10–90%-stigetiden er ca. 2 µs over for en 4 µs bit — acceptabelt, med margin til stubbe og stik.
  • Terminering:120 Ω i hver ende.Forspænding:680 Ω pull-up og pull-down giver cirka 200 mV tomgangsdifferentialspænding.

Det praktiske svar er RS-485, medmindre applikationen har brug for CAN's arbitrering eller dets diagnostiske stack. Afstanden alene afgør det ikke.

Kør de samme tal for CAN, og billedet er klart: ved 250 kbps er CAN-grænsen 250 m, så 300 m ville kræve at gå ned til 125 kbps (500 m) eller tilføje en repeater. Det er en systemændring, ikke et komponentvalg.

6. Isolering, beskyttelse og kabel

Lange feltbusser opsamler spændingsstød og jordpotentialeforskelle. Ved stikket beskytter en TVS- eller ESD-array transceiveren mod ESD og spændingsstød; en common-mode-drossel reducerer højfrekvente emissioner og forbedrer immuniteten. Ingen af delene erstatter behovet for en defineret jordreference eller isolering, hvor forskydningen er stor.

Galvanisk isolering er det robuste svar på lange stræk mellem bygninger eller mellem udstyr på forskellige jordpotentialer. Isolerede transceivere kombinerer driveren, receiveren og en isolationsbarriere i én pakke; diskrete digitale isolatorer plus en ikke-isoleret transceiver opnår samme resultat med flere komponenter. Valget handler normalt om pris og plads på printkortet, ikke ydeevne.

Kabel betyder lige så meget som silicium. Et twisted pair med 100–120 Ω karakteristisk impedans, 50–60 pF/m og en folie- eller flettet skærm er udgangspunktet. Skærmen jordes i den ene ende for at undgå jordsløjfer i de fleste installationer; undtagelsen er en installation med en dedikeret referenceleder, hvor begge ender kan forbindes.

7. Protokolleksempler

På RS-485 er Modbus RTU den mest almindelige protokol: en master afspørger slaver efter adresse, med en CRC pr. frame. DMX512 bruger samme fysiske lag til belysning, med en fast rammefrekvens. Begge virker, fordi masteren styrer bussen; ingen af dem tilbyder hardwarebaseret kollisionshåndtering.

På CAN tilføjer CANopen og J1939 adressering og profiler oven på frame-laget. Fordi arbitration foregår i hardware, får meddelelser med højere prioritet bussen først, og fejlframes tvinger en hurtig gentransmission. Det er en anden pålidelighedsmodel end RS-485, hvor en kolliderende frame simpelthen går tabt, medmindre softwaren opdager det.

Det er værd at sige, hvad disse busser ikke er. Ingen af dem er en erstatning for industrial Ethernet, når nyttelasten er stor, eller når fjernfejlfinding og tidssynkronisering er vigtige. Ethernet tilføjer magnetics, PHYs og en switch, og det løser andre problemer; feltbussen forbliver det rigtige valg til små, deterministiske kontroldata over et enkelt par.

8. Valg

Vælg RS-485 når:strekningen er lang, protokollen er allerede defineret (Modbus, proprietær), der er få til moderate noder, og en master-slave-struktur er acceptabel. Det er også det enklere valg, når det samme par skal sameksistere med andre signaler, eller når common-mode-offsets forventes.

Vælg CAN når:flere noder skal arbitrere uden en master, meddelelser har prioriteter, og applikationen drager fordel af hardware-CRC, kvittering og gensendelse. Bilindustri, batteristyring, motordrev og mobile maskiner er de klassiske tilfælde.

Vælg CAN FD når:du har brug for CAN-modellen, men mere båndbredde — op til 5 Mbps i datafasen med samme arbitreringsfase.

9. Hvem bør ikke anvende hvad

  • Brug ikke RS-485 til sikkerhedskritisk multi-master-styringmedmindre du har dokumenteret softwareprotokollen; der er ingen hardware-arbitrering eller fejlinddæmning.
  • Brug ikke CAN til meget lange lavhastigheds-sensorstrækhvor et simpelt Modbus-link ville være tilstrækkeligt; transceiveren og controlleren øger omkostningerne uden gavn.
  • Brug ingen af dem til et enkelt punkt-til-punkt-linkunder få meter; en almindelig UART eller SPI er enklere og billigere.
  • Brug ingen af dem uden isoleringhvor potentialeforskelle mellem jord overstiger common-mode-området; tilføj digitale isolatorer eller isolerede transceivere.

Stigetid og kabelkapacitans

Parret opfører sig som en RC-linje:tr≈ 2.2 × Rterminering× Ckabel, med Rtermineringparallelværdien af de to termineringer (60 Ω) og Ckabelden samlede kapacitans. Ved 50 pF/m og 300 m er C = 15 nF, så tr≈ 2 µs — et halvt bit ved 250 kbps. Det er derfor, afstanden falder hurtigt, når bitraten stiger, og hvorfor det bliver værre at tilføje noder eller stubs.

Kontrollér resultatet mod bittiden, ikke mod databladets maksimale hastighed. En transceiver, der er specificeret til 10 Mbps, vil stadig fejle på et 300 m-link ved 10 Mbps, fordi det er kablet, ikke transceiveren, der sætter grænsen. Det er også derfor, at en bitfejlrate-test ved den reelle kabellængde er mere værd end nogen tabel.

10. Layout og EMC

Begge busser er differentielle, så rout parret sammen, hold impedansen ensartet, og undgå opdelinger i referenceplanet. Anbring termineringen ved stikket, ikke et eller andet sted midt på en stub. Hold stubs korte: som regel bør en stub være en lille brøkdel af bitlængden, godt under 0.3 m ved 1 Mbps.

Tilføj common-mode-drosler og TVS-beskyttelse ved stikket mod surge og ESD, samt en jordreferenceleder, hvis installationen ikke kan garantere en fælles jord. Transceiverens common-mode-område er ikke en tilladelse til at ignorere jordforbindelse; det er en margin, ikke en designmetode.

11. Fem fejl

1. En enkelt termineringsmodstand.En enkelt 120 Ω i den ene ende efterlader en refleksion i den anden; begge ender har brug for den.

2. Ingen fail-safe-bias.Hviletilstanden flyder, og modtagere opfatter støj som data.

3. Lange stubs til hver node.Stubs tilføjer refleksioner og begrænser den brugbare bitrate langt mere, end kabellængden gør.

4. Blanding af RS-485- og CAN-transceivere på ét par.Forventningerne til signalering og terminering er forskellige; netværket vil være upålideligt.

5. At antage, at CANs afstand er den samme som RS-485s.Ved samme bitrate når CAN i mange tilfælde mindre end halvdelen af afstanden.

Endnu en praktisk forskel: RS-485-transceivere fås med slew-rate-begrænsning, som reducerer EMI på bekostning af den maksimale bitrate. CAN-transceivere er specificeret til et fast bitrate-område, og deres symmetri er en del af standarden. Antag ikke, at de to er udskiftelige, selv når pinout ser ens ud.

12. Tjekliste

  • Påkrævet bithastighed og maksimal kabellængde.
  • Antal noder og budget for enhedsbelastning.
  • Multi-master- eller master-slave-arkitektur.
  • Krav til arbitration og latenstid.
  • Fællesmodusspænding mellem noder.
  • Terminering i begge ender med korrekt værdi og placering.
  • Fail-safe-bias (RS-485) eller recessivt niveau (CAN).
  • Isolationskrav.
  • Overspændings-/ESD-beskyttelse ved stikket.
  • Verifikation: øjendiagram eller bitfejltest ved den reelle kabellængde.

Ti kontroller før layout, og én efter: kør en bitfejltest eller optag et øjendiagram ved den reelle kabellængde. Et netværk, der ser korrekt ud på et to meter langt testkabel, kan stadig fejle ved den installerede længde, og fejltilstanden — lejlighedsvise bitfejl, ikke en død bus — er let at fejldiagnosticere som et softwareproblem.

FAQ

Kan RS-485 og CAN dele samme kabel?

Nej. De bruger forskellig signalering, terminering og rammeformater. At køre begge på ét par vil give fejl på begge netværk.

Hvorfor når CAN kortere end RS-485 ved samme bitrate?

CANs arbitration og bit-timing kræver strengere signalintegritet, og dets transceivere har et smallere common-mode-område. RS-485 er mere tolerant, fordi protokollaget ligger uden for transceiveren.

Hvor mange noder kan RS-485 understøtte?

32 enhedslaster med standardtransceivere eller op til 256 med 1/8-enhedslast-dele. Kablet, termineringen og bias-netværket skal dimensioneres efter antallet.

Skal jeg bruge en separat jordledning?

Hvis noderne kan have en betydelig jordforskydning, ja — en referenceleder eller isolering er sikrere end at stole på transceiverens common-mode-område.

Kan jeg bygge bro mellem RS-485 og CAN med en gateway?

Ja, og det er almindeligt, når en ældre RS-485-enhed skal tilsluttes et CAN-netværk. Gatewayen kører begge protokoller og mapper adresser til identifikatorer; de to fysiske lag forbliver adskilte.

Afsætter termineringsmodstande meget effekt?

Kun når driveren er aktiv: med 60 Ω effektiv og en differentiel drivspænding på 5 V er termineringsstrømmen i størrelsesordenen titals milliampere. Brug modstande på 1/4 W eller større, og placér dem, hvor varmen er acceptabel.

Kan jeg bruge en CAN-transceiver til RS-485?

Nej. Signalniveauerne, termineringsforventningerne og rammeformaterne er forskellige. Brug en RS-485-transceiver til RS-485 og en CAN-transceiver til CAN.

Hvordan påvirker nodeantallet afstanden?

Hver node tilføjer kapacitans og lækstrøm. Et netværk med 32 noder ved 250 kbps opfører sig anderledes end et netværk med 4 noder ved samme hastighed; reducer afstanden ved høje nodeantal og lange stubs.

Er CAN FD værd at bruge til nye designs?

Hvis applikationen har brug for mere end 1 Mbps nyttelast, og controllerne understøtter det, så ja. Arbitrationsadfærden er uændret, så systemmodellen kan overføres.

Ordliste

Enhedsbelastning
En normaliseret indgangsimpedans for RS-485-modtagere; 32 enhedsbelastninger er den klassiske grænse.
Fejlsikker bias
Modstande, der holder et defineret hvileniveau på et ikke-drevet RS-485-par.
Arbitrering
CAN's metode til at håndtere samtidige transmissioner ved hjælp af identifikatorprioritet.
Delt terminering
To 60 Ω-modstande med en midtpunktskondensator, anvendt på CAN til common-mode-stabilitet.
Stub
Forgreningen fra hovedbussen til en node; lange stubs forårsager refleksioner.

Kilder

Valg af transceivere til en feltbus?

Gennemse voresRS-485ogCANlinjer, eller send kabelængden, bitraten og nodeantallet for en komponentanbefaling.

Gennemse komponenter på lager  ·  Indsend din BOM

Check stock by part number

Turn this insight into a sourcing decision.

Need pricing or a drop-in alternative? Submit a BOM / RFQ or talk to our team.