# Display Serial Interface

Das Display Serial Interface (DSI) ist eine Spezifikation der MIPI Alliance, die die Kosten für Display-Controller in einem mobilen Gerät reduziert. Es ist allgemein auf LCD- und ähnliche Display-Technologien ausgerichtet. DSI definiert einen seriellen Bus und ein Kommunikationsprotokoll zwischen dem Host (Quelle der Bilddaten) und dem Gerät (Ziel der Bilddaten). Die Schnittstelle ist closed source, das heißt die Spezifikation der Schnittstelle ist nicht offengelegt für die Allgemeinheit. Die Pflege der Schnittstelle obliegt der MIPI Alliance. Hier können nur juristische Personen (bspw. Firmen) Mitglied sein. Diese Mitglieder bzw. die durch sie beauftragten und approbierten Personen haben Zugriff auf die Spezifikation, um sie in Applikationen zu verwenden.

## Design

Auf der physikalischen Schicht bezeichnet DSI einen schnellen seriellen und differentiell ausgeführten Punkt-zu-Punkt-Bus. Dieser Bus besteht aus einer High-Speed-Clock-Lane (Leitungspaar) und einer oder mehreren Daten-Lanes. Bis auf die bidirektionale Lane 0, die im Bus-Turnaround-Betrieb (BTA) arbeiten kann, verlaufen alle Lanes (Leitungspaare) vom DSI-Host zum DSI-Device. Die zu übertragenden Bilddaten werden auf die jeweils vorliegende Anzahl an Daten-Lanes verteilt.
Die DSI-Verbindung arbeitet entweder im Low-Power- (LP) oder im High-Speed-Modus (HS). Im LP-Modus wird die Taktleitung deaktiviert und der Takt stattdessen in die Daten eingebettet. Die Datenrate dieses Modus ist zu gering um ein Display anzusteuern, für Konfigurationsinformationen und Steuerbefehle ist sie jedoch ausreichend. Im HS-Modus taktet die Taktleitung die Übertragung auf den Datenleitungen. Die Taktfrequenz richtet sich dabei nach den Anforderungen des verwendeten Displays, wobei der HS-Modus wegen seines differentiellen Aufbaus trotz der hohen Frequenzen stromsparend arbeitet.
Das Kommunikationsprotokoll beschreibt zwei Befehlssätze. Das Display Command Set (DCS) besteht aus allgemeinen Befehlen für die Steuerung des Displays, deren Format der DSI-Standard spezifiziert. Es definiert Register und deren Operation, außerdem grundlegende Befehle wie Sleep, Enable und Invertieren der Anzeige. Der Manufacturer Command Set (MCS) ist ein gerätespezifischer Befehlsbereich, der vom Display-Hersteller definiert wird. Es enthält häufig Befehle wie beispielsweise zum Programmieren nichtflüchtigen Speichers, Setzen bestimmter Display-Register (z. B. zur Gamma-Korrektur) oder Ausführen von nicht im DSI-Standard beschriebenen Aktionen. Das Format beider Sätze wird durch den DSI-Standard festgelegt. Es gibt sog. Short Packets (4 Bytes Länge) und Long Packets (bis zu 2$^{16}$ Bytes), jeweils zusammengesetzt aus DataID, Word Count, Error Correction Code (ECC), Payload (eigentliche Daten) und Prüfsumme (CRC). Host-Befehle zum Rücklesen von Daten des Display lösen ein BTA-Ereignis aus (Bus-Turnaround). Ein Display selbst kann keine Übertragung auslösen, es kann nur auf Host-Anfragen antworten.
Die Bilddaten auf dem Bus werden mit horizontaler und vertikaler Austastlücke gesendet, außerdem in Echtzeit auf das Display gezeichnet und nicht vom Gerät gespeichert, was einfachere Displays ohne Framebuffer ermöglicht. Andererseits muss das Display permanent (mit 30 oder 60 Bildern pro Sekunde) aufgefrischt werden, weil es sonst das Bild verliert. Bilddaten werden nur im HS-Modus gesendet. Im HS-Modus werden Befehle während der vertikalen Austastlücke übertragen.

## Anwendungsbereiche

Es kann z. B. zur Steuerung von Displays und Touch Controls verwendet werden.