Абмен дадзенымі па шыне CAN
B – Датчык 1
CAN - Шына дадзеных
М - Выканаўчыя элементы I-III (сервамеханізмы)
N - Блокі кіравання (кантролеры) I-V
Шына з'яўляецца поўнадуплекснай (ці проста дуплекснай), г.зн. любое падлучанае да яе прылада можа адначасова прымаць і перадаваць паведамленні.
Сігнал з адчувальнага элемента адпаведнага інфармацыйнага (датчыка) паступае ў найблізкі блок кіравання, які апрацоўвае яго і перадае на шыну абмену дадзенымі 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 падтрымлівае два розных фармату кадраў паведамлення па шыне дадзеных CAN, якія адрозніваюцца толькі па даўжыні ідэнтыфікатара:
- Стандартны фармат;
- Пашыраны фармат.
У наш час у сістэмах абмену дадзенымі сістэм кіравання аўтамабіляў кампаніі Daimler Chrysler выкарыстоўваецца толькі стандартны фармат.
Кожны кадр перадаюцца па шыне CAN паведамленняў складаецца з сямі паслядоўных палёў:
Фармат кадра
- Start of Frame (стартавы біт): маркіруе пачатак паведамлення і сінхранізуе ўсе модулі;
- Arbitration Field (ідэнтыфікатар і запыт): Гэтае поле складаецца з ідэнтыфікатара (адрасы) у 11 біт і 1 кантрольнага біта (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 блокаў кіравання.