Агульныя звесткі
На сучасных аўтамабілях ужываюцца некалькі сеткавых шын абмену дадзенымі CAN (Controller Area Network) паміж модулямі/блокамі кіравання розных сістэм і кантролерамі выканаўчых прылад аўтамабіля.
Парадак абмену дадзенымі па шыне CAN
У - Датчык 1; CAN - Шына абмену дадзенымі; М - Выканаўчыя элементы I-III (сервамеханізмы); N - Блокі кіравання/кантролеры IV
Шына з'яўляецца поўнадуплекснай (ці проста дуплекснай), г.зн. любое падлучанае да яе прылада можа адначасова прымаць і перадаваць паведамленні.
Сігнал з адчувальнага элемента адпаведнага інфармацыйнага (датчыка) паступае ў найблізкі блок кіравання, які апрацоўвае яго і перадае на шыну абмену дадзенымі CAN.
Любы блок кіравання, падлучаны да шыны дадзеных CAN, можа счытваць гэты сігнал, вылічаць на яго аснове параметры кіраўніка ўздзеяння і кантраляваць функцыянаванне адпаведнага выканаўчага сервамеханізму.
Перавагі
Пры звычайным кабельным злучэнні электрычных і электронных прылад ажыццяўляецца прамое злучэнне кожнага блока кіравання са ўсімі датчыкамі і выканаўчымі элементамі, ад якіх ён атрымлівае вынікі вымярэнняў ці якімі кіруе.
Ускладненне сістэмы кіравання прыводзіць да празмернай даўжыні ці шматлікасці кабельных ліній.
У параўнанні са стандартнай кабельнай разводкай шына даных забяспечвае:
- Памяншэнне колькасці кабеляў. Правады ад датчыкаў цягнуцца толькі да бліжэйшага блоку кіравання, які пераўтворыць вымераныя значэння ў пакет дадзеных і перадае апошні ў шыну CAN;
- Кіраваць выканаўчым механізмам можа любы блок кіравання, які па шыне CAN атрымлівае які адпавядае пакет дадзеных, і на яго аснове разлічвае значэнне кіраўніка ўздзеяння;
- Паляпшэнне электрамагнітнай сумяшчальнасці;
- Памяншэнне колькасці штэкерных злучэнняў і памяншэнне колькасці кантактных высноў на блоках кіравання;
- Зніжэнне вагі;
- Памяншэнне колькасці датчыкаў, т.я. сігналы аднаго датчыка (напрыклад, з датчыка тэмпературы астуджальнай вадкасці) могуць быць скарыстаны рознымі сістэмамі;
- Паляпшэнне магчымасцей дыягнаставання. Т.к. сігналы аднаго датчыка (напрыклад, сігнал хуткасці) выкарыстоўваюцца рознымі сістэмамі, то ў выпадку, калі паведамленне аб няспраўнасці выдаюць усё выкарыстоўвалыя дадзены сігнал сістэмы, няспраўным з'яўляецца, як правіла, датчык ці блок кіравання, які апрацоўвае яго сігналы. Калі ж паведамленне аб няспраўнасці паступае толькі ад адной сістэмы, хоць дадзены сігнал выкарыстоўваецца і іншымі сістэмамі, то чыннік няспраўнасці, часцей за ўсё, складзена ў апрацоўчым блоку кіравання або сервамеханізме;
- Высокая хуткасць перадачы дадзеных магчымая да 1 Мбіт/з пры максімальнай даўжыні лініі 40 м. У наш час на а/м Mercedes-Benz хуткасць перадачы дадзеных складае ад 83 Кбіт/з да 500 Кбіт/з;
- Некалькі паведамленняў могуць па чарзе перадавацца па адной і той жа лініі.
Шына дадзеных CAN складаецца з двухжыльнага провада, выкананага ў выглядзе вітай пары. Да гэтай лініі падключаны ўсе прылады (блокі кіравання прыладамі).
Перадача дадзеных ажыццяўляецца з дубляваннем па абодвух правадах, прычым лагічныя ўзроўні шыны дадзеных маюць люстраное адлюстраванне (гэта значыць, калі па адным провадзе перадаецца ўзровень лагічнага нуля (0), то па іншым провадзе - узровень лагічнай адзінкі (1), і наадварот).
Двухправодная схема перадачы выкарыстоўваецца па двух прычынах: для кантролю памылак і як аснова надзейнасці.
Калі пік напругі ўзнікае толькі на адным провадзе, - напрыклад, з прычыны праблем, злучаных з электрамагнітнай сумяшчальнасцю (ЭМС), - то блокі-прымачы могуць ідэнтыфікаваць гэта як памылку і праігнараваць дадзены пік.
У выпадку ж кароткага замыкання ці абрыву аднаго з двух правадоў шыны CAN, дзякуючы інтэграванай праграмна-апаратнай сістэме надзейнасці ажыццяўляецца пераключэнне ў рэжым працы па аднаправоднай схеме. Пашкоджаная перадаючая лінія перастае выкарыстоўвацца.
Парадак і фармат перадаюцца і прымаюцца карыстальнікамі (абанентамі) паведамленняў вызначаны ў пратаколе абмену данымі.
Істотнай адметнай прыкметай шыны дадзеных CAN у параўнанні з іншымі шыннымі сістэмамі, якія базуюцца на прынцыпе абаненцкай адрасацыі, з'яўляецца суаднесенае з паведамленнем адрасаванне.
Сказанае азначае, што кожнаму паведамленаму, якое перадаецца па шыне, прысвойваецца яго пастаянны адрас (ідэнтыфікатар), які маркуе змест гэтага паведамлення (напрыклад: тэмпература астуджальнай вадкасці). Пратакол шыны дадзеных CAN дапускае перадачу да 2048 розных паведамленняў, прычым адрасы з 2033 па 2048 з'яўляюцца стала замацаванымі.
Аб'ём дадзеных у адным паведамленні па шыне CAN складае 8 байт.
Блок-прымач апрацоўвае толькі тыя паведамленні, якія захаваны ў яго ўласным ідэнтыфікацыйным спісе (кантроль прымальнасці).
Пакеты дадзеных могуць перадавацца толькі ў тым выпадку, калі шына абмену CAN вольная (г.зн., калі пасля апошняга пакета рушыў услед інтэрвал у 3 біта, і ніякі з блокаў кіравання не пачынае перадаваць чарговае паведамленне). Пры гэтым лагічны ўзровень шыны дадзеных павінен быць рэцэсіўным (лагічная «1»).
Калі некалькі блокаў кіравання адначасова пачынаюць перадаваць паведамленні, то ўступае ў сілу прынцып прыярытэтнасці, паводле якога паведамленне, якое валодае найвышэйшым прыярытэтам, будзе перадавацца першым без страты часу ці бітаў (арбітраж запытаў доступу да агульнай шыны дадзеных).
Кожны блок кіравання, які губляе права арбітражу, аўтаматычна перамыкаецца на прыём і паўтарае спробу адправіць сваё паведамленне, як толькі шына дадзеных ізноў вызваліцца.
Акрамя пакетаў дадзеных пры абмене інфармацыяй выкарыстоўваюцца таксама пакеты запытаў вызначаных паведамленняў па шыне дадзеных CAN, – на падобны запыт рэагуе той блок кіравання, які ў стане падаць патрэбную інфармацыю.
Фармат перадачы даных
У звычайным рэжыме перадачы выкарыстоўваюцца пакеты наступных канфігурацый:
- Data Frame (кадр паведамлення) для перадачы паведамленняў па шыне дадзеных CAN (напрыклад: тэмпература астуджальнай вадкасці);
- Remote Frame (кадр запыту) для запыту паведамленняў па шыне дадзеных CAN ад іншага блока кіравання;
- Error Frame (кадр памылкі), - усе падлучаныя блокі кіравання апавяшчаюцца аб тым, што ўзнікла памылка і апошняе паведамленне па шыне дадзеных CAN з'яўляецца несапраўдным.
Пратакол шыны дадзеных CAN падтрымлівае два розных фармату кадраў паведамлення, якія адрозніваюцца толькі па даўжыні ідэнтыфікатара: Стандартны і Пашыраны.
У наш час у сістэмах абмену дадзенымі сістэм кіравання аўтамабіляў кампаніі Daimler Chrysler выкарыстоўваецца толькі стандартны фармат.
Фармат кадра
Кожны кадр перадаюцца па шыне CAN паведамленняў складаецца з сямі паслядоўных палёў:
- Start of Frame (стартавы біт): маркіруе пачатак паведамлення і сінхранізуе ўсе модулі;
- Arbitration Field (арбітражнае поле): Дадзенае поле складаецца з 11-бітнага ідэнтыфікатара (адрасы) у і аднаго кантрольнага біта (Remote Transmission Request-Bit), які маркуе кадр як Data Frame (кадр дадзеных) ці як Remote Frame (кадр выдаленага запыту);
- Control Field (кіраўнікі біты): 6-бітнае поле кіравання змяшчае вызначальны IDE-біт (Identifier Extension Bit), які выкарыстоўваецца для распазнання тыпу выкарыстоўванага фармату (стандартны або пашыраны), рэзервовы біт для наступных пашырэнняў і, - у апошніх 4 бітах, - інфармацыя аб колькасці байтаў дадзеных, закладзеных у Data Field (гл. далей);
- Data Field (дадзеныя): Поле дадзеных можа змяшчаць ад 0 да 8 байт дадзеных, - перадача па шыне CAN паведамленняў даўжынёй 0 байт выкарыстоўваецца для сінхранізацыі размеркаваных працэсаў;
- CRC Field (кантрольнае поле): Поле CRC (Cyclic-Redundancy-Check Field) змяшчае 16 біт і служыць для кантрольнага распазнання памылак пры перадачы;
- ACK Field (пацвярджэнне прыёму): Поле ACK (Acknowledgement Field) змяшчае сігнал пацверджання прыёму ўсіх блокаў-прымачоў, якія атрымалі паведамленне па шыне CAN без памылак;
- End of Frame (канец кадра): маркіруе канец кадра;
- Intermission (інтэрвал): Інтэрвал паміж двума суседнімі кадрамі звестак. Даўжыня інтэрвалу павінна складаць не меней 3 бітаў, пасля выяўлення якіх любы з блокаў кіравання можа прыступіць да перадачы чарговага пакета;
- IDLE (рэжым спакою): Калі ні адзін блок кіравання не перадае паведамленняў, то шына CAN застаецца ў рэжыме спакою (чаканні) да моманту пачатку перадачы наступнага пакета.
Прыярытэты
Для апрацоўкі дадзеных у рэжыме рэальнага часу павінна быць забяспечана магчымасць іх хуткай перадачы.
Гэта мяркуе не толькі наяўнасць лініі з высокай фізічнай хуткасцю перадачы дадзеных, але і патрабуе таксама аператыўнага падавання доступу да агульнай шыны CAN, калі некалькім блокам кіравання неабходна адначасова перадаць паведамленні.
З мэтай размежавання перадаюцца па шыне дадзеных CAN паведамленняў па ступені тэрміновасці, для асобных паведамленняў прадугледжаны розныя прыярытэты.
Кут апярэджання запальвання, напрыклад, мае вышэйшы прыярытэт, значэнні прабуксоўкі - сярэдні, а тэмпература вонкавага паветра - найнізкі.
Прыярытэт, з якім паведамленне перадаецца па шыне CAN, вызначаецца ідэнтыфікатарам (адрасным полем) адпаведнага паведамлення.
Ідэнтыфікатар, які адпавядае меншай двайковай колькасці, мае больш высокі прыярытэт, і наадварот.
Пратакол шыны дадзеных CAN грунтуецца на двух лагічных станах: Біты з'яўляюцца ці «рэцэсіўнымі» (лагічная «1»), або «дамінантнымі» (лагічны «0»). Калі дамінантны біт перадаецца прынамсі адным модулем, то рецессивные біты, якія перадаюцца іншымі модулямі, перазапісваюцца.
Прыклад
Прыклад арганізацыі арбітражу
Першы блок кіравання (N I) губляе арбітраж з 3-га біта
Трэці блок кіравання (N III) губляе арбітраж з 7-га біта
Другі блок кіравання (N II) захоўвае права доступу да шыны дадзеных CAN і можа перадаваць сваё паведамленне
Калі некалькі блокаў кіравання адначасова пачынаюць перадачу дадзеных, то канфлікт доступу да агульнай шыны дадзеных дазваляецца з дапамогай «пабітавага арбітражу запытаў агульнага рэсурсу» з дапамогай адпаведных ідэнтыфікатараў.
Пры перадачы поля ідэнтыфікатара блок-перадатчык пасля кожнага біта правярае, ці валодае ён яшчэ правам перадачы, ці ўжо іншы блок кіравання перадае па шыне паведамленне з больш высокім прыярытэтам.
Калі які перадаецца першым блокам-перадатчыкам рэцэсіўны біт перазапісваецца дамінантным бітам іншага блока-перадатчыка, то першы блок-перадатчык губляе сваё права перадачы (арбітраж) і становіцца блокам-прымачом.
Іншыя блокі кіравання паспрабуюць перадаць свае паведамленні па шыне даных CAN толькі пасля таго, як яна зноў вызваліцца. Пры гэтым права перадачы зноў будзе давацца ў адпаведнасці з прыярытэтнасцю паведамлення па шыне дадзеных CAN.
Распазнаванне памылак
Перашкоды могуць прыводзіць да памылак у перадачы даных. Такія, якія ўзнікаюць пры перадачы, памылкі варта распазнаваць і ўхіляць. Пратакол шыны дадзеных CAN адрознівае два ўзроўні распазнання памылак:
- Механізмы на ўзроўні Data Frame (кадр дадзеных);
- Механізмы на ўзроўні бітаў.
Механізмы на ўзроўні Data Frame
Cyclic-Redundancy-Check
На аснове перадаецца па шыне дадзеных CAN паведамлення блок-перадатчык разлічвае кантрольныя біты, якія перадаюцца разам з пакетам дадзеных у поле «CRC Field» (кантрольныя сумы). Блок-прымач зноўку вылічае гэтыя кантрольныя біты на аснове прынятага па шыне дадзеных CAN паведамлення і параўноўвае іх з кантрольнымі бітамі, атрыманымі разам з гэтым паведамленнем.
Frame Check
Дадзены механізм правярае структуру блока, які перадаецца (кадра), гэта значыць пераправяраць бітавыя палі з зададзеным фіксаваным фарматам і даўжыня кадра.
Распазнаныя функцыяй Frame Check памылкі маркіруюцца як памылкі фармату.
Механізмы на ўзроўні бітаў
Маніторынг
Кожны модуль пры перадачы паведамлення адсочвае лагічны ўзровень шыны дадзеных CAN і вызначае пры гэтым адрозненні паміж перададзеным і прынятым бітам. Дзякуючы гэтаму забяспечваецца надзейнае распазнанне глабальных і якія ўзнікаюць у блоку-перадатчыку лакальных памылак па бітах.
Bit Stuffing
У кожным кадры дадзеных паміж полем «Start of Frame» і канцом поля «CRC Field» павінна быць не больш за 5 наступных сябар за сябрам бітаў з аднолькавай палярнасцю.
Пасля кожнай паслядоўнасці з 5 аднолькавых бітаў блок-перадатчык дадае ў струмень бітаў адзін біт з процілеглай палярнасцю.
Блокі-прымачы выдаляюць гэтыя біты пасля прыёму паведамлення па шыне дадзеных CAN.
Устараненне памылак
Калі які-небудзь модуль шыны дадзеных CAN распазнае памылку, то ён перарывае бягучы працэс перадачы дадзеных, адпраўляючы паведамленне аб памылцы. Паведамленне пра памылку складаецца з 6 дамінантных бітаў.
Дзякуючы паведамленню пра памылку ўсе падлучаныя да шыны дадзеных CAN блокі кіравання апавяшчаюцца аб узніклай лакальнай памылцы і, адпаведна, ігнаруюць перададзенае да гэтага паведамленне.
Пасля кароткай паўзы ўсе блокі кіравання зноў змогуць перадаваць паведамленні па шыне даных CAN, прычым першым зноў будзе адпраўлена паведамленне з найвышэйшым прыярытэтам.
Блок кіравання, чыё паведамленне па шыне дадзеных CAN абумовіла ўзнікненне памылкі, таксама пачынае паўторную перадачу свайго паведамлення (функцыя Automatic Repeat Request).
Тыпы шын CAN
Для розных абласцей кіравання прымяняюцца розныя шыны CAN. Яны адрозніваюцца сябар ад сябра хуткасцю перадачы дадзеных.
Хуткасць перадачы па шыне дадзеных CAN вобласці «рухавік і хадавая частка» (CAN-C) складае 125 Кбіт/з, а шына дадзеных CAN «Салон» (CAN-B) з прычыны меншай колькасці асабліва тэрміновых паведамленняў разлічана на хуткасць перадачы даных толькі 83 Кбіт/с.
Абмен дадзенымі паміж дзвюма шыннымі сістэмамі ажыццяўляецца праз так званыя «міжсеткавыя шлюзы», г.зн. блокі кіравання, падлучаныя да абедзвюх шын дадзеных.
Оптавалакновая шына D2B (Digital Daten-Bus) дадзеных прыменена для вобласці «Аўдыё/камунікацыі/навігацыя». Оптавалакновы кабель можа перадаваць істотна большы аб'ём інфармацыі, чым шына з медным кабелем.
CAN-C - шына «Рухавік і хадавая частка»
У канцавым блоку кіравання з кожнага боку ўсталяваны так званы які ўзгадняе рэзістар шыны дадзеных з супрацівам 120 Ом, падлучаны паміж абодвума правадамі шыны дадзеных.
Шына дадзеных CAN рухальнага адсека актываваная толькі пры ўключаным запальванні.
Да шыны CAN-З можа быць падлучана больш за 7 блокаў кіравання.
CAN-B - шына «Салон»
Некаторыя блокі кіравання, падлучаныя да шыны дадзеных CAN салона, актывуюцца незалежна ад уключэння запальвання (напрыклад: сістэма адзінага замка).
Таму шына дадзеных CAN салона павінна знаходзіцца ў рэжыме функцыянальнай гатоўнасці нават пры выключаным запальванні, гэта значыць, што магчымасць перадачы пакетаў дадзеных павінна быць забяспечана нават пры выключаным запальванні.
З мэтай максімальна магчымага зніжэння спажыванага току спакою, шына даных CAN, пры адсутнасці неабходных да перадачы даных, пераходзіць у рэжым пасіўнага чакання, і актывуецца зноў толькі пры наступным звароце да яе.
Калі ў рэжыме пасіўнага чакання шыны дадзеных CAN салона які-небудзь блок кіравання (напрыклад, модуль кіравання адзінага замка) перадае па ёй паведамленне, тое яго прымае толькі галоўны сістэмны модуль (электронны замак запальвання, EZS/EIS). Модуль EZS захоўвае гэтае паведамленне ў памяці і пасылае сігнал актывацыі (Wake-up) на ўсе блокі кіравання, падлучаныя да шыны CAN-У.
Пры актывацыі, EZS правярае наяўнасць усіх карыстачоў шыны дадзеных CAN, пасля чаго перадае захаванае да гэтага ў памяці паведамленне.
Да шыны CAN-У можа быць падлучана больш за 20 блокаў кіравання.