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 ((=((