Sziasztok !
Érdeklődnék ,hogy az autódiagnosztikai illesztő adapterek (ezek tehermentesítik a PC-n futó specifikus alkalmazást) ,hogyan csatlakoznak a jarmű CAN buszhóz ?
Arra vonatkozik a kérdés hogy :
a) A teszter rendelkezik egy a számára "fenntartott" (arbitrációs mezővel) ID azonosítóval amely minden autó esetén ugyan az ?
b) A teszter CAN 2.0 B protokoll szerint kommunikál ?
A válaszokat a kérdésekre előre is köszönöm !
Üdv : Lengyel József
Sziasztok !
Mindenkinek *** Nagyon Szépen Köszönöm a fáradozást a Nagyszerű Segítséget !
Üdv : Lengyel József
0
Szia József!
A téma nagyon szerteágazó.
Vannak szabványosítási törekvések, de vannak gyártóspecifikus megoldások.
Meg ugye most az is kérés, hogy mikori állapot érdekel, mert
az autóknál a diagnosztikai megoldások igen sokat fejlődtek az utóbbi években.
Régebben mindenféle egy, vagy többvezetékes soros kommunikációt használtak, a szabványosságra törekvés minden igénye nélkül.
A CAN terjedésével egyre többen álltak át a CAN diagnosztikára, de erre is többféle szabvány született, illetve születik ma is, ahogy ez az irány is fejlődik.
A tendencia azt mutatja, hogy lassan a CAN is le lesz cserélve (legalábbis ami a diagnosztikát illeti) és LAN lesz helyette.
Lásd DoIP.
http://www.iso.org/iso/catalogue_detail.htm?csnumber=53765
De te a CAN-re kérdeztél rá:
A CAN-nél sok kommunikációs réteg épül egymásra.
A CAN 2.0B, amit említettél az a fizikai réteg.
A ma használatos teszterek ezt (is) használják.
De a többség támogat egyéb szabványokat is, mint pl. ISO9141.
Vannak multiprotokoll interfacek erre a célra, pl:
http://www.elmelectronics.com/obdic.html
Aztán ahhoz, hogy diagnosztikai információkat vigyünk át a teszter és a vezérlőegységek között kell egy szállítási réteg, mert a CAN magában nem nagyon alkalmas nagyobb adattömbök átvitelére, mint pl. program letöltése a vezérlő egységbe.
Ezt a szállítási réteg oldja meg, hogy egy tömböt több egymás után következő CAN üzenetben továbbít.
Meg még sok minden mást is megold.
Erre is van többféle szabvány.
Régebben a ISO TP, ma az UDS.
https://en.wikipedia.org/wiki/ISO_15765-2
https://en.wikipedia.org/wiki/Unified_Diagnostic_Services
Aztán ha már tudunk beszélgetni a vezérlővel, akkor kell egy olyan réteg, ami értelmezi, hogy mik azok az adatok, amiket átvittünk.
Természetesen erre is több szabvány van.
Régebben a KWP2000, újabban ODX.
https://en.wikipedia.org/wiki/Keyword_Protocol_2000
https://de.wikipedia.org/wiki/ODX
A linkek csak példák, a megfelelő kulcsszavakra keresve bizonyára lehet találni a neten, megfelelő leírásokat erről.
Még a CAN ID-ről:
Ez is szabványonként eltér.
A teszternek nem egy CAN ID-je van, hanem az vezérlőegységenként változik.
Van, hogy meg van határozva, hogy mondjuk a motorvezérlőt milyen CAN ID-vel lehet megszólítani és az milyen CAN ID-vel fog válaszolni.
Olyan is van, hogy a kommunikáció kezdetekor a vezérlő és a teszter megállapodnak, abban, hogy milyen CAN ID-vel fognak egymással beszélgetni.
Ezek azért szükségesek, mert a protokollok támogatják azt, hogy egy teszter "egy időben" több vezérlővel is kommunikáljon és mindegyikkel más más ID-t fog használni.
Üdv!
Kaszi
0
Szia,Kaszi28 !
Nagyon szépen köszönöm a magyarázatokat ,az alátámasztásokat (internet link) !
A téma nagyon érdekel mert ez a soros kommunikációk egyike amelyet szeretném jobban megismerni .
A csatolt linkeket figyelemben veszem valamint az ISO szabványban rögzített szempontokat.
Maga a ROBERT BOSCH cég olyan meggondolásból választotta a jármű ipar számára a CAN buszt mivel ez "kevésbé érzékeny" a külső zavarokra -egyrészt---. A másik szempont az volt ,hogy a villamos egységek egy vezeték párossal kommunikáljanak egymással.. Szempont volt a villamos hálózat kialakításánál a gazdasági megfontolás ,a biztonság.
Minden esetre Nagyon köszönöm a segítséget ,hogy legyen egy "tisztább kép" a CAN buszról.
Üdv : Lengyel József
0
Szia.
Nálunk is "tisztább lenne a kép" ha adnál egy normális címet a topic-nak, igaz így is ötvenhétmillió találatot ad.
Üdv.
0
Szia city217 !
Olvasd be mind az 57 millió találatot és tárold el a buksidban . Te leszel egy új szerver ! :-))).Csak poén volt remélem nem sértődtél meg.
Ezért ez a címe mert így láttam jónak.
Üdv : Lengyel József
0
Szervusz Lengyel József!
Ez elég rendesen tárgyalja a kérdést:
http://moodle.autolab.uni-pannon.hu/Mecha_tananyag/autoipari_kommunikaci...
Üdv:
exGelkás
Ps: Most látom, hogy a kérés, nem erre vonatkozott, hanem a diagnosztikai csatlakozó, és a számítógép közötti területre.,
de nem hiszem, hogy haszontalan lenne! :-)
0
Szia ,exGelkás !
Nagyon szépen köszönöm a linket ! Mindenképp áttanulmányozom.Bizony ez nagyon is hasznos amit csatoltál ! A CAN busz-al való ismereteket szeretném elsajátítani valamint ,ha lesz rá mód a gyakorlatban is "kipróbálni".
Köszi szépen még egyszer !
Üdv : Lengyel József
0
Szia!
Pontosan nem látom, hogy mivel szeretnél megismerkedni,
de kéretik nem összekeverni a CAN buszt, a CAN busz alapú diagnosztikával.
Ha csak a CAN a cél (ami alatt azt értem, hogy vezérlőegységek közötti kommunikáció megértése, vizsgálata, esetleg eszköz készítése arra, hogy egy vezérlőnek üzeneteket küldjön, vagy fogadjon, vagy két olyan egység készítése, amik egymással CAN-en kommunikálnak, stb.), akkor célszerű valamelyik félvezető gyártó (pl. Microchip, ha már említve lett) honlapján tájékozódni, adatlapokat, próba projekteket keresni.
Építhetsz magadnak egyszerű CAN-es áramkört, ami tipikusan mikrokontrollerből, CAN kontrollerből, CAN transceiver-ből áll.
Bármilyen kis mikrokontroller + MCP2515 + MCP2551.
Vagy korszerűbb PIC mikrokontrollerből, amiben van integrált CAN kontroller + MCP2551
http://www.microchip.com/design-centers/can
Vagy veszel egy kész terméket, pl ezt:
http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=APG...
Ilyenkor azok a protokollok nem kellenek, amiket az első hozzászólásomban írtam, elég a CAN specifikáció, pl innen:
http://www.can-cia.org/
Ezt a protokollt a CAN kontroller és CAN Transceiver tökéletesen lekezeli.
Ha azonban speciálisan a CAN diagnosztika területe érdekel, akkor pár réteggel feljebb érdemes beszállni a buliba, és az alatta levő rétegeket adottnak érdemes felfogni, hiszen ez a CAN kommunikációra épül ugyan, de a hardvertől elég távoli rétegekben működik.
Ez már szinte csak számítástechnika.
Mégegyszer: A CAN már évtizedek óta benne van az autókban és a vezérlőegységek közötti kommunikációt oldották meg vele.
De ekkor még nem használhatták diagnosztikára, hogy miért, ennek sok oka van.
A legfőbb, hogy először nem minden vezérlő egységet tettek fel a CAN-re, egyszerűbb vezérlőknél erre még nem volt szükség.
Ezért diganosztikára más módszereket használtak. Másrészt a CAN-re épülő diagnosztikai protokollok még meg sem voltak.
Aztán évekkel később, mikor már az autóelektronika komplexitása olyan szintre emelkedett, hogy már majdnem minden vezérlőt célszerű volt feltenni a CAN-re, akkor alakították ki a CAN diagnosztikai protokollokat, amiket az első hozzászólásomban írtam.
Tehát a CAN diagnosztika, nem vezérlő-vezérlő kapcsolat, hanem vezérlő-diagnosztikai eszköz kapcsolat.
Ha van további konkrét kérdésed, szívesen segítek.
Üdv!
Kaszi
0
Szia ,kaszi28 !
Igazán nagyon szépen köszönöm a felvilágossítást !
Ami engemet érdekel az a következő :
a vezérlő- vezérlő (Node = csomopontók) közötti gyakorlati működés CAN ;
-És persze a vezérlő -diagnosztikai eszköz közötti kapcsolat. Hogyan működik ,gyakorlati kivitelezések ,szabványok .
Egyébként tervben van ,hogy egy Microchip mikrokontroller segítségével amelyben már integrálva van a teljes CAN modul élesben is kipróbáljam hogyan is dolgozik a két csomópont (Node) az adatbuszon.
Mivel nem a szakmában dolgozom ,mivel az elektronika számítástechnika érdekel nagyon is szeretnék ismereteket e téren elsajátítani !
Tehát érdekel a Node = csomópont közötti CAN kommunikáció is ;
valamint a vezérlőegység (csomópont = Node) és diagnosztikai eszköz közötti kapcsolat is.
Burkoltan rá tértél az OSI model rétegeire is. Egyébként ,ha jól emlékszem hét rétegből tevődik össze. Bövebben erről a Dr Konya László A PIC "Mikrokontrollerek Alkalmazástechnikája" című könyvében olvashatunk.
Örök hála a tájékoztatásokért a segítségért !
Üdv : Lengyel József
0
Így van, az OSI rétegekről írtam.
Az eredeti CAN szabvány, csak az alsó kettő réteget definiálta, a fizikai és adatkapcsolati réteget.
Ezért vált szükségessé később a felsőbb réteg szabványainak kidolgozása.
A fizikai rétegre is többféle szabvány van, lásd alább a "The physical media attachment sub-layer" fejezetben.
http://www.can-cia.org/can-knowledge/can/systemdesign-can-physicallayer/
Alapvető fontosságú eldönteni, hogy melyik verzióval szeretnél kísérletezni, mert az adott szabványoz illeszkedő CAN Transceivert kell alkalmazni.
De jelenleg az un. High-Speed CAN a legelterjedtebb, ISO 11898-2.
Üdv!
Kaszi
0
Szia Kaszi28!
Nagyon szépen köszönöm a csatolt internet linket !
Mivel most kezdtem elsajátítani a CAN bus ismereteket megpróbálok beszerezni egy olyan mikrokontrollert (amelyben integrálva van a CAN ENGINE modul is) .
ki szeretném próbálni "élőben " két csomópont ,hogyan kommunikál egymással.
Ami az OSI modellt illeti úgy látszik az alkalmazása során lehet talán a legjobban megérteni ,hogy "mit is akar".
A mai mikrokontrollerek már támogatják a CAN 2.0 B - t is . Tudnak működni standard CAN kontroller ként is és kiterjesztett ID-s mezővel is amilyen a CAN 2.0 B .
- Jó lenne tudni ,hogy az adott csomópont "élőben" hogyan kezeli a "hiba aktiv" és hiba "passziv" állapotokat is.
Ha csak arra jó ez hogy jobban megismerjem a CAN rendszert akor is megérte foglalkozni vele.
Nagyon szépen köszönöm még egyszer !
Üdv : Lengyel József
0
A feladat tehát az, hogy a kiválasztott fizikai protokollnak megfelelő CAN Transceivert végy, plusz CAN kontrollert (mindegy, hogy külön, vagy prociba integráltat).
Ennek a kettőnek pontosan az a dolga, hogy lekezelje a CAN specifikációt.
A CAN kontrollerben levő protokoll engine nagyban leegyszerűsíti a CAN kezelését, automatikusan megoldja pl. a bit stuffingot, sziknronizációt a jelváltásokra, stb.
A programozási feladat ezáltal leegyszerűsödik az érdemi részre, hogy pl. a megfelelő transmitter bufferbe betöltsük a kiküldendő adatokat és CAN ID-t, majd jelet adunk a kiküldésre és a CAN kontroller már ki is küldi a CAN protokollnak megfelelően.
A vétel is hasonlóan megy.
Mindezek előtt a CAN kontrollert inicializáló üzemmódba kell kapcsolni és jópár regisztert be kell konfigurálni, az adott feladatnak megfelelően.
Aztán normál módra kell váltani és már mehetnek is a bitek a CAN-en.
Ha már a CAN kommunikáció lényegét megértetted, akkor javaslom olvasd el az egyik CAN kontroller doksiját, abban részletesen le van írva, hogy mikor mit és hogy kell felkonfigurálni.
Vannak komplett páldák is a Microchipnél.
Üdv!
Kaszi
0
Szia,Kaszi28 !
Köszönöm szépen a javaslatodat !
Pontosan azt tettem már le is töltöttem két CAN kontroller típust ezek a bizonyos önálló CAN kontrollerek (Stand Alone CAN Controller).
Az egyik a Microchip terméke : MCP2510 a másik a SJA 1000 (Philips). Le emelem a nem létező kalapomat ezen cégek mérnökei előtt . Ezek nagyon "okos" kis IC-k !
Még egyszer köszi szépen !
Üdv : Lengyel József
0
Szia!
Az SJA1000 már elég régi jószág, gyakorlatilag ez vált ipari standardá.
Persze időközben dobtak ki újabb revíziókat belőle.
Én a Microchip MCP2515-el dolgoztam, ez javított verziója a 2510-nek.
Sok sikert velük!
Üdv!
Kaszi
0
Szia !
Nagyon szépen köszönöm !
Üdv : Lengyel József
0
Még beszúrnám ezt a cikket, amely eléggé plasztikusan ábrázolja a helyzetet.
http://totalcar.hu/magazin/technika/2010/12/02/segitseg_busz_van_az_auto...
Üdv!
Kaszi
0
Szia Kaszi28 !
Elolvastam amit csatoltál. Azért nem semmi...
Foglalkozom amatőr szinten mikrokontroller programozással ,pár projektet Hála Istennek megvalósítottam. De szeretném mint említettem megismerni ezt a bizonyos részt is (CAN ,diagnosztika).
Amennyire lehet próbálok tájékozódni, annak ellenére ,hogy nem a szakmámban dolgozom...
Tényleg Örök Hála a remek tájékoztatásért !
Üdv : Lengyel József
0
Szervusz Lengyel József!
Ez egy a feladat megoldására alkalmas eszköz adatlapja ebben is találhatsz hasznos információt.
http://www.alldatasheet.com/datasheet-pdf/pdf/346044/NXP/LPC2119.html
A CAN hálózatokat előszeretettel használják ipari körülmények között is, bár népszerűségét a járműiparnak köszönheti.
Üdv:
exGelkás
0
Szia,exGelkás !
Köszönöm szépen a fáradozásodat ! Ez egy jó dokumentáció (a volt PHILIPS által napjainkban NXP cég csoport ) által alkotott mikrokontrolleről.
Hasonló tulajdonságokkal tehát hasonló periferiákkal rendelkezik a Microchip cég által gyártott PIC32MX7.. sorozatú mikrokontroller is. Itt is megtaláljuk a CAN busz periferiát.
Nagyon Szépen Köszönöm ! Ha valamiben én is tudok segíteni én is szívesen teszem !
Üdv : Lengyel József
0
Hello!
Igen, ez a leírás nem rossz, de ez az "alap" CAN protokollt ismerteti "csak",amit a vezérlő egységek egymás közötti kommunikációjára használnak.
A különböző diagnosztikai protokollok (teszter és autó között) erre épülnek, de szükségesek az általam említett felsőbb protokollok.
Üdv!
Kaszi
0