introdución a can bus
TRANSCRIPT
![Page 1: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/1.jpg)
IntroducciónalbusCAN
SistemasEmbebidos
![Page 2: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/2.jpg)
RazonesdelCAN
• Anteelincrementodelnumerodedisposi:voselectrónicosenlosautomóviles,lasnecesiadadesdecableadoysucomplejidadaumentarón.
• Prontoseviólaposibilidaddeconectartodoslosdisposi:vosaunbusquedebíadeserfiable,robusto,altainmunidadalruido,etc.
• Ademá,elbusdebíapoderpermi:raltasvelocidadesdetransmisiónenentornosdificilesporlatemperatura,vibraciones,interferencias,etc.
• Ademásdelautomóvil,encuentragranu:lidadcomobusdecampoendiversasaplicacionesindustriales.
![Page 3: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/3.jpg)
Historia• CAN(“ControllerAreaNetwork),busseriepatentadoporla
compañiaRobertBosch(1982).• Inicialmentesepensóenelcomobusdecampo,perodonde
realmenteencontróu:lidadfuéenelsectordelautomóvil,parainterconectarelbusdeconfor,seguridad,etc.
• ElMercedesClaseEfueelprimercocheenincorporarelbusCAN,10añosdespués(1992).
• Fuédiseñadoparapermi:rlacomunicaciónfiableentrecentralitaselectrónicasbasadasenmicoprocesador,ECUs(“ElectronicControlUnit”)yreducircableado.
• EnEuropasehaconver:doenunestándar“defacto”,concarácterinternacionalydocumentadopornormasISO(ISO‐11898).
• Ventajas:reduccióndecostes,mejoraflexibilidad
![Page 4: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/4.jpg)
• ElbusCANesunprotocoloserieasíncronodel:poCSMA/CD(“CarrierSenseMul:pleAccesswithCollisionDetec:on”).
• Elbusesunmediocompar:do(mul:plexado).• Setratadeunprotocolo“Mul:cast”,esdecir,todoelmundopuedehablar(deunoenuno)yescuchar.
• “CSMA”:cadanododelareddebemonitorizarelbusysidetectaquenohayac:vidad,puedeenviarunmensaje.
• “CD”:si2nodosdelaredcomienzanatransmi:runmensaje,ambosdetectanlacolisión.Unmétododearbitraciónbasadoenprioridadesresuelveelconflicto.
![Page 5: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/5.jpg)
• Seu:lizaunpardecablestrenzados(busdiferencial)paraconseguiraltainmunidadalasinterferenciaselectromagné:cas(EMIs).Enalgunoscasospuedeirapantallado.
• Laimpedanciacaracteris:cadeestalineaesdelordende120Ωporloqueseepleanimpedancias(resistencias)deestevalorparaenambosextremosdelbusparaevitarondasreflejadasyqueelbusseconviertaenunaantena.
• Longitudmáximade1000m(a40Kbps).• Velocidadmáximade1Mbps(conunalongitudde40m)• Enloscochesseu:lizaa125kbit/sya500kbit/s.
![Page 6: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/6.jpg)
ModelodecapasenelbusCAN
![Page 7: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/7.jpg)
Modelodecapas• Capadeenlacededatos
– Controldeenlacelógico(LLC)• Seencargadelosfiltrosdelosmensajes• Proporcionaserviciosdurantelatransferenciadedatosydurantelape:cióndedatos
remotos• DecidequemensajesrecibidosdeMACseaceptan• Proporcionamediosparaelrestablecimientoyparano:ficarlasobrecargadelbus
– Controldeaccesoalmedio(MAC)• RepresentaelnúcleodelprotocoloCAN• PresentalosmensajesrecibidosalasubcapaLLCyaceptalosmensajesparaser
transmi:dosadichasubcapa• Esresponsabledelatramademensajes,arbitraje,reconocimiento,deteccióndeerrory
señalización• Enestasubcapasedecidequesielbusestálibreparacomenzarunanuevatransmisióno
silarecepciónacabadecomenzar
• CapaFísica– Definequeseñalessetransmiten.Trataladescripcióndelbitdecronometraje,
lacodificacióndebitylasincronización
![Page 8: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/8.jpg)
PropiedadesdelCAN
• Priorizacióndelmensaje• Garanjadelos:emposderetardo• Flexibilidaddelaconfiguración• Recepciónmúl:plecon:emposdesincronización• Robustezensistemasdeampliosdatos• Mul:maestro• Deteccióndeerroryseñalización• Retransmisiónautomá:cademensajescorruptostan
prontocomoelbusestálibredenuevo.• Dis:nciónentreerrorestemporalesyfallospermanentes
denodos,ydesconexiónautomá:cadenodosdefectuosos.
![Page 9: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/9.jpg)
Conceptosbásicos(I)• Caracterís:casdelosMensajesCAN
– Formatofijodemensajescondiferentelongitud(limitada)– Cuandoelbusestálibrecualquierunidadpuedecomenzaratransmi:r
• RutadelaInformación(unnodonou:lizatodalainformaciónprocesada)– Flexibilidaddelsistema.Seañadennodossinrealizarcambioalguno– Rutadelosmensajes
• Elcontenidodeunmensajeseespecificaconuniden:ficador• Eliden:ficadornoindicaeldes:no,sinodescribeelsignificadodelmensaje
– Mul:cas:ng.Cualquiercan:daddenodospuederecibirelmismomensajesimultáneamente.
– Robustezdelosdatos.Segaran:zaqueunmensajeseasimultáneamenteaceptadoporalgunodelosnodos(otodos).
• Velocidaddetransmisión– Puedeserdiferenteendis:ntossistemas.Enunsistemalavelocidaddebedeseruniforme
• Prioridades– Eliden:ficadordefinelaprioridaddelmensaje
• Pe:cióndedatosremoto– Seenvíaunatramaremotadepe:cióndetrama,secontestaconlatrama.– Ambas:enenelmismoiden:ficador
![Page 10: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/10.jpg)
Conceptosbásicos(II)
• Mul:maestro– Sielbusestálibre,cualquiernodopuedecomenzaratransmi:r
unmensaje– Cuandodosnodoscomienzanatransmi:rsimultáneamente
• Elconflictodeaccesoalbusesresueltoporarbitrajeu:lizandoeliden:ficador
• Elmecanismodearbitrajegaran:zaquenilainformaciónniel:emposepierdan
– Cuandounatramadedatosyunatramaremotaseinicianalmismo:empoprevalecelaprimera
– Duranteelarbitrajetodoslostransmisorescomparanelniveldelbittransmi:doconelniveldelbus• Silosnivelessoniguales,launidadpuedeenviar• Sisondis:ntos,launidadpierdeelarbitrajeydebere:rarsesinenviarotrobit
![Page 11: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/11.jpg)
Conceptosbásicos(III)• Seguridad
– EntodoslosnodosCANseimplementanmedidasespecialesparaladeteccióndeerrores,señalizaciónyauto‐chequeo
– Deteccióndeerror• Monitorización(comparacióndenivelesdebit)• CRC• BitStuffing• Chequeodelatramademensaje
– Señalizacióndeerrory:empoderestablecimiento• Losmensajescorruptossonreconocidosporcualquiernodo• Estosmensajesseabortanysetransfierenautomá:camente• El:empoderestablecimientodesdeladeteccióndelerroresde31bits• LosnodosCANdis:nguen• Perturbacionescortas• Fallospermanentes.Estosnodospordefectosedesconectan
![Page 12: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/12.jpg)
Conceptosbásicos(IV)
• Conexiones– No:enenlímiteteórico– Enlaprác:caelnúmerototaldeunidadesestarálimitadoporel
:empoylascargaseléctricas• Unúnicocanal
– Elbussecomponedeunúnicocanaldetransmisión– Laformadeimplementaciónnosefijaenlasespecificaciones
• Únicohilo• Doshilosdiferenciales• Fibraóp:ca,etc.
• ValoresdeBus(Dominanteorecesivo)• Reconocimiento.Todoslosreceptorescompruebanlafiabilidaddel
mensaje• Modosleep/wake‐up.Modoahorrodeconsumodepotencia
![Page 13: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/13.jpg)
ProtocoloCAN(I)• EsunprotocoloCSMA/CD(CarrierSenseMul:pleAccess,withCollision
Detec:on).TécnicaparaMAC.• ConCSMA,
– Todonodoenlaredmonitoreaelbusporunperiododenoac:vidadantesdeintentarenviarunmensaje(CS)
– Enunperiododenoac:vidad,todonododelbus:enelamismaoportunidaddetransmi:runmensaje(MA)
• ElCDseencargadeladetecciónantecolisiones(dosnodoscomienzanaretransmi:ralmismo:empo)– CANparaevitarestou:lizaunmétododearbitraje– Unnodoesperaconfirmaciónunacan:dadde:emporazonabledespuésde
transmi:r– Hayquetenerencuentaelretardodepropagaciónyqueelnodoque
confirmadebecompe:rtambiénporconseguirelmediopararesponder.– Sinollegarespuestaelnodosuponequesehaproducidounacolisióny
retransmite
![Page 14: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/14.jpg)
ProtocoloCAN(II)
• ReglasparaCSMA/CD– Elnodotransmitesielmedioestálibre,sinoseaplicalaregla2
– Sielmedioseencuentraocupado,laestacióncon:núaescuchandohastaqueencuentralibreelbus,encuyocasotransmiteinmediatamente.
– Sidetectaunacolisióndurantelatransmisión,losnodostrasmitenunaseñalparaasegurarsedequetodaslasestacionesconstatanlaproduccióndecolisiónycesandetransmi:r
– Despuésdetransmi:rlaseñalseesperaunacan:dadde:empoaleatorio,trasloqueintentatransmi:rdenuevo.
![Page 15: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/15.jpg)
ProtocoloCAN(III)• ElCANdebecumplirdospremisas
– Necesitandefinirsedosestadoslógicos(dominante=0)– Elnodoemisormonitorearelbusparaverelestadológico
• Elestadodebitdominantesiempreganaráarbitrajesobreelrecesivo(elvalormásbajodelid.delmensajeeselmásprioritario)
• Ejemplo– Dosnodosintentantransmi:runmensajesimultáneamente– Cadanodomonitorizaráelbusparaestarsegurodelbitqueestá
intentandoenviarenesemomento– Elmensajedemenosprioridadintentaráenviarunbitrecesivoyel
estadoleídoenelbusserádominante.– Elnodopierdeelarbitrajeydejadetransmi:r– Elmensajedemásprioridadcon:nuaráhastaacabaryelnodoqueha
perdidointentarátransmi:rdenuevoenelsiguienteperiododenoac:vidad
![Page 16: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/16.jpg)
Resumendelprotocolo• ElprotocoloCanestábasadoenmensajes(no:ene
direccionamientodenodoanodo).• Lapriorizaciónyeldireccionamentoestacontenidoenlosdatos
transmi:dos• Todoslosnodosdelsistemarecibentodalainformacióntransmi:da• Cadanododecidesielmensajeotramadebeserdescartadoo
aceptado• Unúnicomensajepuededes:narseparaunnodoenpar:cularo
paravarios• Unnodo:enelahabilidaddepedirinformacióndeotrosnodos
(RemoteTransmitRequest)• Puedenañadirsenodosadicionalessinnecesidaddecambios
![Page 17: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/17.jpg)
TramasCAN(I)• ElprotocoloCANdefinecuatro:posdemensajes:
– Tramasdedatos(DataFrame).Transmiteinformacióndeunnodoacualquieradelosrestantes
– Tramaremota(RemoteFrame).EsunatramadedatosconelbitRTR=1– Tramasdeerror.Generadaspornodosquedetectancualquieradelos
erroresdeprotocolodefinidosporCAN.– Tramasdeoverload.Generadaspornodosquenecesitanmás:empopara
procesarlosmensajesyarecibidos• Latramadedatosestáformadaporcamposqueproporcionan
informaciónadicionalsobrelosmensajesdefinidosenCAN– Campodearbitraje– Campodecontrol– Campodedatos– CampodedeCRC– Finaldetrama
![Page 18: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/18.jpg)
TramasCAN(II)
• Campodearbitraje.Seu:lizaparapriorizarlosmensajesenelbus.Formadopor12o32bits– Tramaestándar:11bitsdeiden:ficaciónyunbitRTR– Tramaextendida:29bitsdeiden:ficación,1bitparadefinirelmensajecomo
tramaextendida,unbitSRRnousado,unbitRTR• Campodecontrol.Formadopor6bits.
– ElbitIDE(oRB1enextendida)demayorpeso,significatramaextendida– ElbitRB0esreservado– Loscuatrodemenorpesodefinenlalongituddelosdatos(DLC).
• Campodedatos.NºdebytesdeterminadoporDLC.LosRFno:enencampodedatos.
• CampodeCRC.15bitsyundelimitadorCRC.U:lizadoporreceptoresparadeteccióndeerroresdetransmisión
• Campodeconfirmación(ACK).Elnodoreceptorindicarecepcióncorrectadelmensaje,poniendounbitdominanteenelflagACKdelatrama.
![Page 19: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/19.jpg)
TramasCAN(III)
Tramadedatosestandar
![Page 20: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/20.jpg)
TramasCAN(IV)
Tramadedatosextendida
![Page 21: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/21.jpg)
TramasCAN(V)
TramaRemota
![Page 22: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/22.jpg)
TramasCAN(VI)
Tramadeerror
![Page 23: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/23.jpg)
TramasCAN(VII)
Tramaoverload
![Page 24: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/24.jpg)
Deteccióndeerrores• ErrorCRC.Sialmenosunnodonorecibecorrectamenteelmensaje,éste
generalatramadeerroryelmensajeesreenviado.• ErrordeACK.ElnodotransmisorcompruebasielflagACK,enviadocomo
recesivo,con:eneunbitdominante.Estebitdominantereconoceráquealmenosunnodoharecibidocorrectamenteelmensaje.
• Errordeforma.Sicualquiernododetectaunbitdominanteenunodeloscuatrosegmentosdelmensaje:Finaldetrama,espacioentretramas,delimitadorACKodelimitadorCRC,elprotocoloCANdefineestocomounaviolacióndelaforma.
• Errordebit.Siuntrasmisorenvíaunbitdominanteydetectaunbitrecesivo(oviceversa)cuandomonitoreaelniveldelbusactualylocomparaconelbitenviado.SeexcluyeelbitACKyelarbitraje.
• Errordestuff.Losnodosreceptoressesincronizanconlatransición.Sihaymásde5bitsdelamismapolaridad,CANponeunbitdepolaridadopuesta(stuffingbit).Sisedetectan6bitsconlamismapolaridadseproduceunerrordestuff.
![Page 25: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/25.jpg)
Estadosdeerror
• Loserroresdetectadossehacenpúblicosatodoslosotrosnodosatravésdetramasdeerroroflagsdeerror•Latrasmisióndeunmensajeerróneoseabortaylatramaserepitecuandoelnodoganeelbusdenuevo.
• Cadanodo:eneunodelostresestadosdeerror– Errorac:vo.Unnodoesdeerrorac:vocuandoloscontadores
error<128.Nododeoperaciónnormal,permi:endoalnodotransmi:ryrecibir.
• Errorpasivo.Unnodoseponeenerrorpasivocuandoloscontadoreserror>127.Elnodonoestápermi:doparatrasmi:rflagsdeerrorac:vo.– Busoff.Unnodoentraenestadobus‐offcuandoelcontador
deerrordetrasmisiónesmayorde255.Elnodonopuedeenviarorecibirmensajes.
![Page 26: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/26.jpg)
Implementacióndelsistema
ControladorMCP2510
![Page 27: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/27.jpg)
Caracteris:casMCP2510
• MotordeprotocoloCAN
• Controllógico• ProtocoloSPI• Pinesdeinterrupción(uno
gerenal+dosdelosregistrosreceptores(opcional)
• Pinesdeiniciodetransmisióninmediata(opcional)
![Page 28: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/28.jpg)
Velocidaddetransmisiónversusdistanciadelcable
![Page 29: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/29.jpg)
Carácterís:caseléctricasISO11898‐2
Aspectodelbus Aspectodecadanodo
‐Elcabledebeterminarseenambosextremosporlaimpedanciadecargade120Ohm‐ElcontroladorCANseconectaconelTransceivervíaserie.
![Page 30: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/30.jpg)
Nivelesdetensiónnominales
‐ElnododetectaunacondiciónrecesivadelbuscuandoelvoltajedeCAN_HnoesmásaltoqueelvoltajedeCAN_Lmas0.5V‐SielvoltajedeCAN_Hesalmenos0.9VmasaltoqueCAN_L,sedetectaráunacondicióndominante‐ElvoltajenominalenelestadodominanteesCAN_H=3.5VyCAN_L=1.5V
![Page 31: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/31.jpg)
ProtecciónfrenteainterferenciasElectromagné:cas,EMI Asignacióndepines
Debidoalanaturalezadiferencialdelatransmisión,laseñalCANespocosensiblealasinterferenciaselectromagné:cas,debidoaqueambaslíneassonafectadasporigual,yelamplificadordiferencialdelreceptorlascancela(Rechazoenmodocomún)
![Page 32: Introdución a CAN BUS](https://reader036.vdocuments.pub/reader036/viewer/2022082218/587c91d61a28abfa5e8b5563/html5/thumbnails/32.jpg)
Referencias
• htp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1469
• htp://www.unitrain‐i.de/443/Courses/Courses_with_experiment_cards/Automo:ve_technology/CAN‐Bus.htm