CAN et CAN FD
Tout sur les protocoles et leur mise en œuvre avec Arduino livresbooks
Pierre Molinaro
CAN et CAN FD
Tout sur les protocoles et leur mise en œuvre avec Arduino
●
Pierre Molinaro
• Droits de reproduction © 2024 – Publitronic - Elektor International Media
• Toute reproduction ou copie, même partielle, de ce livre, et sur quelque support que ce soit, sans l'accord écrit de l'éditeur, est interdite.
• Le code de la propriété intellectuelle du 1er juillet 1992 interdit expressément la photocopie à usage collectif sans autorisation des ayants droit.
No part of this book may be reproduced, in any form or means whatsoever, without permission in writing from the publisher. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsability for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein.
La protection du droit d'auteur s'étend aux illustrations, y compris aux circuits imprimés et aux projets y relatifs. En conformité avec l'article 30 de la Loi sur les brevets, les circuits mentionnés ne peuvent être exécutés qu'à des fins particulières ou scientifiques et non pas dans ou pour une entreprise ; ces exécutions et/ou applications se font en dehors de toute responsabilité de l'éditeur.
Conformément au droit d'auteur, ce copyright ne s'applique pas à certains schémas reproduits dans ce livre à titre de citation et d'illustration des propos et de la démarche intellectuelle de l'auteur, avec l'aimable autorisation des ayants droit.
L'éditeur remercie d'avance le lecteur qui prendra la peine de lui signaler les erreurs éventuelles qui auront échappé à sa vigilance (écrire à redaction@elektor.fr).
• ISBN 978-2-86661-218-4 Version papier 978-2-86661-219-1 Version numérique
• 1e édition — 1er tirage - 03/2024
• Maquette : Pierre Molinaro
Imprimé aux Pays-Bas par Ipskamp Printing
● 4
Tabledesmatières 5 Listedestableaux 16 Listedesfigures 19 Listedesalgorithmes 25 Avant-propos 27 1Lignesdetransmission 32 1.1Unexempleillustratif:connexiondirected’uninterrupteur 33 1.1.1Connexiondirecte ................................. 33 1.1.2SimulationSpiced’uneconnexiondirecte 35 1.1.3SimulationSpicedelafermeture,avecdiodesdeclamping .......... 37 1.1.4SimulationSpice,diminutiondeRpullup 39 1.1.5SimulationSpiced’uneconnexiondirecte,avecunerésistanceensérie ... 40 1.2Connexiond’uninterrupteurviaunelignedifférentielle 41 1.3Théoriesuccinctedeslignesdetransmission ....................... 42 1.4Lignesansperte 44 1.5Ligneavecperte ....................................... 45 1.6Simulations Spice d’unelignesansperte ......................... 46 1.6.1Lignesansperteouverte 46 1.6.2Lignesansperteterminéepar RC ........................ 47 1.6.3Lignesansperteterminéeparunevaleurdifférentede RC 47 2BrèveintroductionauxréseauxCANetCANFD 49 2.1CibledesréseauxCAN 50 2.2Queltypederéseau? .................................... 51 2.3Intérêtd’unréseauCAN 52 2.4BrefhistoriqueduréseauCAN 53 2.5Lanormalisation ....................................... 54 2.6CaractéristiquesduréseauCAN 54 2.7ProtocolesapplicatifsaudessusdeCAN ......................... 55
Tabledesmatières
6 Tabledesmatières 3Réseau,bus,contrôleurettranscepteur 56 3.1DistinctionentreréseauCANetbusCAN ......................... 56 3.2ContrôleursCAN 57 3.3Connexiond’uncontrôleurCANàunréseau 58 3.4Fonctionlogiqued’unréseauCAN:états dominant, récessif ............... 58 3.4.1Lessignaux TxD et RxD descontrôleurs 59 3.4.2Lafonctionlogiqueduréseau 60 3.4.3Étatduréseau,vuparuncontrôleur ....................... 61 3.5Desexemplesderéseauxsanstranscepteur 61 3.5.1Logiqueduréseauréaliséeavecuneporte« et » ................ 62 3.5.2Logiqueduréseauréaliséeparun«et»câblé ................. 62 3.5.3Logiqueduréseauréaliséepardesdiodes 63 3.5.4Contrôleursalimentéssoustensionsdifférentes ................ 64 3.6Délaideboucleduréseau .................................. 64 4TranscepteurCAN 66 4.1Fonctionnementd’untranscepteurCAN 67 4.1.1L’émetteur 68 4.1.2LesdeuxétatsdubusCAN ............................ 69 4.1.3Récepteur 69 4.1.4TranscepteurCANseulsurunbus 70 4.2ExemplesdetranscepteursCAN .............................. 70 4.2.1TranscepteursCANalimentéssous5V 71 4.2.2TranscepteursCANalimentéssous3,3V .................... 72 4.2.3TranscepteursCANbi-tension .......................... 73 4.3FonctionnalitésdestranscepteursCAN 74 4.3.1Tirageintégrésur T ................................ 74 4.3.2RésistanceéquivalenteàunbusCAN ...................... 75 4.3.3Nombremaximumdetranscepteurssurunbus 76 4.3.4Tensionsde CANH etde CANL ........................... 77 4.3.4.1Bus dominant .............................. 77 4.3.4.2Bus récessif 78 4.3.4.3Transitionsentreétats dominant et récessif ............. 78 4.3.4.4Détectiondel’étatdubus 79 4.3.4.5Transcepteursalimentéssous3,3V 79 4.3.5Lesdifférentesterminaisonsdebus ....................... 81 4.3.5.1Laterminaisonstandard 81 4.3.5.2Laterminaison«SPLIT» 81 4.3.6Protectiontensiond’alimentationbasseethorstension ............ 83 4.3.7Protectioncontreunétat dominant permanent 83 4.3.8Protectioncontrelessurtensions ......................... 84 4.3.9Contrôledepenteparrésistanceexterne,modederepos ........... 85
Tabledesmatières 7 4.3.10Tempsdeboucled’untranscepteur 85 4.4Configurationsparticulières ................................. 86 4.4.1PlusieurscontrôleursCANconnectésaumêmetranscepteur 86 4.4.2Connexionavecisolationgalvanique 86 5Bus,câbleetconnectique 89 5.1Busetautrestopologies .................................. 90 5.1.1Dispositionacceptable ............................... 90 5.1.2Dispositionrecommandée 90 5.1.3Longueurmaximumd’unbusCAN ........................ 90 5.1.4Autrestopologies:àéviter ............................ 91 5.2Simulations Spice deréseauxenétoile 92 5.2.1Branchesdemêmelongueur,unerésistanceàl’extrémitédedeuxbranches 93 5.2.1.1Transition récessif → dominant 93 5.2.1.2Transition dominant → récessif 95 5.2.2Branchesdemêmelongueur,unerésistanceàl’extrémitédechaquebranche 95 5.2.2.1Transition récessif → dominant 96 5.2.2.2Transition dominant → récessif 96 5.2.3Deuxterminaisons,branchesinégales ...................... 97 5.2.3.1Transition récessif → dominant 97 5.2.3.2Transition dominant → récessif 97 5.2.4Résistancessurtouteslesextrémités,branchesinégales ........... 98 5.2.4.1Transition récessif → dominant 98 5.2.4.2Transition dominant → récessif .................... 98 5.3Câbles ............................................. 100 5.3.1Chutedetensiondanslebusetsectiondesconducteurs 101 5.3.2CâbleconçupourlebusCAN ........................... 103 5.3.3Câbleenruban ................................... 103 5.3.4Câbleplattéléphonique 104 5.4Connectique ......................................... 104 5.4.1ConnecteursrecommandésparlerapporttechniqueCiA106 ......... 105 5.4.2LaconnectiqueRJ 106 5.4.2.1Lesconnecteursmâles xPy C ...................... 106 5.4.2.2Lesembasesfemelles xPy C 107 5.4.2.3LescordonsEthernetRJ45 107 5.4.2.4LescordonstéléphoniquesRJ12 .................... 109 5.4.2.5Sertirsesproprescâbles 109 5.4.3LaconnectiqueIEEE1394 110 5.4.3.1Formatdesembases .......................... 111 5.4.3.2Formatdescordons 111 5.4.3.3Adaptationàunéquipementmobile .................. 112 5.5Choixdessignauxvéhiculésparlescâblesréseau .................... 113
8 Tabledesmatières 5.5.1Touteslescartesontlamêmeréférencedetension 113 5.5.2Lescartesn’ontpasderéférencecommune 114 5.5.3Lescartesontdesréférencesdetensionprésentantundécalage 115 6Répéteuretpasserelle 116 6.1Répéteur,passerelle ..................................... 116 6.2Intérêtd’unrépéteuroud’unepasserelle ......................... 117 6.3Principed’unepasserelleCAN ............................... 118 6.4Principed’unrépéteurCAN ................................. 119 6.4.1Lafonctionlogiqued’arbitragen’estpascombinatoire ............. 120 6.5ExemplesderépéteursCAN 121 6.5.1Répéteurréaliséavecdescircuitsintégréslogiques 122 6.5.2Les AMIS-42700 et AMIS-42770 deONSemiconductors 122 6.5.2.1Descriptiondu AMIS-42700 etdu AMIS-42770 124 6.5.2.2UnrépéteurentredeuxbusCAN 124 6.5.2.3UnrépéteurentredeuxbusCANassociéàunnœudCAN 124 6.5.2.4UnrépéteurentrequatrebusCAN 125 6.5.2.5UnrépéteurentresixbusCANouplus 126 7ProtocoleCAN2.0B 128 7.1Lesdifférentstypesdetrame ............................... 129 7.2Leréseauaurepos ...................................... 130 7.3Formatd’unetramededonnéesetderequête ...................... 130 7.3.1Champ SOF :débutdetrame ........................... 132 7.3.2Champs ARBITRATION et CONTROL :arbitrageetcontrôle ........... 132 7.3.3Champ DATA :données .............................. 134 7.3.4Champ CRC :sommedecontrôle 135 7.3.5Champ ACK :acquittement 137 7.3.6Champ EOF :findelatrame 138 7.3.7Champ IPS :espaceinter-trames 138 7.3.8ExemplesdetramesCAN 138 7.4Validationdelatransmission 140 7.5Décisiond’émettre:condition buslibre 140 7.6Synchronisationforte 141 7.7Synchronisationdescontrôleursenréception 141 7.8Le bitstuffing ......................................... 142 7.9Cohabitationdestramesstandardsetétendues ..................... 143 7.10Résolutiondescollisions .................................. 144 7.10.1CAN:collisionnondestructive .......................... 144 7.10.2Re-émissiondestrames ............................. 146 7.10.3Collisiond’identificateurs ............................. 146 7.11Activitéd’uncontrôleurCANvis-à-visduréseau ..................... 147 7.12LongueurdestramesCAN ................................. 148
Tabledesmatières 9 7.13Débitutiled’unréseauCAN 150 8Détectionetgestiondeserreurs 151 8.1Lesdifférentstypesd’erreursd’unréseauCAN ...................... 152 8.1.1L’inversiondebit .................................. 152 8.1.2L’insertionetlasuppressiondebit ........................ 153 8.1.3L’erreurenrafale .................................. 155 8.2LeserreursdétectéesparuncontrôleurCAN ....................... 155 8.2.1Erreurdebit(biterror ) ............................... 156 8.2.2Erreurde bitstuffing (stufferror ) ......................... 156 8.2.3Erreurdeforme(formerror ) 156 8.2.4Erreurdesommedecontrôle(CRCerror ) 156 8.2.5Erreurd’acquittement(acknowledgmenterror ) 157 8.3Gestiondeserreurs 157 8.3.1Compteursd’erreurs 157 8.3.2Modesd’uncontrôleurCANvis-à-visduréseau 158 8.3.3Comportementd’uncontrôleurCANvis-à-visduréseau 158 8.3.4Champ SUSPENDTRANSMISSION 159 8.3.5Sortirdumode BUSOFF 159 8.4Signalement:lestramesd’erreur ............................. 160 8.4.1Tramed’erreuractive(ACTIVEERRORFRAME) ................. 160 8.4.1.1Algorithme ................................ 160 8.4.1.2Erreursdétectéesdurantl’émission .................. 161 8.4.1.3Discussion ................................ 161 8.4.2Tramed’erreurpassive(PASSIVEERRORFRAME) ............... 162 8.4.2.1Algorithme ................................ 162 8.4.2.2Erreursdétectéesdurantl’émission .................. 162 8.4.2.3Discussion ................................ 163 8.4.3Tramedesurcharge(OVERLOADFRAME) ..................... 163 8.4.3.1Algorithme 163 8.4.3.2Erreursdétectéesdurantl’émission 164 8.4.3.3Discussion 164 8.5AddendumàlaspécificationCAN 164 8.5.1Champ DLC supérieurà8 165 8.5.2Bit SRR dominant 165 8.5.3Dernierbitduchamp EOF reçu dominant 165 8.5.4Incrémentationdu REC quandlemode ERRORPASSIVE estatteint 166 8.5.5Conditionscomplémentairesdepriseencomptedelasynchronisationforte 166 8.5.6Implémentationducompteurd’erreursdetransmission TEC ......... 167 9FiabilitéCAN2.0B 168 9.1Duplicationdel’émissiond’unetrame ........................... 169 9.2Inversionsdebitsdanslestramesstandardssansoctetdedonnées .......... 169
10 Tabledesmatières 9.3Inversionsdebitsdanslestramesstandardsderequête 170 9.4Inversionsdebitsentretramesstandardsansdonnéeettramesderequête ..... 171 9.5Inversionsdebitsentretramesstandardd’unoctetdedonnée ............. 171 9.6Inversionsdebitsentredeuxtramesétenduessansoctetdedonnées 173 9.7Inversionsdebitsentredeuxtramesstandarddedeuxoctetsdedonnées ...... 175 9.8Altérationduchamp DLC :exemplededoubleinversiondebitsnondétectée 175 9.8.1Constructionduscénario ............................. 175 9.8.2Unexemplepratique ................................ 177 10DécompositiondubitCAN 179 10.1NormalisationdeladescriptiondubitCAN 179 10.2Paramètresprogrammables ................................ 180 10.3Décompositiond’unbitCAN 180 10.4Synchronisationd’unrécepteur,duréedepropagation .................. 181 10.5Resynchronisationet SJW 183 10.6Positionsdespointsd’échantillonnage .......................... 185 11Contraintesdeparamétrage 186 11.1Tolérancedeshorloges ................................... 186 11.1.1Uneseulehorloge 186 11.1.2Systèmesàdeuxhorloges ............................. 187 11.2Tolérancesurladuréenominaled’unbit 188 11.3Récapitulatifdescontraintesderesynchronisation .................... 188 11.4Tolérancemaximumdel’horloge 189 12QuelquescontrôleursCAN 190 12.1QuelquesfonctionnalitésdescontrôleursCAN 190 12.1.1Modes loopback, listenonly, selfreception ..................... 190 12.1.2Buffersd’émission 191 12.1.3Nombredere-émissions ............................. 192 12.1.4Quitterlemode BUSOFF 192 12.1.5Filtragedestramesreçues ............................ 192 12.2QuelquescontrôleursCANexternes ............................ 194 12.2.1Ancienscontrôleurs 194 12.2.2Lecontrôleur SJA1000 .............................. 195 12.2.3Lecontrôleur MCP2515 196 12.2.4Lecontrôleur HI-311x .............................. 196 12.3QuelquescontrôleursCANintégrésdansunmicrocontrôleur .............. 197 12.3.1ModuleTWAIdel’ESP32 197 12.3.2Les bxCAN desSTM32 ............................... 197 12.3.3FlexCANdeNXP 198 12.3.4RaspberryPi RP2040 ............................... 199
Tabledesmatières 11 13CodesdecalculCAN 201 13.1Codessources ........................................ 201 13.2Paramétragepouratteindreundébitdonné 202 13.2.1Calculde DBRP etde N pour375kbit/s 203 13.2.2Calculde NPROP SEG , NPS1 , NPS2 et SJW ................. 206 13.2.3Calculde DBRP etde N pour250kbit/s 208 13.3Calculde DBRP ,de N etdelafréquenceduquartzpour615kbit/s 208 13.4VérifierladécompositiondubitCANpourun MCP2515 .................. 209 13.5DébitscommunsàdeuxcontrôleursCAN 211 13.5.1ConfigurationsdubitCANduLPC2294 ..................... 211 13.5.2ConfigurationsdubitCANduPIC18F26K80 .................. 212 13.5.3Construirelalisteordonnéedesdébitsproches 212 13.5.4Afficherlesdébitsproches ............................ 212 13.6Classe CANFrameGenerator ................................ 213 13.6.1Constructeur:calculdelatrame 213 13.6.2Obtentiondescaractéristiquesd’unetrame ................... 214 13.6.3Testerlegénérateurdetrames .......................... 215 13.6.4AffichagededeuxtramesCAN 218 13.6.5ComparerdeuxtramesCAN ............................ 218 13.7BorneseffectivesdelalongueurdestramesCAN 219 14LeprotocoleCANFD 221 14.1LeprotocoleCANFDenbref 222 14.2LestypesdetramesCANFD ................................ 222 14.3Formatd’unetrameCANFD ................................ 223 14.3.1Champs ARBITRATION et CONTROL 223 14.3.2Champ CRC ..................................... 226 14.3.3Insertionforcéed’unbitde stuff ......................... 229 14.3.4Champ STUFFBITCOUNT 229 14.4ExemplesdetramesCANFD ................................ 230 14.5DécompositiondubitCANFD ............................... 233 14.6Lechangementdedébitendétail 234 14.7Compensationdudélaideboucledutransmetteur .................... 237 14.7.1Trametransmiseaudébitd’arbitrage 237 14.7.2Changementdedébit,pasdecompensationdudélaideboucle 238 14.7.3Changementdedébit,aveccompensationdudélaideboucle ......... 238 14.8LongueurdestramesCANFD 240 14.8.1LongueurdestramesCANFD,pasdechangementdedébit 240 14.8.2LongueurdestramesCANFD,avecchangementdedébit ........... 242 14.9Débitutiled’unréseauCANFDISO 243 14.10Activitéd’uncontrôleurCANFDvis-à-visduréseau ................... 243 14.11RecommandationspourlaconfigurationdubitCANFD ................. 245
12 Tabledesmatières 14.11.1LestroisclassesderéseauCANFD 245 14.11.2LesrecommandationsCiA601-3 ......................... 247 15CodesdecalculCANFD 249 15.1Classe CANFDFrameGenerator :générateurdetramesCANFD ............ 249 15.1.1Constructeur:calculdelatrame ......................... 249 15.1.2Obtentiondescaractéristiquesd’unetrameCANFD .............. 250 15.1.3TesterlegénérateurdetramesCANFD 251 15.2LaconfigurationdubitCANFDenpratique 254 16FiabilitéCANFD 262 16.1Simpleinversiondebit 262 16.1.1Validationdelatransmissiond’unetrame 263 16.1.2Inversiondubit r0 ................................. 263 16.2Inversionsdebitsdanslestramesdebasesansoctetdedonnées ........... 263 16.3Altérationduchamp DLC :doubleinversiondebitnondétectée ............ 266 16.4Altérationdubit SOF :unevulnérabilitéduprotocole non-ISO 266 17TranscepteursCANFDetCANSIC 271 17.1TranscepteursCANFD 271 17.2TranscepteursCANSIC 273 18ContrôleursCANFD 276 18.1Le MCP2518FD deMicrochip 276 18.2Le TCAN4550-Q1 deTexasInstruments .......................... 277 18.3Lemodule M_CAN deRobertBoschGmbH ......................... 277 19Utiliserlesservicesd’unpilote 281 19.1Pilotelogiciel ......................................... 281 19.2Structurationencouches .................................. 282 19.3Configurationdupilote 282 19.4Émissiond’unmessage 285 19.5Réceptiond’unmessage 286 20Concevoirunemessagerie 287 20.1Éliminerlesrisquesdecollisionfatale 288 20.2Rôleapplicatifdesidentificateurs ............................. 288 20.3Choixdesidentificateurs .................................. 288 20.4Transmettredesétats .................................... 289 20.5Donnéesfragmentées 290 20.6Traficpériodiqueouévènementiel? 292 20.7Évaluerlachargedubus .................................. 293 20.8Surveillerl’occupationdesbuffersdupilote ........................ 294 20.9Surveillerl’étatducontrôleurvis-à-visduréseau .................... 295
Tabledesmatières 13 21Utiliserunanalyseurlogique 296 21.1Lesignalaffichén’estpaslesignalréel .......................... 296 21.2Quelanalyseurchoisir? 297 21.3ExemplesdedécodagedetramesCAN .......................... 298 21.4Quelssignauxobserver? 299 21.5Exemplesd’observationavecunseulcontrôleurCAN .................. 300 21.5.1Signal RxD enpermanence récessif 301 21.5.2Signal RxD enpermanence dominant ....................... 302 21.5.3Contrôleurseulsurleréseau:nonacquittementdestrames 304 21.5.4CANFD:évaluerlespositionsdespointsd’échantillonnage .......... 305 21.6Exemplesd’observationavecdeuxcontrôleursCAN 308 21.6.1Acquittementdelaréceptiond’unetrame .................... 308 21.6.2Laperted’arbitrage 309 21.6.3Collisionentretramesidentiques ......................... 310 21.6.4Collisionentretramesayantmêmechamp ARBITRATION 312 21.6.5Exempled’un activeerrorflag de12bits ..................... 315 21.7Observationsdutempsderéponseetdelaperted’arbitrage 316 21.7.1Lematériel ..................................... 316 21.7.2Lecodede S0 .................................... 317 21.7.3Lecodede S1 , S2 et S3 319 21.7.4Laséquencedestramessurleréseau ...................... 320 22Exemplesd’applications 322 22.1Commanded’uneLED .................................... 323 22.1.1Définitiondelamessagerie 325 22.1.2Définitiondel’étatinitial .............................. 325 22.1.3Premiercahierdescharges:laledreflètel’étatdupoussoir 325 22.1.3.1Station LED ............................... 325 22.1.3.2Station LED,variantesiémissionpériodique 326 22.1.3.3Station POUSSOIR,émissionpériodique ................ 328 22.1.3.4Station POUSSOIR,émissionévènementielle 329 22.1.3.5Station POUSSOIR,émissionévènementielle,filtragedesrebonds . 330 22.1.3.6Station POUSSOIR,émissionévènementielleetpériodique 332 22.1.4Secondcahierdescharges:unappuicomplémentel’étatdelaled ...... 332 22.2Systèmed’acquisition 334 22.2.1Définitiondelamessagerie ............................ 334 22.2.2Émissionspontanée 335 22.2.3Émissionsurdemande .............................. 337 23Lesévolutionsfutures 340 23.1CANFDLight 340 23.2CANXL ............................................ 341
14 Tabledesmatières Annexes 342 ALelogicieldesimulationSpice 343 A.1Présentationsuccincte ................................... 343 A.2Modèled’unerésistance,d’uncondensateur ....................... 344 A.3Modèled’unesourcedetensionfixe ............................ 345 A.4Modèled’unesourcedetensionimpulsionnelle 346 A.5Modèled’unelignesansperte 346 A.6Modèled’uneligneavecperte 347 A.7Modèled’uninterrupteurcommandéentension ..................... 347 BÉcrireuncodeArduino 349 B.1Lestypes int et unsigned ................................. 349 B.2Typesd’entiersindépendantsdelaplateforme ...................... 350 B.3Constanteslittéralesentières 350 B.4Lafonction delay nepermetpasderespecterunepériode 351 B.5Programmerdesdatesd’exécution,premièreécriture 352 B.6Programmerdesdatesd’exécution,amélioration .................... 353 B.7Organisationd’uncodeArduino .............................. 354 B.8Discussiondudébordementde millis 354 B.8.1Rattrapagedudépassementd’échéance,débordementnongéré 355 B.8.2Rattrapagedudépassementd’échéance,débordementgéré 356 B.8.3Rattrapagedudépassementd’échéance,débordementmalgéré ....... 358 CContrôlederedondancecyclique 360 C.1Lesopérations ⊕ et ⊙ dans N ............................... 361 C.2 Z/2Z ............................................. 362 C.3Lespolynômessur Z/2Z 362 C.4Lepointsurlesnotations 364 C.5Notationpolynomialed’unnombreentier 364 C.6Données,sommedecontrôle,message .......................... 365 C.7Unalgorithmedecalculdelasommedecontrôle .................... 366 C.8Représentationsdupolynôme ............................... 369 C.9Influencedelavaleurinitiale SEED 370 C.10Exemples 370 C.11Vérificationdelasommedecontrôleàlaréception ................... 372 C.12DistanceetpoidsdeHammingd’uncode ......................... 372 C.13Propriétésdessommesdecontrôle ............................ 373 C.13.1Termeconstantde POLYNÔME 373 C.13.2Détectiondetouteerreursimple 374 C.13.3Divisibilitéd’unpolynômepar X +1 374 C.13.4Détectiond’unnombreimpaird’erreurs ..................... 375 C.13.5Détectiond’uneerreurenrafale ......................... 375
Tabledesmatières 15 C.13.6BornesupérieuredeladistancedeHammingd’uncode 376 C.14Rechercherun bon polynôme 377 C.14.1Logicield’évaluationd’unpolynôme 378 C.14.2Choisirlavaleurde SEED .............................. 379 C.15LespolynômesdeCAN2.0BetCANFD .......................... 380 C.15.1CAN2.0B,polynôme CRC15CAN .......................... 380 C.15.2CANFD,polynôme CRC17CANFD ......................... 380 C.15.3CANFD,polynôme CRC21CANFD ......................... 381 Bibliographie 382 Index 386
3.1Étatduréseau,vuparuncontrôleur 61 4.1LesdeuxétatsdubusCAN 69 4.2ExemplesdetranscepteursCAN5V 71 4.3ExemplesdetranscepteursCAN3,3V ............................. 73 4.4ExemplesdetranscepteursCANbi-tension 74 4.5EncadrementdeRDIFF 76 4.6Transcepteurs5Vetbi-tension,VCANH ,VCANL etVDIFF délivréesdansl’état dominant ... 78 4.7Transcepteurs3,3V,VCANH ,VCANL etVDIFF délivréesdansl’état dominant .......... 80 4.8Contrôledepenteparrésistanceexterne 85 5.1Longueurmaximumd’unbusCANenfonctiondesondébit 91 5.2TableaudecorrespondanceAWG ................................ 100 5.3CaractéristiquesrésuméesdequelquescâblesCANHelukabel ............... 103 5.4Caractéristiquesrésuméesdequelquescâblesenruban 104 5.5Affectationdesbrochesd’uneembaseIEEE1394 ...................... 111 7.1Nombred’octetsdelatrame,enfonctionduchamp DLC 134 7.2DeuxexemplesdetrameCAN2.0B .............................. 139 7.3Longueurd’unetrameCAN,enfonctiondesontypeetduchamp DLC 148 7.4Calculdelalongueurd’unetramededonnées 149 7.5Débitutiled’unréseauCAN,pourundébitde1Mbit/s .................... 150 8.1Compteursd’erreurs ....................................... 157 8.2Actionssurlescompteursd’erreurs .............................. 157 8.3Modesd’uncontrôleurCANvis-à-visduréseau 158 8.4Comportementd’uncontrôleurCANvis-à-visduréseau,enfonctiondesonmode .... 158 8.5Conditionetinstantd’émissiond’unetramedesurcharge .................. 164 9.1DistancedeHammingentretramesstandarddedonnéessansdonnée .......... 170 9.2Exempledequadrupleinversiondebitnondétectéeentredeuxtramesstandardsans octetdedonnées 170 9.3DistancedeHammingentretramesstandardderequête .................. 171 9.4Exempledetripleinversiondebitnondétectéeentredeuxtramesstandardsderequête 172
Listedestableaux
Listedestableaux 17 9.5Triplesinversionsdebitnondétectéesentredeuxtramesstandardsderequêteetune tramestandardsansoctetdedonnée 172 9.6DistancedeHammingentretramesstandardsd’unoctetdedonnée 172 9.7Exemplededoubleinversiondebitnondétectéeentredeuxtramesstandardsd’identificateur 0x65 contenantunoctetdedonnées ............................. 173 9.8Exemplededoubleinversiondebitnondétectéeentredeuxtramesétenduessansoctet dedonnées ............................................ 174 9.9Doublesinversionsdebitnondétectéesentredeuxtramesstandardsdedeuxoctets .. 175 9.10Exemplededoubleinversiondebitnondétectée ....................... 178 10.1ParamètresdéfinissantlebitCAN ............................... 180 11.1RésumédescontraintesdeparamétragedubitCAN 189 12.1Principedufiltragepar masqued’acceptation et filtred’acceptation .............. 193 12.2Exempled’acceptationpar masqued’acceptation et filtred’acceptation 194 12.3Exemplederefuspar masqued’acceptation et filtred’acceptation 194 12.4CartesNucleo 197 12.5CartesTeensy3.x 198 13.1Fichierscontenantlescodessources ............................. 202 13.2PlagesdesparamètresdubitCANdu MCP2515 ........................ 203 13.3DécompositiondubitCANpourun MCP2515 210 13.4DébitsduLPC2294etPIC18F26K80proches 212 13.5Exempled’affichagedeschampsd’unetrameCAN 215 13.6DuréesdescalculsexhaustifsdeslongueursdetramesCAN 219 13.7BornesdeslongueurseffectivesdetramesCAN 219 13.8LongueureffectivedequelquestramesCAN 220 14.1Nombred’octetsd’unetrameCANFD,enfonctionduchamp DLC 226 14.2PolynômesutiliséspourlessommesdecontrôleCANetCANFD 227 14.3Compositionduchamp STUFFBITCOUNT 230 14.4PremierexempledetramesCANFD 231 14.5SecondexempledetramesCANFD 232 14.6ParamètresdéfinissantlesbitsCANFD 233 14.7PlagesdesparamètresdéfinissantlesbitsCANFD 234 14.8Duréedesbitsd’unetrameCANFD .............................. 236 14.9Calculdelalongueurd’unetrameCANFDISOsanschangementdedébit ......... 241 14.10Longueurd’unetrameCANFDISOsanschangementdedébit ............... 241 14.11Calculdelalongueurd’unetrameCANFDISOavecchangementdedébit ......... 242 14.12Débitutiled’unréseauCANFDISO,débitd’arbitrageetdedonnéesde1Mbit/s ..... 244 14.13Débitutiled’unréseauCANFDISO,débitd’arbitragede1Mbit/s,dedonnéesde8Mbit/s 245
18 Listedestableaux 15.1DécompositiondubitCANFDpour500kbit/s–2Mbit/s,échantillonnageà80% 258 15.2DécompositiondubitCANFDpour500kbit/s–5Mbit/s,échantillonnageà80% 261 16.1Exempledetramesdebase nonISO sansoctetdedonnées,distantesde6bits 264 16.2Exempledetramesdebase ISO sansoctetdedonnées,distantesde6bits 265 16.3Exemplededoubleinversiondebitsnondétectée,protocole nonISO 267 16.4Exemplededoubleinversiondebitsnondétectée,protocole ISO 268 16.5Altérationdubit SOF,exempledevulnérabilitéduprotocole non-ISO 270 17.1ExemplesdetranscepteursCANSIC .............................. 275 18.1Tailled’unélémentdeszones TxFIFO0,TxFIFO1, RxBuffers et TxBuffers ......... 278 18.2Compositiond’unélémentdelazone 11-bitFilters ...................... 279 18.3Conditiond’acceptiondelatramereçued’identificateur idf ................ 279 18.4Destinationdelatramereçued’identificateur idf ...................... 280 18.5Compositiond’unélémentdelazone 29-bitFilters ...................... 280 20.1Exemplededescriptiond’unetramed’unemessagerie ................... 289 20.2Fragmentsd’unblocde32octets ............................... 291 22.1Tracedel’exécutiondelastation GESTIONNAIRE,émissionspontanée 337 22.2Tracedel’exécutiondelastation GESTIONNAIRE,émissionsurdemande 339 A.1Suffixesmultiplicateurs ..................................... 344 B.1Typesd’entiersindépendantsdelaplateforme ........................ 350 B.2Tracedel’exécutionducroquis debordement-non-gere.ino ............... 356 B.3Tracedel’exécutionducroquis debordement-gere.ino .................. 357 B.4Tracedel’exécutionducroquis debordement-mal-gere.ino ............... 359 C.1Exempled’opérations + et ⊕ .................................. 361 C.2Exempled’opérations × et ⊙ .................................. 361 C.3Opérationsbooléennes et ................................. 362 C.4Représentationpolynomialede10etde13 .......................... 364 C.5Représentationnumérique« POLYNÔME »d’unpolynôme ................... 369 C.6Représentation« NORMAL »d’unpolynôme ........................... 369 C.7Représentation« KOOPMAN »d’unpolynôme .......................... 369 C.8Quelquesexemplesdesommesdecontrôlepour N =16 et P =8 ............ 371 C.9ExempledecalculdedistancedeHamming .......................... 373 C.10Quelquesbonspolynômespourunesommedecontrôle8bits(P =8) .......... 377 C.11Sommesdecontrôlepour POLYNÔME= 0x1F3 avecdiversesvaleursde SEED ........ 379
Listedesfigures
1.1Commentconnecteruninterrupteuràunmicrocontrôleur? ................. 33 1.2Connexiondirected’uninterrupteuràunmicrocontrôleur 33 1.3SchémaSpicefermetureetouvertured’uninterrupteur 35 1.4Codedelasimulationdelafermetureetdel’ouvertured’uninterrupteur 36 1.5Résultatsdelasimulationdelafermetureetdel’ouvertured’uninterrupteur 37 1.6SchémaSpicefermetureetouvertured’uninterrupteur,avecdiodesde clamping 38 1.7CodeSpicedelasimulationdelafermetured’uninterrupteur,avecdesdiodesdeclamping 38 1.8Simulationdelafermetured’uninterrupteur,priseencomptedesdiodesdeclamping .. 39 1.9Résultatsdelasimulationdelafermetureetdel’ouvertured’uninterrupteur,Rpullup =5kΩ 39 1.10SchémaSpicedelasimulationfermetureetouvertured’uninterrupteurensérieavec Rc 40 1.11CodeSpicedelasimulationdelafermetured’uninterrupteurensérieavec Rc ...... 40 1.12CodeSpicedelasimulationdel’ouvertured’uninterrupteurensérieavec Rc ....... 41 1.13Simulationfermetureetouvertured’uninterrupteurensérieavec Rc 41 1.14Connexionparlignedifférentielled’uninterrupteuràunmicrocontrôleur 42 1.15Connexionparlignedifférentielled’uninterrupteuràunmicrocontrôleur,schémacomplet 43 1.16Lignedetransmissiondelongueur l 43 1.17Décompositiond’unelignedetransmission 43 1.18Lignesanspertedelongueurinfinie 45 1.19Lignesanspertedelongueurfinie,terminéepar Rc ..................... 45 1.20SimulationSpiced’unelignesansperteouverte ....................... 46 1.21SimulationSpiced’unelignesansperteterminéepar RC .................. 47 1.22SimulationSpiced’unelignesansperteterminéeparunerésistancedifférentede RC .. 48 2.1StationsetbusCAN ....................................... 49 3.1Schémadeprinciped’unréseauCAN 57 3.2RéseauetbusCAN,détaildelaconnexionentrecontrôleurettranscepteur 57 3.3ContrôleurCANintégréouexterne ............................... 58 3.4Interfaceréseaud’uncontrôleurCAN ............................. 58 3.5Schémadeprinciped’unréseauCANréunissanttroiscontrôleurs ............. 59 3.6ContrôleurCAN,sortie TxD push/pull:activebas/activehaut ............... 60 3.7ContrôleurCAN,Sortie TxD collecteurouvert:activebas/hauteimpédance ....... 60
20 Listedesfigures 3.8LalogiqueduréseauCANetfonction« et » 60 3.9Simpleréseauavecuneporte« et » .............................. 62 3.10Simpleréseau,réseauenlogiquecâblée ............................ 62 3.11Simpleréseau,logiqueduréseauréaliséepardesdiodes 63 3.12Contrôleursalimentéssousdestensionsdifférentes .................... 64 3.13Délaideboucled’unréseau 64 3.14Exemplesdeconnexionsdonnantdestempsdeboucledifférents ............. 65 4.1TranscepteursetbusCAN(schémadeprincipe) 67 4.2Schémadeprinciped’untranscepteurCAN .......................... 67 4.3SchémadeprincipedelapartieémetteurdutranscepteurCAN 68 4.4Lesdeuxétatsdel’émetteurdutranscepteurCAN 68 4.5PrincipedefonctionnementdurécepteurdutranscepteurCAN ............... 69 4.6TranscepteurCANseulsurunbus 70 4.7DispositiondesbrochesdestranscepteursCAN ....................... 71 4.8Connexiond’untranscepteuralimentésous5V 72 4.9Connexiond’untranscepteuralimentésous3,3V 73 4.10Schémadeconnexiond’untranscepteurbi-tension ..................... 74 4.11Tirageintégrésurl’entrée T 74 4.12Résistanced’entréedifférentielle ............................... 75 4.13Tensionstypiquesde CANH et CANL,transcepteurs5Vetbi-tension 77 4.14Détectiondel’étatdubus,transcepteurs5Vetbi-tension 79 4.15Tensionstypiquesde CANH et CANL,transcepteurs3,3V .................. 80 4.16Détectiondel’étatdubus,transcepteurs3,3V 80 4.17Terminaisonstandard ...................................... 81 4.18Terminaison«SPLIT» 82 4.19Busàdeuxfils 83 4.20Connexiondediodesdesuppressiondetensionstransitoiresbidirectionnelles ...... 84 4.21ConnexiondecontrôleursCANàuntranscepteurviauneporte« et » 86 4.22ConnexiondecontrôleursCANdontlasortieestdutype collecteurouvert àuntranscepteur 87 4.23ConnexiondutranscepteurISO1050deTexasInstruments 87 4.24Isolationgalvaniqueàl’aided’optocoupleurs 88 5.1TranscepteursetbusCAN(schémadeprincipe) 89 5.2Dispositionacceptable ..................................... 90 5.3Dispositionrecommandée 90 5.4ExemplederéseauCANenétoile,terminaisonssurdeuxstations 92 5.5ExemplederéseauCANendeuxétoilesréliéesparunbus,terminaisonssurdeuxstations 92 5.6ExemplederéseauCANendeuxétoilesréliéesparunbus,terminaisonsréparties 92 5.7SchémaSpiceduréseauenétoile,pourlatransition récessif → dominant ......... 94
Listedesfigures 21 5.8SimulationSpiced’unréseauenétoile,résistanceàuneseuleextrémité, récessif → dominant 94 5.9SchémaSpiceduréseauenétoile,pourlatransition dominant → récessif ......... 95 5.10SimulationSpiced’unréseauenétoile,résistanceàuneseuleextrémité, dominant → récessif 96 5.11SimulationSpiced’unréseauenétoile,résistancesréparties, récessif → dominant .... 97 5.12SimulationSpiced’unréseauenétoile,résistancesréparties, dominant → récessif 98 5.13SimulationSpiced’unréseauenétoile,résistanceàuneseuleextrémité,branchesinégales, récessif → dominant .................................. 99 5.14SimulationSpiced’unréseauenétoile,résistanceàdeuxextrémités,branchesinégales, dominant → récessif ....................................... 99 5.15SimulationSpiced’unréseauenétoile,résistancesréparties,branchesinégales, récessif → dominant 100 5.16SimulationSpiced’unréseauenétoile,résistancesréparties,branchesinégales, dominant → récessif .......................................... 101 5.17Tensionauxextrémitésdubus 102 5.18CâblesenrubanetconnectiqueIDC .............................. 103 5.19Exempledematérielpourfabriquersesproprescordonstéléphoniques 104 5.20EmbasemâleD-SUBà9brochesdécritedanslerapporttechniqueCiA106 105 5.21Connectique Mini-SPOX2.50mm deMolex ........................... 106 5.22QuelquesborniersDegson,aupasde3,81mm 106 5.23Connecteursmâles xPy C .................................... 107 5.24CordonsEthernetdroitetcroisé 108 5.25CordonsplatsRJ12droitetcroisé 109 5.26Cordonsplatsà8conducteursdroitetcroisé ......................... 110 5.27FormatdesembasesIEEE1394AetIEEE1394B 111 5.28CordonIEEE1394A ....................................... 111 5.29Connexiond’unéquipementmobileaveclaconnectiqueIEEE1394A 112 5.30Touteslescartesontlamêmeréférence 0V 113 5.31Exemplesd’agencementde CANH et CANL dansuncâbleplat ................ 113 5.32Cartessansréférencecommune(nonrecommandé) 114 5.33Cartessansréférencecommune,lebusvéhiculelaréférence ................ 114 5.34Exemplesd’agencementde CANH, CANL, 0V et Alimentation dansuncâbleplat 115 6.1Répéteur,passerelle 116 6.2Intérêtd’unrépéteuroud’unepasserelle 117 6.3Schémadeprinciped’unepasserelleCAN ........................... 118 6.4Schémadeprinciped’unrépéteurCAN 119 6.5Circuitlogiqued’arbitragecombinatoire(défaillant) ...................... 120 6.6Circuitlogiqued’arbitragecombinatoire:miseenévidenced’unedéfaillance 121 6.7Ligneàretard 122 6.8SchémadurépéteurCAN .................................... 123
22 Listedesfigures 6.9Connexionsetschéma-blocd’un AMIS-427x0 124 6.10UnrépéteurentredeuxbusCANavecun AMIS-427x0 .................... 125 6.11UnnœudCANetunrépéteurentredeuxbusCANavecun AMIS-42700 .......... 125 6.12UnrépéteurentrequatrebusCANavecdeux AMIS-427x0 126 6.13UnrépéteurentresixbusCANavectrois AMIS-427x0 127 7.1Fonctionlogiqued’unréseauCAN:un et câblé 129 7.2RéseauCANaurepos ...................................... 130 7.3Formatd’unetrameCANdedonnéesouderequête ..................... 131 7.4Débutdetrame 132 7.5Champd’arbitrageetchampdecontrôle 133 7.6Arbrededécisiondudécodagedutyped’unetrameCAN2.0B ............... 134 7.7Compositionduchamp DATA .................................. 134 7.8Compositionduchamp CRC 135 7.9Compositionduchamp ACK 137 7.10Compositionduchamp ENDOFFRAME ............................ 138 7.11Compositiondel’espaceinter-trames INTERFRAMESPACE,selonl’étatducontrôleur .. 138 7.12Validationdelatransmission 140 7.13Synchronisationdescontrôleursenréception 141 7.14Exemplesd’insertiondebitparlemécanismede bitstuffing ................ 142 7.15Scénariod’insertionmaximumdebitsparle« bitstuffing » ................. 143 7.16Exempled’arbitrageentretroiscontrôleurs 145 7.17Champarbitragedestramesstandardsetétendues,derequêteetdedonnées ...... 146 7.18Activitéd’uncontrôleurCANvis-à-visduréseau ....................... 147 8.1Exempled’erreurd’inversiondebit ............................... 152 8.2Exempled’erreurd’inversiondebitentraînantuneviolationdu bitstuffing ......... 153 8.3Exempled’erreurd’inversiondebitentraînantunesuppressiondebit 153 8.4Exempled’erreurd’inversiondebitentraînantuneinsertiondebit 154 8.5Exempled’erreurdesuppressiondebit ............................ 154 8.6Compositiondel’espaceinter-trames INTERFRAMESPACE,selonlemodeducontrôleur 159 8.7Tramed’erreuractive(ACTIVEERRORFRAME) 160 8.8Tramed’erreurpassive(PASSIVEERRORFRAME) 162 8.9Tramedesurcharge(OVERLOADERRORFRAME) ....................... 163 8.10Find’unetramededonnéesouderequête .......................... 166 9.1Exemplededoubleerreurnondétectée ............................ 176 10.1Normalisationsdeladécompositiond’unbitCAN ...................... 180 10.2Décompositiond’unbitCANnominal(ISO15765-4) 181 10.3Synchronisationd’unrécepteur,duréedepropagation 182 10.4Resynchronisationd’unrécepteur ............................... 183 10.5Resynchronisationsd’unrécepteurrapide ........................... 184
Listedesfigures 23 10.6Resynchronisationsd’unrécepteurlent 184 10.7Positionsdel’uniqueoutripleéchantillonnage ........................ 185 12.1Variantesdumode« LoopBack »d’uncontrôleurCAN .................... 191 12.2Principedufiltragedestramesreçues 193 12.3Connexiond’unSJA1000àunmicrocontrôleur ........................ 195 12.4Connexiond’unMCP2515àunmicrocontrôleur 196 12.5CheminementdesmessagesdanslecontrôleurFlexCAN .................. 199 13.1ConnexionpourtesterlegénérateurdetrameCAN 216 14.1Formatd’unetrameCANFD 224 14.2Champarbitrageetchampdecontrôled’unetrameCANFD ................ 225 14.3Arbrededécisiondudécodagedutyped’unetrameCANFD 227 14.4Champs STUFFBITCOUNT et CRC d’unetrameCANFD .................. 228 14.5Zoneoùle databitrate estactif 235 14.6DécompositiondubitCANetpositiondupointd’échantillonnage .............. 235 14.7DécompositiondubitCANFDetpositiondespointsd’échantillonnage 236 14.8Décompositiondesbits BRS et CRCDEL ........................... 236 14.9Exempledechronogrammedeschangementsdedébit 237 14.10Pasdechangementdedébit,illustrationdudélaideboucle ................. 238 14.11Changementdedébit,pasdecompensationdudélaideboucle 238 14.12Mesureautomatiquedudélaideboucledutransmetteur .................. 239 14.13Positiondu pointd’échantillonnagesecondaire SSP 240 14.14Activitéd’uncontrôleurCANFDvis-à-visduréseau ..................... 246 15.1ConnexionpourtesterlegénérateurdetramesCANFD ................... 252 16.1Altérationdubit SOF ....................................... 269 17.1DispositionetsignificationdesbrochesdequelquestranscepteursCANFD 272 17.2Délaideboucled’untranscepteurCAN/CANFD,étatdessortiesCANH/CANL ..... 274 17.3Délaideboucled’untranscepteurCANSIC,étatdessortiesCANH/CANL ......... 274 18.1Configurationdela messageRAM d’unmodule M_CAN 278 19.1Structured’unestationCAN 283 19.2CheminementdesmessagesdansuncontrôleurCAN .................... 284 21.1Affichaged’unsignaléchantillonné .............................. 296 21.2Pertedelaséquentialitéentredeuxévènements 297 21.3Décodaged’unetrameCANstandard,unoctetdedonnées ................. 298 21.4InversiondebitaléatoiredansunetrameCANstandardd’unoctetdedonnées 299 21.5Connexionspourobserverleseffetsd’unniveau récessif permanentsur RxD ....... 301
24 Listedesfigures 21.6Signal TxD,quand RxD estenpermanence récessif 302 21.7Connexionspourobserverleseffetsd’unniveau dominant permanentsur RxD 303 21.8Signal TxD,quand RxD devientenpermanence dominant 303 21.9Connexionspourobserverleseffetsd’uncontrôleurseulsurleréseau .......... 304 21.10Trameutiliséepourmettreenévidencel’erreurd’acquittement ............... 304 21.11Erreurd’acquittementdansl’état erroractive ......................... 305 21.12Erreurd’acquittementdansl’état errorpassive ........................ 305 21.13Évaluationdeladuréedesbits BRS et CRCDEL ....................... 306 21.14Exempledeconnexionspourdestravauxpratiques ..................... 308 21.15Acquittementdelaréceptiond’unetrame ........................... 309 21.16Perted’arbitragelorsdel’émissiond’unetrame ....................... 310 21.17Émissionaprèslaperted’arbitrage .............................. 310 21.18Collisionentretramesidentiques,contrôleursen erroractive ................ 311 21.19Collisionentretramesidentiques,contrôleursen errorpassive ............... 312 21.20Collisionsentretrames,émissions1à15 ........................... 313 21.21Collisionsentretrames,16e émission 314 21.22Collisionsentretrames,17e émission 314 21.23Collisionsentretrames,18e émission 315 21.24Collisionsentretrames,19e émission 315 21.25Collisionsentretrames,exempled’activeerrorflag de12bits 316 21.26RéseauentrelesquatremodulesTeensy4.1 317 21.27 M0 suivide M2 320 21.28Impulsionaudébutduchamp SOF 321 22.1RéseauetbusentredeuxXIAOESP32S3 324 22.2Brochaged’unXIAOESP32S3(documentSeeedStudio) 324 22.3RéseauetbusentretroisXIAOESP32S3 334 A.1Descriptiond’unerésistanceetd’uncondensateurenSpice ................. 345 A.2Descriptiond’unesourcedetensionfixe ............................ 345 A.3ModèleSpiced’unesourcedetensionimpulsionnelle .................... 346 A.4ModèleSpiced’unelignesansperte .............................. 346 A.5ModèleSpiced’uneligneavecperte .............................. 347 A.6InterrupteurSpicecommandéentension 347 A.7Cycled’hystérésisd’uninterrupteurSpicecommandéentension 348
8.1Émissiondelatramed’erreuractive .............................. 160 8.2Émissiondelatramed’erreurpassive ............................. 162 8.3Émissiondela tramedesurcharge ............................... 163 20.1Algorithmederéceptiondesfragments ............................ 292 21.1Croquis,miseenévidenceducomportementquand RxD estenpermanence récessif ... 301 21.2Croquis,miseenévidenceducomportementquand RxD estenpermanence dominant . 303 21.3Croquis,miseenévidenceducomportementquanduncontrôleurestseulsurleréseau . 304 21.4Croquis,miseenévidencedelapertedel’arbitrage ..................... 309 21.5Émissiondetramesidentiques 311 21.6Émissiondetramesdontleschamps ARBITRATION sontidentiques 313 21.7Émissiondetramesdontleschamps ARBITRATION sontidentiques 316 21.8Codedelastation S0 318 21.9Codedelastation S1 319 22.1Codedelastation LED 326 22.2Codedelastation LED,détectiondel’absenced’émission 327 22.3Codedelastation POUSSOIR,émissionpériodique 328 22.4Codedelastation POUSSOIR,émissionévènementielle 329 22.5Codedelastation POUSSOIR,émissionévènementielle,priseencomptedesrebonds 331 22.6Codedelastation POUSSOIR,émissionévènementielleetpériodique 332 22.7Codedelastation LED,inversiondel’état 333 22.8Codedelastation CAPTEUR0,émissionspontanée ...................... 335 22.9Codedelastation GESTIONNAIRE,émissionspontanée ................... 336 22.10Codedelastation CAPTEUR0,émissionsurdemande .................... 338 22.11Codedelastation GESTIONNAIRE,émissionsurdemande ................. 338
Listedesalgorithmes
26 Listedesalgorithmes B.1Rattrapagedudépassementd’échéance,débordementnongéré 355 B.2Rattrapagedudépassementd’échéance,débordementgéré 357 B.3Rattrapagedudépassementd’échéance,débordementmalgéré 358
Avant-propos
Pourquoiutiliserunréseau? Lorsqu’ilconçoitunéquipement,leconcepteurpeutêtreamenéà connecteràl’informatiqueembarquéedesactionneursetdescapteursdistants.Unsignalnumérique issud’unmicrocontrôleuroud’uncircuitlogiquenepeutêtretransmisfiablementquesurquelques dizainesdecentimètres.Encause,lesparasitesélectromagnétiquesetlefaitqu’unelignedetransmissionn’estpasuneéquipotentielle,mêmeenl’absencedeparasite.Unesolutionestd’adopterune lignedifférentielle,maisceladoublelenombredefils.Cespointssontdéveloppésdansle chapitre1à partirdelapage32.
Intérêtd’unréseau. Dèslors,leconcepteurpeutenvisagerd’adopterunréseau.Cettesolutionprésentedenombreuxavantages.
Latransmissionfiabledessignauxsurleréseauestprisenchargepardescomposantsdédiésà cettetâche–lestranscepteurs.
Aulieud’une(grande)carteinformatiqueunique,l’équipementestconstituédeplusieurs(petites) cartesséparées.Chacuned’elleestprochedesactionneursetdescapteursdontellealacharge.Ces cartessontplusfacilesàconcevoiretàmainteniretpeuventêtreenpartietestéesséparement,sans connexionauréseau.Commeunréseaueffectueunmultiplexagetemporeldeplusieurssignaux,on bénéficied’unediminutiondunombredefilsnécessairesàl’interconnexion,etd’unestandardisation decelle-ci.Encasdepanne,lescartespeuventêtreremplacéesindépendammentlesunesdesautres. Aufuretàmesuredel’évolutiondesprestations,denouvellescartespeuventêtreintégréesauréseau. Onpeutdoncconcevoirsonéquipementprogressivement,lerendantévolutifàlademande.
L’interfaced’échanged’informationestclaire:c’estlamessagerieduréseau.
Inconvénientsd’unréseau. Chaquecartedoitintégrerlescomposantsd’interface,lecontrôleurréseau,quieffectuelapriseenchargeduprotocoleréseauetletranscepteurchargédelatransmissionfiabledessignaux.S’ilexistedenombreuxmicrocontrôleursintégrantdescontrôleursdedivers typesderéseau,letranscepteurestuncomposantexterne.Àcelas’ajoutelepilote,logicielquiassure l’interfaceaveclecontrôleur,dontlevolumemémoire(codeetmémoirevive)peutêtreimportant, relativementàlaplacedisponibledanslesmicrocontrôleurs.
Ilfautaussicompterl’investissementintellectuelpourcomprendreetapprivoiserlefonctionnement d’unréseau,pouvoircernerlacaused’unedéfaillanceoud’undysfonctionnement.Undesbutsdece livreestd’aiderleconcepteuràcomprendreendétaillefonctionnementdesréseauxCANetCANFD.
Équipementsélectriquesdesvéhiculesroutiers. Lesconstructeursautomobilessontconfrontésà laprogressionconstantedeséquipementsélectriques:d’abord,démarragedumoteuràcombustion interne,éclairagedelaroute,puislesessuie-glaces,lesclignotants,…Lalisteestlongueetaugmente régulièrement.Àlafindu20e siècle1 ,unevoiturehautdegammepeutembarquerjusqu’à3kmde câbles,longueurcumuléede1000fils,représentantunemassenonnégligeablede40kg.L’interconnexiondeceséquipementsestundéfi:complexitédesfaisceaux,coût,encombrement,fiabilitéet maintenance.
Àcela,s’ajouteunproblèmepluscomplexe,celuidel’évolutiondesprestationsversleurinterdépendance.Audépart,lesprestationssontindépendantes.Pourprendreunexemple,lesfreinssont actionnésuniquementparlapédaledefrein,viaunsystèmehydraulique.
Actuellement,outrel’actionduconducteur,lesfreinspeuventêtrecommandéspar:
• l’ABS(del’allemand« Antiblockiersystem »),systèmeanti-blocagedesroues;
• l’ESP(« ElectronicStabilityProgram »),systèmed’anti-dérapagepouréviterlesous-virageetle sur-virage;
• l’ASR(« AccelerationSlipRegulation »),systèmed’anti-patinagedesrouesmotrices;
• l’EBD(« ElectronicBrakeforceDistribution »),quirépartitlefreinagesurlesrouespouréviterle tête-à-queue.
Fairecohabitercesdifférentesprestationsnepeutplusêtrerésoluparuncâblage,aussicomplexe soit-il.Lasolutionadoptéeestdedisposerd’ungrandnombredecalculateursembarqués,interconnectésparunouplusieursréseauxinformatiques.LeréseauCANestl’undeceux-là.
LeréseauCAN. LeprotocoleCAN(«ControllerAreaNetwork»)aétéconçuparlasociétéBoschà partirde1983etlaversion2.0Baéténormaliséeen1993.Sonbut:proposeràl’industrieautomobile unréseau tempsréel,peucoûteuxetfiablepourconnectertoutel’instrumentationembarquée(capteurs,actionneurs).UneoriginalitéduprotocoleCANestqu’ilinclutunegestionprécisedeserreurs quiestpriseenchargeautomatiquementparlecontrôleur,sansinterventiondulogiciel(cequiapour conséquencedelesimplifieretdel’alléger).En2012,l’extensionCANFDduprotocoleaétérendue publique,etaéténormaliséeaprèsquelquesmodificationsen2015.
L’industrieautomobileexigefiabilité,grandessériesetprixbas.Enconséquence,denombreuxcomposantsCAN/CANFDsontdisponibles,auprèsdedifférentsfondeurs,tousétantparfaitementinteropérables.Denouveauxmarchéssecréentalors,attirésparlesfaiblescoûts.Ainsifutcrééeen 1992l’organisationinternationale CANinAutomation 2 (CiA),quiregroupelesutilisateursetfabricants deproduitsmatérielsetlogicielsbaséssurCAN.
L’industrieproposedenombreuxmodulesmicrocontrôleursdotésd’uneinterfaceCANet/ouCAN FD,pourdesprixallantdequelqueseurosàplusieursdizainesd’euros.L’environnementdedéveloppementArduinoadémocratisélaprogrammationdecesmodulesetilexistedesbibliothèquesqui implémententunpiloteCANet/ouunpiloteCANFD.Cecirendaccessibleàl’amateurouàl’ingénieur nonspécialistelaconceptionetlamaîtrised’unréseauCAN/CANFD.
1 Déjà,en1950,laPeugeot203embarquaituncâblagede50filspourunelongueurcumuléede125m.
2 https://www.can-cia.org/about-us/
28 Avant-propos
Plandulivre. Lapremièrepartiedecelivreestconstituéededeuxchapitres:le chapitre1àpartir delapage32 estconsacréauxlignesdetransmissionetle chapitre2àpartirdelapage49 estune brèveintroductionauxréseauxCANetCANFD.
LadeuxièmepartieestconsacréeauréseauCAN:
• le chapitre3àpartirdelapage56 présenteladistinctionentreréseauetbusetpréciselerôle descontrôleursetdestranscepteurs;lafonctionlogiqued’unréseauCAN(unefonction« et ») estdétailléeens’appuyantsurlestermes dominant et récessif ;
• le chapitre4àpartirdelapage66 détaillelefonctionnementdestranscepteursetleursfonctionnalités;
• le chapitre5àpartirdelapage89 présentelatopologielaplusclassiqued’unréseauCANqui estlebus,discutedelatopologieenétoileetenproposedessimulations,selonletypedeterminaisonchoisie;ilseterminesurl’agencementdessignauxsuruncâbleetcitedifférentes connectiques;
• le chapitre6àpartirdelapage116 montrecommentétendreunréseauCANaumoyend’un répéteur oud’une passerelle ;
• onremarqueraqueleschapitresprécédentsn’ontpasbesoindeconnaîtreleprotocoleCAN, seulementlafonctionlogiqueduréseau;c’estpourquoileprotocoleCANn’estprésentéqu’au chapitre7àpartirdelapage128 :leformatd’unetrame,le bitstuffing,larésolutionnondestructivedescollisions;
• le chapitre8àpartirdelapage151 listeleserreursdétectéesparuncontrôleuretcommentil yréagit;
• leprotocoleCANest-ilfiable?AlorsquelaspécificationCAN2.0Bannonceunedistancede Hammingde6etlaprobabilitéqu’unetrameerronéevérifielasommedecontrôleinférieure à 4,7 × 10 11 ,l’expérienceamontréquecen’étaitpaslecas;le chapitre9àpartirdelapage 168 donnequelquesexemplesquimontrentqueladistancedeHammingestinférieureà6;
• laconfigurationd’uncontrôleurCANfixelavaleurdedifférentsparamètresquidéfinissentla compositiontemporelled’unbitCANetparconséquenceledébitduréseau:le chapitre10à partirdelapage179 expliqueleursignificationetcommentilsinterviennent;
• leparamétrageétabliauchapitreprécédentest-ilvalidepourunréseaudonné?Le chapitre11 àpartirdelapage186 répondàcettequestionenlistantlescontraintesquidoiventêtresatisfaites;
• le chapitre12àpartirdelapage190 présentesuccinctementquelquescontrôleursCAN;
• le chapitre13àpartirdelapage201 présentedifférentscodesécritsenC++etdestinésàêtre exécutéssurunemachinedebureau:ungénérateurdelaséquencedebitsd’unetrameCAN (quiaservipourproduirelesexemplesdetramesdecelivre)etdeslogicielsutilitairespour obtenirunedécompositiondubitCANpourundébitdonnéouencoreobtenirlalistedesdébits communsàplusieurscontrôleurs.
LatroisièmepartieestconsacréeauréseauCANFD.Onpartdelaconnaissancedeschapitresprécédents:
• le chapitre14àpartirdelapage221 commencedoncdirectementparl’exposéduprotocole CANFD,lesnouveauxformatsdetrame;laspécificationd’origineduprotocole–maintenant
Avant-propos 29
appelée CANFDnonISO –présentaitdesvulnérabilitésdontcertainesontétécorrigéeslorsde lanormalisationduprotocole–aboutissantàlaversion CANFDISO,incompatibleaveclaprécédente;cechapitreprésenteaussiladécompositiontemporelledubitCANFDetlemécanisme de changementdedébit propreàCANFD;
• le chapitre15àpartirdelapage249 décritungénérateurdetramesCANFDetunalgorithme decalculdeladécompositiondesbitsCANFDenfonctiondesdébitsdemandésetdelaposition despointsd’échantillonnage;
• leprotocoleCANFDest-ilfiable?Plusieursétudesontmisenévidencequedesfaiblessesdu protocolepersistaientdanslaversion CANFDISO duprotocole;le chapitre16àpartirdelapage 262 endécritquelques-unes,ainsiqu’unevulnérabilitépropreàlaversion CANFDnonISO :l’altérationdubit SOF ;
• lesdeuxchapitressuivantssontcourts:présentationdestranscepteursCANFD(chapitre17à partirdelapage271)etleurversionamélioréeCANSICetdescontrôleursCANFD(chapitre18 àpartirdelapage276).
Laquatrièmepartiecomportedeuxchapitresquis’appliquentaussibienàCANqu’àCANFD:
• lesservicesqu’offreunpilotelogicieldédiéàCANouCANFDfontl’objetdu chapitre19àpartir delapage281 ;
• concevoirunemessagerieCAN/CANFD: chapitre20àpartirdelapage287 ;onymontreprincipalementqu’ilvautmieuxtransmettreun état plutôtqu’un changementd’état etquel’onpeut organiserl’échangedemessagessurleréseausoiten traficévènementiel,soiten traficpériodique ;
• utiliserunanalyseurlogique(chapitre21àpartirdelapage296):cetoutilpermetdevisualiser letraficd’unréseauetydécelerfacilementdeserreurs–typiquementdeserreursdedébits entrelesdifférentscontrôleursd’unréseau;unformateurpourraaussiytrouverdesidéessur destravauxpratiquesquimettentenévidencedifférentespropriétésduprotocole,commele bit stuffing,larésolutionnondestructivesdescollisions,l’acquittementdestrames;
• le chapitre22àpartirdelapage322 présenteplusieursexemplesd’applications.
Le chapitre23àpartirdelapage340 évoquerapidementlesévolutionsfuturesencoursdeconception, CANFDLight et CANXL
Lelivreseterminepartroisannexes:
• lapremière(annexeAàpartirdelapage343)estuneprésentationrapidedulogicielSpice,qui aservipoureffectuerlessimulationsdu chapitre1 ;
• ladeuxième(annexeBàpartirdelapage349)contientdesréflexionssurl’écritured’uncode Arduino,notammentsurlerespectd’unepériodicité–cequelafonction delay nepermetpas –etsurledébordementdelafonction millis ;
• latroisième(annexeCàpartirdelapage360)estuneprésentationdesmathématiquesdes CRC (« CyclicRedundancyCode »),avecapplicationauxsommesdecontrôlespécifiéesparles protocolesCANetCANFD.
Celivres’adresseauxamateursetauxingénieursnonspécialistespourcomprendrelespossibilités qu’offreunréseauCANetcommentonlemetenœuvre.Unenseignanttrouveradesinformations pourapprofondirsesconnaissancesetpourconcevoirdestravauxpratiques.Uneconnaissancedes
30 Avant-propos
microcontrôleurs,deleurprogrammation,del’électroniquenumériqueaideralalecturedesschémas. LaconnaissancedulangageC++faciliteralacompréhensiondesprogrammesquisontdécritsdansle livre.LaconnaissancedulangagedesimulationélectroniqueSpicepermettradecomprendrelecode sourcedesdifférentessimulations.TouslescodessourcesontdisponiblessurledépôtGitHubdont l’URLest https://github.com/pierremolinaro/codes-can.
CelivreaétéécritenXELATEX,lesfiguresétantcomposéesavecl’extensiongraphique Tikz. Microcontrôleur, contrôleurCAN, transcepteurCAN, réseauCAN et busCAN sontaucœurdecetouvrage.Une conventiondecouleurestappliquéedanstouslesschémas,commel’illustrelafigureci-dessous.Noteraussiladélimitationd’unréseauCAN etcelled’unbusCAN .
StationCAN
Microcontrôleur
ContrôleurCAN
0V TxD RxD
RéseauCAN
0V CANH CANL
BusCAN TranscepteurCAN
L’auteurremerciePhilippeMartin,MikaëlBriday,Jean-LucBéchennecetlarédactiond’Elektorpour leurrelectureattentiveetpourlesnombreusescorrectionsetsuggestionsqu’ilsontproposées.
Avant-propos 31
Chapitre1
Lignesdetransmission
Pourquoiprésenterleslignesdetransmission?Simplementpourlaraisonsuivante: unfiln’estpas uneéquipotentielle. Autrementdit,lesignalquel’onrécupèreàl’extrémitéd’unelignen’estpascelui envoyéàl’autreextrémité.Encause,l’inductancepropredelaligne,sacapacité,leséchosrenvoyés parlesextrémitésdelaligne,lesparasitesélectriquesqu’ellesubit,…
Peut-onignorercesphénomènes?Celadépenddeladynamiquedusignal,delalongueurdelaligne detransmission,del’environnementélectrique.Enpratique,pourlaplupartdeslignesvéhiculantun signalnedépassantpasunedizainedemégahertzetdelongueurinférieureàunedizaine(vingtaine?) decentimètres,laréponseestoui.PourunréseauCANs’étendantsurplusieursdizaines(oucentaines de)mètres,laréponseestnon.
AussiassurerunetransmissionfiabledessignauxaétéaucœurdelaconceptionduprotocoleCAN: onverraau chapitre« TranscepteurCAN »àpartirdelapage66 quedescomposantsdédiés–les transcepteursCAN –ontétédéveloppésdanscebut.
Danscechapitre,aprèsunexempleillustratif,onprésente(très)succinctementlathéoriedeslignes detransmissionetonverrapourquoiunelignedifférentielleassociéeàdesrésistancesdeterminaison bienchoisies permettentdetransmettrefiablementunsignal.
CechapitredécritplusieurssimulationsréaliséesenSpice,logicieldesimulationélectronique,décrit succinctementdansl’annexeAàpartirdelapage343.Ilnefautpasprendrelesrésultatsdessimulationscommeétantlerefletexactdelaréalité.Onobserveuniquementcequiaétémodéliséetune influencedanslemontageréel,oubliéedanslasimulation,peutrendrelesrésultatsdessimulations trèsdifférentsdelaréalité.Ainsi,danslesmodélisationsdecechapitre,onnemodélisepaslapré-
1.1Unexempleillustratif:connexiondirected’uninterrupteur 33 1.2Connexiond’uninterrupteurviaunelignedifférentielle 41 1.3Théoriesuccinctedeslignesdetransmission 42 1.4Lignesansperte 44 1.5Ligneavecperte 45 1.6Simulations Spice d’unelignesansperte ..................................... 46
1.1.Unexempleillustratif:connexiondirected’uninterrupteur
senced’élémentsperturbateurs,telsqueautreslignes,moteurs,…Ilfautconsidérerlesrésultatsdes simulationsdecechapitrecommeétantillustratifsd’unaspectparticulierdeslignesdetransmission.
LescodesSpicesontdisponiblesdanslerépertoire chapitre-lignes-de-transmission dusite GitHub https://github.com/pierremolinaro/codes-can
1.1Unexempleillustratif:connexiondirected’uninterrupteur
Considéronscettesituation,illustréeparla figure1.1 :d’uncôté,nousdisposonsd’unmicrocontrôleuretdel’autre,uninterrupteurdistantdeplusieursmètres.Commentréalisercetteconnexion?
Figure1.1– Commentconnecteruninterrupteuràunmicrocontrôleur?
1.1.1Connexiondirecte
Figure1.2– Connexiondirected’uninterrupteuràunmicrocontrôleur
Uneréponseélémentaireestderéaliseruneconnexiondirecte(figure1.2):unedesbornesdel’interrupteurestreliéeàlaréférencedetension 0V etl’autreàl’entréedumicrocontrôleur,programmée avecsarésistancedetirageverslehaut1 (pullup ).Lavaleurde Rpullup esttypiquementde50kΩ
1 C’est-à-diredanslemode INPUT_PULLUP enArduino.
33
Vcc 0V Entrée
Plusieursmètres
0V Entrée
Vcc
Plusieursmètres Rpullup
Danscelivre,onutilise 0V pourdésignerlatensionderéférenced’uncircuit,àpartirdelaquelletoutes lesautrestensionsducircuitsontcomptées.Letermeanglais ground (GND)esttropimprécis,ilincite àconfondrele 0V d’uncircuitaveclaterre.
Malheureusement,ledispositifdela figure1.2 n’estpasviableetcepourplusieursraisons:
• ladistancedeplusieursmètresrendlalignesensibleauxperturbationsélectromagnétiques;
• cetteligneprésentedeséchos,carellen’estpaséquilibrée.
Perturbationsélectromagnétiques. Unelignesecomportecommeuneantennequicaptelesrayonnementsélectromagnétiques.Laproximitéd’équipementsélectriquesmalisoléspeutengendrerdes perturbationsélectromagnétiquesprovoquéesparleursrayonnements.D’autrepart,unéquipement intérieurbaignedanslerayonnement50Hzdusecteur:ilsuffitd’observeràl’oscilloscopelesignal engendréparunfildeplusieursmètresdontl’extrémitén’estpasconnectée.
Échos. Considéronslesextrémitésdufilvéhiculantlesignal:côtéinterrupteur,laterminaisonest soituneimpédanceinfinie(interupteurouvert),soituneimpédancenulle(interrupteurfermé).Côté microcontrôleur,laterminaisonestlarésistance Rpullup ,combinéeàlalacapacitédel’entréedumicrocontrôleur.Quandonmanœuvrel’interrupteur,lesignalsepropageàunevitessefinie(0,2m/ns esttypique,c’estunefractiondelavitessedelalumière).Lorsquelesignalparvientaumicrocontrôleur,unefractionestréfléchieversl’interrupteuretlorsquecettefractionparvientàl’interrupteur, unefractiondecettefractionestrenvoyéeverslemicrocontrôleuretainsidesuite.Cepointestmis enévidencedanslasectionsuivanteparunesimulation Spice.
Uneconnexiondirecteestdoncparfaitementviablelorsqueladistanceentrel’interrupteuretlemicrocontrôleurn’excèdepasquelquesdizainesdecentimètres,maiscertainementpasquelquesmètres. Touteslesperturbationsrendentledispositifdela figure1.2 nonviable.Commentfaire?Ilyaplusieurs voiespossibles:
• diminuerlarésistancedetirage;
• blinderlecâble;
• adopterunelignedifférentielle.
Diminuerlarésistancedetirage. Endiminuantlarésistancedetirage,onaugmentel’immunitéauxbruits.D’ailleurs,certainsmicrocontrôleurspermettentdesélectionnerunevaleurparmiplusieurspossibles.Aubesoin,utiliserunerésistanceexterneaumicrocontrôleur.L’inconvénientestque laconsommationdecourants’entrouveaugmentée.
Blinderlecâble. Ondiminueainsil’influencedesperturbationsélectromagnétiques,cependantpersisteleproblèmedel’écho.
Adopterunelignedifférentielle. Unelignedifférentielleconsisteàvéhiculerunsignaletsoncomplémentaire.Transportésdansdesconducteursadjacentsd’unenappeoumieuxdansunepairetorsadée,lesdeuxsignauxprésententunebienmeilleureimmunitéauxbruits,c’estdeloinlameilleure solution.Unepremièreapprocheestd’abordprésentéeàla section1.1.5page40 etla section1.2page 41 enmontreladispositionàadopteretcitedescomposantsquipermettentdelaréaliser.
34 Chapitre1.Lignesdetransmission
Onpeutsedemanderquelleestl’alluredessignauxàlafermetureetàl’ouverturedel’interrupteur danslecasd’uneconnexiondirecte.Unesolutionsimpleestd’effectuerunesimulationdumontage parlelogiciel Spice,quiestdédiéàlasimulationdescircuitsélectroniques.L’annexeAàpartirdela page343 présentelelangagededescriptionetlamiseenœuvred’unesimulation.Notamment, Spice contientdesmodèlesdelignesdetransmission(sectionA.5page346 et sectionA.6page347).
Onvadoncprocéderàlasimulationdel’ouvertureetdelafermeturedel’interrupteurconnectéà l’entréedumicrocontrôleurparunelignede1m.Attention,unesimulationn’estpaslaréalité.Sila simulationnedonnepaslesrésultatsescomptés,soitilyauneerreurdanssadescription,soitle montagequel’onsimulen’estpasviable.Silasimulationdonnelesrésultatsescomptés,unphénomènenonmodélisépeutprovoqueruncomportementtrèsdifférentdumontageréel;parexemple, sil’onplacelalignede1mprèsd’unmoteurquiengendredesperturbationsélectromagnétiques, celles-cin’étantpasmodéliséesdanslasimulation,lemontageréelpourraavoiruncomportement différent.Enrésumé,unesimulationpermetdemettreenévidenceuncertaincomportementidéal, maisneremplacejamaisuneexpérimentationdumontageréel.
Leschéma Spice delasimulationdel’ouvertureetdelafermeturedel’interrupteurconnectéàl’entréedumicrocontrôleurparunelignede1m(figure1.2page33)estdonnéàla figure1.3.Ilapourbut demettreenévidencel’influencedelalignede1m,enexcluanttouteautreperturbation.
Plusieurscommentairessurleschémadela figure1.3 :
• lesnœudssontindiquésparunnombredoublemententouré;lenœud 0 estlaréférenceimplicitedetouteslestensionsducircuit;
• l’interrupteurestcommandéentension(sectionA.7page347)parunesourcedetensionimpulsionnelle(sectionA.4page346);
• lalignedetransmission T1 estmodéliséeparunelignesansperte(sectionA.5page346)etdont unethéoriesuccincteestprésentéeàla section1.4page44 ;sesparamètressont:impédance caractéristique Z0 =120 Ω etduréedepropagationdanslalignede1mégaleà TD =5ns;ces valeurssonttypiquesd’unbusCAN;
• l’entréedumicrocontrôleurestmodéliséeparunesourcedetensionde5Vensérieavecune résistancede50kΩ,pourreprésenteruneentréeprogramméeavecsarésistancedetirageinterne;
• latensionquinousintéresseest v2 ,tensiondel’entréedumicrocontrôleur.
1.1.Unexempleillustratif:connexiondirected’uninterrupteur 35 1.1.2SimulationSpiced’uneconnexiondirecte
Interrupteur Sourcedetension impulsionnelle VDD +5V Rpullup 50kΩ l =1m Z0=120 Ω TD=5ns T1 Lignedetransmission 0 1 0 2 4 0 3 v2 Entréedumicrocontrôleur
Figure1.3– SchémaSpicefermetureetouvertured’uninterrupteur
LescodesSpicedessimulationssontdonnésparla figure1.4.Ilfautécrireuncodepoursimulerla fermeturedel’interrupteuretunautrepoursimulersonouverture:laseuledifférenceentrelesdeux codesrésidedansladéfinitionde VCC,ligne6.
1Fermetureinterrupteursurlignesansperte 2
3.MODELinterSW(RON=1mROFF=10MEGVT=2.5VH=.5) 4SW10130inter
5T11020Z0=120TD=5n
6VCC30PULSE(0501n1n500m)
7VDD40DC5
8Rpullup2450k
9
10.control
11tran10n1u01n
12plotv(2)
13.endc
14.end
fermeture-sur-ligne-sans-perte-ouverte.cir
(a) CodeSpicefermetureinterrupteur
1Ouvertureinterrupteursurlignesansperte 2
3.MODELinterSW(RON=1mROFF=10MEGVT=2.5VH=.5)
4SW10130inter
5T11020Z0=120TD=5n
6VCC30PULSE(5001n1n500m)
7VDD40DC5
8Rpullup2450k
9
10.control
11tran10n1u01n
12plotv(2)
13.endc
14.end
ouverture-sur-ligne-sans-perte-ouverte.cir
(b) CodeSpiceouvertureinterrupteur
Quelquesremarquessurcesdeuxcodes:
• lapremièreligneestuncommentairelibre;
• enSpice,onnepeutpasattribuerunerésistancenulleàuninterrupteurfermé,niunerésistance infinieàuninterrupteurouvert;lesvaleurschoisies(ligne3)sontunerésistancede1mΩ lorsqu’ilestferméet10MΩ lorsqu’ilestouvert;
• l’interrupteursimulénesefermenis’ouvreinstantanément;cesontlestempsdemontéeetde
36 Chapitre1.Lignesdetransmission
Figure1.4– Codedelasimulationdelafermetureetdel’ouvertured’uninterrupteur
descentedelasourcedetensionimpulsionnelle(ligne6)quidéterminentcesdurées;
• laduréedelasimulationestchoisieégaleà1µs(ligne11).
Examinonsmaintenantlerésultatdecessimulations(figure1.5).
Àlafermeture,desoscillationsfaiblementamortiesapparaissentsurl’entréedumicrocontrôleur. Celles-cisontdirectementprovoquéesparleséchosàchaqueextrémitédelalignedetransmission.
L’amortissementn’estréaliséqueparlesrésistances,orlaseuledanscettesimulationest Rpullup , devaleur50kΩ.Cettefortevaleurexpliquelefaibleamortissementdessimulations.Ànoterqu’elles sontcentréessurzéro.Cerésultatestjusteunesimulation,nepasimaginerquecelareflètelecomportementréel.Ainsi,latensionnepeutatteindredetellesvaleurspositivesetnégatives,l’entréedu microcontrôleurintègredeuxdiodesde clamping,quilimitelesexcursionsendehorsdel’intervalledes tensionsdel’alimentation:lapriseencomptedecesdiodesdanslasimulationestprésentéeàla sectionsuivante.
Àl’ouverture,lalignedetransmissionprovoqueunemontéelentesansoscillation:auboutd’1µs, latensionsimuléeatteint1,90V.
Figure1.5– Résultatsdelasimulationdelafermetureetdel’ouvertured’uninterrupteur 1.1.3SimulationSpicedelafermeture,avecdiodesdeclamping
La figure1.5.a amisenévidencedesoscillationsd’amplitudesimportantesàlafermeturedel’interrupteur.Uneentréeréelled’unmicrocontrôleurintègredeuxdiodesde clamping,dontlebutestde limiterl’excursiondelatensiond’entrée.Aussiprendreencomptecesdiodespermetd’obteniruncomportementplusréaliste.Àl’ouverturedel’interrupteur(figure1.5.b),latensionsimuléeestpositiveet resteinférieureà5V,aussiprendreencomptecesdiodesde clamping n’apporterien.
1.1.Unexempleillustratif:connexiondirected’uninterrupteur 37
t 0 0 v2 5V 1µs
Tension v2 ,fermeturedel’interrupteur 1,90V t 0 0 v2 5V 1µs (b) Tension v2 ,ouverturedel’interrupteur
(a)
La figure1.6 montrelenouveauschéma,quicontientlesdeuxdiodesD1etD2.
Poursimulerlesdiodesde clamping,nousavonschoisidesdiodes 1N4148,dontlemodèleapparaît àlaligne4dulistingdela figure1.7.Lesdiodes D1 et D2 sontdéfiniesauxlignes10et11.
1Fermetureinterrupteursurlignesansperteavecdiodesclamping 2
3.MODELinterSW(RON=1mROFF=10MEGVT=2.5VH=.5)
4.MODELD1N4148D(IS=0.1PA,RS=16CJO=2PFTT=12NBV=100IBV=0.1PA)
5T10102Z0=120TD=5n
6SW10130inter
7VCC30PULSE(0501n1n500m)
8VDD40DC5
9Rpullup2450k
10D124D1N4148
11D202D1N4148
12
13.control
14tran10n1u01n
15plotv(2)
16.endc
17.end
fermeture-sur-ligne-sans-perte-ouverte-avec-diodes.cir
Figure1.7– CodeSpicedelasimulationdelafermetured’uninterrupteur,avecdesdiodesdeclamping
Latension v2 résultatdelasimulation(figure1.8)présentetoujoursdesoscillations,maisfortement atténuéesparlaprésencedesdiodes.Eneffet,unefoislatensiondeseuilatteinte,larésistanced’une diodeesttrèsfaible(quelquesohms),cequiamortitfortementlesoscillations.Maislorsquel’onest endeçadecettetensiondeseuil,larésistancedevientforteetlesoscillationssontpeuamorties.
38 Chapitre1.Lignesdetransmission Interrupteur Sourcedetension impulsionnelle VDD +VDD=5V Rpullup Rpullup=50kΩ l =1m Z0=120 Ω TD=5ns T1 Lignedetransmission D1 D2 0 1 0 2 4 0 3 v2 Entréedumicrocontrôleur
Figure1.6– SchémaSpicefermetureetouvertured’uninterrupteur,avecdiodesde clamping
1.1.4SimulationSpice,diminutiondeRpullup
Nousallonsmaintenantillustrerl’influencedediminutiondelavaleurdelarésistanceRpullup :alors qu’elleétaitde50kΩ àlaligne8dela figure1.4,onlafixemaintenantà5kΩ.Pourmieuxmettreen évidencelebénéficedecettediminution,lesdiodesde clamping sontretirées.Lescodesmodifiéssont surledépôtdéjàcité,danslesfichiers fermeture-sur-ligne-sans-perte-ouverte-5k.cir et ouverture-sur-ligne-sans-perte-ouverte-5k.cir.
(a) Tension v2 ,fermetureinterrupteur
Figure1.9– Résultatsdelasimulationdelafermetureetdel’ouvertured’uninterrupteur,Rpullup =5kΩ
Onobtientainsilescourbesreprésentéesàla figure1.9,àcompareraveclescourbesdela figure 1.5.Onyremarqueunmeilleuramortissementdesoscillationslorsdelafermetureetunemontéeplus rapidelorsdel’ouverture,latension v2 atteignant4,96Vauboutde1µs.DiminuerRpullup aamélioré lesréponses.Maisilyabeaucoupmieux,c’estajouterunerésistanceensérieavecl’interrupteur,c’est cequel’onvavoirdanslasectionsuivante.
1.1.Unexempleillustratif:connexiondirected’uninterrupteur 39 t 0 0 v2 5V 1µs
Figure1.8– Simulationdelafermetured’uninterrupteur,priseencomptedesdiodesdeclamping
t 0 0 v2 5V 1µs
4,96V t 0 0 v2 5V 1µs (b) Tension v2 ,ouvertureinterrupteur
1.1.5SimulationSpiced’uneconnexiondirecte,avecunerésistanceensérie
Oninsèreunerésistancequel’onnomme R1 ensérieavecl’interrupteur.Ilestimportantdelaplacer leplusprèspossibledecelui-ci.LeschémaSpicedumontagemodifiéestdonnéàla figure1.10.On gardelavaleurde5kΩ pourRpullup ,afind’obtenirunemontéeplusrapideàl’ouverture.Pourmieux observerl’influencede R1 ,onneplacepaslesdiodesde clamping.Ilexisteunevaleur«magique»à donnerà R1 :celledel’impédancecaractéristique Z0 delalignedetransmission,ici120 Ω,cequisera justifiéàla section1.3page42.LescodesSpicesontprésentésdansles figure1.11 et figure1.12.
1Fermeturesurlignesansperte,termineeparRC 2
3.MODELinterSW(RON=1mROFF=10MEGVT=2.5VH=.5)
4R115120
5T10502Z0=120TD=5n
6SW10130inter
7VCC30PULSE(0501n1n500m)
8VDD40DC5
9Rpullup245k
10
11.control
12tran10n1u01n
13plotv(2)
14.endc
15.end
fermeture-sur-ligne-sans-perte-rc.cir
Figure1.11– CodeSpicedelasimulationdelafermetured’uninterrupteurensérieavec Rc
Maintenant,examinonslerésultatdessimulationsdansla figure1.13.L’améliorationdelaréponse lorsdelafermeturedel’interrupteurestspectaculaire:lesoscillationsontdisparu.Ilresteunetension résiduelle,provoquéeparlepontdiviseurdetensionentre R1 etRpullup
,
réponseàl’ouvertureestlamêmequecelledela figure1.9.Onremarqueraquelestensionsrestent dansl’intervalledestensionsd’alimentation(saufuneexcursionà-0,17Vàlafermeture),aussiajouter desdiodesde clamping nechangeraitlesrésultatsdelasimulation.
Cesrésultatsdesimulationsontàprendreavecprécaution.Eneffet,celle-cinetientcompteque del’effetdelalignedetransmissionetpasdesparasitesélectromagnétiquesquipourraientexister danslecircuitréel.Deplus,enexaminantleschémadela figure1.10,onvoitquel’undesfilsdela
40 Chapitre1.Lignesdetransmission
R1 VDD +VDD=5V Rpullup 5kΩ l =1m Z0=120 Ω TD=5ns T1 0 0 0 5 2 4 3 1 v2
Figure1.10– SchémaSpicedelasimulationfermetureetouvertured’uninterrupteurensérieavec Rc
: 120 Ω 120 Ω +5 kΩ × 5 V =0
12 V.La
ouverture-sur-ligne-sans-perte-rc.cir
lignedetransmissionestlamasseetl’onn’apastenucomptedescourantsquipourraientycirculer. Sil’ondoitcâblerplusieursinterrupteurs,ilnefautpasutiliserunfilcommun,maisassocieruneligne différentiellepropreàchaqueinterrupteur.Ceciestprésentédanslasectionsuivante.
1.2Connexiond’uninterrupteurviaunelignedifférentielle
Unelignedifférentielleconsisteàvéhiculerunsignaletsoncomplémentaire.Transportésdansdes conducteursadjacentsd’unenappeoumieuxdansunepairetorsadée,lesdeuxsignauxprésentent unebienmeilleureimmunitéauxbruits,c’estdeloinlameilleuresolution.Unelignedifférentiellepeut êtrefacilementréaliséeenseservantdecomposantsdédiésaubusRS4222 ,telsqueparexemplele
2 TexasInstruments, RS-422andRS-485StandardsOverviewandSystemConfigurations,ApplicationReport,SLLA070D–June 2002–RevisedMay2010,SLLS112C, http://www.ti.com/lit/an/slla070d/slla070d.pdf
1.2.Connexiond’uninterrupteurviaunelignedifférentielle 41
2
5T10502Z0=120TD=5n
8VDD40DC5 9Rpullup245k 10 11.control 12tran10n1u01n 13plotv(2) 14.endc 15.end
1Ouverturesurlignesansperte,termineeparRC
3.MODELinterSW(RON=1mROFF=10MEGVT=2.5VH=.5) 4R115120
6SW10130inter 7VCC30PULSE(5001n1n500m)
Figure1.12– CodeSpicedelasimulationdel’ouvertured’uninterrupteurensérieavec Rc
t 0 0 v2 5V 1µs (a) Tension v2 ,fermeturedel’interrupteur 4,96V t 0 0 v2 5V 1µs (b) Tension v2 ,ouverturedel’interrupteur
Figure1.13– Simulationfermetureetouvertured’uninterrupteurensérieavec Rc
UA96383 (doubleémetteur)etle UA9637A4 (doublerécepteur).Onobtientleschémadela figure1.14 4,7kΩ
Le UA9638 ayantuneentréesansrésistanceintégréedetirage,ilfautunerésistanceexterne(icide 4,7kΩ)pourimposerunniveauhautlorsquel’interrupteurestouvert.Pourunebonneimmunitéaux bruits,unelignedifférentielledoitêtreterminéeparunerésistancedite résistancedeterminaison,ici
ZT .Idéalement,celle-cidoitavoirpourvaleurla résistancecaractéristiquedelalignedetransmission (voirla section1.3page42),c’est-à-direleplussouventunevaleurcompriseentre100 Ω et120 Ω
Attention,le UA9637A requiertunealimentationde+5V,ilfautqueleportd’entréedumicrocontrôleurauquelilestconnectéacceptecettetension:
• soitlemicrocontrôleurestaussialimentésous+5V;
• soitleportd’entréetolèreunetensionde+5V;
• sinon,ilfautdiminuerlatensionparunpontdiviseuràdeuxrésistances.
L’UA9638 requiertaussiunealimentationde+5V.Ilnefautpasutiliserl’alimentationdel’UA9637A : unelignedeplusieursmètresdélivreunetensionbruitéeimpropreàuneutilisationdirecte.Lasolution estdetransmettreunealimentiondetensionsupérieure(parexemple+9V)etdefabriquer,justeà côtédel’UA9638 unetensionde+5Vgrâceàunrégulateurdetensionintégrételquele LM7805
Onaboutitdoncfinalementàla figure1.15.Lepontdiviseuràlasortiedel’UA9637A garantitquela tensionprésentesurleportd’entréedumicrocontrôleurnedépasserapas 18 kΩ 12 kΩ +18 kΩ × 5 V =3 V, tensioninférieureàlatensiond’alimentation,maislargementsuffisantepourunniveauhaut.
1.3Théoriesuccinctedeslignesdetransmission
Unelignedetransmissiondelongueur l estreprésentéeàla figure1.16.Oninjecteàl’entréeune tension vE ,onobserveàlasortielatension vS .Lamodélisationclassiqued’unelignedetransmission nécessitequatreparamètres:
• R,résistancelinéiquedesconducteurs(en Ω/m),
3 TexasInstruments, uA9638C,DualHigh-SpeedDifferentialLineDriver, https://www.ti.com/lit/ds/symlink/ua9638.pdf
4 TexasInstruments, uA9637AC,DualDifferentialLineReceiver,SLLS111B, https://www.ti.com/lit/ds/symlink/ua9637a. pdf
42 Chapitre1.Lignesdetransmission
Entréeacceptant+5V
+5V +5V
T
Vcc 0V
Plusieursmètres
Z
UA9638 UA9637A
Figure1.14– Connexionparlignedifférentielled’uninterrupteuràunmicrocontrôleur
• L,inductancelinéique(en H/m),
• C ,capacitélinéique(en F/m),
• et G,conductancelinéique(en S/m)5 ,quimodélisel’isolationentrelesconducteurs.
Voicilesvaleurstypiquesd’uncâbleutilisépourunbusCAN: R =70mΩ/m, L =0,6µH/m, G =0 (isolationparfaiteentrelesconducteurs)et C =41,7pF/m.
Unelignedelongueur l estdécoupéeensegmentsdelongueur dx (figure1.17)quidéfinissentdes quadripôlesélémentaires.
Leséquationsdifférentiellesquirégissentlequadripôleélémentairesont6 :
5 L’unitédeconductanceestle Siemens,quiestl’inversedel’Ohm:1S=1 Ω 1
6 Ceséquationssontconnuessouslenom équationsdestélégraphistes ;ontrouverasurleWebunedocumentationabondante surcesujet.
1.3.Théoriesuccinctedeslignesdetransmission 43 +3,3V 0V Entrée 12kΩ 18kΩ Plusieursmètres +5V ZT UA9638 UA9637A +9V LM7805 4,7kΩ
l vE iE vS iS
Figure1.15– Connexionparlignedifférentielled’uninterrupteuràunmicrocontrôleur,schémacomplet
Figure1.16– Lignedetransmissiondelongueur l
l vE iE vS iS Rdx Ldx Cdx 1 Gdx v i v + dv i + di dx
Figure1.17– Décompositiond’unelignedetransmission
∂ v ∂ x = Ri L ∂ i ∂ t et ∂ i ∂ x = C ∂ v ∂ t Gv
Malheureusementdanslecasgénéral,onnepeutpasrésoudreceséquations.Certainscasparticuliers,commeune lignesansperte (section1.4),permettentd’obtenirdesrésultatssupplémentaires.
1.4Lignesansperte
Sionconsidèrequelarésistance R etlaconductance G sontnulles,lalignedetransmissionest sans perte 7 .C’estuneapproximationraisonnablesilarésistancedelaligneestfaibledevantla résistance caractéristique Rc quel’onvamettreenévidence.Larésistanceentrelesconducteurs(l’isolation)est bienplusimportanteque Rc ,aussiconsidérer G nulleestunebonneapproximation.
Vitessedepropagation. Onmontrequelevitessedepropagationd’unsignalest v =1/ √LC Pourlesvaleurs L =0,6µH/met C =41,7pF/m,onobtient v =0,2m/ns.C’estévidemmentpluslent quelavitessedelalumière8
Remarquezquelavitessedepropagationnedépendpasdelafréquencedessignaux.Imaginezalors latransmissiond’unsignalnonsinusoïdal:ilsedécomposeenunesommedesignauxsinusoïdauxde différentesfréquences.Commeilssepropagenttousàlemêmevitesse,laformedusignaln’estpas altéréedurantlatransmission.
Délailinéiquedepropagation. Ledélailinéiquedepropagationd’uneligneest τ =1/ v .Pourles valeurs L =0,6µH/met C =41,7pF/m,onobtient τ =5ns/m.
Résistancecaractéristique Rc . Unelignedetransmissionsansperteestcaractériséeparsa résistancecaractéristique Rc : R
Pourlesvaleurs L =0,6µH/met C =41,7pF/m,onobtient Rc =120 Ω.
Paramètrescaractérisantunelignesansperte. Onamisenévidenceplusieursparamètresd’une lignesansperte:
• soninductancelinéique L ;
• sacapacitélinéique C ;
• sarésistancecaractéristique Rc ;
• savitessedepropagation v ,ousoninverse,ledélailinéiquedepropagation τ
Cesparamètresnesontpasindépendants,ilsuffitd’enconnaîtredeuxpourendéduirelesautres. C’estcel’onfaitpouruncâbledontseulscertainsparamètressontfournis.C’estpourquoilemodèle Spice LLTRA d’unelignesanspertedemandelaconnaissancede Z0,l’impédancecaractéristiqueet TD, ledélaidepropagationdanslaligne.Pourlasimulation,lalongueur l delignen’apasàêtreconnue, c’estleproduit l τ quiestutile.
Lignedelongueurinfinie. Commelaligneestdelongueurinfinie,iln’yapasd’extrémité,doncpas
7 « sansperte »signifieaucunepertedepuissance:toutelapuissanceélectriqueinjectéeàl’entréedelaligneestrécupéréeàsa sortie.Dansuncircuitpassif,enrégimepermanent,inductanceetcondensateurn’engendrentaucunepertedepuissance,seules lesrésistancesprovoquentunepertedepuissance.
8 c =299792458m/s ≈ 0,3m/ns.
44 Chapitre1.Lignesdetransmission
= L C
c
d’onderéfléchie.Onmontrequ’unelignedelongueurinfiniesecomportecommeunerésistancede valeur Rc (figure1.18). v
estéquivalentà
Lignedelongueur l terminéepar Rc . Considéronslalignedelongueurinfinie:elleneprésentepas d’onderéfléchie.Onpeutladécomposerenunsegmentdelongueur l ,suivid’unelignedelongueur infinie(figure1.19).Onremplacealorscettelignedelongueurinfinieparsarésistanceéquivalente Rc
Conclusion:unelignedelongueurfinieterminéeparsarésistancecaractéristiqueneprésentepas d’onderéfléchie.
C’estunrésultatfondamentalquiexpliquepourquoiilfauttoujourseffectueruneterminaisonadéquatedeslignesdetransmission.
estéquivalentà
Figure1.19–
1.5Ligneavecperte
Rc
Pouruneligneavecperte,lespropriétésénoncéesdanslasectionprécédentenesontplusvraies; enparticulier,lavitessedepropagationdépenddelafréquencedessignaux:laformedessignaux nonsinusoïdauxestdoncaltérée.CepointestimportantcarlessignauxvéhiculésparunbusCAN peuventprésenterdesfrontsabrupts,quisontdoncdégradéslelongducâble.Si G =0estunebonne approximationd’uneligneréelle,considérerquelarésistancelinéiqueestnullen’estvalidequesi,en fonctiondelalongueurdubus,larésistancequ’elleimposeestfaibledevantlesautresrésistances.
1.5.Ligneavecperte 45
E iE
vE iE Rc
Figure1.18– Lignesanspertedelongueurinfinie
∞ vE iE
l ∞ vE iE
l vE iE Rc
estéquivalentà
Lignesanspertedelongueurfinie,terminéepar
1.6Simulations Spice d’unelignesansperte
LemodèleSpiced’unelignesansperteestnommé LLTRA etestprésentéàla
sectionA.5page346
1.6.1Lignesansperteouverte
1Lignesansperteouverte
2
3T10102Z0=120TD=50n
4VCC10PULSE(050m1n1u500m)
5 6.control
7tran10n1u01n 8plotv(2)
9.endc
10.end
ligne-sans-perte-ouverte.cir
(c) CodeSpice
1µs
(d) Tension v2 enfonctiondutemps
La figure1.20 montrecommentdécrireen Spice unelignesansperteouverteetdonnelaformede latension v2 obtenueàsonextrémité.Pourl’analysestatique,latension VCC estnulle,ainsiquela tension v2 .Àl’instantt=1ns, v1 effectueunerampede0Và5Ven1ns,puisresteà5Vjusqu’àla findelasimulation.
Àl’extrémitédelaligne,latension v2 obtenueconsisteendesoscillationsentreenviron0Vet10V. Legraphes’arrêteàt=1µs,onpourraitallerplusloin,onobtendraitlesmêmescourbes,lesoscillationsnesontpasamorties.Pourquoicesoscillationsnesontpasamorties?Seulelaprésencede résistancesdanslecircuitpeutamortirlesoscillations,or,danscettesimulation,l’impédancedugénérateurdetensionestnulle,laligneestsansperte.Évidemment,ilnefautdoncpasprendrececomportementcommeétantfidèleàlaréalité.Biensûr,celle-ciestautre,legénérateuraunerésistance internenonnulle,laligneprésentedespertes,lerécepteuràl’extrémitédelaligneaunerésistance noninfinie:lesoscillationsserontamortiesdansuncircuitréel.
46 Chapitre1.Lignesdetransmission
=10m v1 v2
Schéma VCC 0 1 0 2 Z0=120 Ω TD=50ns T1 (b) SchémaSpice
L =0,6µH/m, C =41,7pF/m, l
(a)
t 0 0 v2 5V 10V
Figure1.20– SimulationSpiced’unelignesansperteouverte
1.6.2Lignesansperteterminéepar RC
Maintenant,nousajoutonsàl’extrémitédelaligneunerésistance R1 de120 Ω,c’est-à-direexactementlavaleurdel’impédancecaractéristiquedelaligne(figure1.21).La figure1.21.d montreun signalpropre,exemptd’oscillation,quin’aabsolumentrienàvoiraveclesignaldela figure1.20.d C’estévidemmentuncasidéal,oùlarésistancedeterminaisonestexactementégaleàl’impédance caractéristiquedelaligne.
L =0,6µH/m, C =41,7pF/m, l =10m
(a) Schéma
1LignesansperteterminéeparRC
2
3T10102Z0=120TD=50n
4VCC10PULSE(050m1n1u500m)
5R102120
6
7.control
8tran10n1u01n
9plotv(2)
10.endc
11.end
ligne-sans-perte-terminee-par-rc.cir
(b) SchémaSpice
1.6.3Lignesansperteterminéeparunevaleurdifférentede RC
Onpeutmaintenantsedemandercequ’iladvientsilarésistancedeterminaisonn’estpaségale àl’impédancecaractéristiquedelaligne.Parrapportaucodedela figure1.21.c,ilsuffitdechanger lavaleurassociéeà R1.La figure1.22 montrelescourbesobtenuespourlamoitiéetledoublede l’impédancecaractéristiquedelaligne.
Silarésistancedeterminaisonestinférieureà Rc ,onobserveunemontéepluslenteetl’absence dedépassementetd’oscillation.Sielleestsupérieure,ilyadépassementsetoscillations.
1.6.Simulations Spice d’unelignesansperte 47
R1 v1 v2
120 Ω VCC ± 0 1 0 2 Z0=120 Ω TD=50ns T1
t 0 0 v2 5V 1µs
(c) CodeSpice
(d) Tension v2 enfonctiondutemps
Figure1.21– SimulationSpiced’unelignesansperteterminéepar RC
Figure1.22– SimulationSpiced’unelignesansperteterminéeparunerésistancedifférentede RC
48 Chapitre1.Lignesdetransmission t 0 0 v2 5V 1µs (a) Terminéepar60 Ω,soit RC /2 t 0 0 v2 5V 1µs (b) Terminéepar240 Ω,soit 2 RC
Index -1à7-
0V, 34
1N4148, 63
6N137, 87 -A-
ACAN, 216, 300
ACAN_T4, 252, 317
ACKDELIMITER, 137
ACKSLOT, 137
AFNOR, 54
API, 281
ARBITRATION, 132
ArbitrationBitRate, 234
Arduino, 53, 213, 304
Bibliothèque, 281
ArduinoUno, 276
ATSAME51, 277
AWG, 100 -B-
BAT43, 63
BRS, 225, 306
BusCAN, 49
BusEthernet, 51
Buslibre, 192
BUSOFF, 158, 192
BusUSB, 51
bxCAN, 197 -C-
CAN
HS(HighSpeed), 66
LS(LowSpeed), 66, 92
CANFDISO,non-ISO, 222, 306
CANFDLight, 53, 340
CANXL, 53, 225, 237, 262, 341
CANH,CANL, 68, 77
CANMessage, 285
CANopen, 55, 286
CiA, 28, 54
601-3, 247, 254
601-4, 273
106, 105, 110
802, 129, 286
ClassicCAN, 221
Collecteurouvert, 59
CONTROL, 132
Contrôledepente, 85
Cordon, 100
CRC, 135
CRCDEL, 306
CRC15CAN, 136, 227, 380
CRC17CANFD, 227, 380
CRC21CANFD, 227, 381
Câble, 100 -D-
DataBitRate, 234
Diodetransil, 84
DistancedeHamming, 136, 372
DLC, 226
Dualbitrate, 222
Débit
d’arbitrage, 234 desdonnées, 234
Débitutile
CAN, 150
CANFD, 243 -E-
EOF, 138
Erreurenrafale, 155, 375
ERRORACTIVE, 158
ERRORPASSIVE, 158
ESI, 225, 307
ESP32, 65, 196, 300
Ethernet, 51, 341
Ethernetcommuté, 52
ExceptionauprotocoleCANFD, 225
-F-
FDF, 223
FireWire, 110
FlexCAN, 192, 198
FSB, 229
Gigue, 216
GND, 34
HI-311x, 196
Hi-Z, 59
i82526, 194
i82527, 194
IA82527, 195
IDC, 104
IDLE, 138
IEEE1394, 110
-G-
-H-
-I-
Insertiondebit, 152
INTERMISSION, 138
Inversiondebit, 152
IPS, 138
ISO
11898-2, 66
11898-3, 66
15765-4, 179, 233
11898, 54
ISO1042-Q1, 87
ISO1050, 87
Isolationgalvanique, 86
-L-
LIN, 341
LLTRA, 44, 46, 346
Logic2, 298
LongueurmaximumbusCAN, 90
Loopback, 190
LPC2294, 211
LTRA, 347
M_CAN, 277
MacSpice, 343
MCP2510, 195
MCP2515, 196
-M-
MCP2542FD/4FD, 271
MCP2542WFD/4WFD, 271
MCP2557FD/8FD, 271
MCP2561FD/62FD, 271
MCP2562, 196, 237, 324
MCP25625, 196
MCP2562FD, 237
Messagerie, 287
Mini-SPOX, 105
Modederepos, 85
MS/s, 297
Niveauhaut, 294
-N-
NUCLEO, 197
F303K8, 284
G474RE, 255
L432KC, 284
-P-
PartieParMillion(PPM), 205, 261
Passerelle, 91
PCA82C200, 195
PIC18, 52
PIC18F26K80, 211
Pilote, 281
PIO, 199
REC, 157
Représentation
-R-
KOOPMAN, 369
NORMAL, 368, 369
POLYNÔME, 369
Resynchronisation, 141
RJ, 106
RP2040, 199
RTR, 132
Répéteur, 91
RéseauCAN, 49
Résistancecaractéristiqued’uneligne, 44
-S-
SAE81C90, 195
Saleae, 298
SIC, 273
SJA1000, 195
SJW
EttolérancehorlogeCAN, 189
SN7407, 83
SOF, 132
Spice
Condensateur, 344
Inductance, 344
Résistance, 344
Index 387
Sourcetensionfixe, 345
SPOX, 105
SSP, 239
STM32G, 277
STM32H, 277
StubLength, 90
STUFFBITCOUNT, 229, 306
Suppressiondebit, 152
SUSPENDTRANSMISSION, 158, 302
Synchronisationforte, 141
SynchronizationSegment,SS, 181 -T-
TCAN1462-Q1, 275
TCAN4550-Q1, 277
TDC, 237
TDCE, 239, 257
TDCO, 239, 248
TEC, 157
Teensy3.2, 192, 198, 216
Teensy3.5, 192
Teensy3.6, 192, 311
Teensy4.0, 252
Teensy4.x, 316
Tempsdeboucle, 61
TIDA-01487, 121
Time-SensitiveNetworking, 52
TJA1462, 275
Transcepteur, 66
TranscepteurCANSIC, 91, 273
Tripleéchantillonnage, 235
TVS, 84
TWAI, 197 -U-
UA9637A, 42
UA9638, 42
USB, 51, 52 -X-
XIAOESP32S3, 322
388 Index