You dont have javascript enabled! Please enable it!

CAN bus

Mga Paksa:

  • Panimula
  • Maramihang mga network sa isang kotse
  • MAAARING mag-network sa mga node
  • Iba't ibang uri ng bilis ng CAN
  • CAN mga signal ng bus
  • Mga antas ng bilis at boltahe
  • Istraktura ng CAN bus na mensahe ng isang (standard) 11 bit identifier
  • Istraktura ng mensahe ng CAN bus ng isang (extended) 28 bit identifier
  • Error recognition gamit ang Bitstuffing at CRC & ACK delimiters
  • Twisted Pair Wiring
  • Mga resistor ng pagwawakas
  • Gateway
  • Pagsukat sa CAN bus

Panimula:
Ang mga modernong sasakyan ay puno ng electronics. Kinokolekta at pinoproseso ng mga control unit ang data mula sa mga sensor at control actuator. Ang iba't ibang ECU ay kadalasang gumagamit ng parehong data: dInirerehistro ng accelerator pedal position sensor ang posisyon ng accelerator pedal. Ang signal na ito ay direktang ipinadala sa engine ECU sa pamamagitan ng mga kable. Ang engine ECU ay hindi lamang ang ECU na gumagamit ng signal na ito:

  • Ang engine ECU ay gumagamit ng signal mula sa accelerator pedal position sensor upang kontrolin ang throttle valve, kapag bumibilis para sa acceleration enrichment sa pamamagitan ng pag-activate ng mga injector nang mas matagal, pagsasaayos ng ignition timing at, kung kinakailangan. kontrolin ang wastegate o VGT adjustment ng turbo;
  • Ang ECU ng automatic transmission ay gumagamit ng accelerator pedal position para matukoy ang shift times ng clutches sa automatic transmission. Kung ang accelerator pedal ay bahagyang pinindot, ang awtomatikong paghahatid ay tataas sa mas mababang bilis kaysa kapag ang accelerator pedal ay pinindot sa kalahati. Sa pamamagitan ng biglaang pagpindot sa accelerator pedal nang mabilis, ang "kick down" ay magaganap sa pamamagitan ng paglipat sa mas mababang gear at pagpapahintulot sa makina na umikot nang higit pa;
  • Ang antas ng acceleration sa isang liko ay maaaring maging dahilan para sa ESP-ECU na makialam ang ESP sa pamamagitan ng pagbabawas ng lakas ng engine at, kung kinakailangan, upang ilapat ang preno sa isang umiikot na gulong.

Sa panahon ng interbensyon ng ESP, bumababa ang lakas ng engine sa pamamagitan ng (bahagyang) pagsasara ng throttle valve at pag-iniksyon ng mas kaunting gasolina. Ang isang indicator na ilaw ay mag-iilaw o mag-flash din sa panel ng instrumento upang alertuhan ang driver na ang ESP ay gumagana.

Malinaw na ipinapakita ng nasa itaas ang pakikipagtulungan sa pagitan ng iba't ibang ECU. Tinitiyak ng CAN bus na ang mga ECU ay nakikipag-usap sa isa't isa at samakatuwid ay maaaring makipagpalitan ng data sa isa't isa. Ang CAN ay isang abbreviation ng: Controller Area Network. 

ECU ng makina
Built-in na engine ECU sa engine compartment

Noong 80s, ang mga kotse ay nakatanggap ng higit pang mga accessory at ang mga tagagawa ay nagsimulang mag-install ng mga control device. Ang bawat function ay may hiwalay na wire. Nagresulta ito sa isang matalim na pagtaas sa kapal ng wire at ang bilang ng mga koneksyon sa plug.
Ang makapal na mga wiring harness ay may kawalan na ang pagtatago sa kanila sa likod ng interior trim ay mahirap at ang panganib ng mga malfunctions ay tumataas nang malaki.

Sa CAN bus, ang mga ECU ay nakikipag-ugnayan sa dalawang wire lamang: ang CAN-high at ang CAN-low. Ang lahat ng komunikasyon sa pagitan ng mga ECU ay ibinibigay sa pamamagitan ng dalawang wire na ito. akoAng susunod na dalawang larawan ay malinaw na nagpapakita na ang bilang ng mga wire sa isang pinto ay makabuluhang nabawasan kapag gumagamit ng CAN bus.

Dose-dosenang mga control device ang maaaring ikonekta sa dalawang CAN bus wire sa CAN bus. Ang lahat ng konektadong control device ay maaaring makipagpalitan ng data sa isa't isa.

 

Ang larawan sa ibaba ay nagpapakita ng sasakyan na may labing-isang control device (ipinahiwatig ng mga pulang bloke). Ang mga control device na ito ay konektado lahat sa isa't isa gamit ang dalawang wire; isang orange at isang berdeng kawad. Ang mga wire na ito ay kumakatawan sa CAN-high at CAN-low. Ang bawat control unit ay may sariling function at maaaring makipag-ugnayan sa anumang iba pang control unit sa network sa pamamagitan ng CAN bus. Ang higit pang mahalagang impormasyon tungkol sa mga control device ay matatagpuan sa pahina mga aparatong pangkontrol.

1. Tow bar installation control unit
2. Door control unit RA
3. Door control unit RV
4. Mga Gateway
5. Comfort control device
6. Alarm system control unit
7. Panel ng instrumento
8. Steering column electronics control unit
9. Door control unit LV
10. Door control unit LA
11. Park Distance Control control unit

Sa pagdating ng CAN bus posible rin EOBD mas komprehensibo. Ang EOBD ay kumakatawan sa European On Board Diagnosis. Ang EOBD ay may kinalaman sa mga emisyon. Ang iba't ibang mga sensor sa makina at tambutso ay nagpapadala ng impormasyon sa ECU. Kung may mga maling halaga (dahil sa, halimbawa, mahinang pagkasunog), ang isang MIL (Engine Indication Light) ay mag-iilaw. Iyon ay isang senyales na ang kotse ay kailangang basahin. Ang diagnostic tester ay dapat na konektado sa OBD plug upang basahin ang mga error. Batay sa fault, nag-imbak ang ECU ng hexadecimal error code, na ipinapakita ng diagnostic tester bilang P code o fault sa text (ang huli ay mas partikular sa brand). Mag-click dito para sa karagdagang impormasyon tungkol sa OBD1, OBD II at EOBD.

Maramihang mga network sa isang kotse:
Maaaring mayroong maraming network sa isang kotse. Ang larawan sa ibaba ay nagpapakita ng isang pangkalahatang-ideya na may alamat ng mga control unit sa maraming network ng isang BMW 3-series na E90.

Ang mga network ng K-CAN, PT-CAN at F-CAN sa larawan sa itaas ay nasa ilalim ng CAN bus. Ang mga pagkakaiba ay ang mga bilis, ang mga antas ng boltahe at ang mga aplikasyon. Kahit na ang PowerTrain-CAN at ang F-CAN ay may parehong mataas na bilis ng bilis at mga antas ng boltahe, ang pagkakaiba ay ang PT-CAN ay ginagamit para sa engine at transmission control, at ang F-CAN ay naglalaman ng mga chassis control unit.

CAN network gamit ang mga control device
Ang CAN bus network ay binubuo ng mga control device na nilagyan ng hardware at software para tumanggap, magproseso at magpadala ng mga mensahe. Ang isang CAN-high wire at isang CAN-low wire ay ginagamit para sa paglipat ng data. Sa larawan sa ibaba, ang CAN-High ay kulay pula at ang CAN-Low ay kulay asul.
Ang mga control device (tinatawag ding mga control unit o node) ay konektado sa mga wire na ito. Ang lahat ng mga control device ay maaaring magpadala at tumanggap ng impormasyon. Ang isang halimbawa ng isang network ay ang CAN bus system sa loob ng sasakyan; Dito, maaaring ikonekta ang iba't ibang mga control device sa isang sistema ng bus.

Bilang halimbawa, kumuha kami ng reversing camera (node ​​5) na na-retrofit. Naka-mount ang camera na ito malapit sa lalagyan ng plaka o hawakan. Ang CAN wiring ay konektado kahit saan sa interior. Ang kundisyon ay naglalaman ang camera node ng tamang identifier (nauna nang na-program ng manufacturer) dahil dapat itong makilala ng iba pang mga control device. Kung ang camera ay nakarehistro sa sinusuportahang radyo, ang imahe ay agad na makikita.
Pagkatapos ng programming ng software, ang radyo ay tumatanggap ng signal mula sa gearbox na napili ang reverse gear. Sa sandaling iyon ang radyo ay lumipat sa imahe ng reversing camera. Sa sandaling napili ang unang gear (pasulong), muling i-off ang imahe. Ang lahat ng ito salamat sa paglilipat ng data ng CAN bus system.

Ang hindi suportadong kagamitan (hal. may maling pagkakakilanlan) ay maaaring magdulot ng mga problema. Kung nagpapadala ito ng mga mensaheng hindi kinikilala ng ibang mga control device, bubuo ng mensahe ng error. Ang ganitong uri ng kagamitan ay maaari ding matiyak na ang CAN bus ay mananatiling aktibo pagkatapos patayin ang ignition. Ang kotse ay hindi mapupunta sa "sleep mode", na magiging sanhi ng mabilis na pagkaubos ng baterya. Tapos may isa lihim na mamimili.

CAN mga signal ng bus:
Ang CAN bus system ay gumagamit ng prinsipyo ng broadcast; ang isang transmitter ay naglalagay ng mensahe sa CAN bus. Ang bawat node sa parehong bus ay tumatanggap ng mensahe. Gayunpaman, ipinapahiwatig ng nagpadala sa mensahe kung saan nilalayon ang mga node ng mensahe. Lahat ng node ay tumatanggap ng mensahe at nagbibigay ng feedback (higit pa tungkol doon sa ibang pagkakataon). Kinikilala ito ng mga node kung saan hindi nilayon ang mensahe at huwag pansinin ito.

Ang CAN bus signal ay binubuo ng CAN-high at CAN-low na boltahe. Ang larawan sa ibaba ay nagpapakita ng CAN-high red at CAN-low blue. Ang mataas at mababang signal ay magkapareho, ngunit naka-mirror mula sa isa't isa. Kapag ang bus ay naging nangingibabaw, ang boltahe ng CAN-high ay tumataas mula 2,5 hanggang 3,5 volts at ang CAN-low ay bababa mula 2,5 hanggang 1,5 volts. Sa recessive state (sa pahinga) ang parehong mga boltahe ay 2,5 volts.

Ang larawan sa itaas ay nagpapakita ng isang halimbawa ng pagsukat gamit ang isang oscilloscope. Malinaw na makikita na ang parehong mga boltahe ay magkapareho sa bawat isa, tanging sa mirror image. Sa huli, ang pagkakaiba ng boltahe sa aktibong (nangingibabaw) na rehiyon ay 2 volts. Ito ay tumutukoy sa pagkakaiba sa pagitan ng 1,5 at 3,5 volts. Ang pagkakaiba ng 2 volts ay itinuturing na 0 (nangingibabaw) at ang pagkakaiba ng 0 volts ay itinuturing na 1 (recessive).

Kung ang isang (nagpapadala) na node ay gustong magpadala ng binary code na "0 0 1 0 1 1 0 1", ilalapat nito ang mga nabanggit na boltahe sa CAN-High at CAN-Low (tingnan ang halimbawa sa itaas). Makikita muli ng receiving node ang mga boltahe na ito bilang isang binary code, at pagkatapos ay i-convert ang mga ito sa isang hexadecimal code. Ang nasabing binary code ay iko-convert mula hexadecimal sa 2D.

Upang i-convert ang binary sa hexadecimal, madaling gumuhit ng talahanayan ng 8 mga kahon na may makapal na linya sa gitna. Pangalanan ang mga kahon sa kanan 1, 2, 4 at 8 (tingnan ang mga pulang numero sa larawan). Pagkatapos ay gawin din ito sa kaliwang bahagi. Isulat ang mga numerong may 1 sa binary code sa itaas ng mga ito. Sa kaliwa ay ang 2 lamang, sa kanan ay 8, 4 at 1. Idagdag ang lahat sa kanan nang magkasama (13) at gawin ang parehong sa kaliwa (2). Ang hexadecimal ay nagbabago mula 10 hanggang A, 11 = B, 12 = C, 13 = D. Na sa huli ay nagiging 2D.

Higit pang impormasyon tungkol sa pag-convert mula sa binary sa (hexa)decimal at vice versa ay matatagpuan sa page Binary, Decimal at Hexadecimal. Ang mga malinaw na halimbawa ay inilarawan nang detalyado dito.

Mga antas ng bilis at boltahe:
Sa mga sasakyan makakatagpo tayo ng mga network ng CAN bus na may iba't ibang bilis:

  • Mataas na bilis: Mga ECU na nauugnay sa pagmamaneho, kabilang ang mga electronics ng makina, transmission, ABS/ESP, EBS (mga komersyal na sasakyan);
  • Katamtaman o mababang bilis: panloob na electronics tulad ng panel ng instrumento, radyo, kontrol sa klima, preno ng paradahan, tow bar.

Ang dalawang larawan sa ibaba ay nagpapakita ng CAN-high at CAN-low signal ng high-speed CAN bus. Sa pamamahinga, ang boltahe ng parehong mga signal ay 2,5 volts. Para magpadala ng mensahe, ang CAN high ay tumataas mula 2,5 hanggang 3,5 volts at ang CAN low ay bumababa mula 2,5 hanggang 1,5 volts.

CAN high speed (1)

Sa ibaba makikita mo muli ang signal mula sa CAN high speed, na ngayon ay na-zoom in (50 microseconds bawat division), kung saan ang saklaw para sa signal sa itaas ay nakatakda sa 200 microseconds bawat division.

CAN high speed (2)

Sa ginhawa electronics, ang mataas na bilis ng komunikasyon ay hindi gaanong mahalaga. Ang katangian ng daluyan o mababang bilis ng CAN bus, ang mga antas ng boltahe sa pahinga at kapag bumubuo ng isang mensahe ay ang mga sumusunod:

  • Ang CAN-high ay 5 volts sa pahinga at bumaba sa 1 volt;
  • Ang CAN-low ay 0 volts sa pahinga at tumataas sa 4 volts.

Sa panahon ng pagsukat kung saan ang mga zero na linya ng mga channel A at B ay nakatakda sa parehong taas, makikita na ang mga boltahe ay "slid sa bawat isa". Ginagawa nitong mahirap basahin ang kadalisayan ng CAN na mataas at mababa ang signal.

CAN mababang bilis (1)

Upang masuri ang kadalisayan ng mga mensahe, inirerekumenda na ilipat ang mga zero na linya. Sa larawan sa ibaba, ang zero line ng Channel A ay inilipat pababa at ang Channel B ay inilipat pataas. Nangangahulugan ito na ang mga itinatanghal na signal ay pinaghiwalay at ang isang mas malinaw na pag-unlad ng mga boltahe ay makikita.

CAN mababang bilis (2)

Istraktura ng CAN bus na mensahe ng isang (standard) 11 bit identifier:
Ang istraktura ng isang mensahe ng CAN bus ay palaging batay sa larawan sa ibaba. May mga pagkakaiba sa istraktura; halimbawa, ang ARB at ang CTRL field ng isang 11-bit na identifier at isang 29-bit na identifier ay magkaiba. Ang impormasyon sa ibaba ay nauugnay sa 11bit identifier. Para sa iyong impormasyon, ang isang 29 bit identifier ay may puwang para sa higit pang data kaysa sa 11 bits. Higit pa tungkol dito mamaya.

Ang istraktura ng mensahe ay ibinubuod na ngayon, at inilarawan nang detalyado sa ibang pagkakataon:

SOF:
Ang bawat mensahe ng CAN ay nagsisimula sa isang SOF (simula ng frame). Kapag ang isang node ay gustong magpadala ng mensahe, isang dominanteng bit ang ilalagay sa bus. Ang CAN bus ay palaging recessive sa pahinga (a 1, kaya ang CAN-High at ang CAN-Low ay 2 Volts). Ang nangingibabaw na bit (a 0) ay nagpapahiwatig na ang ibang mga node ay dapat maghintay na magpadala ng mensahe hanggang sa mai-post ang buong mensahe. Pagkatapos lamang ng IFS (Interframe Space) ay pinapayagan ang susunod na node na magpadala ng mensahe nito. Kahit na ito ay isang mahalagang mensahe, hindi ito maaaring palampasin.
Kapag nais ng 2 node na magpadala ng mensahe nang sabay (na hindi nila alam tungkol sa isa't isa) at sa gayon ay sama-samang gawing dominante ang bus sa pamamagitan ng paglalagay ng 0, tinutukoy ng ARB (arbitration) kung aling mensahe ang mauuna.

Mula dito, ang bawat bahagi ng mensahe ng CAN bus na tinatalakay ay idaragdag ang bahaging iyon sa kulay abong larawang ito. Sa ganoong paraan sinusubukan kong panatilihin ang isang pangkalahatang-ideya. Nagsimula ang mensahe sa SOF.

ARB:
Ang Arbitration Field ng isang 11 bit identifier ay binubuo ng 2 bahagi; ang identifier at ang RTR bit.
identifier:
Ipagpalagay na ang 2 node ay sabay-sabay na ginagawang nangingibabaw ang CAN bus, pagkatapos ay ang node na may hindi gaanong mahalagang mensahe ay maghihintay hanggang sa mai-post ang mahalagang mensahe (hanggang matapos ang IFS). Ang identifier ng mensahe ay naglalaman ng isang serye ng mga isa at mga zero. Ang mga numerong ito ay sadyang itinalaga sa isang mensahe ng programmer. Ang identifier na may 0 sa mensahe (dominant) ay may mas mataas na priyoridad kaysa sa may 1 sa mensahe (recessive). Ang mensaheng may 0 ay magpapatuloy, at ang mensaheng may 1 ay kailangang maghintay.

Ang parehong mga identifier ay nagsisimulang mag-post ng isang mensahe ng 11 bits. Sa SOF ang nangingibabaw na bit ay inilalagay. Pagkatapos ang unang 5 bits ng parehong mga identifier ay pantay (0 1 1 0 1). Ang 6th bit ay isang 2 para sa identifier number 0, at isang 1 para sa unang identifier. Dominant ang nangingibabaw, kaya ang identifier 2 ay gumagawa ng panghuling CAN na mensahe.
Naglagay ang Identifier 1 ng 6 bilang ika-1 na bit. Kinikilala lang ng node na nagpapadala ng identifier na 0 node ang sabay na nagpapadala ng mensahe kapag naglagay ng 2 ang isa pang node sa bus. Sa puntong ito, ang identifier 1 ay hihinto sa pagpapadala at ngayon ay kumikilos bilang isang receiver. Bagama't ang mensaheng nagsisimula sa 0 1 1 0 1 ay orihinal na inilaan upang maging mensaheng gustong ipadala ng node na ito, ituturing na ito ngayon bilang ang natanggap na mensahe. Ang node ay nakikinig sa buong mensahe at tinutukoy kung may gagawin dito.

Ang kulay abong imahe ng SOF ay pinalawak na ngayon sa ARB, na binubuo ng 2 bahagi, lalo na ang identifier at ang RTR bit:

RTR bit:
Ang huling bit ng 11 bit identifier ay tinatawag na RTR; ito ay isang Remote Transmit Request bit. Ang RTR bit na ito ay nagpapahiwatig kung ito ay isang data frame o isang remote frame.
0 = Data frame
1 = Malayong frame

Ang isang data frame ay naglalaman ng data na ipinapasa sa mga node na nangangailangan ng impormasyon. Ang isang node ay maaari ding humiling ng impormasyon; hal. kung ano ang temperatura ng coolant sa isang tiyak na oras. Ang node ay magtatakda ng 1 bilang RTR bit dahil humihingi ito ng data.

CTRL:
Ang Control Field ay binubuo ng IDE (Identifier Extension), isang R-bit at ang DLC. Ang IDE bit ay nagpapahiwatig kung ito ay isang standard (11 bits) o isang extended (29 bits) identifier:
0 = Karaniwang identifier (11 bits)
1 = Pinalawak na identifier (29 bits)

Ang R bit ay nakalaan para sa hinaharap at ngayon ay palaging recessive.

Pagkatapos ay darating ang DLC: Ang isang CAN bus network ay maaaring magpadala ng maximum na 8 bytes. Mayroong 1 bits sa 8 byte, kaya ang kabuuang 64 bits ay maaaring ipadala ayon sa karaniwang protocol. Ang Control Field ay nagpapahiwatig kung gaano karaming data ang ipinapadala. Walang kabuluhan kung magpadala ng isang malaking mensahe kasama ang lahat ng walang laman na mga field ng data para sa isang bit ng kumpirmasyon (1 para sa on o 0 para sa off). Ang bilang ng mga byte ay nakasaad sa naaangkop na DLC (Data Length Code). Ang DLC ​​ay isang function sa programming software at samakatuwid ay isang paunang natukoy na halaga ng programmer.
Ipagpalagay na 1 byte ang nakasaad sa DLC, pagkatapos ay 8 bits ang ipinadala. Para sa mga maikling mensahe ng kumpirmasyon ito ay sapat na.
Para sa napakalawak na mga mensahe, ang DLC ​​ay maglalaman ng halaga na hanggang 8 data byte.

Ang halimbawa ay pinalawak muli. Ang IDE, R at DLC ay naidagdag na.

DATA:
Ang huling data na kailangang ipadala ay inilalagay sa field ng data. Ang laki ay depende sa halaga ng DLC ​​(Data Length Code). Naipahiwatig na na ang DLC ​​ay maximum na 8 bytes. Ang bawat byte ay binubuo ng 8 bits, kaya sa kabuuan ang data field ay maaaring binubuo ng 64 bits.

CRC:
Ang Cyclic Redundancy Check ay binubuo ng isang mathematical na pagkalkula, na ipinadala kasama ang mensahe. Kinakalkula ng sending node ang kabuuang CAN na mensahe sa ngayon; ang SOF, ARB, CTRL at DATA. Kaya ang CRC ay ang pagkalkula. Kapag natanggap na ng receiving node ang mensahe hanggang sa at kabilang ang CRC, isasagawa nito ang mathematical na pagkalkula hanggang sa DATA at ihahambing ito sa pagkalkula sa CRC. Kung hindi ito tumugma (dahil sa isang maling bit / kasalanan) ang mensahe ay hindi tinatanggap at isang kahilingan ay ginawa upang ipadala muli ang mensahe (na may isang tiyak na maximum na bilang ng mga pagtatangka). Ang halimbawa ay pinalawak upang isama ang CRC.

ACK:
Ang field na Acknowledge ay nagsisilbi para sa kumpirmasyon ng resibo. Kapag naipadala na ng nagpadala ang mensahe sa CRC, isang uri ng pause ang ipinapasok; ginagawang recessive ng transmitter ang bus (na may 0) at maghihintay hanggang sa isa o higit pang mga node ang gawing dominante ang bus (1). Hindi mahalaga kung natanggap ng isa o higit pang mga node ang mensahe, dahil kung natanggap ito ng isang node, matagumpay itong naipadala. Matapos gawing dominante ang bus na may 1, magpapatuloy ang paghahatid ng mensahe.

EDF:
Ang End Of Frame ay binubuo ng 7 recessive bits (1 1 1 1 1 1 1). Ito ay isang palatandaan para sa lahat ng mga control unit na ang mensahe ay natapos na.

IFS:
Para maiwasan ang mga pagkagambala, palaging ginagamit ang Inter Frame Space pagkatapos ng EDF. Ang IFS ay binubuo ng 11 recessive bits. Ang lahat ng node ay naghihintay para sa 11 recessive bit na ito na dumaan bago magpadala ng mensahe. Pagkatapos ng 11 recessive bit na ito, halimbawa, 2 node ang maaaring magpadala ng mensahe nang sabay. Ang ARB (Arbitrasyon) ay muling titingnan upang matukoy kung aling mensahe ang may pinakamataas na priyoridad. Ang buong cycle ay magsisimula muli.

Istraktura ng mensahe ng CAN bus ng isang (extended) 28 bit identifier:
Ang 11-bit na identifier ay idinisenyo noong panahong ang mga kotse ay wala pang napakaraming control device (node). Sa lalong madaling panahon natuklasan ng mga programmer na ang 11-bit identifier ay hindi sapat para sa kanila. Mayroon lamang itong (2^11) = 2048 na posibilidad. Sa mga ito, 2032 natatanging kumbinasyon ng binary code ang nananatili. Gumagamit na ngayon ang mga modernong kotse ng mas maraming code salamat sa pinalawig na 28 bit identifier. Ito ay tinatawag na extended identifier.
Nangangahulugan ito na hindi bababa sa (2^29) = 536870912 na mga kumbinasyon ang posible. Ito ay higit pa sa sapat para sa hinaharap.
Maraming bagay ang magbabago sa mensahe ng CAN bus. Ang parehong mga identifier (karaniwan at pinalawak) ay ginagamit nang palitan. Ang mensahe ng CAN samakatuwid ay nagpapahiwatig kung aling mga species ang pinag-uusapan nito, pagkatapos ay isang mahabang mensahe ang susunod.
Ang batayan ng 11 bit identifier ay ginagamit at nagsisilbi rin bilang paghahanda bago ito basahin; ngayon lamang ang mga pagbabago na nararanasan ng mensahe kapag ito ay isang 29 bit identifier ang ipinahiwatig.
Ang SOF (Start Of Frame) ay nananatiling pareho. Ginagawa itong nangingibabaw ng sending node kapag nagsimula itong magpadala ng mensahe.
Ito ay sinusundan ng ARB at ang CTRL kung saan ang mga pagkakaiba ay namamalagi.

ARB:
Sa panahon ng arbitrasyon, isang karaniwang 11-bit na identifier ang unang ipinapakita (ibig sabihin, bahagi ng 29 bits). Ang RTR bit ay inilipat (tulad ng sa 11 bits) sa dulo ng ARB. Ang RTR ay pinalitan na ngayon ng SRR: (Substitute Remote Request). Ang bit na ito ay palaging recessive (1) para sa isang pinahabang identifier.
Pagkatapos ng SRR bit ay dumating ang IDE bit, na nasa 11 bit identifier sa CTRL (Control Field). Inalis na ito ngayon sa control field at inilagay sa likod ng SRR bit sa extended identifier.

Para sa kalinawan, ipinapakita ng mga larawan sa ibaba ang mga karaniwang (11-bit) at pinalawig na (29-bit) na mga identifier.

Karaniwang 11-bit na identifier
Pinalawak na 29-bit identifier

Ang IDE bit ay kumakatawan sa Identifier Extension. Tinutukoy ng IDE bit kung ito ay isang standard o extended identifier.
IDE 0 = Karaniwan (11 bit ID)
IDE 1 = Pinalawak (29 bit ID)

Pagkatapos ng bit ng IDE ay darating ang natitirang bahagi ng pinahabang identifier. Ang 11 at 18 bits na magkakasama ay gumagawa ng 29. Ang mga ito ay hindi maaaring ilagay bilang isang buo sa mensahe, dahil ang CAN protocol ay hindi na tama. Karaniwang ang IDE bit ngayon ay nagpapahiwatig na ang mensahe ay nahahati sa dalawa.

CTRL:
Samakatuwid, ang Control Field ay binago para sa pinahabang identifier. Ang IDE bit ay inilipat sa ARB.
Ang IDE bit ay pinalitan ng isang R bit (reserba). Ito ay recessive bilang default. Sinusundan ito ng isang R bit at ang DLC ​​(Data Length Code), na nagpapahiwatig kung gaano karaming mga byte ang bubuo ng mensahe.

Muli, ipinapakita ang mga control field ng parehong 11-bit at 29-bit identifier.

CTRL mula sa 11-bit na IDE
CTRL mula sa 29-bit na IDE

Pagkilala ng error gamit ang Bitstuffing at CRC & ACK delimiters:
Bit na palaman:
Upang mapanatili ang pinakamainam na pag-synchronize sa pagitan ng pagpapadala at pagtanggap ng mga node, inilalapat ang bit stuffing. Ang pagpupuno ng bit ay nangangahulugan na pagkatapos ng 5 magkatulad na piraso ay idinagdag ang kabaligtaran na bit. Walang pagbabago sa bit na halaga sa orihinal na ipinadalang mensahe, ngunit kaunti ang idinagdag.
Kinikilala ito ng tatanggap. Pagkatapos ng 5 magkaparehong bits, tatanggalin ng receiver ang ika-6 na bit (tingnan ang larawan sa ibaba).

Ang orihinal na mensahe ng ilan lamang ay ipinadala, ngunit ang nagpadala ay nagdaragdag ng 6 tuwing ika-0 na bit. Ang haba ng mensahe ay tumataas dahil sa mga zero (ngunit ang haba na ito ay hindi binibilang para sa DLC (Data Length Code). Sinasala ng receiver ang mga kabaligtaran na bits (ang mga zero) at pagkatapos ay babasahin muli ang mensahe gamit ang mga iyon lamang.

CRC at ACK delimiter:
Inilalagay ang mga delimiter pagkatapos ng field ng CRC at ng field ng ACK. Ito ay medyo may kilalang halaga para sa nagpadala at sa tagatanggap. Kung may naganap na error sa mensahe, mag-iiba ang value na ito. Ang receiver pagkatapos ay tumatanggap ng ibang bit value kaysa sa inaasahan at minarkahan ang mensahe bilang mali. Ipapadalang muli ng nagpadala ang mensahe.

Twisted Pair Wiring:
Ang mga twisted pair na cable ay ginagamit bilang paglalagay ng kable para sa CAN bus. Ang CAN-High at ang CAN-Low na kable ay pinaikot nang magkasama gaya ng ipinapakita sa larawan. Sa ganitong paraan, maiiwasan ang panghihimasok mula sa labas; kung ang isang induction ng ilang tenths ng isang volt ay pumasok sa isang cable, ito ay papasok din sa isa. Gayunpaman, ang pagkakaiba ng boltahe sa pagitan ng CAN high at low ay nananatiling pareho. Sa ganitong paraan naresolba ang kasalanan at ang mga ECU ay hindi apektado nito.

Mga resistor ng pagwawakas:
Ang pagwawakas ng mga resistor ay ginagamit sa bawat high-speed CAN bus network. Ang mga ito ay madalas na kasama sa mga node sa dulo ng CAN bus line (wire) o sa mga wiring. Ang bawat resistor na ito ay may resistensya na 120Ω (Ohm). Ang kapalit na paglaban ay sinusukat bilang 60Ω kapag sinusukat ang paglaban sa mga wire.

Ang mga terminating resistors na ito ay nagsisilbi para sa pagsugpo sa interference; Kung wala ang mga ito, magaganap ang pagmumuni-muni. Ang boltahe signal ay naglalakbay sa pamamagitan ng CAN bus wire, umabot sa dulo at bounce pabalik. Ang huli ay pinipigilan. Ang boltahe ay naitala sa risistor. Ang pagmuni-muni ay maaaring maging sanhi ng pag-bounce ng mga signal ng boltahe pabalik, na nakakaapekto sa mga mensaheng ipinadala at kasunod na nagiging sanhi ng hindi paggana ng mga control device.

gateway:
Ang kotse ay nilagyan ng isang network ng mga control device (node). Ang gateway ay nag-uugnay sa iba't ibang CAN bus network (tulad ng interior, ang makina/transmission at ang chassis), ang MOST bus at ang LIN bus, na nagpapahintulot sa lahat ng network na makipag-ugnayan sa isa't isa. Kaya ito ay sa katunayan isang junction sa pagitan ng lahat ng mga network. Ang mga pagkakaiba sa bilis ay hindi mahalaga sa isang gateway. Mag-click dito upang pumunta sa pahina kung saan inilarawan ang pagpapatakbo at mga function ng Gateway.

Pagsukat sa CAN bus:
Madalas na tinatanong ang mga tao kung posible bang sukatin ang CAN bus. Tiyak na posible iyon. Ang isang diagnosis ay maaaring gawin sa pamamagitan ng pagsukat ng mga antas ng boltahe sa mga wire at pagsuri sa display ng boltahe sa oscilloscope. Inilarawan sa pahina kung paano maaaring gawin ang mga sukat pagsukat sa CAN bus system.

Kaugnay na pahina: