Jag söker information om CAN-bus teknik

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Göran Nilsson
Inlägg: 298
Blev medlem: 7 juni 2005, 22:14:31
Ort: Skåne

Jag söker information om CAN-bus teknik

Inlägg av Göran Nilsson »

Hej

Jag skulle vilja förstå hur bus-tekniken fungerar och sedan även CAN-bus.
Jag har sökt info på goggle, wikipedia och även på forumet.
Är det någon som vill förklara hur det fungerar eller har Ni några bra länkar som förklarar.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

Vad sägs om: Kort URL till CAN-bussinfo.
Lite mer..
På tyska


(Googlade på: can-bus standard)


Edit: Stavning
Användarvisningsbild
Göran Nilsson
Inlägg: 298
Blev medlem: 7 juni 2005, 22:14:31
Ort: Skåne

Inlägg av Göran Nilsson »

Tack Mikael

Jaha, visste inte att det fanns en standard. När jag googlade fick jag en jäkla massa träff på alla som skröt med att de använde CAN-bus.

Jag ska läsa och lära ! Men jag tog en hastig blick på länkarna och man använder tydligen en kabel med 9 ledare. Jag trodde att bus-teknik överförde information med endast 2 ledare. Typ om man skulle styra 10st olika relä/lampor så skulle man bara behöva 2 ledare isf 9 st.

Rätt eller fel ?
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

Så som jag förstått det hela med alla dessa kommunikationsbussar så finns det inte två som fungerar lika och standarderna varierar hur mycket som helst både hård och mjukvarumässigt, se bara på Ethernet och TokenRing.
Det gäller att hitta den standarden som passar i det sammanhaget som den skall tillämpas.

Tanken som jag förstått är att man skall kunna dra en slinga eller rak ledare och ansluta enheter till denna som lyssnar efter "sin adress" och avkodar det budskapet som är knutet till dess specifika adress och utför sin uppgift. Allt för att slippa problemen med stärnnät med en central anslutningspunkt. Alltså någon form av ringnät.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31537
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

En bus kan vara hur många ledare som helst.
IDE är en bus.
SCSI är en bus.
Bussens bredd är hur många parallella dataledare den består av, t.ex en 16-bitars bus består av 16 parallella dataledningar.
JJ
Inlägg: 366
Blev medlem: 16 maj 2005, 21:33:02

Inlägg av JJ »

CAN-bussen amvämder (normalt) två ledare som kallas CAN_H och CAN_L (kolla första länken, Jag vet inte var du hittade nio ledare?)

Alla noder på nätet har samma tidsuppfattning så alla vet när ett nytt meddelande börjar skickas. Varje meddelande börjar med en identifierare. Om flera noder börjar skicka meddelande samtidigt så löser man det genom att lägst identifierarnummer har högst prioritet: Försöker en annan nod skicka samtidigt som "du"och "han" har högre prioriet så slutar du sända och försöker igen vid nästa tillfälle.

Detta gör att man kan skapa distribuerade system med garanterade svarstider, exempel: ett meddelande med identifierare=0 kommer garanterat att nå ut på bussen vid nästa sändtillfälle.
Användarvisningsbild
funkis
Utsparkad, på semester
Inlägg: 1158
Blev medlem: 28 januari 2006, 16:15:54
Ort: Lite här och lite där!

Inlägg av funkis »

Volvo buss! har många säten! :mrgreen:

funkis
Användarvisningsbild
Göran Nilsson
Inlägg: 298
Blev medlem: 7 juni 2005, 22:14:31
Ort: Skåne

Inlägg av Göran Nilsson »

JJ

Jag bara tog för givet att det var 9 ledare i en 9 Pin (male) D-Sub CANbus PinOut.
toffe
Inlägg: 2
Blev medlem: 13 maj 2006, 18:20:59

Inlägg av toffe »

CAN specen från Bosch (www.semiconductors.bosch.de/pdf/can2spec.pdf) definierar inget fysiskt lager utan bara ett datalänk lager.

Däremot har flera olika fysika lager definierats och standardiserats av andra organ. Det finns allt från 1-tråds (plus jord) till fiberoptiska varianter.

Den nämnda 9 poliga dsub kontakten är vanligt förekommande. Då används en differentiell signalering (med CAN_H och CAN_L) och sen är det jord, spänning och några oanvända ledningar.

Men allt detta står dessutom i länkarna som postats. Men det är klart det är ju jobbigt att läsa ...
Användarvisningsbild
Göran Nilsson
Inlägg: 298
Blev medlem: 7 juni 2005, 22:14:31
Ort: Skåne

Inlägg av Göran Nilsson »

Jag har läst lite här och där i de bifogade länkarna för att orientera mig om vad bus-tekniken handlar om och jag är rätt nöjd för tillfället med de kunskaper jag fått tack var Er alla.

Toffe
Ja du har rätt i att det är jobbigt att läsa och ibland står det bara stilla i huvudet och då kan man ju tänka "varför gör de på dette viset" . Tack för svaret
Användarvisningsbild
Laserboy
Inlägg: 113
Blev medlem: 16 juli 2004, 15:07:02
Ort: Lindome

Inlägg av Laserboy »

funkis skrev:Volvo buss! har många säten! :mrgreen:

funkis
Volcano heter Volvos CAN protokoll.
beje
Inlägg: 1
Blev medlem: 14 maj 2007, 15:21:26
Ort: Jönköping

Inlägg av beje »

Är det någon som vet var man kan få tag på information om de prokoll som biltillverkarna använder? Jag antar att tillverkarna själva inte har någon större lust att hjälpa till.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Ska du bara läsa ur data så är det väl OBD2 som gäller. Internt har jag ingen aning.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> och ansluta enheter till denna som lyssnar efter "sin adress"

CAN bussen har inte vad man vanligtsvis menar med "adresser".
D.v.s att de olika noderna inte har en egen/unik adress.

CAN jobbar med "meddelande-ID", och varje ansluten nod konfigurerar
sitt eget "medelande filter" efter vilka meddelande den vill ta emot.

Ett meddelnde är ofta kopplat till en funktion, t.ex "temp i mätpunkt 1A"
eller liknande. Någon node sänder detta, och de andra noderna som
är intresserade (en eller flera) sätter upp detta meddelande i ett av sina filter.

D.v.s att en sändande nod på en CAN bus aldrig vet vilken eller vilka andra
noder den sänder till ! Den vet bara *vad* den sänder. vilket ju på
sätt och vis är mer logiskt och det blir väldigt enkelt att lägga till
oh ta bort noder i systemet eftersom det inte finns några adresser
att hålla reda på...
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Vad jag inte riktigt fattat med CAN är hur man sköter ACK-ning och omsändning av data. Om inte sändaren vet vilka som skall ha meddelandet så vet den ju heller inte vilka den skall ha ACK ifrån.
Skriv svar