Hallo ihr,
ich bin seit ein paar Tagen auf der Suche nach einem Konverter von VGA
(oder DVI/HDMI) auf SPI für ein SPI Display.
Das ganze soll dazu dienen, ein 1,8 Zoll großes Display mit
SPI-Schnittstelle an den PC anschließen zu können und dieses als zweiten
"Monitor" zu verwenden.
Gibt es da etwas vergleichbares oder hat das schon einmal jemand
versucht zu programmieren?
Muss auch nicht analog VGA sein, kann auch DVI oder HDMI sein fürs
Eingangssignal).
Das ganze war gedacht als Statusdisplay für einen (Home)Server mit
Automationssoftware, der mit einem Raspbi laufen sollte.
Da ich aber ein reines Windows-Kind bin und Windows 10 IOT mir nicht
wirklich ein nutzbares Windows zur Verfügung stellt, würde Ich auf die
zuerst angedachte Lösung mit einem MiniITX-Board zurück greifen.
(Angedacht war die Nutzung des Raspbies aufgrund des geringen
Stromverbrauchs)
Nicht wirklich nutzbar in der Hinsicht, das Ich mit Delphi meine
(Win-)Programme programmiere, mir nach meinem jetzigen Stand aber keine
normale Windows-Umgebung bei IOT gegeben ist, also in der Hinsicht
Explorer, Desktop, Schnittstellen etc.
Ich danke schon einmal im Vorraus
Gruß
Patrick
Ugh...
Erm...
Ahja...
Da hast du dir so ziemlich die komplizierteste Verbindungs-Möglicheit
ausgesucht...
Dein SPI-Display per SPI anzuschließen kommt nicht in Frage?
Wie fit bist du in VHDL/Verilog?
Ja, das hab ich durch Suchen im Netz schon raus gefunden, das dies wohl
weniger gebräuchlich ist.
In wie fern meinst du das SPI-Display über SPI anschließen?
Ich könnte das Display z.B. über einen USB-SPI "Wandler" anschließen,
dann könnte Ich aus der Software das Display sicherlich auch füttern mit
Daten.
Nur wüsste Ich nicht wie Ich Windows dazu bekommen soll, das Display
selbst als "aktiven Monitor" zu nutzen.
Mit VHDL kenne ich mich leider garnicht aus.
Meine Kenntnisse beschränken sich nur auf Delphi (Pascal) und ich nenns
mal Grundkenntnisse Assembler für die 8bit Atmels.
.Patrick. schrieb:> Nur wüsste Ich nicht wie Ich Windows dazu bekommen soll, das Display> selbst als "aktiven Monitor" zu nutzen.
Kurze Antwort : Gar nicht.
Das musst du dann aus deiner Applikation heraus tun.
.Patrick. schrieb:> In wie fern meinst du das SPI-Display über SPI anschließen?
Er meint wohl, dass der Raspberry Pi über einen SPI-Anschluss verfügt
und dieser auch für die Bildschirmausgabe, inkl. Boot-Nachrichten,
unterstützt wird:
https://www.youtube.com/watch?v=nMQJmVDgAl8
(Den Beweis der Boot-Nachrichten gibt's in anderen Videos)
Markus H. schrieb:> Er meint wohl, dass der Raspberry Pi über einen SPI-Anschluss verfügt> und dieser auch für die Bildschirmausgabe,
Entweder so, oder wenn
.Patrick. schrieb:> Lösung mit einem MiniITX-Board
dann eben daran.
Das MiniITX-Board wird kein direkt zugängliches SPI haben.
Das müsste man nachrüsten. z.B.
MiniITX::Seriell --> Atmel::UART <-> Atmel::SPI --> Display::SPI.
Auf dem PC ein (Delphi)-Programm, dass einem Atmel sagt, was auf's
Display soll.
Über Seriell geht da sicher kein Video-Playback. Aber für ein paar
Status-Displays und Bedienelemente wird's reichen.
In Delphi hättest du dann z.B. ein TBitmap mit Canvas zum Zeichnen der
Oberfläche, welche du Pixel-/Zeilenweise (TBitmap.ScanLine) an den Atmel
schiebst.
Wenn das zu Langsam wird, muss der Atmel mehr "Intelligenz" kriegen, und
du aus Delphi direkt Zeichenbefehle statt nur Pixeldaten schicken.
Markus H. schrieb:> Er meint wohl, dass der Raspberry Pi über einen SPI-Anschluss verfügt> und dieser auch für die Bildschirmausgabe, inkl. Boot-Nachrichten,> unterstützt wird:
Ja genau, das war eingentlich ausschlaggebend dafür, das Ich mir das mit
dem Statusdisplay überlegt hatte, denn mit Linux und das Raspberry ist
es wohl kein Problem dem Linux zu sagen "hau deine Bildschirmdaten über
SPI raus"
Man hat dann quasi das SPI-Display als ganz normalen Bildschirm.
Nur kenne ich mich bis dato nicht wirklich mit Linux aus, da müsste Ich
mich von 0 an einarbeiten.
Genauso wie dann z.B. Lazarus, wäre ja die Delphi_Variante für Linux,
nur ist die Ansteuerung von Schnittstellen usw. auch anders und die viel
genutzte Windows_API fällt dann komplett im Programm weg.
Auch komplett einarbeiten.
Auch wenn nen LinuxServer Sinn machen würde.
Planlos schrieb:> .Patrick. schrieb:>> Lösung mit einem MiniITX-Board>> dann eben daran.> Das MiniITX-Board wird kein direkt zugängliches SPI haben.>> Das müsste man nachrüsten. z.B.> MiniITX::Seriell --> Atmel::UART <-> Atmel::SPI --> Display::SPI.>> Auf dem PC ein (Delphi)-Programm, dass einem Atmel sagt, was auf's> Display soll.>> Über Seriell geht da sicher kein Video-Playback. Aber für ein paar> Status-Displays und Bedienelemente wird's reichen.>> In Delphi hättest du dann z.B. ein TBitmap mit Canvas zum Zeichnen der> Oberfläche, welche du Pixel-/Zeilenweise (TBitmap.ScanLine) an den Atmel> schiebst.> Wenn das zu Langsam wird, muss der Atmel mehr "Intelligenz" kriegen, und> du aus Delphi direkt Zeichenbefehle statt nur Pixeldaten schicken.
Das waren meine ersten Gedanken das über nen Intel-Atom MiniITX Board zu
erledigen, da gab es nur den Gedanken an das Statusdisplay noch nicht.
Und der Stromverbrauch ist dann eben das 10fache des Raspberrys.
Eine Möglichkeit wäre dann über diesen Umweg gegeben wie du es schreibst
mit dem seriell-SPI.
Aber da wird vermutlich die Geschwindigkeit etwas knapp oder?
Auch wenns nur 128x160 Pixel sind, die Ich rüber schieben müsste.
Aber flüssig sollte es ja bleiben.
Mit dem TBitmaß und Canvas müsste Ich dann nicht mal arbeiten, Ich
könnte einfach jede x-beliebige Pixelfarbe auf dem Desktop der 128x160
Pixel abfragen und rüber schieben.
Aber da wären wohl Praxistests von Nöten.
Ich danke euch bis dahin mit den Denkanstößen.