Вы находитесь на странице: 1из 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

Prioridades

Puedeserdiferenteendis:ntossistemas.Enunsistemalavelocidaddebedeseruniforme
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

Вам также может понравиться