Waarom kan “t CAN baudrate niet hoger worden dan 1 Mbps
Reacties
- Hangt af van de gebruikte standaarden en stuurprogrammas. Er zijn snellere versies, maar er zijn andere verschillen.
- Mijn vraag is waarom we ' niet hogere snelheden kunnen bereiken, zoals tot 100 Mbps met behulp van CAN?
- Onsteking en RF-immuniteit en vertragingsconflicten op de bus
- Controleer: Wat is de maximale bitrate die wordt ondersteund in de Can Bus
- de CAN-bus heeft geen duidelijke synchronisatie, behalve voor het detecteren van botsingen.
Antwoord
From Controller Area Network Physical Layer Requirements
CAN is een open-collector-technologie – het protocol zou anders niet kunnen werken. Dit betekent dat de recessieve toestand van een CAN-transceiver niet actief is vely gedreven. De afsluitweerstanden samen met de ingangscapaciteit van de zendontvanger en de kabelcapaciteit creëren een RC-tijdconstante ontlading wanneer een actief aangedreven dominante bit op de bus overgaat naar een niet-aangedreven recessieve bit. Voor signaleringssnelheden hoger dan 1 Mbps van CAN, is een technologie die de bus actief aandrijft in beide toestanden, zoals RS-485, vereist om de busovergangen te vergemakkelijken die vereist zijn voor hoge signalisatiesnelheden.
Uiteindelijk is het antwoord op de vraag hoe het CAN-protocol op fysiek niveau wordt geïmplementeerd. Verander dat protocol en er kan een hogere gegevenssnelheid worden gebruikt.
Van Inzicht in de bit-timing van de CAN-module van Microchip :
… het CAN-protocol implementeert een niet- destructief bitsgewijs arbitrageschema waarmee meerdere knooppunten kunnen arbitreren voor besturing van de bus. Daarom is het nodig dat alle knooppunten de bits binnen dezelfde bittijd detecteren / bemonsteren. De relatie tussen voortplantingsvertraging en oscillatortolerantie heeft effect op zowel de CAN-gegevens snelheid en de buslengte.
Twee masters aan beide uiteinden van de CAN-bus moeten kunnen communiceren en arbitreren welke de bus heeft, terwijl ze allemaal tegelijkertijd in de bus zitten.
Als de buslengte is 30 m, de tijd die nodig is om het signaal over de bus te verspreiden is: $$ t_ {BUS} = 30 \ m @ 5.5 \ ns / m = 165 \ ns $ $
Ervan uitgaande dat de vertraging van de invoercomparator \ $ t_ {CMP} \ $ = 40 ns is en de vertraging van de uitvoerstuurprogramma \ $ t_ {DRV} \ $ = 60 ns voor alle apparaten.
De rondreis tijd voor een stukje op de fysieke bus is:
$$ t_ {PROP} = 2 (t_ {BUS} + t_ {CMP} + t_ {DRV }) = 2 (165 \ ns + 40 \ ns + 60 \ ns) = 530 \ ns $$ $$ TQ = 530 \ ns / 6 = 88.33 \ ns $$ $$ t_ {BIT} = 10 \ times TQ = 883.3 \ ns $$ $$ f = 1 / t_ {BIT} = 1 / 883.3 \ ns = 1.13 \ MHz $$
De max De maximale snelheid wordt bepaald door de buslengte, lijncapaciteit, aangesloten knooppunten en de stuurprogrammas die door het protocol zijn geselecteerd. In principe zou CAN (ISO 11898) bij 30 m 1,13 Mbps kunnen halen als alles perfect was.
Hoe langer de bus, hoe langzamer de gegevenssnelheid. Maar een kortere bus zou een hoger tarief betekenen. CAN-bitsnelheid versus buslengte:
Beide documenten waarnaar wordt verwezen, gaan hier dieper op in.
CAN (ISO 11898) kan tot 8 bytes bij 1 Mbps met een protocol gebaseerd op de 80-inch. Met de huidige voertuigen is er behoefte om meer gegevens over te dragen (64 byte-pakketten), maar bij 1 Mbps zou 64 bytes een te groot tijdslot in beslag nemen, mogelijk met vertraging vitale gegevens.
CAN FD (Flexible Data-Rate) is een uitbreiding op het oorspronkelijke CAN-bus-protocol (ISO 11898-1). Het is bedoeld om op bestaande CAN-bussen te draaien en uiteindelijk CAN te vervangen.
Het protocol begint bij de CAN 1 Mbps (500 kbps, etc.), met het mogelijke arbitrageproces tussen meerdere CAN- en CAN FD-masters , maar wanneer de CAN FD-master de bus krijgt, versnelt de datatransmissiesnelheid tot 5 Mbps naar CAN FD-slaves. Met deze snelheid kunnen 64 bytes worden overgedragen in minder tijd dan een 8 byte CAN 1 Mbps-pakket. Dit betekent dat er geen timingconflict is met bestaande CAN-overdrachten. Zodra de CAN FD-master de bus opgeeft, kan elke CAN- of CAN FD-master een bus krijgen.
Van KAN FD UITGELEGD – EEN EENVOUDIGE INTRO (2019) :
Het juiste antwoord hangt af van het arbitrageproces van 1 Mbps voor een CAN-bus van 40 m, maar zodra de bus wordt verkregen kan de bandbreedte worden versneld afhankelijk van buslengte, lijncapaciteit, aantal aangesloten knooppunten en de stuurprogrammas. De CAN FD-bandbreedte is 3-8 keer de klassieke CAN-bandbreedte.
Answer
Dat kan. Maak kennis met CAN-FD .
Waarom was een nieuw protocol nodig? CAN is een multi-masterbus met arbitrage en foutrapportage. Deze functies beperken de gegevenssnelheid op basis van de kabellengte, aangezien het een bepaalde hoeveelheid tijd kost voordat het signaal een rondreis maakt tussen de twee verste knooppunten. Dat, samen met eerdere compatibiliteitsvereisten, leidde tot CAN-FD.
Klassieke CAN met 1 Mbps is beperkt tot een buslengte van 40 meter. (In de praktijk denk ik dat het lager is vanwege de strooicapaciteit.) Bij 100 Mbps zou je het geluk hebben om zelfs maar een halve meter bruikbare buslengte te hebben, wat niet genoeg is voor auto- en industriële toepassingen.
Antwoord
Het is omdat de CAN 2.0B-standaard geen hogere specificeerde om de hardwarekosten te verlagen en toch te voldoen aan de verschillende vereisten van de standaard (zoals ongevoeligheid voor afstand en ruis). Het is geen technische barrière.
De standaard is waarschijnlijk zo geschreven omdat ze de extra snelheid niet nodig achtten voor de beoogde toepassing en een hogere snelheid onnodig specificeerden zou de kosten verhogen van alle hardware die de standaard ondersteunt wanneer de capaciteit onderbenut zou zijn.
Als de standaard op die manier geschreven is, zullen maar weinig IC-fabrikanten de moeite nemen om deze te overtreffen, aangezien het geen zin heeft. “is niet echt een technische barrière.