Sida 1 av 2
Jag söker information om CAN-bus teknik
Postat: 13 maj 2006, 11:19:17
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.
Postat: 13 maj 2006, 11:48:46
av MicaelKarlsson
Vad sägs om:
Kort URL till CAN-bussinfo.
Lite mer..
På tyska
(Googlade på: can-bus standard)
Edit: Stavning
Postat: 13 maj 2006, 16:01:09
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 ?
Postat: 13 maj 2006, 16:34:46
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.
Postat: 13 maj 2006, 20:27:03
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.
Postat: 13 maj 2006, 21:24:14
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.
Postat: 14 maj 2006, 00:10:24
av funkis
Volvo buss! har många säten!
funkis
Postat: 14 maj 2006, 00:53:13
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.
Postat: 14 maj 2006, 13:16:58
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 ...
Postat: 14 maj 2006, 20:15:22
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
Postat: 14 maj 2006, 21:13:33
av Laserboy
funkis skrev:Volvo buss! har många säten!
funkis
Volcano heter Volvos CAN protokoll.
Postat: 12 juni 2007, 13:57:44
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.
Postat: 12 juni 2007, 14:05:59
av speakman
Ska du bara läsa ur data så är det väl OBD2 som gäller. Internt har jag ingen aning.
Postat: 12 juni 2007, 15:04:46
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å...
Postat: 12 juni 2007, 16:07:40
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.