Sida 1 av 1

Avkoda CAN, CAN-databas

Postat: 27 mars 2017, 14:08:57
av bearing
Jag undrar ifall någon känner till någon bra mjukvara som kan läsa en .dbc (Vector CAN-databas) och producera C-kod för avkodning/kodning av CAN-frames?

Re: Avkoda CAN, CAN-databas

Postat: 27 mars 2017, 21:38:01
av ragnwald
Kvaser ska ha ett verktyg som kan läsa .dbc:
http://www.kvaser.com/software/73301309 ... _setup.exe

Verktyg för att omvandla .dbc till C-kod vet jag däremot inte om det finns några. Det är inte speciellt avancerat, ofta brukar man bara representera CAN-meddelandet med en struct i C. Hur du däremot hanterar mailboxarna/CAN-interfacet beror på plattform.

Re: Avkoda CAN, CAN-databas

Postat: 27 mars 2017, 21:54:49
av eqlazer
Har man köpt en CAN-stack från Vector så brukar geny(?) följa med, deras konfigurationsverktyg som också parsar dbc.
Men det är ju en slant för det :)
Som ragnwald är inne på så är det inte ovanligt att man slänger ihop egna verktyg för att omvandla dbc-filer.
Sen finns det ju mer avancerade saker i dbc-formatet som är klurigare att få till när man vill generera kod, såsom multiplexade signaler.

Re: Avkoda CAN, CAN-databas

Postat: 28 mars 2017, 20:32:04
av LHelge
Jag är också intresserad av något sådant, speciellt multiplexade signaler i flera nivåer (CANopen). Hittar du något vettigt så säg till.

.

Re: Avkoda CAN, CAN-databas

Postat: 29 mars 2017, 09:34:33
av jesse
Vad innebär en CAN-databas och hur används den? Är det bara ett standardiserat sätt att beskriva hur en uppsättning CAN-meddelanden ska se ut?
Förutom att kunna skapa och titta på en sådan databas - har man någon annan praktisk nytta av den, så som att exportera setup-filer till CAN-mjukvara eller liknande?

Re: Avkoda CAN, CAN-databas

Postat: 29 mars 2017, 20:55:19
av eqlazer
En dbc-fil, vilket är Vectors format, beskriver signaler (storlek, ranges, storheter mm.) och hur de packas i meddelanden (kopplas alltså till ID).
Det är väl egentligen grunden, sen kan man ha med hur detta allokeras på ECU:er, schemaläggning osv.
Vector mfl har verktyg som hjälper till att använda databasen till att generera körbar kod.

Vector CANalyzer är det vedertagna verktyget i fordonsbranschen för att logga CAN. CAN-databasen gör att det man loggar blir begripligt och hanterbart, tex lätt kunna visa grafer på enskilda signaler. Vill man simulera ECU:er eller skapa GUI;n tar man steget upp till CANoe (CANalyzer kostar mycket, CANoe ännu mer...). Går att scripta en hel del i CANalyzer med språket CAPL, men man får mycket mer i CANoe.
Finns givetvis fler verktyg, men få så kraftfulla. Brukar förorda Busmaster om man bara är ute efter simpel loggningsfunktionalitet, den klarar också många CAN-donglar.

Ofta sätter OEM:erna ihop databasen och levererar den till sina underleverantörer så alla vet hur deras ECU ska kommunicera med alla andra.

För LIN så är motsvarande ldf-filer, övriga bussar har jag sämre koll på.