Neuentwicklung des M365 - Ein Steuerungsmodul für den KC85/5

SeitErstellt: 19.06.2023 der Entwicklung der Module M366 und M066 und der Weiterentwicklung des Programms zur Bilderschau am KC85 hatte ich schon immer den Traum, diese Bilder auch im Original wiedergeben bzw. anzeigen zu können. Natürlich ist die SRNSCHAU auch im Schwarz-Weiß-Modus sehr schön, aber das originale und farbige Bild ist immer noch am schönsten.
Leider kann dieser Traum nicht direkt mit dem KC85 verwirklicht werden, denn dieser bietet nun einmal nur 4 Farben im sogenannten HiRes-Modus, wobei die Auswahl der 4 Farben fest vorgegeben ist und diese noch nicht einmal schön sind.
Es blieb also nur eine externe Lösung übrig und diese mußte aufgrund meines begrenzten Wissens im Bereich der Elektronik so einfach wie möglich gehalten sein. Ein weiteres Kriterium war die Ausgabegröße, sprich die Diagonale, die das endgültige Anzeigegerät haben sollte. Es ging mir hier nie um "je größer, desto besser", sondern im Gegenteil: Das Anzeigegerät sollte groß genug sein, damit am Ende alles deutlich zu erkennen ist, aber auch so kompakt, daß es als kleines Beistellgerät auf jedem Schreibtisch Platz findet. Als akzeptable Größe hat sich ein Format zwischen 5 und 7 Zoll herausgestellt.

Zunächst wählte ich den Ansatz, ein Modul zu entwickeln, welches den Anschluß eines VGA-Bildschirms ermöglichen sollte. Aufgrund der hohen Komplexität, mit einem Mikrocontroller ein stabiles VGA-Signal zu erzeugen, habe ich diesen Ansatz schnell wieder verworfen.
Nach einiger Recherche stieß ich auf einen Schaltkreis von FTDI, welcher praktisch einen vollständigen Grafikprozessor darstellt. Es handelt sich dabei um den FT800/FT812. Dieser Schaltkreis wird per SPI gesteuert und in Kombination mit einem 5- oder 7-Zoll-TFT-Display stellt er genau das dar, was ich mir vorgestellt hatte.

Ich werde hier nicht weiter auf die elektronischen Interna des Moduls, welches die Nummer 365 trägt, eingehen. Die Hardware-Engine basiert auf dem M366. An das Modul kann jedes beliebige TFT-Display angeschlossen werden, vorausgesetzt, es wird über einen Grafikprozessor der FT8xx-Serie betrieben und dessen Auflösung übersteigt nicht die Größe von 800x480 Pixel.
Das größte Problem beim Anschluß des Displays an das M365 ist das Datenübertragungsprotokoll. Der FT8xx-Schaltkreis kann per SPI oder I²C gesteuert werden. Aus diesem Grund habe ich mich auch dafür entschieden, da andere Protokolle (die auch u.a. schneller und stabiler arbeiten) mit meinem Wissensstand nicht vereinbar sind. Das I²C-Protokoll scheidet aufgrund der geringen Arbeitsgeschwindigkeit aus. Via SPI kann das Modul den FT8xx mit 8 MHz betreiben. Das ist vollkommen ausreichend zur Grafikdarstellung auf dem Bildschirm. Allerdings ist das SPI-Protokoll aufgrund seiner hohen Übertragungsfrequenz nicht für lange Datenleitungen konzipiert. Es findet vielfach Anwendung im Automotive-Bereich, wo die einzelnen SPI-Komponenten dicht beieinander auf einer Platine sitzen und kein "übersprechen" der Signale auftritt. Das Display soll jedoch als Beistellgerät in einiger Entfernung zum KC85 stehen. Die von mir gesetzte Vorgabe ist dabei eine Länge der Datenleitung von rund 1.5 Meter. Mit einfachen Kabeln oder gar Flachbandleitungen ist dies nicht zu erreichen. Die Recherche im Internet ergab, daß für Übertragungsstrecken in diesem Bereich (bis zu 2 Meter) sehr oft mehrfach geschirmte sogenannte "twisted-pair"-Kabel eingesetzt werden. Ein Netzwerkkabel (RJ45) ist in der Regel ein solches Kabel, es gibt jedoch große Fertigungsunterschiede. Ich habe ein vollgeschirmtes (sowohl alle vier Adernpaare, als auch die Paare selbst sind geschirmt) Kabel gewählt und konnte damit die gesetzte Vorgabe einhalten. Die Ansteuerung des Displays durch das Modul ist vollkommen stabil und das schon im Versuchsaufbau, in dem sich zwei Adapter mit je einer RJ45-Buchse befinden, welche selbst schon "Störfaktoren" darstellen.

Das M365 besitzt zwei Hauptanwendungsfälle. Zum einem werden damit ganz normale JPG-Dateien zur Anzeige gebracht und zum anderen kann es zur grafischen Steuerung des KC benutzt werden. Dazu ist es notwendig, daß der FT8xx und das Display eine weitere Voraussetzung erfüllen: Das Display muß resistiv berührungsempfindlich sein und der FT8xx muß diese Berührung verarbeiten können.

Als erstes habe ich mich der Darstellung von JPG-Dateien gewidmet, denn dies erschien mir als der einfachere Anwendungsfall. Allerdings war das ein Trugschluß. Es stellte sich heraus, daß die Anzeige von JPG-Dateien doch nicht so einfach ist, wie gedacht und im "Handumdrehen" erledigt. Ich kam also auch dieses Mal nicht um das Studium der Datenblätter (von FTDI) herum, aber letztendlich hat Lesen und Lernen noch nie geschadet und das Wissen, was ich dabei erworben habe, wird die Verwirklichung des zweiten Anwendungsfalls ganz sicher beschleunigen.

Die hier gezeigten Bilder stellen einen kleinen Abriß der Modulentwicklung dar. Zum jetzigen Zeitpunkt kann das Modul in die Bilderschau integriert werden und zeigt zeitgleich mit den Schwarz-Weiß-Bildern am KC85 die Originalbilder in Farbe auf dem Display an.

Als nächstes werde ich die Steuerung des M004 (das Wettermodul) mit Hilfe des M365 umsetzen. Damit wird die grafische Oberfläche des M004-Steuerungsprogramms vom KC auf das TFT-Display verlagert und der KC steht dann für andere Arbeiten weiter zur Verfügung und wird nicht durch die grafische Oberfläche "blockiert".

Bevor ich damit jedoch beginne, baue ich zunächst die Prototypplatine auf, die so Gott will schon den Serientyp darstellt, falls mir bei der Entwicklung keine Fehler unterlaufen sind.

NunErstellt: 09.11.2023 hat es doch fast ein halbes Jahr gedauert, bis der Aufbau der Prototypplatine abgeschlossen wurde. Und zum ersten Mal haben sich weder im Schaltplan noch im Layout Fehler eingeschlichen, so daß diese gleichzeitig dem Serientyp entspricht.
In der Zwischenzeit war ich aber nicht untätig und habe die Firm- und Software dahingehend angepaßt bzw. erweitert, daß sie die maximale Bildschirmauflösung des TFT-Displays von 800x480 Pixel unterstützt. Diese 7"-Displays werden von der US-amerikanischen Firma Newhaven Display International hergestellt und können auch direkt bei dieser bezogen werden. Ich habe mich jedoch für den Kauf über die Firma Digi-Key Electronics entschieden, da diese unkompliziert nach Deutschland liefert.
Um mich nicht unnötig mit den notwendigen Pegelanpassungen beschäftigen zu müssen - sowohl die Versorgungsspannung als auch die Signalspannungen des Displays, respektive des FT812 dürfen 3 Volt nicht übersteigen - wird das Display über einen sogenannten Shield betrieben. Dieser ist eigentlich für einen Arduino ausgelegt, kann aber problemlos mit dem Atmega128A zusammenarbeiten. Um das zu ermöglichen, wird der Shield auf eine selbstentwickelte Adapterplatine gesteckt. Die Verbindung zwischen Shield und Display übernimmt ein 20-poliges Folienkabel mit einer Länge von 5 cm. Das ganze Konstrukt wird mittels einer 2x10-poligen Pfostenbuchse auf das Gegenstück am Display gesteckt und ist sicher fest verschraubt.
Ein angenehmer "Nebeneffekt" des Shields ist der auf diesem integrierten Audioverstärker, welcher exakt an die Gegebenheiten des FT812 angepaßt ist. Es entfällt somit eine separate Verstärkerschaltung und die Audiofunktionalität des FT812 kann voll genutzt werden.
Für das Display wurde wieder ein eigenes Gehäuse entwickelt und im 3D-Druckverfahren hergestellt. Damit die verschiedenen Blickwinkel berücksichtigt werden können, ist das Display schwenkbar gelagert und auf der Rückseite des Gehäuses befindet sich ein 8Ω-Lautsprecher mit einer Leistung von 1.5 Watt und einem Durchmesser von 50 mm. Die Klangqualität dieses kleinen Lautsprechers kann sich durchaus hören lassen. Natürlich spielt er als Begleitmusik mein Lieblingsstück "Kein schöner Land".
Ein großer Vorteil des FT812 gegenüber dem FT800 ist sein viermal so großer Arbeitsspeicher von 1024 KB, welcher sowohl für die Aufnahme der Video- als auch Audiodaten zuständig ist.
Geht man bei der von mir implementierten Funktionalität der Anzeige von JPG-Dateien einen Kompromiß ein und stellt diese mit einer reduzierten Auflösung von 660x396 Pixel dar, dann läßt sich eine übergangslose Darstellung der Bilder ermöglichen, weil in diesem Fall zwei Bilder gleichzeitig im Speicher des FT812 gehalten werden können. Die mögliche Vergrößerung dieser Bilder auf 100 Prozent (sie selbst entsprechen 82.5 Prozent der Auflösung von 800x480 Pixel) weist keinen sichtbaren Qualitätsverlust auf. Das menschliche Auge ist in dem Fall noch nicht in der Lage, die tatsächlich vorhandene intransitive Verpixelung wahrzunehmen.

Die hier neu eingestellten Fotos sollen den Entwicklungsabschnitt der vergangenen fünf Monate dokumentieren. Der auf zwei Fotos zu sehende "Blaustich" ist dem künstlichen Licht der Leuchtstofflampen geschuldet. In natura ist dieser Effekt nicht zu sehen.

Bevor ich mich mit der Steuerung des M004 mittels des M365 befasse, werde ich dieses vollständig in meine Bilderschau integrieren.

M366-MP3/WAV
M366 - MP3/WAV
M004-Weather
M004 - Weather
SRNSCHAU
Kein schöner Land
M066-KLANG
M066 - KLANG
M041-2x16 KB EEPROM
M041 - EEPROM
ENDIM622
XY-Schreiber Endim
Drucker K6304
Drucker K 6304
M030-Eprommer
M030 - Eprommer
CF-Kartenleser
CF-Kartenleser
M051-Scanner
M051 - Scanner
M365-JPG/TFT
M365 - JPG/TFT