Vous êtes sur la page 1sur 23

BusCAN

Tabledesmatires
LebusCAN............................................................................................................2
Introduction........................................................................................................2
ProtocoleCAN...................................................................................................2
Applications........................................................................................................3
ModleOSI.........................................................................................................3
Dfinitions...........................................................................................................4
Exercicen1.............................................................................................6
Couche2NiveauTrame......................................................................................7
Tramededonnes...............................................................................................7
Exercicen2.............................................................................................8
Exercicen3.............................................................................................8
Exercicen4.............................................................................................8
Exercicen5.............................................................................................9
Exercicen6.............................................................................................9
Exercicen7.............................................................................................9
Arbitrage.......................................................................................................10
Exercicen8...........................................................................................10
Exercicen9...........................................................................................10
Exercicen10.........................................................................................12
Exercicen11.........................................................................................12
Champdecontrle........................................................................................12
Exercicen12.........................................................................................13
Tramederequtes.............................................................................................14
Exercicen13.........................................................................................14
ChampCRC..................................................................................................15
Champd'acquittement..................................................................................15
Champdefindetrame.................................................................................15
Traitementdeserreurs......................................................................................16
Diffrentstypesd'erreur...............................................................................16
Tramed'erreur(ErrorFrame).......................................................................17
Exercicen14.........................................................................................17
Exercicen15.........................................................................................18
Leconfinementd'erreurs...............................................................................18
Exercicen16.........................................................................................19
Tramedesurcharge...........................................................................................19
Couche1NiveauBit..........................................................................................20
Codage..............................................................................................................20
Exercicen17.........................................................................................22
Longueuretdbit..............................................................................................22
Caractristiqueslectriques...............................................................................23
Bibliographie.........................................................................................................23

LTLaSalleAvignon 1/23 20052008BTSIRIStv


BusCAN

LebusCAN
Introduction
LebusCAN(ControllerAreaNetwork)estndubesoindetrouverunesolutionde
communicationsriedanslesvhiculesautomobiles.Ilatinitialementdveloppparla
socitBosch,aumilieudesannes80,puisafaitl'objetd'unenormalisationISO11898et
11519.

LebusCANestunrseaupartentirerespectantlemodled'interconnexiondessystmes
ouverts(modleOSI)del'ISOetilestclassdanslacatgoriedesrseauxdeterrainutiliss
dansl'industriepourremplacerlaboucleanalogique4/20mA.

Remarque:LeGIERenaultPSAaveclespartenairescommeSagem,Valeoetautresont
dvelopplebusVAN(VehiculeAreaNetwork).

ProtocoleCAN
LeprotocoleCAN(ControlAreaNetwork)estunprotocoledecommunicationsriequi
supportedessystmestempsrelavecunhautniveaudefiabilit.

LanormeISO11898spcifieundbitmaximumde1Mbits/s.Lalongueurmaximumdubus
estdtermineparlachargecapacitiveetledbit(de20kbpssur1km1Mbpssur40m).

LastructureduprotocoledubusCANpossdeimplicitementlesprincipalesproprits
suivantes:
souplessedeconfiguration
fonctionnementmultimatre
dtectionsetsignalisationsderreurs
retransmissionautomatiquedesmessagesaltrs
dconnexionautomatiquedesnudsdfectueux

LeprotocoleCANnecouvreque2(ou3)des7couchesdumodleOSI:lescouches
PHYSIQUEetLIAISONetventuellementlacoucheAPPLICATION.

LTLaSalleAvignon 2/23 20052008BTSIRIStv


BusCAN
Leprotocoleestbassurleprincipedediffusiongnrale:lorsdetransmission,aucune
stationn'estadresseenparticulier,maislecontenudechaquemessageestexplicitparune
identificationreuepartouslesabonns.Grcecetidentificateur,lesnoeuds,quisonten
permanencel'coutedurseau,reconnaissentettraitentlesmessagesquilesconcernent.
Ellesignorentsimplementlesautres.

Applications
LapremireutilisationensriedubusCANdatede1992avecuneMercedesClasseS.Bien
entendu,ilyaplusieurstypesderseauxcommunicantsutilissdansl'industrieautomobile
(GMetFORDavecleJ1850,RenaultetPeugeotavecleVAN).Maislatendancesedirige
verslebusCAN(Peugeotl'utilisedanssesmodlesrcents607,307et206parexemple).

Dansunvhicule,plusieursrseauxmultiplexscohabitent:
rseaucarroserie(optiques,rtroviseurs,vitres,...)faibledbit(32,562,5kbps)
avecpeud'informationsetuntempsderponsedemandde100ms
rseauintersystmes(ABS,...)dbitmoyen(125500kbps)avecpeu
d'informationsetuntempsderponsedemandde10ms
rseauconfort(autoradio,climatisation,navigation,...)dbitmoyen(125kbps
1Mbps)avecungrandequantitd'informationsetuntempsderponsefaiblede
500ms
rseaudiagnostic(appelaussiliaisonK)dbitfaible(10kbps)avecungrande
quantitd'informationsetuntempsderponselentdel'ordredelaseconde)

Autresapplications:
Dufaitdesonefficacitetdesarobustesseprouve,lebusCANestgalementutilisdans
denombreusesapplicationsindustrielles(systmesdenavigationmaritime,ascenseurs,
machinesagricoles,photocopieurs,systmesmdicaux,industrietextile,machinesoutils,
systmedeproductionindustrielle,...)

ModleOSI
LebusCANcouvrelacouche2(LIAISON)etlacouche1(PHYSIQUE)dumodleOSI:

LTLaSalleAvignon 3/23 20052008BTSIRIStv


BusCAN
LasouscoucheMACreprsentelenoyauduprotocoleCAN.Elleapourfonctionde
prsenterlesmessagesreusenprovenancedelasouscoucheLLCetdaccepterlesmessages
devanttretransmisverslasouscoucheLLC.Elleestresponsabledesfonctionssuivantes:
lamiseentramedumessage.
larbitrage.
lacquittement.
ladtectiondeserreurs.
lasignalisationdeserreurs.

LasouscoucheLLCsoccupequantelle:
dufiltragedesmessages.
delanotificationdesurcharge(overload).
delaprocdurederecouvrementdeserreurs.

LacouchePhysiquedfinitlesignaltransmisetapourpourrledassurerletransfert
physiquedesbitsentrelesdiffrentsnudsenaccordavectouteslesproprits(lectriques
etlectroniques)dusystme.Cettecouchesoccupe:
degrerlareprsentationdubit(codage,timing).
degrerlasynchronisationbit.
dedfinirlesniveauxlectriquesdessignaux.
dedfinirlesupportdetransmission.

Remarque:lacouche7(APPLICATION)peuttreimplmentesousformed'unprotocole
supplmentaire(CANOpenparexemple).

Dfinitions
Nud:sousensemblereliunrseaudecommunicationetcapabledecommuniquersurle
rseauselonunprotocoledecommunication(icileprotocoleCAN).Chaquenudpeut
dtecterdeserreurssurunmessagequineluiestpasdestineteninformerlesautresnuds.

Valeursdubus:lebuspeutavoirlunedesdeuxvaleurslogiquescomplmentairesdfinies,
nonpasen0et1commedhabitude,maissouslaformedebitnommdominantourcessif.

0 1 1 0 1 0 0
dominant rcessif rcessif dominant rcessif dominant dominant

Message:chaqueinformationestvhiculesurlebuslaidedunmessage(tramedebits)
deformatdfinimaisdelongueurvariableetlimite.Dsquelebusestlibre,nimportequel
nudreliaurseaupeutmettreunnouveaumessage.

Routagedesinformations:desnudspeuventtreajoutsaurseausansquilnyaitrien
modifiertantauniveaulogicielquematriel.Chaquemessagepossdeunidentificateur
(identifier)quinindiquepasladestinationdumessagemaislasignificationdesdonnesdu
message.Ainsitouslesnudsreoiventlemessage,etchacunestcapabledesavoirgrceau
systmedefiltragedemessagesicedernierluiestdestinounon.

LTLaSalleAvignon 4/23 20052008BTSIRIStv


BusCAN
Tramededonnesetderequte:unetramededonnestransporte,commesonnom
lindique,desdonnes.Unetramederequteestmiseparunnuddsirantrecevoirune
tramededonnes(danscecaslidentificateurestlemmepourlesdeuxtrames).

Dbit(bit/s):ledbitpeutvarierentrediffrentssystmes,maisildoittrefixeetuniforme
auseindunmmesystme.

Priorits:encasdedemandesdeprisedubussimultaneslesidentificateursdechaque
messagepermettentaussidedfinirquelmessageestprioritairesurtelautre.

Fonctionnementmultimatre:lorsquelebusestlibre,chaquenudpeutdciderdenvoyer
unmessage.Seullemessagedeplushauteprioritprendpossessiondubus.

Arbitrage:leproblmedelarbitragersultedufonctionnementmultimatre.Sideuxnuds
ouplustententdmettreunmessagesurunbuslibreilfautrglerlesconflitsdaccs.On
effectuealorsunarbitragebitbitnondestructiftoutaulongducontenudelidentificateur.
Cemcanismegarantitquilnyauranipertedetemps,nipertedinformations.Danslecas
dedeuxidentificateursdestramesderequteetdedonnesidentiques,latramededonnes
gagnelebus.Lorsquunbitrcessifestenvoyetquunbitdominantestobservsurlebus,
lunitconsidreperdlarbitrage,doitsetaireetneplusenvoyeraucunbit.

Canaldeliaisonsimple:lebusconsisteenunsimplecanalbidirectionnelquitransporteles
bits.Apartirdesdonnestransportes,ilestpossibledercuprerdesinformationsde
resynchronisation.

Acquittement:touslesrcepteursvrifientlavaliditdunmessagereu,etdanslecasdun
messagecorrectilsdoiventacquitterenmettantunflag.

Scuritdetransmission:danslebutdobtenirlaplusgrandescuritlorsdetransfertssur
lebus,desdispositifsdesignalisation,dedtectionderreurs,etdautotestsontt
implmentssurchaquenuddunrseauCAN.Ondisposeainsidunmonitoringbus
(vrificationdubitmissurlebus),dunCRC(CyclicRedundancyCheck),dune
procduredecontrledelarchitecturedumessageetdunemthodedeBitStuffing.

Signalementdeserreursettempsderecouvrementdeserreurs:touslesmessagesentachs
derreur(s)sontsignalsauniveaudechaquenudparunflag.Lesmessageserronsnesont
pasprisencompte,etsontretransmisautomatiquement.

Erreursdeconfinement:unnudCANdoittrecapabledefairelesdistinctionsentredes
perturbationsdecourtesduresetdesdysfonctionnementspermanents.Lesnudsconsidrs
commedfectueuxdoiventpasserenmodeswitchedoffensedconnectant(lectriquement)
durseau.

ModeSleep(sommeil)etModeWakeup(rveil):afinderduirelaconsommationdnergie,
chaquelmentCANpeutsemettreenSleepmode.Danscemodeilnyaaucuneactivit
interneaunudCANconsidretsesdriverssontdconnectsdubus.Lareprisede
fonctionnement(modeWakeup)seffectuelorsquilyauneactivitsurlebusoupar
dcisioninternellmentCAN.

LTLaSalleAvignon 5/23 20052008BTSIRIStv


BusCAN
MthodedeBitStuffing:Cettemthodeconsiste,dsquelonamis5bitsdemme
polaritsurlebus,insrerunbitdepolaritcontrairepourcasserdeschanestrop
importantesdebitsidentiques.Onobtientainsidanslemessageunplusgrandnombrede
transitionscequipermetdefaciliterlasynchronisationenrceptionparlesnuds.Cette
techniqueestuniquementactivesurleschampsdeSOF,darbitrage,decontrle,deCRC
(dlimiteurexclu).Pourunfonctionnementcorrectdetoutlerseau,cettetechniquedoit
treimplmenteaussibienlarceptionqulmission.

Exercicen1
ComplterlediagrammesuivantenrespectantlamthodedeBitStuffing.
Rponse:

LTLaSalleAvignon 6/23 20052008BTSIRIStv


BusCAN

Couche2NiveauTrame
Letransfertdesmessagesseraliselaidedequatretypesdetramesspcifiquesetdun
intervalledetempslessparant:
lestramesdedonnes:cestramestransportentdesdonnesd'unproducteurvers
desconsommateurs.
lestramesderequte:cestramesdepollingsontmisesparunmatreversdes
esclavespourrequrirlatransmissiond'unetramededonnes.
lestramesderreurs:cestramessonttransmiseslorsqu'unestationdtecteune
erreurdetransmissionsurlebus.
lestramesdesurcharge(overload):cestramessontmisespourdemanderunlaps
detempssupplmentaireentredestrames(dedonnesouderequte)successives.

Ilexisteunespaceintertramede3bitsrcessifsentrelestramesdedonnesetderequte.
Parailleurs,ilexistedeuxtypesdeformatdetrames:
latramestandard(formatstandardCAN2.0A)possdeunidentificateurde11bits
latrametendue(formattenduCAN2.0B)possdeunidentificateur29bits

Ceformattendupermetdobtenirunplusgrandnombredemessageset/oudepriorits.
Remarque:LebusCAN2.0BestcompatibleavecleCAN2.0A.

Tramededonnes
Ledbutdetrame(SOF)nesteffectifquesilebustaitprcdemmentaurepos(busidle).

TouslesnudsdurseauseresynchronisentsurlebitdeSOF.

LTLaSalleAvignon 7/23 20052008BTSIRIStv


BusCAN
Unetramededonnessedcomposeen7champsdiffrents:
ledbutdetrameSOF(StartOfFrame):1bitdominant
lechampdarbitrage:11bits(ID)+1bit(RTR)enstandardet,29bits(ID)+2bits
(SRR/IDE)+1bit(RTR)entendu
lechampdecommande:6bits
lechampdedonnes:064bits
lechampdeCRC(CyclicRedundancyCode):15bits+1bit
lechampdacquittement(Acknowledge):2bits
lechampdefindetrameEOF(EndOfFrame):7bitsrcessifs

Lasignificationdecertainsbits:
RTR:RemoteTransmissionRequestbit,
SRR:SubsituteRemoteRequestbit,
IDE:IdentifierExtensionbit.

LebitRTR(RemoteTransmissionRequest)permetdedterminerletypedetrame:
RTR=tatdominant:tramededonnes
RTR=tatrcessif:tramederequte

Exercicen2
Dterminer,pourlesformatsstandardettendu,leslongueursminimumetmaximumen
bitsd'unetramededonnescirculantsurlebusCANennetenantpascomptedubit
stuffing.
Rponses:

Exercicen3
Dterminerlenombredecapteurs/actionneursTOR(ToutOuRien)diffrentsqu'unnoeud
peutgrerdansuneseuletramededonnes.
Rponse:

Exercicen4
CalculeralorslerendementduprotocoleCANlorsqu'ilmetunetramededonnes
complte.
Rponse:

LTLaSalleAvignon 8/23 20052008BTSIRIStv


BusCAN

Exercicen5
Pourcomparaison,dterminerlerendementduprotocoleEthernetpourlammesituation.
Quelestalorsleprotocoleleplusefficacepourcetypedesituation(notiondebusdeterrain
oubusindustriel)?
Rponse:

Exercicen6
Avecdestramesde60bitsenmoyenne,dduirelenombremaximumdetramespouvant
circulersurlebusenunesecondeetcepourledbitmaximum(1Mbits/s).
Rponse:

Exercicen7
Danslecasoilya4noeudsidentiquesquimettentetreoivent16trames(de60bitsen
moyenne)parsecondes,dterminerletauxdechargemaximumpourcebus.
Rponse:

LTLaSalleAvignon 9/23 20052008BTSIRIStv


BusCAN

Arbitrage
Dansunetramestandard,lechampdarbitrageestcomposdes11bitsdelidentificateur
plusunbitdeRTR(RemoteTransmissionRequest)quiestdominantpourunetramede
donnesetrcessifpourunetramederequte.

Commenouslavonsvuprcdemment,lidentificateurpermetderouterlemessageversle
bonnudmaisilindiqueaussilaprioritdumessage,quidterminel'assignationdubus
lorsqueplusieursstationsmettricessontenconcurrences.Danssaversionstandard,
l'identificateurestcodsur11bits.

Lesprioritssontattribuesstatiquementlorsdel'analyseconceptuelledurseau,aumoyen
devaleurbinaire,etnepeuventdonnerlieuaucunemodificationdynamique.

Exercicen8
Dterminerenthorielenombredemessagesqu'ilestpossiblededfinirpourunetrame
standard.
Rponse:

LesbitsdelidentificateursontnumrotsdeID_10ID_0(duMSBversLSB).Parailleurs
les7bitslesplussignificatifs(deID_10ID_4)nedoiventpastoustrercessifs,cequi
rduitlenombredecombinaisonspossibles.

Exercicen9
Entenantcomptedecesparticularits,dterminerrellementlenombredemessagesqu'il
estpossiblededfinirpourunetramestandard.
Rponse:

LTLaSalleAvignon 10/23 20052008BTSIRIStv


BusCAN
Leprocddattributiondubusestbassurleprincipedel'arbitragebitbit,selonlequel
lesnoeudsencomptition,mettantsimultanmentsurlebus,comparentbitbit
l'identificateurdeleurmessageavecceluidesmessagesconcurrents.Lesstationsdepriorit
moinslevesperdrontlacomptitionfacecellequialaprioritlaplusleve.

Lesstationssontcblessurlebusparleprincipedu"ETcbl",encasdeconflitc'est
diremissionsimultane,lavaleur0craselavaleur1.

Onappelledoncl'tatdominantl'tatlogique0,etl'tatrcessifl'tatlogique1.

Lesbitsdelidentificateursonttransmisdanslordre,deID_10ID_0(duMSBversLSB).

Exemple:

Danslexemplecidessus,lesstations1,2et3demandentlebusenmmetemps.Pourles
dpartager,onappliquelamthodedarbitrageetlespremiresstationsamettreunbit
rcessifsontexcluesetdevrontattendrequelastationquiaprislebus(lastationavecla
prioritlaplushaute)librelaligne.

Danslexemplelastation1estexclueenpremierpuislastation3.Lastation2doncla
plushautepriorit.

LebusCANutiliselamthoded'accsCSMA/CR(CarrierSenseMultipleAccess/
CollisionResolution)dontlesprincipesgnrauxsontlessuivants:
Touteslesstationssontgales
Chaquestationmetquandelleveut(buslibre)
Lescollisionssontacceptes
Lescollisionssontdtectesparlesstations
Lescollisionssontgresparleprotocole
Ilyaunestratgied'arbitragedescollisions
Lastationquiremportel'arbitragecontinuesatransmission

LTLaSalleAvignon 11/23 20052008BTSIRIStv


BusCAN

Exercicen10
Apartirdel'exempleprcdent,attribuerlesprioritspourles3noeudsenfonctiondeleur
rle.
Rponses:

uncapteurdetempraturerelisurlenoeud___
lecapteurdantipatinagerelisurlenoeud___
lABSrelisurlenoeud___

Exercicen11
Complterletroisimechronogramme(rsultantesurlebus)etindiquerlenoeudquia
russimettresatrame.
Rponses:

Lenoeud____gagnelebus.

Champdecontrle
Lechampdecontrleestcomposde6bits.Lesdeuxpremierssontdesbitsderserveet
leurrleestdassurerdescompatibilitsfuturesascendantes.

LTLaSalleAvignon 12/23 20052008BTSIRIStv


BusCAN
Lesquatrederniersbitspermettentdedterminerlenombredoctetsdedonnescontenus
danslechampdedonnes.Lenombredoctetsdedonnesnepeutpasexcderlavaleurde8
(soit64bits).

CodagedesbitsDLCsuivantlatailledesdonnesenoctets(D:bitDominantetR:bit
Rcessif):

Tailledes DLC(DataLengthCode)
donnesen DLC3 DLC2 DLC1 DLC0
octets
0 D D D D
1 D D D R
2 D D R D
3 D D R R
4 D R D D
5 D R D R
6 D R R D
7 D R R R
8 R D D D

Exercicen12
Complterlatrame(jusqu'auchampCRCexclu)danslecasounnoeudmetlesdonnes
'B'(0x42)suividelavaleur6.
Rponse:

LTLaSalleAvignon 13/23 20052008BTSIRIStv


BusCAN

Tramederequtes

Unetramederequteestconstituedelammemanirequunetramedeuxdiffrences
prs:

Lechampdedonnesestvide.
Danslechampdarbitrage,lebitdeRTRestrcessif.

Siunnudabesoinduncertainnombrededonnes,ilvamettreunetramederequteds
quelebusseralibreenprenantsoindindiquerdanslechampdecontrle(DLC)lenombre
doctetsdedonnesdontilabesoin.

Exercicen13
Quesepassetilsideuxnoeudsmettentchacununetramepossdantlemmeidentificateur
maisunedesdeuxtramesestunetramededonnesetl'autreunetramederequte.
Concluresurlaprioritentreunetramededonnesetunetramederequte.
Rponse:

LTLaSalleAvignon 14/23 20052008BTSIRIStv


BusCAN

ChampCRC
lechampdeCRCestcomposde16bits.LasquenceCRCcalculeestcontenuedansles15
premiersbitstandisqueledernierbitestundlimiteurdefindechampdeCRC(bit
toujoursrcessif).

CechampdeCRCpermetdesassurerdelavaliditdumessagetransmis,ettousles
rcepteursdoiventsastreindreceprocddevrification.SeulsleschampsdeSOF,
darbitrage,decontrleetdedonnessontutilisspourlecalculdelasquencedeCRC.

Champd'acquittement
Lechampdacquittementpossde2bits.

Siaucuneerreurnatdtecteparunnud,cederniermetunbitdominantsinonilmet
unetramederreur.Lastationmettricedumessageorigineldoitalorstrecapablederagir
enfonctiondelmissiondunbitdominantounonparlesautresstationssurlepremierbit
duchampdacquittement.

Lesecondbitestunbitdlimiteurdacquittementquidoittoujourstrercessif.

Champdefindetrame
Cechampdefindetrameestconstitude7bitsrcessifs,cequidrogelargledeBit
Stuffing.

LTLaSalleAvignon 15/23 20052008BTSIRIStv


BusCAN

Traitementdeserreurs
Lorsdelmissiondunetramesurlebus,deserreursdetransmissionpeuventvenir
perturberlebonfonctionnementdesdiffrentsutilisateursdubus.Lerreurpeutvenirdun
nud,etempcherlerseaudefonctionnercorrectement.Pourcela,desmthodesde
dtectionderreursdetransmissionssontprvuesparleprotocoleCAN.

Diffrentstypesd'erreur
LeBitError:Chaquefoisquunmetteurenvoieunbitsurlebus,ilvrifieenmmetemps
sileniveaumissurlebuscorrespondceluiquildsireenvoyerenfaisantunesurveillance
dubus.Sileniveaunecorrespondpas,illesignaleparunBitError.Saufsi:
Unbitdominantestenvoydanslechampdarbitragelaplacedunbitrcessif.
Danscecas,lebitdominantsignifiesimplementunepertedarbitrage.
Unbitdominantestenvoylorsdelacknowledgeslot,laplacedunbitrcessif.
Unmetteurenvoyantunflagderreurpassive(bitrcessif)etrecevantunbit
dominant,nedoitpassignalerunBitError.

LerreurdeStuffing(StuffError):UneerreurdeStuffingestdtectechaquefoisquily
a6bitsouplusconscutifsdemmesignesurlebus.
LerreurdeCRC(CRCError):SilavaleurduCRCcalculeparlercepteurestdiffrente
decelleenvoyeparlmetteur,ilyaerreurdeCRC.
LerreurdAcknowledgeDelimiter:UneerreurdAcknowledgeDelimiterestsignale
lorsquelercepteurnobservepasunbitrcessiflorsduchampdeAcknowledgeDelimiter.
IlenestdemmepourleCRCDelimiter.
LerreurdeSlotAcknowledge(AcknowledgmentError):UneerreurdeSlotAcknowledge
estsignaleparlmetteursilnelitpasunbitdominantlorsduchampdeslot
acknowledge.

Lagestiondeserreurss'appliquesurcertainschamps,selonlescas:

LTLaSalleAvignon 16/23 20052008BTSIRIStv


BusCAN

Tramed'erreur(ErrorFrame)
Silastationdtecteuneerreur,ellerenvoieunetramed'erreurconstituede
6bitsl'tatdominant(ErrorFlag)suivide
8bitsdlimiteursl'tatrcessif(ErrorDelimiter).

Plusieursstationspeuventdtecterl'erreuretenvoyerellesaussiunetramed'erreur:ilya
aurasuperpositiondebitsd'erreur(unmaximumde6bitssupplmentairessoit12bitsmax
pourl'ErrorFlagafindenepasbloquerindfinimentlebus).Lesbitsformantl'ErrorFlag
sontdominantsetcrasentdonclesdonnescontenuesdanslatramededonnes.Ils
provoquerontdonclaretransmissiondecettedernire.

Tramed'erreurACTIVEERRORFLAG
Intertrameou
Tramede tramede
Flagd'erreur
donnes surcharge

Superpositionmaximaledes Dlimiteurd'erreur
flagsd'erreur

Al'issuede8bitsdlimiteurs,lebusestlibr(3bitsintertrame)etlescommunications
peuventreprendre.Lenudessaieranouveaudetransmettrelemessage.

Exercicen14
ComplterlediagrammesuivantdanslecasolenoeudBdtecteunBitError(notE).
Rponse:

LTLaSalleAvignon 17/23 20052008BTSIRIStv


BusCAN

Exercicen15
Lorsd'uneerreur,lenudessaieranouveaudetransmettrelemessage(retransmission
automatiqueencasd'erreur).Dterminerledlaienbitsqu'ilfaudraattendreaumieuxet
auplus(siaucunmessagedeprioritsuprieureneprendlamainsurlerseau).
Rponse:

Leconfinementd'erreurs
Etantdonnqu'unestationdfectueusepeutperturberlefonctionnementdetoutlesystme
(envoiininterrompudetramesd'erreurs),lesnoeudsdfectueuxsedconnectent
automatiquement(oulimitentleurfonctionnementcommelesignalementd'erreurs).Pour
mettreenoeuvreleconfinement,chaquenoeudcomporteobligatoirementdeuxcompteurs:
surlestramesmises(TECTransmitErrorCounter)
surlestramesreues(RECReceiveErrorCounter)

Cescompteurss'incrmententetsedcrmententenutilisantunmcanismedepondration
sophistiqu.Poursimplifier,onconsidreralefonctionnementsuivant(Ilexistenotamment
quelquesexceptionscesrgles):
REC:
Rceptiond'unetramecorrompue:+1(jusque128)
Rceptiond'unetramecorrecte:1(si>0)
TEC:
Emissiond'unetramecorrompue:+8(jusque256)
Emissiond'unetramecorrecte:1(si>0)

Suivantlavaleurdecescompteurs,lenoeudsetrouvedansundes3tatssuivant:
EtatErreuractive:fonctionnementnormal
EtatErreurpassive:missionpossiblemais8bitsaprsquelebussoitlibre
(tempsderponse!),plusdesignalementd'erreurs(lenoeudtransmet
uniquementdespassiveerrorflagconstitusdebitsrecessifs)
EtatBusoff:lastationsedconnectedubus(plusd'missionniderception)

"NormalModeRequest"et128occurencesde
11bitssuccessifs/recessifs
REC>127ou
TEC>127
Erreur Erreur TEC>255
Resetet Bus"OFF"
configuration active passive
REC<128
ouTEC<128

Remarque:uneconditionde"WARNING"estsignale96.

LTLaSalleAvignon 18/23 20052008BTSIRIStv


BusCAN

Exercicen16
Cecipeutdurerindfiniment,siparhasardleserreurspersvrent,lescompteursd'erreurs
augmentent,lecircuitproduisantl'erreur(ous'enrendantcompte)passelepremierenmode
busoff.Acemomentlilnedevraitplusyavoird'erreuret,lemessagedevraitalorsbien
passer.Etsitouslesnoeudsontrcalcitrantssaufvotrenoeud,quesepassetil?
Rponse:

Tramedesurcharge
Latramedesurchargeindiqueauxautresnudsquunestationestsurcharge.Elleest
formededeuxchamps:
ledrapeaudesurcharge(OverloadFlag)avecsixbitsdominants,
ledlimiteurdesurcharge(OverloadDelimiter)avechuitbitsrcessifs.

Unetramedesurchargeestmisesurlebussi:
unbitdominantestdtectdurantlapriodedintertrame.
unrcepteurnestpasprtpourlarceptiondunenouvelletramededonneoude
requte(retardsurletraitementdesinformationscirculantsurlebus).

Dsquunetramedesurchargeestmise,lesautresnudsvoientsurlebusunesuitedesix
bitsdominantsquinerespectentpaslargleduBitStuffing.Ilsmettentleurtourune
tramedesurcharge.Seulementdeuxtramesdesurchargesconscutivessontautorisessurle
bus.

LTLaSalleAvignon 19/23 20052008BTSIRIStv


BusCAN

Couche1NiveauBit
Codage
LatransmissiondesbitssurlebusCANsefaitenmodeBandedeBasesuivantuncodage
NRZ(NonReturntoZero).Lestransitionsdesbitsseffectuentsurchaquefrontmontant
delhorloge.

UnepriodedhorlogecorrespondcequelonappelleleNominalBitTime.LeNominal
BitTimereprsentedoncladuredunbitsurlebus.Leniveaudetensionestmaintenu
constantpendantladured'unbit(NRZ).Chaquestationreliesurlebusdoittrecadence
aveclemmeNominalBitTimepourpouvoirmettreetrecevoircorrectementlesdonnes
circulantsurlebus.

LanormedcritavecprcisionlacompositiondeceNominalBitTimequiestdivisen
plusieurssegments:
lesegmentdesynchronisation(SYNC_SEG);
lesegmentdepropagation(PROP_SEG)sertcompenserlesretardstemporels
physiquesdanslerseau.Savaleurestfixedeuxfoislasommedutempsde
propagationdessignauxdansleslignesdubusetdesretardsapportsparlesentres
sortiesdesdriversdelignes;
lesegmentdephasebuffern1(PHASE_SEG1),
lesegmentdephasebuffern2(PHASE_SEG2)cesdeuxsegmentssontutilisspour
compenserleserreursdesynchronisation.Ilspeuventtreallongsouraccourcisparla
resynchronisation..

OndfinitlapluspetitebasedetempsreconnuesurunbusCANcommetantleTime
Quantum.Cettebasedetempsestunefractiondel'horlogedel'oscillateur.

LTLaSalleAvignon 20/23 20052008BTSIRIStv


BusCAN
Lepointd'chantillonnage(samplepoint)estl'instantol'tatdubusestluetolavaleur
dubitestinterprte.IlseplacelafindePHASE_SEG1.SurdesbusCANlentsoutrs
perturbs,onpourraprendretroispointsd'chantillonnage.

PourcorrigerlesdrivesduNominalBitTime,ilfautplacerdesbutesqueladrivedela
priodenepourrapasdpasser.Labuteenquestions'appelleleRJW:Resynchronisation
JumpWidth.LeRJWestunevariableentireprogrammeunevaleurcompriseentre1et
leminimumde(4,segmentdephase1).Lavaleurestmisedansleregistreducircuitlorsde
l'initialisationetnechangepasencoursdefonctionnement.

Remarque:ilfaudradoncconsulterladocumentationducircuitmiseenoeuvrepourassurer
saconfiguration.Ondevra:
dfinirunebasepourlavitessedetransmissionetuntempsdesynchronisation(ces
tempsdoiventtregauxsurtouslessystmesd'unmmerseau)
dfinirladuredechaquebit,lepointd'chantillonnageetlenombre
d'chantillonnages.

Exemple:lesregistresduSJA1000(nominalbittime=tSYNCSEG+tTSEG1+tTSEG2)

LTLaSalleAvignon 21/23 20052008BTSIRIStv


BusCAN

Exercicen17
LecircuitcontrleurCANSJA100016Mhzatconfiguraveclesvaleurssuivantes:
BTR0=0x43etBTR1=0x2F.DterminerledbitdecebusCAN.
Rponse:

Longueuretdbit
Lalongueurdubusdpenddesparamtressuivants:
Ledlaidepropagationsurleslignesphysiquesdubus.
Ladiffrenceduquantumdetempsdfiniprcdemment,duauxdiffrencesde
cadencementdesoscillationsdesnuds.
L'amplitudedusignalquivarieenfonctiondelarsistanceducbleetdel'impdance
d'entredesnuds.

Remarques:lalongueurdubusdiminuelorsqueledbitaugmente.Audeld'unecertaine
distance(suprieureaukm),ilfaudramettreenplacedesrpteurs.

Dbit LongueurLongueurd'unbit

1Mbit/s 30m 1s
800kbit/s 50m 1,25s
500kbit/s 100m 2 s
250kbit/s 250m 4 s
125kbit/s 500m 8 s
62,5kbit/s 1000m 16 s
20kbit/s 2500m 50 s
10kbit/s 5000m 100 s

LTLaSalleAvignon 22/23 20052008BTSIRIStv


BusCAN

Caractristiqueslectriques
Latransmissiondesdonnesesteffectuesurunepairefilairediffrentielle.Laligneestdonc
constituededeuxfils:
CANL(CANLOW)>broche2d'unconnecteurDB9
CANH(CANHIGH)>broche6d'unconnecteurDB9

LeCANestunbusdeterrain,soumisdesparasitesimportants.Latransmissionenpaire
diffrentiellepermetdes'affranchirdecesproblmes:l'immunitlectromagntique(EMI)
estassurecarlesdeuxlignessonttoutesdeuxaffectesdelammemanireparla
perturbation.

Letableaucidessousrsumelesprincipalesdiffrencesentrelesdeuxtypesdebus:
Paramtres CANlowspeed CANhighspeed
Dbit 125kb/s 125kb/s1Mb/s
Nombredenudssurlebus 220 230
Courantdesortie(modemission) >1mAsur2,2k 2550mAsur60
Niveaudominant CANH=4V VCANHVCANL=2V
CANL=1V
Niveaurcessif CANH=1,75V VCANHVCANL=2,5V
CANL=3,25V
Caractristiqueducble 30pFentrelescblesdeligne 2*120
Tensionsdalimentation 5V 5V

TransceiverCAN:80C250dePhilipsouMCP2551deMicroChip

Bibliographie
LebusdeterrainCANdePatriceKadionik:
http://www.enseirb.fr/~kadionik/formation/canbus/canbus.html
LerseauCANetleprotocoleCANOpen:http://www.a2v.fr/program/canopen.htm
GestiondubusCAN:http://www.oberle.org/canindex.html
IntroductionaubusCAN:http://edelaunay.chez.tiscali.fr/buscan.htm
etc...

LTLaSalleAvignon 23/23 20052008BTSIRIStv