Está en la página 1de 32

IntroduccinalbusCAN

SistemasEmbebidos

RazonesdelCAN
Anteelincrementodelnumerodedisposi:vos electrnicosenlosautomviles,lasnecesiadadesde cableadoysucomplejidadaumentarn. Prontosevilaposibilidaddeconectartodoslos disposi:vosaunbusquedebadeserable,robusto, altainmunidadalruido,etc. Adem,elbusdebapoderpermi:raltasvelocidades detransmisinenentornosdicilesporla temperatura,vibraciones,interferencias,etc. Ademsdelautomvil,encuentragranu:lidadcomo busdecampoendiversasaplicacionesindustriales.

Historia
CAN(ControllerAreaNetwork),busseriepatentadoporla compaiaRobertBosch(1982). Inicialmentesepensenelcomobusdecampo,perodonde realmenteencontru:lidadfuenelsectordelautomvil,para interconectarelbusdeconfor,seguridad,etc. ElMercedesClaseEfueelprimercocheenincorporarelbusCAN, 10aosdespus(1992). Fudiseadoparapermi:rlacomunicacinableentrecentralitas electrnicasbasadasenmicoprocesador,ECUs(ElectronicControl Unit)yreducircableado. EnEuropasehaconver:doenunestndardefacto,concarcter internacionalydocumentadopornormasISO(ISO11898). Ventajas:reduccindecostes,mejoraexibilidad

ElbusCANesunprotocoloserieasncronodel:po CSMA/CD(CarrierSenseMul:pleAccesswith CollisionDetec:on). Elbusesunmediocompar:do(mul:plexado). SetratadeunprotocoloMul:cast,esdecir,todoel mundopuedehablar(deunoenuno)yescuchar. CSMA:cadanododelareddebemonitorizarelbusy sidetectaquenohayac:vidad,puedeenviarun mensaje. CD:si2nodosdelaredcomienzanatransmi:run mensaje,ambosdetectanlacolisin.Unmtodode arbitracinbasadoenprioridadesresuelveelconicto.

Seu:lizaunpardecablestrenzados(busdiferencial)para conseguiraltainmunidadalasinterferencias electromagn:cas(EMIs).Enalgunoscasospuedeir apantallado. Laimpedanciacaracteris:cadeestalineaesdelordende 120porloqueseepleanimpedancias(resistencias)de estevalorparaenambosextremosdelbusparaevitar ondasreejadasyqueelbusseconviertaenunaantena. Longitudmximade1000m(a40Kbps). Velocidadmximade1Mbps(conunalongitudde40m) Enloscochesseu:lizaa125kbit/sya500kbit/s.

ModelodecapasenelbusCAN

Modelodecapas
Capadeenlacededatos
Controldeenlacelgico(LLC)
Seencargadelosltrosdelosmensajes Proporcionaserviciosdurantelatransferenciadedatosydurantelape:cindedatos remotos DecidequemensajesrecibidosdeMACseaceptan Proporcionamediosparaelrestablecimientoyparano:carlasobrecargadelbus RepresentaelncleodelprotocoloCAN PresentalosmensajesrecibidosalasubcapaLLCyaceptalosmensajesparaser transmi:dosadichasubcapa Esresponsabledelatramademensajes,arbitraje,reconocimiento,deteccindeerrory sealizacin Enestasubcapasedecidequesielbusestlibreparacomenzarunanuevatransmisino silarecepcinacabadecomenzar

Controldeaccesoalmedio(MAC)

CapaFsica

Denequesealessetransmiten.Trataladescripcindelbitdecronometraje, lacodicacindebitylasincronizacin

PropiedadesdelCAN
Priorizacindelmensaje Garanjadelos:emposderetardo Flexibilidaddelaconguracin Recepcinml:plecon:emposdesincronizacin Robustezensistemasdeampliosdatos Mul:maestro Deteccindeerrorysealizacin Retransmisinautom:cademensajescorruptostan prontocomoelbusestlibredenuevo. Dis:ncinentreerrorestemporalesyfallospermanentes denodos,ydesconexinautom:cadenodosdefectuosos.

Conceptosbsicos(I)
Caracters:casdelosMensajesCAN RutadelaInformacin(unnodonou:lizatodalainformacinprocesada)
Flexibilidaddelsistema.Seaadennodossinrealizarcambioalguno Rutadelosmensajes
Elcontenidodeunmensajeseespecicaconuniden:cador Eliden:cadornoindicaeldes:no,sinodescribeelsignicadodelmensaje

Formatojodemensajescondiferentelongitud(limitada) Cuandoelbusestlibrecualquierunidadpuedecomenzaratransmi:r

Mul:cas:ng.Cualquiercan:daddenodospuederecibirelmismomensaje simultneamente. Robustezdelosdatos.Segaran:zaqueunmensajeseasimultneamenteaceptadopor algunodelosnodos(otodos).

Velocidaddetransmisin Prioridades

Puedeserdiferenteendis:ntossistemas.Enunsistemalavelocidaddebedeseruniforme Eliden:cadordenelaprioridaddelmensaje Seenvaunatramaremotadepe:cindetrama,secontestaconlatrama. Ambas:enenelmismoiden:cador

Pe:cindedatosremoto

Conceptosbsicos(II)
Mul:maestro
Sielbusestlibre,cualquiernodopuedecomenzaratransmi:r unmensaje Cuandodosnodoscomienzanatransmi:rsimultneamente

Cuandounatramadedatosyunatramaremotaseinicianal mismo:empoprevalecelaprimera Duranteelarbitrajetodoslostransmisorescomparanelnivel delbittransmi:doconelniveldelbus

Elconictodeaccesoalbusesresueltoporarbitrajeu:lizandoel iden:cador Elmecanismodearbitrajegaran:zaquenilainformacinniel:empo sepierdan

Silosnivelessoniguales,launidadpuedeenviar Sisondis:ntos,launidadpierdeelarbitrajeydebere:rarsesinenviar otrobit

Conceptosbsicos(III)
Seguridad
EntodoslosnodosCANseimplementanmedidasespecialesparala deteccindeerrores,sealizacinyautochequeo Deteccindeerror
Monitorizacin(comparacindenivelesdebit) CRC BitStung Chequeodelatramademensaje

Sealizacindeerrory:empoderestablecimiento

Losmensajescorruptossonreconocidosporcualquiernodo Estosmensajesseabortanysetranserenautom:camente El:empoderestablecimientodesdeladeteccindelerroresde31bits LosnodosCANdis:nguen Perturbacionescortas Fallospermanentes.Estosnodospordefectosedesconectan

Conceptosbsicos(IV)
Conexiones
No:enenlmiteterico Enlaprc:caelnmerototaldeunidadesestarlimitadoporel :empoylascargaselctricas Elbussecomponedeunnicocanaldetransmisin Laformadeimplementacinnosejaenlasespecicaciones
nicohilo Doshilosdiferenciales Fibrap:ca,etc.

Unnicocanal

ValoresdeBus(Dominanteorecesivo) Reconocimiento.Todoslosreceptorescompruebanlaabilidaddel mensaje Modosleep/wakeup.Modoahorrodeconsumodepotencia

ProtocoloCAN(I)
EsunprotocoloCSMA/CD(CarrierSenseMul:pleAccess,withCollision Detec:on).TcnicaparaMAC. ConCSMA,
Todonodoenlaredmonitoreaelbusporunperiododenoac:vidadantesde intentarenviarunmensaje(CS) Enunperiododenoac:vidad,todonododelbus:enelamismaoportunidad detransmi:runmensaje(MA) CANparaevitarestou:lizaunmtododearbitraje Unnodoesperaconrmacinunacan:dadde:emporazonabledespusde transmi:r Hayquetenerencuentaelretardodepropagacinyqueelnodoque conrmadebecompe:rtambinporconseguirelmediopararesponder. Sinollegarespuestaelnodosuponequesehaproducidounacolisiny retransmite

ElCDseencargadeladeteccinantecolisiones(dosnodoscomienzana retransmi:ralmismo:empo)

ProtocoloCAN(II)
ReglasparaCSMA/CD
Elnodotransmitesielmedioestlibre,sinoseaplicala regla2 Sielmedioseencuentraocupado,laestacincon:na escuchandohastaqueencuentralibreelbus,encuyocaso transmiteinmediatamente. Sidetectaunacolisindurantelatransmisin,losnodos trasmitenunasealparaasegurarsedequetodaslas estacionesconstatanlaproduccindecolisinycesande transmi:r Despusdetransmi:rlasealseesperaunacan:dadde :empoaleatorio,trasloqueintentatransmi:rdenuevo.

ProtocoloCAN(III)
ElCANdebecumplirdospremisas Elestadodebitdominantesiempreganararbitrajesobreel recesivo(elvalormsbajodelid.delmensajeeselmsprioritario) Ejemplo
Necesitandenirsedosestadoslgicos(dominante=0) Elnodoemisormonitorearelbusparaverelestadolgico

Dosnodosintentantransmi:runmensajesimultneamente Cadanodomonitorizarelbusparaestarsegurodelbitqueest intentandoenviarenesemomento Elmensajedemenosprioridadintentarenviarunbitrecesivoyel estadoledoenelbusserdominante. Elnodopierdeelarbitrajeydejadetransmi:r Elmensajedemsprioridadcon:nuarhastaacabaryelnodoqueha perdidointentartransmi:rdenuevoenelsiguienteperiododeno ac:vidad

Resumendelprotocolo
ElprotocoloCanestbasadoenmensajes(no:ene direccionamientodenodoanodo). Lapriorizacinyeldireccionamentoestacontenidoenlosdatos transmi:dos Todoslosnodosdelsistemarecibentodalainformacintransmi:da Cadanododecidesielmensajeotramadebeserdescartadoo aceptado Unnicomensajepuededes:narseparaunnodoenpar:cularo paravarios Unnodo:enelahabilidaddepedirinformacindeotrosnodos (RemoteTransmitRequest) Puedenaadirsenodosadicionalessinnecesidaddecambios

TramasCAN(I)
ElprotocoloCANdenecuatro:posdemensajes:
Tramasdedatos(DataFrame).Transmiteinformacindeunnodoa cualquieradelosrestantes Tramaremota(RemoteFrame).EsunatramadedatosconelbitRTR=1 Tramasdeerror.Generadaspornodosquedetectancualquieradelos erroresdeprotocolodenidosporCAN. Tramasdeoverload.Generadaspornodosquenecesitanms:empopara procesarlosmensajesyarecibidos Campodearbitraje Campodecontrol Campodedatos CampodedeCRC Finaldetrama

Latramadedatosestformadaporcamposqueproporcionan informacinadicionalsobrelosmensajesdenidosenCAN

TramasCAN(II)
Campodearbitraje.Seu:lizaparapriorizarlosmensajesenelbus. Formadopor12o32bits
Tramaestndar:11bitsdeiden:cacinyunbitRTR Tramaextendida:29bitsdeiden:cacin,1bitparadenirelmensajecomo tramaextendida,unbitSRRnousado,unbitRTR ElbitIDE(oRB1enextendida)demayorpeso,signicatramaextendida ElbitRB0esreservado Loscuatrodemenorpesodenenlalongituddelosdatos(DLC).

Campodecontrol.Formadopor6bits.

Campodedatos.NdebytesdeterminadoporDLC.LosRFno:enen campodedatos. CampodeCRC.15bitsyundelimitadorCRC.U:lizadoporreceptores paradeteccindeerroresdetransmisin Campodeconrmacin(ACK).Elnodoreceptorindicarecepcincorrecta delmensaje,poniendounbitdominanteenelagACKdelatrama.

TramasCAN(III)
Tramadedatosestandar

TramasCAN(IV)
Tramadedatosextendida

TramasCAN(V)
TramaRemota

TramasCAN(VI)
Tramadeerror

TramasCAN(VII)
Tramaoverload

Deteccindeerrores
ErrorCRC.Sialmenosunnodonorecibecorrectamenteelmensaje,ste generalatramadeerroryelmensajeesreenviado. ErrordeACK.ElnodotransmisorcompruebasielagACK,enviadocomo recesivo,con:eneunbitdominante.Estebitdominantereconocerqueal menosunnodoharecibidocorrectamenteelmensaje. Errordeforma.Sicualquiernododetectaunbitdominanteenunodelos cuatrosegmentosdelmensaje:Finaldetrama,espacioentretramas, delimitadorACKodelimitadorCRC,elprotocoloCANdeneestocomo unaviolacindelaforma. Errordebit.Siuntrasmisorenvaunbitdominanteydetectaunbit recesivo(oviceversa)cuandomonitoreaelniveldelbusactualylo comparaconelbitenviado.SeexcluyeelbitACKyelarbitraje. Errordestu.Losnodosreceptoressesincronizanconlatransicin.Si haymsde5bitsdelamismapolaridad,CANponeunbitdepolaridad opuesta(stungbit).Sisedetectan6bitsconlamismapolaridadse produceunerrordestu.

Estadosdeerror
Loserroresdetectadossehacenpblicosatodoslosotros nodosatravsdetramasdeerroroagsdeerrorLa trasmisindeunmensajeerrneoseabortaylatramase repitecuandoelnodoganeelbusdenuevo. Cadanodo:eneunodelostresestadosdeerror

Errorpasivo.Unnodoseponeenerrorpasivocuandolos contadoreserror>127.Elnodonoestpermi:dopara trasmi:ragsdeerrorac:vo.


Buso.Unnodoentraenestadobusocuandoelcontador deerrordetrasmisinesmayorde255.Elnodonopuede enviarorecibirmensajes.

Errorac:vo.Unnodoesdeerrorac:vocuandoloscontadores error<128.Nododeoperacinnormal,permi:endoalnodo transmi:ryrecibir.

Implementacindelsistema
ControladorMCP2510

Caracteris:casMCP2510
MotordeprotocoloCAN Controllgico ProtocoloSPI Pinesdeinterrupcin(uno gerenal+dosdelosregistros receptores(opcional) Pinesdeiniciodetransmisin inmediata(opcional)

Velocidaddetransmisinversus distanciadelcable

Carcters:caselctricas
ISO118982

Aspectodelbus

Aspectodecadanodo

Elcabledebeterminarseenambosextremosporlaimpedanciadecargade120Ohm ElcontroladorCANseconectaconelTransceivervaserie.

Nivelesdetensinnominales

ElnododetectaunacondicinrecesivadelbuscuandoelvoltajedeCAN_H noesmsaltoqueelvoltajedeCAN_Lmas0.5V SielvoltajedeCAN_Hesalmenos0.9VmasaltoqueCAN_L,sedetectar unacondicindominante ElvoltajenominalenelestadodominanteesCAN_H=3.5VyCAN_L=1.5V

Proteccinfrenteainterferencias Electromagn:cas,EMI

Asignacindepines

Debidoalanaturalezadiferencialdelatransmisin,lasealCANespoco sensiblealasinterferenciaselectromagn:cas,debidoaqueambaslneasson afectadasporigual,yelamplicadordiferencialdelreceptorlascancela(Rechazoen modocomn)

Referencias
htp://www.microchip.com/stellent/idcplg? IdcService=SS_GET_PAGE&nodeId=1469 htp://www.unitraini.de/443/Courses/ Courses_with_experiment_cards/ Automo:ve_technology/CANBus.htm

También podría gustarte