Mi az a shina san. CAN busz - hogyan működik az elektronika a modern autókban? Standard és kiterjesztett CAN

Adminisztrátor

18702

Annak érdekében, hogy megértsük a CAN busz alapelveit, úgy döntöttünk, hogy a szokásos módon számos cikket írunk / fordítunk erről a témáról, külföldi forrásokból származó anyagok alapján.

Az egyik ilyen forrás, amely számunkra úgy tűnt, elég találóan illusztrálja a CAN busz alapelveit, az Igendi Engineering CANBASIC oktatási termékének videó bemutatója volt (http://canbasic.com).

Üdvözöljük az új CANBASIC termék bemutatásán, amely a CAN busz működését szolgáló képzési rendszer (tábla).

Kezdjük a CAN buszhálózat kiépítésének alapjaival. Az ábrán egy autó látható világítórendszerével.



Hagyományos huzalozás, ahol minden lámpa közvetlenül kapcsolódik valamilyen kapcsolóhoz vagy fékpedál érintkezőhöz.



Hasonló funkciók jelennek meg a CAN busz technológia használatával. Az első és hátsó lámpák vezérlőmodulokhoz vannak csatlakoztatva. A felügyeleti modulok párhuzamosan vannak csatlakoztatva ugyanazokkal a buszvezetékekkel.



Ez a kis példa azt mutatja, hogy a vezetékek hangereje csökken. Ezenkívül a vezérlőmodulok érzékelik a kiégett lámpákat, és tájékoztatják erről a vezetőt.

Az autó a jelzett nézetben négy vezérlőmodult tartalmaz, és egyértelműen tükrözi a CANBASIC képzési rendszer (tábla) felépítését



A fentiekben négy buszcsomópont (CAN csomópont) található.

Az első modul vezérli az első lámpákat.

A riasztóegység figyeli a jármű belsejét.

A fő vezérlőmodul összekapcsolja a jármű összes rendszerét diagnosztikai célokra.

A hátsó szerelvény vezérli a hátsó lámpákat.

A CANBASIC edzőtáblán láthatja a vezérlőmodulban csatlakozó három jel, a Power, a CAN-Hi és a Ground útvonalát (helyét).



A legtöbb járműben szükség van egy OBD-USB átalakítóra, hogy diagnosztikai szoftver segítségével csatlakoztassa a fő vezérlőmodult a számítógéphez.



A CANBASIC kártya már tartalmaz egy OBD-USB átalakítót, és közvetlenül csatlakoztatható a számítógéphez.

A táblát az USB interfész táplálja, így nincs szükség további kábelekre.



A buszvezetékeket sok adat szállítására használják. Hogyan működik?

Hogyan működik a CAN busz?

Ezeket az adatokat egymás után továbbítják. Íme egy példa.

A lámpával rendelkező személy, az adó, valamilyen információt szeretne küldeni a távcsővel rendelkező személynek, a vevőnek (vevő). Adatokat akar átvinni.



Ennek érdekében megegyeztek abban, hogy a vevő 10 másodpercenként megvizsgálja a lámpa állapotát.



Ez így néz ki:







80 másodperc után:



Most 8 bit adatot továbbítottak 0,1 bit / másodperc sebességgel (azaz 1 bit / 10 másodperc). Ezt hívják soros adatátvitelnek.



Ennek a megközelítésnek az autóipari alkalmazásokban való használatához az időintervallum 10 másodpercről 0,000006 másodpercre csökken. Információ továbbítása az adatbusz feszültségszintjének megváltoztatásával.



Oszcilloszkóppal mérik a CAN busz elektromos jeleit. A CANBASIC táblán található két mérőpad lehetővé teszi a jel mérését.



Az oszcilloszkóp felbontása csökken a teljes CAN üzenet megjelenítéséhez.



Ennek eredményeként egyetlen CAN bit már nem ismerhető fel. A probléma megoldásához a CANBASIC modul digitális tároló oszcilloszkóppal van felszerelve.

A CANBASIC modult egy szabad USB -csatlakozóba illesztjük, majd automatikusan észleli. A CANBASIC szoftver azonnal elindítható.



Láthatja a szoftver oszcilloszkóp nézetét a csatolt bitértékekkel. Az előző példában továbbított adatok pirossal jelennek meg.

A CAN -üzenet egyéb részeinek magyarázatához színezzük ki a CAN -keretet, és csatolunk hozzá leírásokat.



A CAN üzenet minden színes része azonos színű beviteli mezőnek felel meg. A pirossal jelölt terület felhasználói adatokat tartalmaz, amelyek bit, rágcsálható vagy hexadecimális formátumban adhatók meg.

A sárga terület határozza meg a felhasználói adatok mennyiségét. A zöld zónában egyedi azonosító állítható be.

A kék terület lehetővé teszi a CAN üzenet beállítását a távoli kéréshez. Ez azt jelenti, hogy egy másik CAN csomópont válaszára kell számítani. (Maguk a rendszerfejlesztők azt javasolják, hogy ne használjanak távoli kéréseket számos okból, amelyek rendszerhibákhoz vezetnek, de lesz még egy cikk erről.)

Sok CAN busszal rendelkező rendszert egy másik CAN-LO csatorna véd az interferenciától az adatátvitelhez, amely a CAN-HI jelhez képest inverz (azaz ugyanaz a jel, csak az ellenkező előjellel).



Hat egymást követő, azonos szintű bit határozza meg a CAN keret végét.



Véletlenül a CAN keret más részei több mint öt egymást követő, azonos szintű bitet tartalmazhatnak.



Ennek a bitjelnek a elkerülése érdekében, ha öt egymást követő, azonos szintű bit jelenik meg, akkor az ellenkező bit kerül a CAN keret végére. Ezeket a biteket cucc biteknek (szemét biteknek) nevezik. A CAN vevők (jelvevők) figyelmen kívül hagyják ezeket a biteket.



A beviteli mezők segítségével megadható egy CH keret összes adata, és ezért minden CH üzenet elküldhető.

A beillesztett adatok azonnal frissítésre kerülnek a CAN keretben, ebben a példában az adathossz egy bájtról 8 bájtra változik, és egy bájttal vissza kerül.



A leíró szöveg azt jelzi, hogy az irányjelző vezérlése a „2C1” azonosítóval, valamint a 0 és 1 adatbitekkel történik. Minden adatbit visszaáll 0 -ra.



Az azonosító beállítása "2C1". Az irányjelző aktiválásához az adatbitet 0 -ról 1 -re kell állítani.



Szalon módban a teljes modult egyszerű egérkattintással vezérelheti. A CAN adatok beállítása automatikusan történik a kívánt műveletnek megfelelően.

Az irányjelző lámpák felszerelhetők a tompított fényre, hogy DRL -ként működjenek. A fényerőt impulzusszélesség -moduláció (PWM) szabályozza, a modern dióda -technológia képességeinek megfelelően.

Most aktiválhatjuk a tompított fényszórókat, ködlámpákat, féklámpákat és távolsági fényszórókat.



A tompított fény kikapcsolásakor a ködlámpák is kikapcsolnak. A CANBASIC fényrendszer vezérlési logikája megfelel a Volkswagen járműveknek. A gyújtás és a hazatérés funkciói szintén szerepelnek.

A jelcsomóponttal távoli kérés kezdeményezése után olvashatja le az érzékelő jelét.

Távoli kérés módban a második CAN keret fogadásra kerül, és megjelenik az elküldött CAN keret alatt.



A CAN adatbájt tartalmazza az érzékelő mérési eredményét. Ha az ujját közelebb mozgatja az érzékelőhöz, megváltoztathatja a mért értéket.



A szünet gomb lefagyasztja az aktuális CAN keretet, és lehetővé teszi a pontos elemzést.

Amint már látható, a CAN keret különböző részei elrejthetők.



Ezenkívül az egyes bitek elrejtése a CH-keretben is támogatott.

Ez nagyon hasznos, ha a CAN keretes ábrázolást szeretné használni saját dokumentumaiban, például feladatlapon.

Diagnosztika és javítás: CAN - busz

21.02.2006

Így néz ki (alapvetően) ugyanaz a gumiabroncs. TUD ", amelyekkel az utóbbi időben egyre gyakrabban kell megküzdenünk:

fotó 1

Ez egy közönséges kétvezetékes kábel, amelyet Twisted Pairnak hívnak .
Az 1. fotó az erőátvitel CAN High és CAN Low vezetékeit mutatja.
Ezek a vezetékek adatcserére szolgálnak a vezérlőegységek között, információkat hordozhatnak a jármű sebességéről, a főtengely forgási sebességéről, a gyújtás időzítéséről stb.
Vegye figyelembe, hogy az egyik vezetéket ezenkívül fekete csík jelzi. Így jelölik és vizuálisan azonosítják a vezetéket. CAN High (narancs-fekete).
Huzal színe
CAN-Alacsony - narancsbarna.
A gumiabroncs fő színéhez
TUD narancsot fogadnak el.

A képeken és rajzokon a buszvezetékek színeit szokás ábrázolni TUD más színek, nevezetesen:

fotó 2

CAN-High - sárgában
CAN-Alacsony - zöldben

Többféle gumiabroncs létezik. TUD , az általuk végzett funkciók határozzák meg:
Hajtómű CAN busz(gyors csatorna) .
Megengedi
információt továbbít) 500 kbit / s sebességgel, és a vezérlőegységek közötti kommunikációt szolgálja (motor - sebességváltó)
Kényelmes CAN busz(lassú csatorna) .
Megengedi
100 kbit / s sebességgel továbbítja az információkat, és a "Comfort" rendszer vezérlőegységei közötti kommunikációra szolgál.
CAN adatbusz infotainment rendszer(lassú csatorna), amely lehetővé teszi az adatátvitelt 100 kBit / s sebességgel. Kommunikációt biztosít különböző szolgáltatási rendszerek (pl. telefon- és navigációs rendszerek) között.

Az új autómodellek egyre inkább hasonlítanak a repülőgépekre - a biztonság, a kényelem és a környezetbarát funkciók bejelentett funkcióinak számát tekintve. Egyre több vezérlőegység van, és irreális minden huzalcsomóból "kihúzni".
Ezért a buszon kívül TUD már léteznek más gumik is, nevek:
- LIN busz (egyvezetékes busz)
- MOST busz (száloptikai busz)
- vezeték nélküli bluetooth busz

De ne „homályosítsuk el gondolatainkat a fa mentén”, eddig egy konkrét buszra összpontosítjuk figyelmünket: TUD (a társaság véleménye szerint BOSCH).

Példaként a CAN buszt használva tápegység, láthatja a hullámformát:

3. fotó

Amikor a High CAN buszon van domináns állapot, akkor a vezeték feszültsége 3,5 voltra emelkedik.
Recesszív állapotban mindkét vezeték feszültsége 2,5 volt.
Amikor a dróton
Alacsony domináns állapot, akkor a feszültség 1,5 voltra csökken.
(A "domináns" olyan jelenség, amely domináns, domináns vagy domináns bármely szférában - szótárakból).

Az adatátvitel megbízhatóságának növelése érdekében a buszon TUD differenciális módszert használnak a jelek két vezetéken történő továbbítására, amelynek neve van Csavart érpár ... És a vezetékeket, amelyek ezt a párt alkotják, nevezzük CAN High és CAN Low .
A busz kezdeti állapotában mindkét vezetéken egy bizonyos (alap) szinten állandó feszültséget tartanak fenn. Buszra
TUD tápegység, ez körülbelül 2,5 volt.
Ezt a kezdeti állapotot nyugalmi állapotnak vagy recesszívnek nevezik.

Hogyan továbbítják és konvertálják a jeleket CAN busz?

A vezérlőegységek mindegyike csatlakoztatva van TUD busz egy külön adó -vevő eszközön keresztül, amely jelvevővel rendelkezik, amely a jelbemenetre telepített differenciális erősítő:

fotó 4

Bejövő vezetékkel Magas és alacsony a jeleket a differenciálerősítőre küldik, feldolgozzák és a vezérlőegység bemenetére táplálják.
Ezek a jelek a differenciális erősítő kimenetén lévő feszültséget jelzik.
A differenciálerősítő ezt a kimeneti feszültséget a CAN -busz magas és alacsony vezetékeinek feszültsége közötti különbségként generálja.
Ez kiküszöböli az alapfeszültség hatását (az erőátviteli CAN busz esetén 2,5 V) vagy bármilyen feszültséget, amelyet például külső interferencia okoz.

Egyébként az interferenciáról. Ahogy mondani szokták: "a gumiabroncs TUD meglehetősen immunis az interferenciára, ezért olyan széles körben elterjedt. "
Próbáljuk meg kitalálni.

CAN busz vezetékek A hajtómű a motortérben található, és különféle interferenciák, például a gyújtórendszer által okozott interferencia befolyásolhatja.

A CAN busz óta két egymásra csavart vezetékből áll, akkor az interferencia egyszerre két vezetéket érint:

A fenti ábrán láthatja, mi történik ezután: a differenciálerősítőben az alacsony vezeték feszültsége (1,5 V - " Pp ") kivonjuk a feszültségből
a magas vezetéken (3,5 V - "
Pp ") és nincs interferencia a feldolgozott jelben (" Pp "akadály).


Megjegyzés: Az idő rendelkezésre állása miatt a cikknek folytatása lehet - sok még mindig a "kulisszák mögött" marad.



Kucher V.P.
© Legion-Avtodata

Ön is érdekelheti:

Mi az a CAN busz?

A CAN megjelenésének története a múlt század 80-as éveinek közepén kezdődött. A bosch cég az intellel együtt kifejlesztett egy új digitális interfészt az adatátvitelhez - a Controller Area Network (CAN).

Analóg riasztó csatlakozás (nincs CAN busz)

Miért van szüksége CAN buszra az autóban?

A CAN busz lehetővé teszi tetszőleges számú érzékelő, vezérlő, működtető és más, az autóban található egység összekapcsolását (például: ABS, SRS LÉGZSÁK, ESP rendszerek, indításgátló, motorvezérlő egység, klíma, sebességváltó, központi zár, világítás, felfüggesztés, műszerfal panel, stb ...) duplex módban (adatok fogadása és továbbítása), akár 1 Mbit / s sebességgel. Ebben az esetben maga a konzerv busz csak két vezetékből áll (csavart érpár). Korábban több száz vezetéket kellett használni a blokkok összekapcsolásához. az információegység blokkról blokkra történő továbbítása külön vezetéken keresztül történt.

CAN busz riasztás beállítása

Autós riasztók CAN modullal.

CAN modul

A modern autóriasztók beépített CAN modullal készülnek, amely lehetővé teszi az autóriasztók közvetlen csatlakoztatását az autó digitális CAN buszához. Az autóriasztó digitális formában kap információt a végálláskapcsolók, zárak, gyújtás, kézifék, fordulatszámmérő stb. Állapotáról. és ajtózárakat, elektromos ablakokat, napfénytetőt, szabványos riasztót és néhány más autórendszert is vezérelhet. lehetővé teszi, hogy jelentősen csökkentse az interferenciát a szabványos kábelezésben (a csatlakozók csak 6-8 vezetékre vannak kötve, a 15-20 helyett a dobozos busz használata nélkül), és elkerüli az autó elektromos berendezéseinek garanciájával kapcsolatos problémákat.

A modern autó nemcsak közlekedési eszköz, hanem multimédiás funkciókkal rendelkező fejlett eszköz is, valamint elektronikus egységek és egy csomó érzékelő vezérlő rendszere. Sok autógyártó kínálja a vezetési asszisztensek, parkolási asszisztensek, az autók telefonról történő felügyeletét és vezérlését. Ez annak köszönhető, hogy a CAN buszt az autóban használják, amelyhez minden rendszer csatlakoztatva van: motor, fékrendszer, kormány, multimédia, klíma stb.

Az autóm Skoda Octavia 2011. nem kínál vezérlési képességeket a telefonról, ezért úgy döntöttem, hogy kijavítom ezt a hibát, és ugyanakkor hozzáadok egy hangvezérlő funkciót. A CAN busz és a telefon közötti átjáróként egy Raspberry Pi-t használok, CAN BUS pajzzsal és TP-Link WiFi útválasztóval. Az automatikus egységek kommunikációs protokollja le van zárva, és a Volkswagen nem volt hajlandó minden levelemre átadni a protokoll dokumentációját. Ezért az egyetlen módja annak, hogy megtudja, hogyan kommunikálnak az autóban lévő eszközök, és megtanulja kezelni őket, a VW CAN buszprotokoll megváltoztatása.

Lépésben haladtam:

  1. Csatlakozás az autó CAN buszához
  2. Hangvezérlés Homekit és Siri segítségével
A videó végén az elektromos ablak hangvezérlése található.

CAN pajzs fejlesztése a Raspberry Pi számára

Az árnyékolási sémát itt vettük fel: lnxpps.de/rpie, a csapok leírása is megtalálható, 2 MCP2515 és MCP2551 mikroáramkört használnak a CAN -nal való kommunikációhoz. 2 vezeték CAN-High és CAN-Low csatlakozik az árnyékoláshoz. A SprintLayout 6 -ban szétterítem a táblát, használhatja bárki a CANBoardRPi.lay -t (a címfotón a pajzs prototípusa található a kenyértáblán).

Szoftver telepítése a CAN busszal való munkavégzéshez

A Raspbianon 2 évvel ezelőtt a bcm2708.c -t kellett javítanom, hogy hozzáadhassam a CAN támogatást (talán most nem szükséges). A CAN busszal való munkavégzéshez telepítenie kell a can-utils segédprogram csomagot a github.com/linux-can/can-utils webhelyről, majd be kell töltenie a modulokat, és elő kell hoznia a konzervdoboz felületét:

# inicializálás insmod spi-bcm2708 insmod can insmod can-dev insmod can-raw insmod can-bcm insmod mcp251x # Maerklin Gleisbox (60112 és 60113) 250000 # loopback módot használ az ip linkkészlet can0 típusának tesztelésére, bitráta 125000 loopback on ifconfig can0 up
Ellenőrizzük, hogy a CAN interfész felment -e a paranccsal ifconfig:

Egy parancs küldésével és fogadásával ellenőrizheti, hogy minden működik -e.

Hallgassa meg az egyik terminálon:

[e -mail védett]~ # candump any, 0: 0, #FFFFFFF
Egy másik terminálon a következőket küldjük:

[e -mail védett]~ # cansend can0 123 # deadbeef
A részletesebb telepítési folyamat itt található: lnxpps.de/rpie.

Csatlakozás az autó CAN buszához

Kicsit tanulmányozva a VW CAN busz nyitott dokumentációját, rájöttem, hogy 2 buszom van.

Hajtómű CAN busz 500 kbit / s sebességgel továbbítja az adatokat, összeköti az összes ezt az egységet kiszolgáló vezérlőegységet.

Például a következő eszközök csatlakoztathatók az erőátviteli CAN buszhoz:

  • a motor vezérlőegysége,
  • ABS vezérlőegység,
  • árfolyamszabályozó rendszer vezérlőegysége,
  • sebességváltó vezérlőegység,
  • légzsák vezérlőegység,
  • műszeregység.
Kényelem CAN busz és parancs információs rendszer, amely lehetővé teszi az adatátvitelt 100 kbit / s sebességgel az ezeket a rendszereket kiszolgáló vezérlőegységek között.

Például a "Kényelem" rendszer és információ CAN buszára<командной системы могут быть
a következő eszközök vannak csatlakoztatva:

  • a Climatronic vagy a légkondicionáló rendszer vezérlőegysége,
  • vezérlőegységek az autó ajtajában,
  • a "Comfort" rendszer vezérlőegysége,
  • vezérlőegység kijelzővel a rádióhoz és a navigációs rendszerhez.
Miután hozzáférhetett az elsőhöz, szabályozhatja a mozgást (az én mechanikával kapcsolatos verziómban legalább a sebességtartó automatát), a másodikhoz hozzáférve pedig a rádiót, a klímát, a központi zárat, az elektromos ablakokat , fényszórók, stb.

Mindkét busz az átjárón keresztül csatlakozik, amely a kormánykerék alatti területen található, a diagnosztikai OBD2 csatlakozó szintén az átjáróhoz van csatlakoztatva, sajnos nem hallgathatja a forgalmat mindkét buszról az OBD2 csatlakozón keresztül, csak egy parancsot kérni és állapotot kérni. Úgy döntöttem, hogy csak a Comfort busszal fogok dolgozni, és a buszhoz való csatlakoztatáshoz a legkényelmesebb hely a vezetőoldali ajtó.

Most már hallgatok mindent, ami a "Comfort" CAN buszon történik, és parancsokat küldhetek.

Sniffer fejlesztés és CAN busz protokoll tanulmány


Miután hozzáférhettem a CAN busz hallgatásához, vissza kell fejteni, hogy ki kinek és mit ad. A CAN csomag formátuma az ábrán látható.

A can-utils készlet összes segédprogramja képes elemezni a CAN csomagokat, és csak hasznos információkat adni, nevezetesen:

  • Azonosító
  • Adatok hossza
  • Adat
Az adatok titkosítatlan formában kerülnek továbbításra, ami megkönnyítette a protokoll tanulmányozását. A Raspberry Pi -n írtam egy kis szervert, amely átirányítja az adatokat a candump -ról a TCP / IP -re annak érdekében, hogy elemezze a számítógépen lévő adatfolyamot és szépen megjelenítse.

A macOS esetében írtam egy egyszerű alkalmazást, amely minden eszközcímhez hozzáad egy cellát a lemezhez, és ebben a cellában már látom, hogy milyen adatok változnak.

Megnyomom a bekapcsoló ablak gombot, találtam egy cellát, amelyben az adatok változnak, majd meghatároztam, hogy mely parancsok felelnek meg a lenyomásnak, felnyomásnak, lenyomva tartásnak, lenyomva tartásnak.

A parancs működését ellenőrizheti, ha elküldi a terminálról, például a bal oldali üveg felemelésére vonatkozó parancsot:

Cansend can0 181 # 0200
Parancsok, amelyek CAN buszon keresztül továbbítják az eszközöket VAG járművekben (Skoda Octavia 2011), fordított tervezéssel:

// bal első üveg felfelé 181 # 0200 // bal első üveg lefelé 181 # 0800 // jobb első üveg fel 181 # 2000 // jobb első üveg le 181 # 8000 // bal hátsó üveg fel 181 # 0002 // bal hátsó üveg Le 181 # 0008 // Vissza jobb üveg Fel 181 # 0020 // Vissza jobb üveg Le 181 # 0080 // Központi zár nyitva 291 # 09AA020000 // Központi zár Bezárás 291 # 0955040000 // A központi zár fényállapotának frissítése (Amikor elküldi parancs a zár nyitására / zárására, a zárvezérlő gomb LED -je nem változtatja meg az állapotot, így a központi zár valódi állapotát mutatja, frissítési parancsot kell küldenie) 291 # 0900000000
Túl lusta voltam az összes többi eszköz tanulmányozásához, így ebben a listában csak az volt számomra érdekes.

Alkalmazás fejlesztése a telefon számára

A kapott parancsok segítségével írtam egy alkalmazást az iPhone -hoz, amely megnyitja / bezárja az ablakokat és vezérli a központi zárat.

A Raspberry Pi -n 2 kis szervert futtatok, az első tömören adatokat küld a TCP / IP -re, a második parancsokat kap az iPhone -tól, és továbbítja a cansendnek.


Az autóvezérlő alkalmazás forrásai iOS -hez

// FirstViewController.m // Autóvezérlés // // Készítette: Vitaliy Yurkin, 05/17/15. // Szerzői jog (c) 2015 Vitaliy Yurkin. Minden jog fenntartva. // #import "FirstViewController.h" #import "DataConnection.h" #import "CommandConnection.h" @interface FirstViewController () @tulajdonság (nem atomi, erős) DataConnection * dataConnection; @tulajdonság (nem atomi, erős) CommandConnection * commandConnection; @tulajdon (gyenge, nem atomi) IBOutlet UILabel * Door_1; @tulajdonság (gyenge, nem atomi) IBOutlet UILabel * Ajtó_2; @tulajdonság (gyenge, nem atomi) IBOutlet UILabel * Ajtó_3; @tulajdonság (gyenge, nem atomi) IBOutlet UILabel * Ajtó_4; @tulajdonság (gyenge, nem atomi) IBOutlet UIButton * CentralLock; - (IBAction) lockUnlock: (UIButton *) küldő; @end @implementation FirstViewController - (void) viewDidLoad (self.dataConnection =; self.dataConnection.delegate = self ;; self.commandConnection = ;;) - (void) didReceivedMemoryWarning (; // Minden újrafelhasználható erőforrás megsemmisítése. ) - (érvénytelen) ajtó Állapot Változott: (char) érték (/ * 1 - Bal első ajtó 2 - Jobb első ajtó 4 - Bal hátsó ajtó 8 - Jobb hátsó ajtó 3 - Bal és jobb első ajtó = 1 + 3 5 - Elöl és hátul bal ajtó = 1 + 4 * / // bal első ajtó, ha (érték & 1) (self.Door_1.backgroundColor =; self.Door_1.text = @ "Nyitva"; NSLog ( @ "1");) else (saját .Door_1. BackgroundColor =; self.Door_1.text = @ "Closed";) // Jobb első ajtó, ha (érték & 2) (self.Door_2.backgroundColor =; self.Door_2.text = @ "Nyitva"; NSLog ( @ "2");) else (self.Door_2.backgroundColor =; self.Door_2.text = @ "Closed";) // Hátsó bal ajtó, ha (érték & 4) (self.Door_3.backgroundColor =; self.Door_3 .text = @ "Megnyitva"; NSLog ( @ "4");) else (self.Door_3.backgroundCo lor =; self.Door_3.text = @ "Zárt"; ) // Jobb hátsó ajtó if (érték & 8) (self.Door_4.backgroundColor =; self.Door_4.text = @ "Nyitva"; NSLog ( @ "8");) else (self.Door_4.backgroundColor =; self .Door_4.text = @ "Closed";)) BOOL firstStatusChange = IGEN; BOOL lastStatus; - (void) centralLockStatusChanged: (BOOL) állapot (// Az első állapotváltozásoknál állítsa be az utolsóStatus változót, ha (firstStatusChange) (firstStatusChange = NO; // Állapot megfordítása, a következő teszt letételéhez lastStatus =! állapot;) // Lock Lock módosítása csak akkor, ha az állapot megváltozott, ha (! (lastStatus == állapot)) (// Ellenőrizze az állapotot, ha (status) (forState: UIControlStateNormal];) else (forState: UIControlStateNormal];)) lastStatus = állapot;)) // Bal első üveglap - (IBAction) frontLeftUp: (UIButton *) feladó (;) - (IBAction) frontLeftDown: (id) sender (;) // Jobb első üveg - (IBAction) frontRightUp: (UIButton *) küldő (;) - (IBAction) frontRightDown : (id) feladó (;) // Back Left Glass - (IBAction) backLeftUp: (UIButton *) sender (;) - (IBAction) backLeftDown: (id) sender (;) // Back Right Glass - (IBAction) backRightUp : (UIButton *) feladó (;) - (IBAction) backtRightDown: (id) küldő (;) - (IBAction) zár 4_t delayInSeconds = 1; // 1 mp dispatch_time_t popTime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after (popTime, dispatch_get_main_queue (), ^ (void) (;)); ) else (// Bezárás; int64_t delayInSeconds = 1; // 1 mp dispatch_time_t popTime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after (popTime, dispatch_get_main_queue (), ^ (érvénytelen) @;)


Van mód arra, hogy ne írjon saját alkalmazást a telefonhoz, hanem készen álljon az intelligens otthonok világából, csak telepítenie kell egy automatizálási rendszert a Raspberry Pi-re

Egy modern autó elektronikus vezérlőegységekkel van felszerelve különböző rendszerekhez: motor, blokkolásgátló fékrendszer, karosszéria és mások. Lényegében ezek az egységek mikroszámítógépek.

Annak érdekében, hogy megértsük, mi az a CAN -busz az autóban, képzeljük el, hogy az autóban helyi hálózat van szervezve, amelyhez ezek a mikroszámítógépek csatlakoznak - így komplexen működnek.

Ez hasonló ahhoz, ahogyan az irodai számítógépek hálózathoz vannak csatlakoztatva, hogy az alkalmazottak könnyen átvehessék egymástól az információkat, és a főnök képes legyen gyorsan nyomon követni az irodai alkalmazottak munkáját.

Az autó feje a fedélzeti számítógép és a diagnosztikai rendszer.

A Controller Area Network fejlesztésének és egyesítésének története

A BOSCH, amely a múlt század 80 -as éveiben végzett kutatásokat az automatizálás területén, javasolta az autóiparban használható mikrokontroller kommunikációs szabványt.

A CAN szabványt nem csak autókban alkalmazzák. Jelenleg az "intelligens otthon", az ipari automatizálás stb.

Az autótechnika szempontjából a CAN (Controller Area Network) szabványt egy fizikai rétegű buszhoz igazították. Csavart vezetékpár segítségével szerveződik, amely mentén különböző polaritású jelek csomagjai mennek.

Ez a szabvány megkapta az ISO 11898 nemzetközi minősítést. Egy keret (csomag) 11 bites információs jelet tartalmaz (vagy 29 bites kiterjesztett módban).

Általánosságban elmondható, hogy a CAN -buszt nem feltétlenül kell csavart érpárú vezetékekkel megvalósítani. Lehet száloptikai és rádiócsatorna is.

Feltételezhető, hogy a pilóta nélküli járművek bevezetésével a CAN busz egy mobil interfészsé alakul át egy, esetleg egy személygépkocsi komplex információinak továbbítására.

Jármű CAN busz: mi ez és hogyan működik

A busz egy helyi hálózat, amelyen keresztül információt cserélnek a különböző járműrendszerek vezérlőegységei között. Így például az autómotor vezérlőegysége a motort kiszolgáló fő mikrokontroller mellett feltételezi egy CAN vezérlő jelenlétét, amely két buszon generál impulzusokat: CAN magas és CAN alacsony (H és L ).

Ezeket a jeleket vezetékeken (csavart érpáron) keresztül továbbítja az adó -vevő. Az adó -vevők vagy adó -vevők a következőkre lettek tervezve:

  • jelek erősítése,
  • az átvitt impulzusok zajállóságának biztosítása;
  • a bitsebesség beállítása;
  • a vonal védelme a CAN busz károsodása esetén.

Most a következő típusú adó -vevőket használják az autóiparban: High Speed ​​és Fault Toleran. A nagy sebességű adó viszonylag nagy adatátviteli sebességet biztosít - akár 1 megabit / másodperc. A második típusú adó alacsonyabb adatátviteli sebességgel rendelkezik - akár 120 kilobit másodpercenként. De kevésbé érzékeny (hibatűrő) a CAN busz minőségére, és lehetővé teszi paramétereinek eltérését.

Adatcsere szervezeti diagram

A különböző járműegységek CAN buszhoz való csatlakoztatásának szerkezeti diagramja a következőképpen ábrázolható:

Ahhoz, hogy minden eszköz illeszkedjen, azaz optimális feltételeket és vételi sebességet biztosítson - az adók kimeneti impedanciái megközelítőleg azonosak legyenek.

A járműrendszerek bármely vezérlőegységének lekapcsolása vagy károsodása esetén a buszellenállás megváltozik, az impedancia -egyezés megszakad, ami a busz sebességének jelentős csökkenéséhez vezet. Az ilyen jogsértések a kommunikáció teljes elvesztéséhez vezethetnek a CAN buszon.

Egyes járműveken külön átjárómodult használnak a CAN -információk szinkronizálásával kapcsolatos problémák kiküszöbölésére.

A CAN buszon keresztül továbbított minden üzenet saját azonosítóval rendelkezik, például "hűtőfolyadék hőmérséklete" és az értékének megfelelő kód, például "98,7 Celsius fok". Ezek nem feltétlenül abszolút értékek, a legtöbb esetben relatív bináris egységek, amelyeket tovább alakítanak vezérlő és felügyeleti jelekké.

Ugyanezeket az adatokat használják a diagnosztikai eszközök a jármű fő rendszereire vonatkozó információk figyelésére és feldolgozására.

A CAN busz fő működési módjai:

  • aktív (gyújtás bekapcsolva);
  • alvás (kikapcsolt gyújtás mellett);
  • ébredés és elalvás (a gyújtás be- és kikapcsolásakor).

Alvó üzemmódban a buszáram a legalacsonyabb. Ebben az esetben azonban az ajtók és ablakok, valamint az autó biztonsági funkcióihoz kapcsolódó egyéb rendszerek nyitási állapotáról szóló jeleket a buszon keresztül továbbítják (alacsonyabb frekvenciával).

A legtöbb modern diagnosztikai eszköz módot kínál a hibák diagnosztizálására a CAN buszon keresztül. Technikailag ezt úgy szervezik meg, hogy a vezetékeket közvetlenül csatlakoztatják a diagnosztikai csatlakozóhoz.

A CAN busz autóban történő használatának előnyei és hátrányai

Először is, ha a CAN szabványt nem javasolták volna a múlt század 80 -as éveiben, akkor szükségszerűen más típusú kölcsönhatás lépne a helyére.

Természetesen lehetséges a járműrendszerek összes vezérlőegységét egyetlen szuperblokkba helyezni, amelyben a különböző rendszerek kölcsönhatása programszerűen biztosítható. Ilyen kísérleteket tettek a francia gyártók. A funkcionalitás és a teljesítmény növekedésével azonban a meghibásodások valószínűsége jelentősen megnő. A meghibásodások, például az ablaktörlők miatt a motor nem indulhat be.

A CAN busz használatának fő előnyei:

  • a működési ellenőrzés végrehajtásának képessége és;
  • információáramok egyesítése egyetlen zavarásgátló csatornában;
  • egyetemesség, hozzájárulva a diagnosztikai folyamatok egységesítéséhez;
  • a biztonsági rendszerek CAN -buszon keresztül történő csatlakoztatásának képessége (nincs szükség a vezetékek minden vezérlőelemhez történő húzására).

A CAN busz hátrányai:

  • alacsony megbízhatóság;
  • az egyik vezérlőegység károsodása a CAN -csatlakozás teljes működésképtelenségéhez vezethet.

Hibaelhárítás

A jármű műszerfalán nincs CAN -hibajelző lámpa. Feltételezhető, hogy a CAN busz teljesítményét a közvetett mutatók rontják:

  • a műszerfalon lévő meghibásodások több jelzőlámpája egyszerre gyullad ki;
  • a hűtőfolyadék hőmérséklet -jelzői, az üzemanyagszint eltűntek;

Először is diagnosztikát kell végeznie. Ha ez CAN busz hibás működését jelzi, akkor el kell kezdeni a probléma elhárítását.

A munka sorrendje:

  1. Keresse meg a sodrott érpárú buszvezetőket. Gyakran fekete (magas) és narancsbarna (alacsony) színűek.
  2. Multiméter segítségével ellenőrizze a gyújtás bekapcsolását a vezetékek feszültségén. A szintek nem lehetnek 0 vagy 11 V -nál nagyobbak (általában 4,5 V körül).
  3. Kapcsolja ki a gyújtást, vegye le az akkumulátor kivezetését. Mérje meg a vezetők közötti ellenállást. Ha hajlamos a nullára, akkor rövidzárlat van a buszon, ha végtelen - nyitott áramkör.
  4. Folytassa a szakadást vagy rövidzárlatot.
  5. Ha gyanú merül fel, hogy a busz lezárása a vezérlőegység meghibásodása miatt következik be, akkor sorban leválaszthatja a vezérlőegységeket, és figyelheti a busz ellenállását és működését.

A CAN busz meghibásodása a jármű elektromos berendezéseinek összetett meghibásodására utal. Ha az autótulajdonos nem rendelkezik a szükséges elektromos javítási készségekkel, akkor jobb, ha igénybe veszi a szakember szolgáltatásait.