Sida 1 av 2
Avlyssna CAN-bus
Postat: 12 juni 2005, 11:03:30
av Hedis
Jag var ofin och klämde in lite småfrågor i MH100´s tråd.
http://www.elektronikforumet.com/forum/ ... php?t=5473
Vi kan fortsätta mina diskussioner här.
Målet är alltså bara för skoj skull att lyssna av I-bussen på en Saab 9-5.
Det är den "långsamma bussen" (250kbit/s om jag inte slagit i huvudet för hårt) som sköter allt snack mellan alla enheter inuti kupen. (Instrument, Radio, Larmenhet (TWICE), ljusstyrning (DICE) mm.
Mellan I och P-bus sitter huvudinstrumentet som tolk.
P-bussen går sedan vidare ut i motorrummet och sköter snacket med motorstyrdonet.
I nuläget har jag ingen större kläm på hur ett CAN-bus nät fungerar.
Men det lär man lära sig med tiden....
Edit:
HÄR finns det bra beskrivet hur det hela fungerar protokoll-mässigt.
Edit2: Dom har allt lite humor med i texten på Kvaser
Kod: Markera allt
In other words, the cable length is restricted by the speed of light. A proposal to increase the speed of light has been considered but was turned down because of its inter-galactic consequences.
Postat: 12 juni 2005, 11:54:54
av tummen
Men lika fullt så ska du alltid gå in i silent mode när du interfacar ett befintligt system där du egentligen inte va den avseda mottagaren, can fungerar så att det bli omsändning på paketen om mottagaren inte kvitterar, skulle u börja kvittera så kan de negentliga mottagaren inte få omsändning om så skulle behövas.
Har du någon specifikation för hur datat i just saab skickas? är det något frameprotokoll ovanpå eller bygger de systemet mha id:na bara?
Postat: 12 juni 2005, 11:57:47
av Xerxes
Postat: 12 juni 2005, 12:55:00
av Hedis
Tummen: Jo det lär ju störa kommunikationen om man går in aktivt och börjar tjöta.
Jag har faktiskt ingen som hellst aning om "hur" dom kommunicerar. Saab har inte direkt skrivet ett kapitel om det i verkstadshandböckerna.
Så det får bli trial and error för min del.
Hade däremot vart riktigt bra o fått tag på ett riktigt interface med tillhörande program så man kanske börjar med hyffsat rätt förutsättnigar. Men dom billigare interfacen ligger ändå runt 1000-2000:- vilket känns lite omotiverat just nu.
Söker jobb på ett ställe som håller på med fordonsdiagnos, får jag det jobbet så får jag nog oxå tillgång till hårdvara. Vi får vell se hur det går.
Postat: 12 juni 2005, 13:14:02
av tummen
Själv navänder jag en Memorator som kpoolas på USB porten men jag tror de går på i runda slängar 9000kr + moms om jag inte minns fel.
Inget för den stackare som ska betala själv...
Postat: 12 juni 2005, 14:01:18
av Nalle Puh
Tanka hem kompendiet Robusta realtidssystem, finns på google. Där står det lite grundläggande om canbussen på vanlig svenska.
Om man ska läsa av data så är det väl inte så svårt, men om du vill använda canbussen för egen kommunikation, så kommer man få det svårt. Speciellt om någon nod på canbussen är tidskritisk, iofs så har meddelandena olika prioriteter så.. Men en nod med låg prioritet kan ändå ha ett tidskrav...
Du sa bara visserligen bara läsa av, men jag rek att du läser det kapitlet i kompendiet jag nämnde ovan. Sedan läser någon annanstans hur man konkret skall läsa av.
Jag själv har bara läst om canbussar, ej praktisk ännu tyvärr.. Så jag kan inte tipsa om hur praktisk man skall gå tillväga med "enkla medel".
Postat: 12 juni 2005, 14:14:20
av tummen
Läsa av den är inget problem egentligen det enda som sen kommer ta tid för er är ju att tolka vad innehålet egentligen betyder...
Vad gäller prioriteringar så är det direkt knutet till id nummret så genom att välja id så väljer du oxo vilken som är viktig å inte.
Postat: 12 juni 2005, 14:32:15
av Hedis
Var uppe o provade i bilen nu.
Körde en 82c250 direkt till en max232 och in i datorn.
Får massa dynga i terminalen. (precis som jag trodde

)
Det gäller att få in rätt hastighet, men troligtvis är det inte så enkelt ändå va?
Jag har även 2 MCP2510-kretsar så jag kan få SPI-interface till en µC och ansluta mig till CAN-bussen.
Får ta och läsa det där du tipsade om Nalle Puh.
Postat: 12 juni 2005, 15:24:52
av tummen
Hedis skrev:Var uppe o provade i bilen nu.
Körde en 82c250 direkt till en max232 och in i datorn.
Får massa dynga i terminalen. (precis som jag trodde

)
Det gäller att få in rätt hastighet, men troligtvis är det inte så enkelt ändå va?
Jag har även 2 MCP2510-kretsar så jag kan få SPI-interface till en µC och ansluta mig till CAN-bussen.
Får ta och läsa det där du tipsade om Nalle Puh.
Det finns ingen som helst likhet mellan CAN och asynkron seriel data, vet inte riktigt vad du skulle få ut om du kopplade som du gjort men här handlar det om ett hundratal bitar i rad och där man bl.a har bitstuffing vid flera följande 0or osv så du får nog satsa på en can controller om du ska va lyckosam tror jag. Fördelen med en riktig controller som har lite kvalitet är ju bl.a att du bara säger vad du vill ha för info så meddelar den när det är mottaget.
Vill du göra egen bitavkodning så tror jag inte du kommer va lyckosam ens med en pic när det handlar om hasitegeter som 250Kbit blir det inte många stackars instruktioner per bit...
Postat: 12 juni 2005, 15:37:57
av sodjan
Du behöver en CAN controller som kodar av de olika fälten och "dumpar" dom till en serie lina.
Kör en PIC i "Listen only mode". Från data blad till PIC18Fxx8x :
"The Listen Only Mode is a silent mode, meaning no messages
will be transmitted while in this state, including error flags and
Ack signals. The filers and masks can be used to allow only particular
mesasges to be loaded or the filter masks can be set all zeros to allow
a message with any identifier to pass."
Och även om bussen jobber med 250kbit/s, så lär den väll inte vara
100% upptagen, så det bör finnas en del tid över att fixa
dumpar och skicka ut dom på RS232...
Postat: 12 juni 2005, 15:43:23
av Hedis
Det var mest bara på skoj o se vad jag fick ut. Man såg iaf när bussen gick i sleep o när den vaknade

O att man väckte den när man rörde ngt i bilen. (fjärr, ljusvrede, öppnade dörr etc.)
Jag har en lite programmeringsmodul här. (används för att byta styrprogram i motorstyrdonet)
Den är uppbyggd med följande delar.
CAN-bus->82c250->MCP2510->Pic16c745.
Så nog skall det gå alltid.
Om man gör liknande, fast jag pysslar bara med AVR så det får bli en Mega32:a eller Mega8 isf. och låter den ta emot datan från 2510:n och vidarebefodra denna till datorn via rs232.
Liknande bygge finns
Här
Skall ta och läsa på lite om 2510:n nu.
Edit: Hehe Sodjan var snabb där

Ett annat sätt att eliminera sändning på bussen är genom att rycka Tx mellan 2510:an och 82c250 kretsen. Så gjorde jag nu när jag lekte lite i bilen, annars gillade inte bilen läget.
Postat: 12 juni 2005, 16:12:45
av Hedis
Jag hade nog slagit i huvudet.
50kbit/s skall det nog vara på I-bussen. Så där ökade hanteringstiden betydligt.

Postat: 12 juni 2005, 16:27:06
av tummen
Iom mitt allt större hat mot picarnas halvdana implementationer så skulle jag nog föreslå att du tittade på AT89C51CC03 på elfa om den kan va något för dig, vet inte om den är bra.
Har tidigare sett ett can chip med I2C i andra ändan på elfa men det är numera spårlöst försvunnet. Vill du kunna avkoda något på denna sida av milennieskiftet så tror jag på en färdig avkodare, can innehåller väldigt många features å specialfall.
Postat: 12 juni 2005, 16:40:31
av Hedis
MCP2510 har jag då fått för mig är ju en CAN-controller med SPI-interface.
Den mot en µC borde vell inte göra livet alltför svårt? (har iofs. inte labbat med SPI innan, men det är bra o lära sig.
Det var en sådan kontroller som du tänkte på eller?
Här finns databladet för den.
Postat: 12 juni 2005, 17:32:48
av tummen
Det finns flera olika microprocessorer som innehåller CAN som kan göra samma jobb som det där chipet men jo det funkar oxo, det du ska titta på när du väljer chip är antalet kanaler det klarar av samt om det är 2A eller 2B.
B betyder att chippet bättre kan avkoda om adressen stämmer mot önskat värde medans A tynger ner dig mer genom att i stort reagera på allt.
Det som gör att flera kanaler gör att du kan avlasta dig mer, varje kanal får då i uppgift att antingen sända elelr ta emot ett specifikt id. Där har inte t.ex 18F458 mycket å hänga i julgranen med 1+1 kanal.
Men vill du lyssna på allt å tror dig hinna med å skyffla undan datat själv i den takten så är det ju ok med en mindre men billigare lösning.
Bosch har utvecklat can från början så de har troligen oxo ett bra fristående chip för ändamålet. Själv har jag kört siemens/infineon 16c167cr processorn som är stor men grym på can