CAN总线外文文献及译稿.docx
《CAN总线外文文献及译稿.docx》由会员分享,可在线阅读,更多相关《CAN总线外文文献及译稿.docx(10页珍藏版)》请在冰点文库上搜索。
![CAN总线外文文献及译稿.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/f2b7976a-0eb1-4735-9505-4c65d2883d1c/f2b7976a-0eb1-4735-9505-4c65d2883d1c1.gif)
CAN总线外文文献及译稿
CANBusProtocol
Introduction
ControllerAreaNetwork(CAN)wasinitiallycreatedbyGermanautomotivesystemsupplierRobertBoschinthemid-1980sforautomotiveapplicationsasamethodforenablingrobustserialcommunication.Thegoalwastomakeautomobilesmorereliable,safeandfuel-efficientwhiledecreasingwiringharnessweightandcomplexity.Sinceitsinception,theCANprotocolhasgainedwidespreadpopularityinindustrialautomationandautomotive/truckapplications.Othermarketswherenetworkedsolutionscanbringattractivebenefitslikemedicalequipment,testequipmentandmobilemachinesarealsostartingtoutilizethebenefitsofCAN.ThegoalofthisapplicationnoteistoexplainsomeofthebasicsofCANandshowthebenefitsofchoosingCANforembeddedsystemsnetworkedapplications.
CANOverview
Mostnetworkapplicationsfollowalayeredapproachtosystemimplementation.Thissystemeticapproachenablessinteroperabilitybetweenproductsfromdifferentmanufacturers.AstandardwascreatedbytheInternationalStandardsOrganization(ISO)asatemplatetofollowforthislayeredapproach.ItiscalledtheISOOpenSystemsInterconnection(OSI)NetworkLayeringReferenceModel.TheCANprotocolitselfimplementsmostofthelowertwolayersofthisreferencemodel.ThecommunicationmediumportionofthemodelwaspurposelyleftoutoftheBoschCANspecificationtoenablesystemdesignerstoadaptandoptimizethecommunicationprotocolonmultiplemediaformaximumflexibility(twistedpair,singlewire,opticallyisolated,RF,IR,etc.).Withthisflexibility,however,comesthepossibilityofinteroperabilityconcerns.Toeasesomeoftheseconcerns,theInternationalStandardsOrganizationandSocietyofAutomotiveEngineers(SAE)havedefinedsomeprotocolsbasedonCANthatincludetheMediaDependentsInterfacedefinitionsuchthatallofthelowertwolayersarespecified.
ISO11898isastandardforhigh-speedapplications,ISO11519isastandardforlow-speedapplications,andJ1939(fromSAE)istargetedfortruckandbusapplications.Allthreeoftheseprotocolsspecifya5Vdifferentialelectricalbusasthephysicalinterface.TherestofthelayersoftheISO/OSIprotocolstackarelefttobeimplementedbythesystemsoftwaredeveloper.HigherLayerProtocols(HLPs)aregenerallyusedtoimplementtheupperfivelayersoftheOSIReferenceModel.
HLPsareusedto:
1)Standardizestartupproceduresincludingbitratesused,
2)Distributeaddressesamongparticipatingnodesortypesofmessages,
3)Determinethestructureofthemessages,and
4)Providesystem-levelerrorhandlingroutines.ThisisbynomeansafulllistofthefunctionsHLPsperform;howeveritdoesdescribesomeoftheirbasicfunctionality.
CANProtocolBasics
CarrierSenseMultipleAccesswithCollisionDetection(CSMA/CD)
TheCANcommunicationprotocolisaCSMA/CDprotocol.TheCSMAstandsforCarrierSenseMultipleAccess.Whatthismeansisthateverynodeonthenetworkmustmonitorthebusforaperiodofnoactivitybeforetryingtosendamessageonthebus(CarrierSense).Also,oncethisperiodofnoactivityoccurs,everynodeonthebushasanequalopportunitytotransmitamessage(MultipleAccess).TheCDstandsforCollisionDetection.Iftwonodesonthenetworkstarttransmittingatthesametime,thenodeswilldetectthe‘collision’andtaketheappropriateaction.InCANprotocol,anondestructivebitwisearbitrationmethodisutilized.Thismeansthatmessagesremainintactafterarbitrationiscompletedevenifcollisionsaredetected.Allofthisarbitrationtakesplacewithoutcorruptionordelayofthehigherprioritymessage.
Thereareacoupleofthingsthatarerequiredtosupportnon-destructivebitwisearbitration.First,logicstatesneedtobedefinedasdominantorrecessive.Second,thetransmittingnodemustmonitorthestateofthebustoseeifthelogicstateitistryingtosendactuallyappearsonthebus.CANdefinealogicbit0asadominantbitandalogicbit1asarecessivebit.
Adominantbitstatewillalwayswinarbitrationoverarecessivebitstate,thereforethelowerthevalueintheMessageIdentifier(thefieldusedinthemessagearbitrationprocess),thehigherthepriorityofthemessage.Asanexample,supposetwonodesaretryingtotransmitamessageatthesametime.Eachnodewillmonitorthebustomakesurethebitthatitistryingtosendactuallyappearsonthebus.Thelowerprioritymessagewillatsomepointtrytosendarecessivebitandthemonitoredstateonthebuswillbeadominant.Atthatpointthisnodelosesarbitrationandimmediatelystopstransmitting.Thehigherprioritymessagewillcontinueuntilcompletionandthenodethatlostarbitrationwillwaitforthenextperiodofnoactivityonthebusandtrytotransmititsmessageagain.
Message-BasedCommunication
CANprotocolisamessage-basedprotocol,notanaddressbasedprotocol.Thismeansthatmessagesarenottransmittedfromonenodetoanothernodebasedonaddresses.EmbeddedintheCANmessageitselfisthepriorityandthecontentsofthedatabeingtransmitted.Allnodesinthesystemreceiveeverymessagetransmittedonthebus(andwillacknowledgeifthemessagewasproperlyreceived).Itisuptoeachnodeinthesystemtodecidewhetherthemessagereceivedshouldbeimmediatelydiscardedorkepttobeprocessed.Asinglemessagecanbedestinedforoneparticularnodetoreceive,ormanynodesbasedonthewaythenetworkandsystemaredesigned.Forexample,anautomotiveairbagsensorcanbeconnectedviaCANtoasafetysystemrouternodeonly.Thisrouternodetakesinothersafetysysteminformationandroutesittoallothernodesonthesafetysystemnetwork.Thenalltheothernodesonthesafetysystemnetworkcanreceivethelatestairbagsensorinformationfromtherouteratthesametime,acknowledgeifthemessagewasreceivedproperly,anddecidewhethertoutilizethisinformationordiscardit.
AnotherusefulfeaturebuiltintotheCANprotocolistheabilityforanodetorequestinformationfromothernodes.ThisiscalledaRemoteTransmitRequest(RTR).Thisisdifferentfromtheexampleinthepreviousparagraphbecauseinsteadofwaitingforinformationtobesentbyaparticularnode,thisnodespecificallyrequestsdatatobesenttoit.
Oneadditionalbenefitofthismessage-basedprotocolisthatadditionalnodescanbeaddedtothesystemwithoutthenecessitytoreprogramallothernodestorecognizethisaddition.Thisnewnodewillstartreceivingmessagesfromthenetworkand,basedonthemessageID,decidewhethertoprocessordiscardthereceivedinformation.
CANMessageFrameDescription
CANprotocoldefinefourdifferenttypesofmessages(orFrames).ThefirstandmostcommontypeofframeisaDataFrame.Thisisusedwhenanodetransmitsinformationtoanyorallothernodesinthesystem.SecondisaRemoteFrame,whichisbasicallyaDataFramewiththeRTRbitsettosignifyitisaRemoteTransmitRequest.Theothertwoframetypesareforhandlingerrors.OneiscalledanErrorFrameandoneiscalledanOverloadFrame.ErrorFramesaregeneratedbynodesthatdetectanyoneofthemanyprotocolerrorsdefinedbyCAN.Overloaderrorsaregeneratedbynodesthatrequiremoretimetoprocessmessagesalreadyreceived.
DataFramesconsistoffieldsthatprovideadditionalinformationaboutthemessageasdefinedbytheCANspecification.EmbeddedintheDataFramesareArbitrationFields,ControlFields,DataFields,CRCFields,a2-bitAcknowledgeFieldandanEndofFrame.
TheArbitrationFieldisusedtoprioritizemessagesonthebus.SincetheCANprotocoldefinesalogical0asthedominantstate,thelowerthenumberinthearbitrationfield,thehigherprioritythemessagehasonthebus.Thearbitrationfieldconsistsof12-bits(11identifierbitsandoneRTRbit)or32-bits(29identifierbits,1-bittodefinethemessageasanextendeddataframe,anSRRbitwhichisunused,andanRTRbit),dependingonwhetherStandardFramesorExtendedFramesarebeingutilized.ThecurrentversionoftheCANspecification,version2.0B,defines29-bitidentifiersandcallsthemExtendedFrames.PreviousversionsoftheCANspecificationdefined11-bitidentifierswhicharecalledStandardFrames.
Asdescribedintheprecedingsection,theRemoteTransmitRequest(RTR)isusedbyanodewhenitrequiresinformationtobesenttoitfromanothernode.ToaccomplishanRTR,aRemoteFrameissentwiththeidentifieroftherequiredDataFrame.TheRTRbitintheArbitrationFieldisutilizedtodifferentiatebetweenaRemoteFrameandaDataFrame.IftheRTRbitisrecessive,thenthemessageisaRemoteFrame.IftheRTRbitisdominant,themessageisaDataFrame.
TheControlFieldconsistsofsixbits.TheMSBistheIDEbit(signifiesExtendedFrame)whichshouldbedominantforStandardDataFrames.ThisbitdeterminesifthemessageisaStandardorExtendedFrame.InExtendedFrames,thisbitisRB1anditisreserved.ThenextbitisRB0anditisalsoreserved.ThefourLSBsaretheDataLengthCode(DLC)bits.TheDataLengthCodebitsdeterminehowmanydatabytesareincludedinthemessage.ItshouldbenotedthataRemoteFramehasnodatafield,regardlessofthevalueoftheDLCbits.TheDataFieldconsistsofthenumberofdatabytesdescribedintheDataLengthCodeoftheControlField.TheCRCFieldconsistsofa15-bitCRCfieldandaCRCdelimiter,andisusedbyreceivingnodestodetermineiftransmissionerrorshaveoccurred.
TheAcknowledgeFieldisutilizedtoindicateifthemessagewasreceivedcorrectly.Anynodethathascorrectlyreceivedthemessage,regardlessofwhetherthenodeprocessesordiscardsthedata,putsadomi