Anmerkung
Die MIPI-Schnittstelle wird heute zu einer immer beliebteren Schnittstelle für den Anschluss von Kameras und Displays. Aus diesem Grund enthalten immer mehr FPGA-basierte Debugging-Kits integrierte MIPI-Schnittstellenanschlüsse - sowohl zum Anschließen von Kameras als auch von Displays. Um mit neuen Technologien zu arbeiten oder nur zu sehen, wie sie aussehen, suchen Entwickler im Internet nach einem geeigneten Leitfaden, der die relevanten Nuancen der Arbeit beschreibt. Einerseits sollte der Testfall einfach in das Debugging-Kit aufgenommen werden, und andererseits sollte er ein ziemlich einfaches und umfassendes Verständnis dessen vermitteln, was in diesem Testfall vor sich geht.
In diesem Artikel wird gezeigt, wie Sie mit der MIPI-Schnittstelle mithilfe eines der neuesten
Debugs von Xilinx -
SP701 , einer Kamera mit einer MIPI-Schnittstelle von Digilent
PCAM-5C und der Vivado + VITIS-Entwicklungsumgebung (SDK) von Xilinx arbeiten können

Ausrüstungsliste
Ab dem ersten Release von VITIS und Vivado 2019.2 bietet Xilinx Entwicklern die Möglichkeit, einen Testfall für die Arbeit mit der MIPI-Schnittstelle auf der
SP701-Karte zu generieren. Zuvor war das Projekt für die
ZCU102-Karte verfügbar. Da für das Beispiel jedoch eine bestimmte Kamera erforderlich war, hatten wir keine Möglichkeit, ein Testprojekt durchzuführen. Mit der Veröffentlichung des Budgets
SP701 , das auch die Budgetkamera PCAM-5C verbindet, bot sich eine solche Gelegenheit.
PS0: Der Leitfaden sagt Ihnen nicht, was MIPI ist, woraus es besteht oder welche andere Theorie im Internet zu finden ist. Hier konzentrieren wir uns darauf, wie ein Testprojekt erstellt wird. Wenn Sie dieses Projekt verwenden, können Sie die zusätzlichen Module und die Videoverarbeitung, die in der Leistungsbeschreibung für Ihr Projekt angegeben sind, selbst befestigen.
PS1: Wir werden nicht schimpfen, sondern uns auf Action konzentrieren. Nur Bilder, nur Hardcore.Fangen wir an.
Benötigte Software
Für diesen Leitfaden benötigen wir Vivado 2019.2 und VITIS, die über den
Link heruntergeladen werden. VITIS enthält Vivado, daher müssen Sie weder VITIS noch Vivado herunterladen. Laden Sie einfach VITIS herunter und installieren Sie es. Vivado wird automatisch installiert.

Schritt 1: Erstellen Sie ein Vivado-Projekt
1. Starten Sie Vivado 2019.2

2. Klicken Sie auf "Projekt erstellen" (1). :: Klicken Sie auf "Weiter" (2).

3. Geben Sie “Projektname” an (1) :: Geben Sie das Projektverzeichnis an (2) :: Aktivieren Sie das Kontrollkästchen (3) :: Klicken Sie auf “Weiter” (4)

4. Wählen Sie den Projekttyp aus (1): Aktivieren Sie das Kontrollkästchen (2): Klicken Sie auf "Weiter" (3).

5. Gehen Sie zur Registerkarte "Karten" (1) :: Suchen und wählen Sie SP701 (2) :: Klicken Sie auf "Weiter" (3).

6. Klicken Sie auf "Fertig stellen" (1)

Schritt 2: Lizenzen installieren
Da wir IP Core verwenden, für den Lizenzen erforderlich sind, müssen diese generiert und installiert werden. Das Testprojekt verwendet IP, um sowohl die Kamera (MIPI CSI-Rx) als auch das Display (MIPI DSI-Tx) zu verbinden, für die Xilinx eine Testlizenz für einen Zeitraum von 120 Tagen anbietet.
PS: Im Testprojekt wird die Bildausgabe auf die HDMI-Schnittstelle dupliziert, das Vorhandensein eines Displays mit der MIPI-Schnittstelle ist nicht erforderlich, jedoch ist eine DSI-Tx-Lizenz erforderlich.
7. Erhalten Sie eine Lizenz für CSI-Rx (Kameraverbindung), indem Sie auf den
Link klicken und auf "IP auswerten" klicken. Folgen Sie dann den Anweisungen.


8. Beziehen Sie eine Lizenz für DSI-Tx (Display-Verbindung), indem Sie auf den
Link klicken und auf "IP auswerten" klicken. Folgen Sie dann den Anweisungen.


9. Lizenzdateien herunterladen.
10. Klicken Sie im Vivado-Fenster auf „Hilfe“ (1). :: Wählen Sie „Lizenz verwalten“ (2).

11. Wählen Sie im Lizenzmanager „Lizenz laden“ (1) :: Dann „Lizenz kopieren“ (2). Wählen Sie heruntergeladene Lizenzen für CSI- und DSI-IP-Cores aus

12. Wählen Sie im Lizenzmanager "Lizenzstatus anzeigen" (1): Vergewissern Sie sich, dass die Lizenzen korrekt erfasst wurden (2).

Schritt 3: Erstellen Sie ein Testprojekt
13. Klicken Sie in Vivado auf „Blockdesign erstellen“ (1). :: Klicken Sie auf „OK“ (2).

14. Klicken Sie im Feld IP Integrator auf "+" oder "Strg + i" (1). :: Geben Sie "mipi" in das Feld "Search" (2) ein. :: Doppelklicken Sie auf "MIPI CSI-2 Rx Subsystem" (3).

15. Klicken Sie mit der rechten Maustaste auf die erstellte IP (1). :: Wählen Sie "Block anpassen" (2).

16. Wechseln Sie zur Registerkarte „Application Example Design“ (1). :: Wählen Sie „SP701“ (2). :: Klicken Sie auf „OK“. (3).

17. Klicken Sie mit der rechten Maustaste auf IP (1). :: Wählen Sie „Open Example Design“ (2).

18. Klicken Sie auf „OK“, um die Projektänderungen zu speichern.

19. Geben Sie das Verzeichnis an, in dem sich das Testprojekt befinden soll. (Beachten Sie, dass der Pfad zum Ordner für Windows-Benutzer so kurz wie möglich sein sollte. Andernfalls kann der Pfad zu den internen IP-Kerneln des Projekts mehr als 260 Zeichen umfassen. Dies führt zu einem Fehler beim Erstellen des Projekts.) (1) :: Aktivieren Sie das Kontrollkästchen (2) :: Klicken Sie auf "OK". (3) :: Klicken Sie auf "OK". (4)

20. Das Testprojekt wird in einem neuen Vivado-Fenster geöffnet. Warten Sie, bis das Projekt erstellt wurde. Es wird einige Minuten dauern.

21. Klicken Sie im Testprojektfenster auf „Bitstream generieren“ (1). :: Klicken Sie auf „Ja“ (2).

22. Wählen Sie die bevorzugte Anzahl gleichzeitig synthetisierter IPs aus (1): Klicken Sie auf "OK".

23. Warten Sie, bis die FPGA-Firmwaredatei erstellt wurde (Bitstream).
Schritt 4: Einrichtung und Verbindung
24. Schließen Sie die PCAM-5C-Kamera an den MIPI CSI-Anschluss auf der SP701-Platine an
25. Schließen Sie den HDMI-Monitor und / oder das MIPI-Display an den SP701 an
26. Schließen Sie das USB-Kabel an die SP701-Platine an
27. Schalten Sie den SP701 ein
28. Öffnen Sie eine Terminalanwendung für den seriellen Anschluss (z. B. Tera Term). Aufgrund der Tatsache, dass drei verschiedene COM-Ports in Tera Term erkannt werden, haben wir drei verschiedene Tera Term-Sitzungen geöffnet. Die UART-Geschwindigkeit, mit der Nachrichten gestreamt werden, beträgt 9600 (überprüfen Sie die IP-Uartlite-Einstellungen im Testprojekt).
Starten und Debuggen
29. Starten Sie VITIS über Vivado. Klicken Sie auf "Extras" (1). :: Klicken Sie auf "VITIS starten" (2).

30. Geben Sie das Arbeitsverzeichnis an. Es befindet sich im Verzeichnis des Testprojekts „mipi_ex :: mipi_csi2_rx_subsystem_0_ex :: SW :: xmipi_app“ (1) in unserem Fall: Klicken Sie auf „Launch“ (2).

31. Schließen Sie die Registerkarte "Willkommen" in VITIS

32. Jetzt haben wir Zugriff auf die Softwarekomponente unseres Projekts, dh Programm für MicroBlaze-Softwareprozessor. Untersuchen Sie den Code, wenn Sie möchten.

33. Klicken Sie auf den Pfeil neben dem Fehlersymbol (1). :: Klicken Sie auf "Debug Configurations" (2).

34. Doppelklicken Sie auf "Single Application Debug (GDB)" (1). :: Wählen Sie "Debugger Executable" (2). :: Geben Sie die von Vivado erstellte FPGA-Firmwaredatei (.bit) an. (3). :: Installieren Sie das Kontrollkästchen (4): : Klicken Sie auf "Debuggen" (5)

35. Drücken Sie die Starttaste und befolgen Sie die Anweisungen auf dem Tera Term-Terminal

36. Das ist alles (vergessen Sie nicht, die Schutzkappe von der Kamera zu entfernen;)

Fazit
Wie wir gesehen haben, ist das Erstellen eines Testprojekts mit einer MIPI-Schnittstelle recht einfach. Es dauerte nur VITIS / Vivado und die Verfügbarkeit der entsprechenden Hardware (Board und Kamera). Nahezu alle IP-Cores von Xilinx können ein Testprojekt generieren. In diesem Artikel haben wir gezeigt, wie dies funktioniert.