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
Controldeaccesoalmedio(MAC)
RepresentaelncleodelprotocoloCAN
PresentalosmensajesrecibidosalasubcapaLLCyaceptalosmensajesparaser
transmi:dosadichasubcapa
Esresponsabledelatramademensajes,arbitraje,reconocimiento,deteccindeerrory
sealizacin
Enestasubcapasedecidequesielbusestlibreparacomenzarunanuevatransmisino
silarecepcinacabadecomenzar
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
Formatojodemensajescondiferentelongitud(limitada)
Cuandoelbusestlibrecualquierunidadpuedecomenzaratransmi:r
RutadelaInformacin(unnodonou:lizatodalainformacinprocesada)
Flexibilidaddelsistema.Seaadennodossinrealizarcambioalguno
Rutadelosmensajes
Elcontenidodeunmensajeseespecicaconuniden:cador
Eliden:cadornoindicaeldes:no,sinodescribeelsignicadodelmensaje
Mul:cas:ng.Cualquiercan:daddenodospuederecibirelmismomensaje
simultneamente.
Robustezdelosdatos.Segaran:zaqueunmensajeseasimultneamenteaceptadopor
algunodelosnodos(otodos).
Velocidaddetransmisin
Puedeserdiferenteendis:ntossistemas.Enunsistemalavelocidaddebedeseruniforme
Prioridades
Eliden:cadordenelaprioridaddelmensaje
Pe:cindedatosremoto
Seenvaunatramaremotadepe:cindetrama,secontestaconlatrama.
Ambas:enenelmismoiden:cador
Conceptosbsicos(II)
Mul:maestro
Sielbusestlibre,cualquiernodopuedecomenzaratransmi:r
unmensaje
Cuandodosnodoscomienzanatransmi:rsimultneamente
Elconictodeaccesoalbusesresueltoporarbitrajeu:lizandoel
iden:cador
Elmecanismodearbitrajegaran:zaquenilainformacinniel:empo
sepierdan
Cuandounatramadedatosyunatramaremotaseinicianal
mismo:empoprevalecelaprimera
Duranteelarbitrajetodoslostransmisorescomparanelnivel
delbittransmi:doconelniveldelbus
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
Unnicocanal
Elbussecomponedeunnicocanaldetransmisin
Laformadeimplementacinnosejaenlasespecicaciones
nicohilo
Doshilosdiferenciales
Fibrap:ca,etc.
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)
ElCDseencargadeladeteccinantecolisiones(dosnodoscomienzana
retransmi:ralmismo:empo)
CANparaevitarestou:lizaunmtododearbitraje
Unnodoesperaconrmacinunacan:dadde:emporazonabledespusde
transmi:r
Hayquetenerencuentaelretardodepropagacinyqueelnodoque
conrmadebecompe:rtambinporconseguirelmediopararesponder.
Sinollegarespuestaelnodosuponequesehaproducidounacolisiny
retransmite
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
Necesitandenirsedosestadoslgicos(dominante=0)
Elnodoemisormonitorearelbusparaverelestadolgico
Elestadodebitdominantesiempreganararbitrajesobreel
recesivo(elvalormsbajodelid.delmensajeeselmsprioritario)
Ejemplo
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
Latramadedatosestformadaporcamposqueproporcionan
informacinadicionalsobrelosmensajesdenidosenCAN
Campodearbitraje
Campodecontrol
Campodedatos
CampodedeCRC
Finaldetrama
TramasCAN(II)
Campodearbitraje.Seu:lizaparapriorizarlosmensajesenelbus.
Formadopor12o32bits
Tramaestndar:11bitsdeiden:cacinyunbitRTR
Tramaextendida:29bitsdeiden:cacin,1bitparadenirelmensajecomo
tramaextendida,unbitSRRnousado,unbitRTR
Campodecontrol.Formadopor6bits.
ElbitIDE(oRB1enextendida)demayorpeso,signicatramaextendida
ElbitRB0esreservado
Loscuatrodemenorpesodenenlalongituddelosdatos(DLC).
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
Errorac:vo.Unnodoesdeerrorac:vocuandoloscontadores
error<128.Nododeoperacinnormal,permi:endoalnodo
transmi:ryrecibir.
Errorpasivo.Unnodoseponeenerrorpasivocuandolos
contadoreserror>127.Elnodonoestpermi:dopara
trasmi:ragsdeerrorac:vo.
Buso.Unnodoentraenestadobusocuandoelcontador
deerrordetrasmisinesmayorde255.Elnodonopuede
enviarorecibirmensajes.
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