Onderwerpen:
- LIN-bus algemeen
- Recessief en dominant
- Data frames
- Transmit frame en Response frame
- LIN-buscommunicatie van de stoelverwarmingsknop
- LIN-buscomminucatie van de ruitenwissermotor
- Storing in de communicatie met de ruitenwissermotor
LIN-bus algemeen:
De LIN-bus (dit is een afkorting van Local Interconnect Network) werkt niet zoals CAN-bus met twee draden, maar met één draad tussen twee of meerdere regeleenheden. Bij de LIN-bus is er sprake van een master en een slave; de master verzend een bericht en de slave ontvangt dit. De master staat in contact met een van de andere netwerken, zoals de MOST-bus of de CAN-bus.
De master kan een regelapparaat of een simpele schakelaar zijn en de slave een sensor, actuator of een regelapparaat. Dit zou bijvoorbeeld bij de aansturing van een aircocompressor kunnen zijn, of bij de bediening van een raammotor. Hierbij is de schakelaar de master en de raammotor de slave.
Enkele toepassingen waarbij LIN-bus bij de aansturing wordt gebruikt, zijn o.a:
- Schuif- kanteldak
- Spiegelverstelling
- Raammotoren
- Deursloten
- Elektrische stoelverstelling
In de afbeelding rechts zie je hoe LIN-bus kan worden toegepast in een portier. De master is via de CAN-bus (oranje en groene draden) met de gateway verbonden. Aan de master zitten vier slaves gekoppeld; de bovenste voor de spiegelverstelling, daaronder voor de portiergreepelektronica en daaronder links voor het slot en rechts voor de raammotor.
LIN-bus is ten op zichte van CAN-bus simpel en traag. De snelheid van de LIN-bus bedraagt ongeveer 1 tot maximaal 20Kbit/s (tegenover CAN-bus met een maximale snelheid van 20Mb/s). Dit maakt het een stuk goedkoper in de ontwikkeling en de productie van de onderdelen. Omdat het bij de bovengenoemde systemen niet belangrijk is dat deze via een zeer snel netwerk als CAN-bus aan worden gestuurd, is een traag netwerk als LIN-bus voldoende. Verder bedraagt de maximale lengte van de bekabeling 40 meter en kunnen er maximaal 16 regelapparaten (dus tot 16 slaves) aangesloten worden.
De LIN-bus zit aangesloten op de gateway. Via de gateway kan er gecommuniceerd worden met andere type netwerken, zoals de CAN- of MOST-bus.
Recessief en dominant:
De master verzendt een bericht naar de slave. Deze informatie wordt doorgegeven aan de hand van spanningen die 0 volt of 12 volt bedragen. Het LIN-bussignaal kan worden gemeten met de oscilloscoop.
Op punt 1 staat er een spanning van 13 volt op de bus. Op punt 2 start de master met het verzenden van een bericht. De master schakelt de bus aan massa (punt 3). Binnen 0,1 milliseconde stijgt de lijn weer naar 13 volt. In de tijd dat de bus aan massa geschakeld is vindt er een informatieoverdracht plaats.
Wanneer de spanning op de bus gelijk is aan de accuspanning, wordt dat recessief genoemd. Tijdens de recessieve spanning wordt er geen informatie doorgezonden. De recessieve bit is een “0”.
Pas wanneer de bus wordt kortgesloten met massa, wordt er een “1” gevormd. Dit wordt een dominante bit genoemd. In het signaal wordt de bus meerdere keren dominant en dan weer recessief. Ook de tijd dat de bus dominant of recessief is verschilt (de ene horizontale lijn is breder dan de ander). Door deze wisselende spanning wordt een signaal met enen en nullen gevormd.
De hoeveelheid enen en nullen vormen een signaal dat door de slave wordt herkend. De combinatie 01101100010100 kan betekenen: raammotor omhoog. De desbetreffende raammotor zal met dit commando het raam omhoog bewegen. Als het raam de hoogste stand heeft bereikt, zal de raammotor (de slave) een signaal aan de master geven dat hij stopt met aansturen. De LIN-bus wordt in dat geval niet volledig recessief, maar de databytes in het signaal veranderen.
De LIN-bus wordt tijdens het gebruik van de auto nooit volledig recessief; er vindt ten alle tijden een communicatie plaats tussen de master en de slaves. Wanneer de slave niet communiceert doordat de LIN-busdraad onderbroken is, of wanneer de slave een voedings- of massaprobleem heeft en niet ingeschakeld kan worden, dan zal de master ervoor zorgen dat er een foutcode in het regelapparaat wordt opgeslagen.
Data frames:
Een LIN-bussignaal bestaat uit een frame dat is opgebouwd uit verschillende velden. Het onderstaande signaal laat zien hoe een data frame is opgebouwd.
- Break field (Break): het Break field wordt gebruikt om alle aangesloten slaves te activeren om naar de volgende delen van het frame te luisteren. Het breakfield bestaat uit een startbit en tenminste 13 dominante bits (in het dominante deel is de spanning 0 volt), gevolgd door een recessieve bit. Het Break-field dient dus als start-of-frame melding voor alle slaves op de bus.
- Synchronisation field (Synch): vanwege de ontbrekende kristallen in de slaves, moet de transmissietijd bij elk bericht opnieuw bepaald worden. Met behulp van het meten van de tijd tussen de vastgestelde op- en neergaande flanken wordt de masterklok gesynchroniseerd en daarmee de transmissiesnelheid bepaald. De interne baudrate wordt ieder bericht opnieuw berekend.
- Identifier (ID): de identifier geeft aan of het bericht een transmit frame of een response frame is. Het transmit frame wordt door de master verzonden (dit wordt een TX-ID genoemd) en het response frame wordt door de slave verzonden (RX-ID). Beide berichten bevatten het breakfield, de synch en de message ID fields die door de master gegenereerd zijn. Afhankelijk of het een Tx of een Rx frame is, wordt het bericht door de master of de slave aangevuld. De Tx en Rx frames worden afwisselend verzonden. Hiermee kan de master informatie van de slave opvragen. De master verzendt het eerste deel van het bericht tot aan het id-field, de slave vult het aan met alle datablokken tot en met de checksum.
- Datafields (Data 1 & 2): bevatten de databytes en bevat de informatie die verstuurd moet worden (bijvoorbeeld de daadwerkelijke opdracht van de master aan de slave, of sensorinformatie van de slave aan de master).
- Checksum (Check): De checksum is een controleveld waarbij gecontroleerd wordt of dat alle data ontvangen is. Met de data in het checksum field wordt een berekening uitgevoerd die overeen moet komen met de data die is ontvangen in de data fields. Indien de uitkomst positief is, wordt het bericht geaccepteerd. Bij een negatieve uitkomst wordt er een foutafhandeling uitgevoerd. Het wordt in eerste instantie opnieuw geprobeerd.
- Interframe Space (IFS): de LIN-bus wordt een aantal bits recessief gemaakt voordat er een nieuw bericht verstuurd wordt. Na de IFS kan de master een nieuw bericht verzenden.
Tussen de verschillende velden is de bus een bepaalde tijd recessief. Deze tijd is vastgelegd in het protocol. Daarna volgt het Break field van het volgende bericht. Het onderstaande scoopbeeld toont een LIN-busbericht van een ruitenwissermotor.
LIN-buscommunicatie van de stoelverwarmingsknop:
In deze paragraaf wordt een voorbeeld gegeven van aansturing van de stoelverwarming via LIN-bus. In het aircobedieningspaneel zit een knop voor de stoelverwarming. Onder de knop zitten drie LED’s die aangeven in welke stand de stoelverarming staat. Meerdere keren indrukken van de knop zal zorgen voor een andere stand van de stoelverwarming (stand 1 is de laagste en stand 3 is de hoogste stand). In de onderstaande afbeelding branden drie LED’s als indicatie voor de hoogste stand van de stoelverwarming. In deze paragraaf wordt met behulp van een schema uitgelegd hoe de communicatie via de LIN-bus om de LED’s aan te sturen wanneer de schakelaar wordt bediend.
Het onderstaande elektroschema is van de stoelverwarming. Het bedieningspaneel van de airco is tevens het regelapparaat G600. In het bedieningspaneel zijn de schakelaars en de LED’s zichtbaar van de stoelverwarming links en rechts. De pijltjes naast de regelapparaten geven aan dat het regelapparaat groter is dan op het schema weergeven is; het regelapparaat loopt door in andere schema’s.
Bij het indrukken van een stoelverwarmingsknop op het bedieningspaneel geeft deze via de LIN-bus een signaal naar het regelapparaat van de comfortelektronica (G100).
Regelapparaat G100 zal de stoelverwarming inschakelen door pin 21 of 55 op stekker T45 van spanning te voorzien. De spanning wordt afgeregeld op de stand van de schakelaar (weinig spanning in stand 1, maximale spanning in stand 3). Naast het verwarmingselement staat een symbool van een thermovoeler afgebeeld. Dit is een NTC-sensor die de temperatuur naar het regelapparaat stuurt en daarmee de stoelverwarmingselementen tegen oververhitting beveiligd.
Bij het bedienen van de schakelaar zal de slave deze fysieke stand van de schakelaar omzetten naar een bitwaarde. Nadat de master een response frame stuurt, zal de slave deze bitwaarde in de databytes plaatsen (zie de verandering in het Data 1 frame in beeld 2). Deze bitwaarde wordt net zo lang doorgestuurd totdat de schakelaar los wordt gelaten. Als de knop terug is in de ruststand, zal het signaal weer veranderen naar oorspronkelijke signaal (beeld 1).
Beeld 1: signaal met de knop in de ruststand in de response frame:
Beeld 2: signaal met de knop ingedrukt in de response frame:
Nadat de master de bitwaarden van de ingedrukte schakelaar ontvangen heeft, stuurt hij de LED in de schakelaar aan door een bitwaarde in de databytes van de transmit frame te plaatsen. Ook in dat geval verandert het spanningsbeeld in Data 1 of Data 2 zoals in het bovenstaande voorbeeld. De LED blijft net zo lang aanstaan tot dat de master een commando zendt dat de LED uitgeschakeld moet worden.
LIN-buscommunicatie van de ruitenwissermotor:
Steeds vaker wordt de ruitenwissermotor aangestuurd via de LIN-bus. De werking en de voordelen ten opzichte van het conventionele systeem wordt beschreven op de pagina ruitenwissermotor. Op deze pagina worden de signalen onder de loep genomen en worden scoopbeelden getoond van storingen die voor kunnen komen.
Zoals eerder al is beschreven, is er bij LIN-bus sprake van een master en één of meerdere slaves. In het bovenstaande schema is de ECU (regeleenheid centrale elektronica) de master, en zijn de RLS (regen-/ lichtsensor) en RWM (ruitenwissermotor) de slaves. In het onderstaande scoopbeeld zijn drie signalen te zien die achter elkaar op de LIN-bus geplaatst zijn.
In elk signaal zijn duidelijk de Break- en Synch fields te zien. In de daarop volgende signalen is niet af te leiden waar deze van zijn of wat er exact wordt verzonden. Wat we wel weten is dat de master in het Identification field aangeeft voor welke slave het bericht bedoeld is. Ook wordt in het ID-field aangegeven of de slave het bericht moet ontvangen (Transmit frame) of dat de slave een bericht terug moet sturen, dus beantwoorden (Response frame). Een Transmit frame zou kunnen zijn dat de slave de actuator aan moet sturen, zoals het in- of uitschakelen van de ruitenwissermotor. Met een Response frame kan de master aan de regensensor de actuele waarde van het vocht op de voorruit opvragen. Met deze waarde kan de master (de ECU) bepalen met welke snelheid de ruitenwissermotor aangestuurd moet worden. De daadwerkelijke data die moet worden verzonden, wordt in de Data fields geplaatst. Dit kan bijvoorbeeld de snelheid zijn waarmee de ruitenwissermotor aangestuurd dient te worden. Er kunnen meerdere data fields mogelijk zijn.
Het scoopbeeld is bij uitgeschakelde ruitenwissermotor en in een situatie waarbij er geen vocht op de voorruit geregistreerd wordt. Toch vindt er continu communicatie plaats tussen de master en de slaves. De ECU in de ruitenwissermotor herkent een verandering van één of meerdere bits in dit signaal dat hij moet worden ingeschakeld.
Storing in de communicatie met de ruitenwissermotor:
Wanneer de ruitenwissermotor wordt losgekoppeld, probeert de master de slave te bereiken. Dit kan wanneer de motor een voedingsprobleem heeft, of wanneer de LIN-bus draad is onderbroken. De master verzendt de Break, Sync en ID fields met een Respons bit, maar de ruitenwissermotor antwoord niet.
In het oscilloscoopbeeld hiernaast is aan het derde dataframe te zien dat de master het dataframe zendt, maar de slave niet antwoordt. De master zal in dat geval een DTC-storingscode opslaan met betrekking op het communicatieprobleem. Zo’n foutcode wordt aangegeven met U (User Network). Ook zal hij continu proberen om de slave te bereiken om de communicatie te hervatten.
In dit geval dient er op de aangesloten stekker van de ruitenwissermotor te worden gemeten. Op het moment dat de LIN-busdraad onderbroken is, of dat de voeding (12 volt) of massadraad onderbroken zijn, kan de ruitenwissermotor ook niet meer communiceren. Een defecte zekering behoort ook tot de mogelijkheden.
Op de pagina: LIN-bus diagnose worden meerdere storingsscenario’s met oplossingen beschreven.
Gerelateerde pagina: