Die neu entwickelte LIN-Schnittstelle des Mikrocontrollers ermöglicht die Implementierung eines LIN-Masters oder -Slaves und unterstützt die Protokoll-Versionen 2.x und 1.3. Der neue LIN-UART wurde entwickelt, um die Entwicklung eines LIN-Protokoll- Stacks zu vereinfachen und die Prozessorlast sowie die Anzahl der benötigten Interrupts zu reduzieren. Der LIN-UART unterstützt u.a. folgende Funktionen:
Insgesamt stehen für die Verarbeitung des LIN-Protokolls und der LIN-Daten durch die LIN-UART vier Interrupts zur Verfügung:
Der Interrupt LERR ist in der Lage, bis zu acht verschiedene Fehlerfälle automatisch zu erkennen. Dies reicht vom einfachen Checksummen- oder Paritätsfehler über Time-out-Fehler bis hin zu dem Fall, dass ein auf dem Bus empfangenes Bit nicht dem gesendeten Bit entspricht.
Bild 2 zeigt, wie der neue LIN-UART (Pfeile oben) die Interrupt-Last im Vergleich zu einer herkömmlichen UART (Pfeile unten) minimiert.
Bei einer erfolgreich empfangenen oder gesendeten LIN-Nachricht werden lediglich zwei Interrupts ausgelöst. Dies ist auch unabhängig davon, wie viele Datenpakete eine Nachricht enthält. Ein weiterer Vorteil ist, dass für die Auswertung des Synch-Bytes kein zusätzlicher Timer benötigt wird.
Außerdem wird die Checksumme einer LIN-Antwort automatisch berechnet und an die Nachricht angehängt. Dies alles führt zu signifikanten Einsparungen an Ressourcen, Rechenzeit und Flashspeicher.
Zielvorgabe: niedriger Strombedarf
Bei der Entwicklung von LIN-Anwendungen steht neben der Einsparung von Kosten auch die Einhaltung von teilweise strengen Stromanforderungen im Fokus. Ein LIN-Knoten darf im Standby-Betrieb nicht mehr als 100 μA aufnehmen, künftig sogar noch weniger. Dabei gilt, dass der Knoten im Standby-Modus funktionsfähig und vor allem weckbar bleiben muss. Um diesem Kriterium gerecht zu werden, bietet der LIN-SiP verschiedene Kombinationsmöglichkeiten. So verfügt der integrierte SBC über zwei verschiedene Stromsparmodi. Im Sleep- Modus werden Watchdog, LIN-Transceiver und auch der Spannungsregler komplett abgeschaltet. Der Mikrocontroller ist komplett stromlos, der betreffende Knoten kann nur über den SBC wieder aufgeweckt werden. Dies geschieht entweder über ein Wake-up- Signal via LIN oder ein Signal an einem der beiden WAKE-Pins. Die Stromaufnahme im Sleep-Modus liegt typischerweise bei 10 μA.