Vous êtes sur la page 1sur 22

Lyce Grandmont

STS Systmes Electroniques


Fiche PIC18
PIC18 : Le module ECAN
Pour les PIC18Fxx8 etou PIC18Fxxx8
Introduction
Cette fiche est destine la description des modules ECAN prsents sur les PIC 18Fxx8 et 18Fxx8x.
Ce module permet le pilotage dun !us CAN partir dun tel PIC.
Le module EC!"
ECAN pour Enhanced Controller Area Net"or#. Ce module est un contr$leur de communications
implmentant le protocole C!"#$% dans ses &ersions ! ou ' %selon les spcifications dfinies par &osh'.
Ce module permet aussi le support des protocoles CAN 1.() CAN (.*& + acti,e - et CAN (.*& + passi,e -.
.es principales caractristi/ues du module ECAN sont 0
Implmentation des ,ersions 1.() (.*A et (.*& du protocole CAN
1upport du filtrage de donnes 2e,iceNet
tm
1upport des trames de donnes standard et tendues
3aille des donnes comprise entre * et 8 octets
2!it programmma!le) 4us/u 1 5!ps
3rois modes de fonctionnement 0
5ode * 0 .egac6 mode %fonctionnement classi/ue'
5ode 1 0 Enhanced .egac6 5ode "ith 2e,iceNet support
5ode ( 0 FIF7 mode "ith 2e,iceNet support
1upport de la gestion automatise des + remote frames -
8cepteur + dou!le !uffer a,ec gestion des priorits -
1ix !uffers programma!les comme !uffers dmission ou de rception
Plusieurs filtres et mas/ues permettant de grer lacceptation des trames
...
( )&er&ie* +
.e module ECAN est en fait un gestionnaire de protocole associ un s6st9me de de stoc#age et de gestion
de messages. .e gestionnaire de protocole CAN fournit les fonctionnalits permettant de rece,oir et
dmettre des messages sur le !us. .es messages sont mis apr9s a,oir charg les registres ad/uats a,ec
les ,aleurs ad/uates. .a ,rification des tats) gestion des erreurs se fait tra,ers des registres
spcifi/ues.
Cha/ue message dtect sur le !us CAN est contr$l par rapport d,entuelles erreurs) puis compar aux
diffrents filtres afin de dterminer sil doit :tre re;u et stoc# dans un des deux registres de rception.
.e module CAN g9re les t6pes de trames sui,ants 0
3rame de donnes standard 0 1tandard 2ata Frame
3rame de donnes tendue 0 Extended 2ata Frame
8emote Frame
3rame derreur 0 Error Frame
7,erload Frame 8eception
Interframe 1pace <eneration=2etection
.e module CAN utilise les lignes 8&(=CAN3> et 8&?=CAN8> pour interfacer le !us. En fonctionnement
normal) le module CAN g9re le !it 38I1&(. L,utilisateur doit s,assurer que le -it T.IS'/ est 0ositionn 1
,1,.
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
2ise en oeu&re du module C!"
.a procdure sui,ante doit :tre respecte pour /ue le module CAN soit capa!le dmettre et de rece,oir des
donnes CAN 0
1. Positionner le module ECAN dans le mode configuration.
(. Choisir le mode de fonctionnement %*) 1 ou (') * %.egac6' est choisi par dfaut.
?. Configurer les registres fixant le d!it %!aud rate registers'.
C. Configurer les registres associs aux filtres et aux mas/ues.
D. Positionner le module ECAN dans le mode + Normal - %ou dans un des autres modes spcifi/ues)
en fonction des !esoins de lapplication'.
Schma -loc du module EC!"
Fiche@PIC18@!us@CAN.odt (A=*(=*B (=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
Princi0aux modes
.e module ECAN propose six principaux modes + of operation - % ne pas confondre a,ec les ? modes de
fonctionnement *)1 ou () /ui font partie du mode + normal -' 0
Configuration 5ode
2isa!le mode
Normal 7peration mode
.isten 7nl6 mode
.oop!ac# mode
Error 8ecognition mode
5is part le + Error 8ecegnition mode -) chacun des modes est slectionn laide des !its .E3)P du
registre C!"C)" %CANC7NEA0DF'. .e mode + Error 8ecognition - est /uant lui slection par le !it .42
du %des' registre%s' + .ecei&e 'u55er -.
.acc9s un mode se ,rifie laide des !its )P2)6E. En effet) un changement de mode nest rellement
effectu /ue lors/ue toutes les transmissions en attente sont termines. .utilisateur doit donc prendre la
prcaution de ,rifier si le changement de mode est effectif.
Con5i7uration 2ode
Il est ncessaire dinitialiser le module ECAN) ceci se fait en tant dans ce mode. .acc9s au mode de
configuration est demand en positionnant le !it .E3)P# 1 1. .a configuration peut commencer d9s /ue le
!it )P2)6E# est dtect 1. Gne fois cet tat atteint) il est possi!le dcrire dans les registres de
configuration) les registres + filtres -) + mas/ues -... .e module est racti& en positionnant les !its
.E3)P 1 %.
En dehors du mode de configuration) il est impossi!le de modifier les registres 0
2e configuration
2e slection du mode de fonctionnement
2e configuration de d!it
2e configuration des filtres et mas/ues
2ans ce mode) le module nmet ni ne re;oit aucune donne) les compteurs derreurs sont remis * et les
flags dinterruption sont inchangs.
6isa-le 2ode
2ans ce mode) le module ne transmet ni ne re;oit. Par contre) le module peut positionner 1 le !it 8!9IF
en cas dacti,it sur le !us. .es flags dinterruption ainsi /ue les compteurs derreurs restent inchangs.
.acc9s au mode + 2isa!le - se fait en positionnant les !its .E3)P:#;%< 1 %%1.
"ormal 2ode
Cest le fonctionnement standard du module. 2ans ce mode) le priphri/ue sur,eille acti,ement les
messages sur le !us) gn9re les ac/uittements) les trames derreurs... Cest uni/uement dans ce mode /uil
sera possi!le dmettre des donnes sur le !us.
Listen )nly 2ode
2ans ce cas de figure) le module re;oit tous les messages) 6 compris ceux contenant des erreurs. Ce mode
est utile pour sur,eiller) d!ugger une application... Cest aussi par ce mode /uil faut passer pour mettre en
place un s6st9me + hot plug - a,ec dtection automati/ue du d!it.
Loo0-ac= 2ode
2ans ce mode) il est possi!le de transfrer directement le contenu dun !uffer dmission ,ers un !uffer de
rception) sans passer par le !us. Ce mode est utilis dans des situations de test.
Error .eco7nition 2ode
.e module peut :tre configur pour ignorer les erreurs. Cest lo!4et de ce mode.
Fiche@PIC18@!us@CAN.odt (A=*(=*B ?=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
2odes de 5onctionnement
En plus des diffrents + modes - utilisa!les) le module ECAN propose ? modes de fonctionnement. Ils sont
dfinis comme mode *) 1 et (.
Ce document ne traitera /ue du mode % ; Le7acy 2ode. Ce mode est le mode de fonctionnement par
dfaut) il est slectionn apr9s un 8E1E3. .es ressources sui,antes sont disponi!les dans le mode * 0
3rois !uffers dmission 0 T4'%> T4'1 et T4'#.
2eux !uffers de rception 0 .4'% et .4'1.
Gn mas/ue dacceptation par !uffer de rception 0 .42% et .421.
1ix filtres associs 0 deux 0our .4'% et quatre 0our .4'1 0 .4F% 1 .4F?.
'u55ers de messa7es
.es PIC 18Fxx8x im0lmentent trois -u55ers d,mission ddis 0 3>&*) 3>&1 et 3>&(. Chacun de ces
!uffers occupe 1C octets de 18A5 et est + mapp - parmi les registres 1F8. Ces !uffers sont les seuls
accessi!les en mode *.
Cha/ue !uffer dmission est compos de 0
Gn registre de contr$le 0 T4'nC)"
Huatre registres identifiants 0 T4'nSI6L> T4'nSI6@> T4'nEI6L et T4'nEI6@.
Gn registre compteur de longeur de donne 0 T4'n6LC
Iuit registres de donnes 0 T4'n6m
.es !uffers de rception %ddis' sont au nom!re de deux ; .4'% et .4'1. . encore) cha/ue !uffer
occupe 1C octets de 8A5 dans la Jone 1F8 et ces deux !uffers sont les seuls accessi!les en mode *.
Cha/ue !uffer de rception des compos de 0
Gn registre de contr$le 0 .4'nC)"
Huatre registres identifiants 0 .4'nSI6L> .4'nSI6@> .4'nEI6L et .4'nEI6@.
Gn registre compteur de longeur de donne 0 .4'n6LC
Iuit registres de donnes 0 .4'n6m
7n peut aussi noter la prsence dun !uffer dassem!lage de message %5essage Assem!l6 &uffer 0 5A&'.
.e 5A& est destin rcuprer les messages sur le !us) les assem!ler et les transfrer ,ers un registre de
rception si le message satisfait aux filtres et mas/ues.
Emission d,un messa7e &ers le -us C!"
Pour /ue le processeur puisse crire dans un !uffer message) le -it T4.E3 doit Atre 1 %. Cela ,eut dire
/uil n6 a aucun message en attente sur ce !uffer. .es registres SI6@> SI6L et 6LC) au minimum) doi,ent
:tre renseigns. 1i des donnes sont en,o6er) les registres de donnes doi,ent aux aussi :tre renseigns.
2e m:me) si un identifiant tendu est utilis) les registres EI6@ et EI6L sont utiliss et le !it E4I6E
0ositionn 1 1.
Pour dmarrer une mission) le !it T4.E3 correspondant au !uffer utilis doit :tre 0ositionn 1 1. A ce
moment) les !its T4!'T> T4L!.' et T4E.. sont mis 1 %. Gne mission est considre comme russie sil
6 a au moins un noeud compati!le %d!it identi/ue' sur le rseau.
Remarque :
Le fait de positionner TXREQ 1 ne suffit pas dmarrer une mission. En fait, cela ne fait que qu'indiquer
qu'un message est prt tre mis. La transmission ne d!utera rellement que lorsque le medium sera
dtect li!re.
.ors/ue la transmission est termine %a,ec succ9s') T4.E3 re0asse 1 %) T4'nIF 0asse 1 1. Gne
interru0tion est donc 7nre si T4'nIE est 7al 1 1.
2ans le cas oK la transmission choue) 3>8EH reste 1 %indi/uant /ue le message est tou4ours en attente
dmission' et un des drapeaux sui,ants est positionn 0
1i le message a commenc :tre mis mais a rencontr une erreur) T4E.. et I.4IF passent 1
1i le message a 0erdu un ar-itra7e> le -it T4L!.' est 0ositionn 1 1.
Fiche@PIC18@!us@CAN.odt (A=*(=*B C=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
Priorits des -u55ers d,mission
.es !uffers dmission peu,ent se ,oir affecter une priorit. CelleLci na rien ,oir a,ec la priorit du
message %inscrite dans lidentifiant'. .e !uffer de transmission a6ant la priorit la plus le,e sera trait le
premier. Huatre ni,eaux de priorit existent et sont programms a,ec les !its T4P. 3>PM + 11 - reprsente
le ni,eau de priorit le plus le,) tandis /ue 3>PM + ** - correspond la priorit la plus !asse.
2ans le cas oK deux !uffers ont le m:me ni,eau de priorit) cest le !uffer a6ant le plus haut + numro - /ui
est trait da!ord.
.ce0tion d,un messa7e
.ors/uun message est stoc# dans un des !uffers de rception %apr9s :tre pass par le 5A&) les filtres...'
le -it .4FBL corres0ondant 0asse 1 1. Ce !it doit :tre repositionn * apr9s /ue les donnes ont t
traites pour permettre la rception dun nou,eau message. 1i les interruptions en rception sont autorises)
une interruption est gnre.
Gne fois /ue le message est stoc# dans un !uffer de rception) il faut /ue le programme dtermine /uel
filtre a permis la rception. Ceci est fait en testant les + Filter Iit &its - du registre 8>&nC7N ou &nC7N.
2ans le mode *) les !its FIL@IT:/;%< du re7istre .4'nC)" ser,ent de + Filter Iit &its -.
Gn message re;u est considr comme a6ant un identifiant standard si le !it E4I6 du re7istre .4'nSI6L
est 1 % ou si le re7istre 'nSI6L est 1 %. A contrario) le !it E4I6 1 1 indi/ue un message au format tendu.
2ans le cas dun message standard> l,identi5iant est contenu dans SI6L et SI6@ . Pour un message au
format d,identi5iant tendu) il faut lire SI6L> SI6@> EI6L et EI6@.
1i le registre .4'n6LC %ou &n2.C' contient une ,aleur diffrente de *) il faut lire les donnes reCues
dans les re7istres .4'n6m %ou &n2m'.
Filtres d,acce0tation des messa7es et masques
Ces lments permettent de dterminer si un message re;u par le 5A& doit :tre transfr dans un !uffer de
rception. .ors/uun message est re;u par le 5A&) le champ + Identifiant - du message est compar a,ec
les ,aleurs des filtres. En cas de correspondance) le message sera transfr dans un !uffer de rception.
.es mas/ues associs aux filtres spcifient /uels sont les !its de lidentifiant examiner.
.a ta!le sui,ante montre la techni/ue de comparaison utilise ainsi /ue laction correspondante 0
.e mas/ue sert principalement dterminer /uels
sont les !its examiner 0 un !it du mas/ue *
indi/ue une acceptation sans tenir compte du filtre.
1i le !it du mas/ue est gal 1) un !it sera accept
seulement si le !it du filtre lui correspondant
poss9de la m:me ,aleur /ue lui.
2ans le mode *) les filtres dacceptation .4F% et .4F1 ainsi /ue le mas/ue .42% sont associs au -u55er
.4'%.
.es filtres .4F#> .F4/> .F4D et .F4? ainsi /ue les mas/ue .421 sont associs .4'1.
.ors/uun message et un filtre concordent) le message est transfr dans le !uffer de rception et le
numro du 5iltre ayant acce0t le messa7e est charg dans les !its FIL@IT. 2ans le mode %> 0our .4'1)
le registre .4'1C)" contient les -its FIL@IT:#;%<. .e codage emplo6 est le sui,ant 0
FI.II3E(0*F M *** 0 Filtre * %8>F*'
FI.II3E(0*F M **1 0 Filtre 1 %8>F1'
FI.II3E(0*F M *1* 0 Filtre ( %8>F('
FI.II3E(0*F M *11 0 Filtre ? %8>F?'
Fiche@PIC18@!us@CAN.odt (A=*(=*B D=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
FI.II3E(0*F M 1** 0 Filtre C %8>FC'
FI.II3E(0*F M 1*1 0 Filtre D %8>FD'
Remarque :
Les "aleur ### et ##1 ne peu"ent appara$tre que si le !it RX%#&%E' est 1 dans RX%#()',
permettant les messages dans RX%# passer dans RX%1.
.a mise en oeu,re de 8>&*2&EN permet dutiliser ces ? !its comme + Iit!its - pour 8>&* et pour
distinguer sil 6 a eu transfert entre 8>&* et 8>&1 0
FI.II3E(0*F M 111 0 Filtre 1 %8>F1'
FI.II3E(0*F M 11* 0 Filtre * %8>F*'
FI.II3E(0*F M **1 0 Filtre 1 %8>F1'
FI.II3E(0*F M *** 0 Filtre 1 %8>F*'
1i 8>&*2&EN est *) on se trou,e face B com!inaisons associes aux B filtres. 1i ce !it est 1) deux
codes supplmentaires correspondent 8>F*) 8>F1 ainsi /uun transfert ,ers 8>&1.
.ors/ue plusieurs filtres acceptent le message) cest la ,aleur correspondante au plus petit indice /ui est
code.
Con5i7uration du d-it
3ous les noeuds situs sur un !us CAN doi,ent :tre configurs pour le m:me d!it. .e protocole CAN met
en place un code N8N sans codage dhorloge dans la trame. Il faut donc /ue les noeuds soient configurs
correctement.
.e d!it nominal correspond au nom!re de !its transmis par seconde dans le cas idal %oscillateur parfait)
sans res6nchronisations...'.
.e d-it nominal maximum est de 1 2-0s. A partir du d!it nominal) on dfinit le + &it time - nominal 0
.e !it time nominal doit :tre pens comme tant di,is en + segments temporels - distincts et successifs.
7n distingue C segments temporels 0
.e segment de s6nchronisation 0 1ONC@1E<
.e segment + temps de propagation - 0 P87P@1E<
.e segment + Phase !uffer 1 - 0 PIA1E@1E<1
.e segment + Phase !uffer ( - 0 PIA1E@1E<(
Fiche@PIC18@!us@CAN.odt (A=*(=*B B=((
T
BIT
=
1
Debit Nominal
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
Ces segments temporels %et donc le 3!it nominal' sont forms partir dunits de temps enti9res appeles
+ Time 3uanta - %Huantum temporel' 0 T3.
Par dfinition) le !it time nominal est programma!le entre un minimum de 8$T3 et un maximum de #?$T3.
3ou4ours par dfinition) le -it time nominal minimum %pour un d!it maximum de 1 5!ps' est de 1Es.
.a relation sui,ante est utilise pour calculer 3H 0
.e /uantum temporel est dri, de la priode de loscillateur. Il est programma!le par le un prdi,iseur %&aud
8ate Prescaler' dont la ,aleur ,arie entre 1 et BC.
.a relation mathmati/ue liant toutes ces ,aleurs est la sui,ante 0
'.P est une ,aleur enti9re comprise entre * et B? et correspondante aux !its '.GC)"1:?;%<.
Remarque :
La frquence de l'oscillateur *osc, est ici la "raie frquence + interne ,.
-n quart. de 1#/0. utilis en mode 01 donne *osc 2 1#
-n quart. de 1#/0. utilis en mode 0134LL donne *osc 2 5#
Exem0les de calculs
Fiche@PIC18@!us@CAN.odt (A=*(=*B A=((
T
BIT
=T
Q
SYNC_SEG + PROP_SEG + PHASE_SEG1 + PHASE_SEG2
T
Q
s=
2 BRP1
F
OSC
MHz
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.etour sur les se7ments tem0orels
SF"CGSEG
Ce segment permet de s6nchroniser les diffrents noeuds sur le !us.
.e front du signal doit se produire durant ce segment.
.a dure du segment de s6nchronisation est de 1 T3.
P.)PGSEG
.e r$le de ce segment est de compenser les temps propagation ph6si/ues sur le
support. Il sagit de programmer des dlais internes au noeuds.
.a dure de ce segment est programma!le entre 1 et 8 T3.
.es !its P.SEG#;P.SEG% sont utiliss pour effectuer cette configuration.
P@!SEGSEG1
et
P@!SEGSEG#
.es deux segments de phase permettent de dterminer prcisment la position du point
dac/uisition du !it re;u.
Ce point est situ entre les deux segments. CeuxLci peu,ent :tre rduits ou agrandis par
le processus de res6nchronisation.
.a fin du segment de phase nP1 indi/ue le point dac/uisition lintrieur du !it time) la
dure de ce segment est programma!le de 1 1 8 T3.
.e second segment de phase met en place un dlai a,ant la transition sui,ante. .a dure
est elle aussi comprise entre 1 et 8 T3.
Cependant) pour des raisons dues au temps de traitement de linformation %IP3 0
Information Processing 3ime') la dure minimale de PIA1E@1E<( est de #$T3.
.exprience montre /ue le 0oint d,acquisition 0lac 1 8%H du -it time donne de tr9s
!ons rsultats.
Remarque : la res6nc7ronisation
Le s6st8me est capa!le de grer des squences de res6nc7ronisation, pour rattraper une dri"e sur
un oscillateur par e9emple. -ne res6nc7ronisation se traduit par un allongement du segment de
p7ase 1 ou un raccourcissement du segment de p7ase n:;.
La taille ma9imale du dcalage est configure, c'est le 1<= >16nc7ronisation <ump =idt7?. Le 1<=
est programma!le entre 1 et 5 TQ.
Pro7rammation des se7ments tem0orels
Huel/ues contraintes sont prendre en compte 0
P87P@1E< Q PIA1E@1E<1 PIA1E@1E<(
PIA1E@1E<( 1RS
.es registres associs au + &aud 8ate Control - sont '.GC)"1> '.GC)"# et '.GC)"/.
'.GC)"1
.es !its '.P contr$lent le prdi,iseur. .es !its SI8:1;%< sont utiliser pour programmer le SI8 %en
multiples de 3H'.
Fiche@PIC18@!us@CAN.odt (A=*(=*B 8=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
'.GC)"#
Fiche@PIC18@!us@CAN.odt (A=*(=*B T=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
'.GC)"/
6tection d,erreurs
.e protocole CAN met en oeu,re des techni/ues sophisti/ues permettant la dtection derreurs. .e ta!leau
sui,ant indi/ue les erreurs dtecta!les et leur cause.
Ty0e
d,erreur
Cause
C.C Error
Gn champ C8C est calcul par lmetteur et transmis dans la trame. Ce C8C est
recalcul la rception et compar celui transmis.
En cas de diffrence) un trame derreur est gnre et la trame de,ra :tre rmise.
!c=no*led7e Error
2urant la transmission du champ ACU) lmetteur ,rifie /ue le !it prsent est
dominant %alors /ue lmetteur a,ait en,o6 un !it recessif'.
1il n6 a pas dac#) une trame derreur est mise et le message de,ra :tre rmis.
Form Error
1i un noeud dtecte un !it dominant dans un des champs sui,ants 0 End 7f Frame)
3rou interLtrame) 2limiteur ACU ou dlimiteur C8C) une erreur de format sest
produite. Gne trame derreur est gnre. .e message est rmis.
'it Error
Gne telle erreur se produit si un metteur en,o6ant un !it ne dtecte pas la ,aleur
mise %en,oi dun !it rcessif) lecture dun !it dominant) ou lin,erse'.
Gne telle erreur se produisant durant la transmission de lidentifiant ou durant la
s/uence dac/ ne gn9re pas le positionnement dun drapeau derreur 0 il sagit
dune situation dar!itrage normale ou dac/uittement classi/ue.
Stu55 'it Error
1i entre le 1tart 7f Frame et le dlimiteur C8C) une s/uence de B !its conscutifs
au m:me ni,eau est dtecte) il sagit dune ,iolation de la r9gle du + !it stuffing -.
Gne trame derreur est gnre et le message est rmis.
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1*=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
3oute erreur dtecte est connue des noeuds sur le !us tra,ers les trames derreur. .mission de la trame
errone est a!andonne aussit$t et la trame est rmise le plus t$t possi!le.
2e plus) cha/ue noeud CAN peut :tre dans un des trois tats sui,ants face aux erreurs) en fonction des
,aleurs de ses compteurs derreurs internes 0
Error !cti&e 0 Etat + normal -) le noeud peut mettre des messages et des trames derreur sans
restrictions.
Error Passi&e 0 2ans cet tat) seules les trames + message - et + erreur passi,e - sont autoriss
pour lmission.
'us )55 0 2ans cet tat) le noeud est temporairement + dconnect - du !us.
.e module ECAN poss9de deux compteurs derreurs 0 .4E..C"T et T4E..C"T. Ces compteurs sont
incrments et dcrments en accord le protocole CAN.
.e passage dun tat un autres %Error Acti,e) Error Passi,e ou &us 7ff' est gr automati/uement selon ce
diagramme 0
Les interru0tions lies au module EC!"
.e module ECAN poss9de de multiples sources dinterruption. Chacune delles peut :tre acti,e ou
dsacti,e indi,iduellement.
.e registre PI./ contient les flags I3 tandis /ue les !its dautorisation %pour les 8 sources principales' sont
situs dans PIE/. Gn 4eu de !its spcifi/ues dans le re7istre C!"ST!T) les !its IC)6E peu,ent :tre utiliss
en association a,ec une ta!le de saut pour une meilleure gestion des interruptions.
Cha/ue interruption poss9de une source) lexception de linterruption lie lapparition dune erreur. 1i une
interruption + erreur - apparaVt) lerreur doit :tre identifie a,ec les registre dtat de la communication
%Communication 1tatus 8egister' 0 C)2ST!T.
.es interruptions peu,ent :tre classes en deux catgories 0 les I3 mission et rception.
.es interruptions + 8ception - sont les sui,antes 0
8ecei,e I3s
Sa#eLGp I3
8ecei,er 7,errun I3
8ecei,er Sarning I3
8ecei,er ErrorLPassi,e I3
Fiche@PIC18@!us@CAN.odt (A=*(=*B 11=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.es interruptions + Emission - sont 0
3ransmit I3s
3ransmitter Sarning I3
3ransmitter Error Passi,e I3
&us 7ff I3
Pour simplifier la gestion des interruptions CAN) le module utilise un 4eu de !its spcifi/ues. 2ans le mode *)
ces !its sont IC)6E:/;1< du re7istre C!"ST!T$
Interru0tions Transmission
.ors/ue une I3 + 3ransmission - est acti,e) elle se produit lors/ue le !uffer dmission associ est ,ide et
est pr:t mettre un nou,eau message. 2ans le mode *) trois interruptions distinctes sont disponi!les) une
pour chacun des trois !uffers. .es !its T4'nIF sont ici utiliss. .es !its dautorisation sont T4'nIE) les
priorits de ces interruptions sont dfinies par les !its T4'nIP. Ces !its sont situs dans les registres PI./>
PIE/ et IP./.
Interru0tions .ce0tion
Gne I3 + rception - se produit lors/ue un message a t re;u et stoc# dans un !uffer de rception.
2ans le mode *) les !its .4'nIF sont utiliss. Ces interruptions sont autorises laide des !its .4'nIE.
. encore) les registres PI./> PIE/ et IP./ %priorits' sont les h$tes de ces !its.
.e7istre C!"C)" ; C!" Control .e7ister
Informations donnes pour le mode % seulement.
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1(=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istre C!"ST!T ; C!" Status .e7ister
Informations donnes pour le mode % seulement.
.e7istre EC!"C)" ; Enhanced C!" Control .e7ister
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1?=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres T4'nC)" ; Transmit 'u55er n Control .e7ister J n K %> 1 ou #L
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1C=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres associs 1 l,mission de l,identi5iant messa7e
1elon le format de lidentifiant %standard ou tendu' les registres mis en oeu,re ne contiennent pas les
m:mes informations.
Rappel :
Le mode standard est c7oisi en positionnant le !it E4I6E 1 %
Le mode tendu est c7ois en positionnant le !it E4I6E 1 1
1elon le mode) lidentifiant est appel SI6 %1tandard Identier) 11 !its' ou EI6 %Extended Identifer (T !its'.
2ode standard 2ode tendu
T4'nSI6@ SID[10:3] EID[28:21]
T4'nSI6L
T4'nEI6@
T4'nEI6L
Non utiliss en mode standard
EID[15:8]
EID[7:0]
.e7istres T4'n6LC
.e nom!re doctets de donnes du message est cod sur les -its 6LCM/;%N de %%%% 1 1%%% J% 1 8 octetsL.
.e7istre .4'%C)" ; .ecei&e 'u55er % Control .e7ister
Pour le mode * seulement.
-O .4FBL 1 .e !uffer contient un message
0 .e !uffer est ,ide) pr:t rece,oir un message
-P
-?
.421;% 00 8ception de tous les messages ,alides
01 8ception des messages ,alides a,ec un identifiant standard %E>I2EN doit :tre *'
10 8ception des messages ,alides a,ec un identifiant tendu %E>I2EN doit :tre 1'
11 8ception de tous les messages %6 compris errons' les filtres sont ignors
-/ .4.T..) 1 Gne re/u:te de transmission + 8emote - a t re;ue
-# .4'%6'E"
1 Gn d!ordement sur le !uffer * sera + transmis - au !uffer 1
0 .e !uffer 1 nest pas utilis en cas de d!ordement du !uffer *
-1 IT)FF Rump 3a!le offset !it %cf doc. 3echni/ue'
-% FIL@IT%
0 Indi/ue /ue cest le filtre 8>F* /ui a accept le message
11 Indi/ue /ue cest le filtre 8>F1 /ui a accept le message
.e7istre .4'1C)" ; .ecei&e 'u55er 1 Control .e7ister
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1D=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
Ce registre est sem!la!le 8>&*C7N la diffrence /uil nexiste pas de !it R37FF et /uil est dot de ?
!its + Filter Iit - 0
.e7istre .4'nSI6@ et .4'nSI6L
.4'nSI6@
.4'nSI6L
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1B=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres .4'nEI6@ et .4'nEI6L
.e7istre .4'n6LC
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1A=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres .4FnSI6@ et .4FnSI6L JFiltres d,acce0tationL
.e7istres .4FnEI6@ et .4FnEI6L JFiltres d,acce0tationL
Fiche@PIC18@!us@CAN.odt (A=*(=*B 18=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres .42nSI6@ et .42nSI6L J2asquesL
Fiche@PIC18@!us@CAN.odt (A=*(=*B 1T=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istres .42nEI6@ et .42nEI6L J2asquesL
Fiche@PIC18@!us@CAN.odt (A=*(=*B (*=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istre CI)C)" ; C!" I) Control .e7ister
Fiche@PIC18@!us@CAN.odt (A=*(=*B (1=((
Lyce Grandmont
STS Systmes Electroniques
Fiche PIC18
.e7istre PI./
Fiche@PIC18@!us@CAN.odt (A=*(=*B ((=((