Jag söker information om CAN-bus teknik
- 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
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.
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.
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
Vad sägs om: Kort URL till CAN-bussinfo.
Lite mer..
På tyska
(Googlade på: can-bus standard)
Edit: Stavning
Lite mer..
På tyska
(Googlade på: can-bus standard)
Edit: Stavning
- Göran Nilsson
- Inlägg: 298
- Blev medlem: 7 juni 2005, 22:14:31
- Ort: Skåne
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 ?
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 ?
- MicaelKarlsson
- Inlägg: 4669
- Blev medlem: 18 juni 2004, 09:16:07
- Ort: Aneby
- Kontakt:
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.
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.
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.
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.
- Göran Nilsson
- Inlägg: 298
- Blev medlem: 7 juni 2005, 22:14:31
- Ort: Skåne
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 ...
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 ...
- Göran Nilsson
- Inlägg: 298
- Blev medlem: 7 juni 2005, 22:14:31
- Ort: Skåne
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
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
> 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å...
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å...