entwickelt von
Ronald Daleske

Startseite Impressum

ITP3-Modul - TXTVGA3

ITP3-Modul - TXTVGA3

Das ITP3-Modul - TXTVGA3 bildet eine CONOUT-Schnittstelle für einen ITP3-Server (z-meic, i-meic) an einen VGA-Monitor.

Ziel dieses Moduls ist es mit einem ATMEGA und minimalem Hardwareaufwand einen VGA-Monitor mit 78 Spalten und 24 Zeilen anzusteuern.

Das wird mit einem (auf 24 MHz übertakteten) ATMEGA328P und einem Schieberegister 74LS165 umgesetzt.

Die Software muss teilweise in Assembler programmiert werden, um innerhalb von 8 Takten den Speicherinhalt an das Schieberegister zu übertragen.

Hier zeigen sich die Vorteile des ITP3-Protokolls gegenüber allen zeitlich determierten Protokollen (UART, I2C, SPI...). Die Übertragung der Daten vom Controller zum VGA-Anschluss darf auf keinen Fall unterbrochen werden, da der VGA-Monitor die Synchonisierung verliert und flackert. Das ITP3-Protokoll wartet so lange bis die Übertragung der Zeile zum VGA-Gerät beendet ist und führt in der Zeilenpause die Übertragung des Protokolls fort.

Zeitweise ist der ATMEGA328P zu 100% vollständig ausgelastet.

2. Schnellinstallation mit BitBurner

TXTVGA3 HEX-Datei: TXTVGA3.zip

Zur schnellen Installation genügt es, die Intel-Hex-Datei der Firmware des TXTVGA3 (siehe Download) in den ATMEGA328P zu brennen.

Dazu ist ein AVR ISP-Programmer und die Installation der dafür notwendigen Treiber erforderllich.

Als Brennprogramm kann BitBurner von Nick Metcalfe genutzt werden. Unter:

BitBurner

sind der Download-Link und einige Hinweise zum Programm angegeben.

Brennen_a

Nach dem Start des Programms BitBurner wird unter dem Reiter AVRdude und dem Auswahlmenü AVR Device der zu programmierende Mikrocontroller ausgewählt. Für das TXTVGA3-Board ist es der ATMEGA328P.

Unter dem Auswahlmenü Programmer wird das Protokoll des aktuell angeschlossenen AVR ISP-Programmer ausgewählt. In diesem Beispiel wurde ein USBasp AVR ISP Programmer genutzt. Der USBasp AVR ISP Programmer nutzt das Protokoll (usbasp).

Brennen_b

Anschliessend können unter dem Reiter AVR Fuses die Fuses des Mikrocontroller auf dem Zielboard gelesen und neu beschrieben werden.

Für das TXTVGA3-Board müssen die Fuses auf:

Low Fuses: FF

High Fuses: D9

gesetzt werden.

Brennen_c

Zum Brennen des Flash-Speichers des Mikrocontrollers wird unter dem Reiter AVR Memories und dem Auswahlmenü Flash der Pfad der Intel-Hex-Datei mit den zu brennenden Daten ausgewählt.

Mit dem Button Write wird der Inhalt der ausgewählten Intel-Hex-Datei in den Flash des Microcontrollers (hier ATMEGA328P) gebrannt.

Alle Meldungen des Programms avrdude werden im Meldefenster unten angezeigt.

3. Download des RONPAS-Quelltextes

Quelltext

Quelltext TXTVGA3 Version 1.0 vom 14.01.2020 (für RONPAS-Compiler): RONPAS_TXTVGA3.ZIP

Für die Übersetzung des Quelltextes wird der RONPAS-Compiler benötigt.

Die Fuses des ATMEGA328P müssen wie folgt gesetzt werden:

Low Fuses: FF

High Fuses: D9

4. Schaltplan

Bild 4: Schaltplan TXTVGA3

Schaltplan TXTVGA3 als PDF: TXTVGA3.pdf

Schaltplan TXTVGA3 als SVG: TXTVGA3.svg

5. KiCAD und Gerberdateien

Bild 5a: KiCAD TXTVGA3

Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.

Bild 5b: KiCAD TXTVGA3

TXTVGA3 KiCad-Dateien: KiCad5_TXTVGA3.zip

Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.

KiCAD-Version

Gerberdateien

Die hier angegebenen Gerberdateien sind die Originaldateien, mit denen der Prototyp angefertigt wurde.

TXTVGA3 Gerber-Dateien, Stand 09.06.2020: TXTVGA3_gerber.zip

Die Gerberdateien können direkt an einen Leiterplattenfertiger weitergeleitet werden.

Für die Anfertigung des Prototypen wurde jlcpcb.com genutzt (sehr günstig, sehr gute Qualität und schnelle Lieferung (meist um die 10 Tagen nach Bestellung)).

6. Beispiele

6.1. Beispiel - z-meic, TXTVGA3 und PS2KBD

Beispiel

6.2. Beispiel - z-meic, SNDMOD3, PS2KBD, SPIDISK3, USBCH376 und TXTVGA3

Beispiel

7. Historie

Dieses Modul hat sich über viele Jahre immer weiter entwickelt. Seit der letzten Version TXTVGA2 unter:

TXTVGA2 - VGA-Text-Grafikkarte (68x29 Zeichen)

hat sich wenig verändert. Es wurde nur eine Leiterplatte für dieses ITP3-Modul entwickelt.

8. Entwicklungsstand der Hard- und Software

Die Hard- und Software des TXTVGA3 wurde über Jahre immer weiter optimiert. Der hier vorgestellte Stand gilt derzeit als abgeschlossen.

9. Lizenz

Creative Commons Lizenzvertrag
Diese(s) Werk bzw. Inhalt von Ronald Daleske steht unter einer Creative Commons Namensnennung-Nicht-kommerziell 3.0 Deutschland Lizenz.


keine Mängelgewähr

DIESE SOFTWARE WIRD VOM URHEBERRECHTSINHABER "OHNE MÄNGELGEWÄHR" BEREITGESTELLT. ALLE AUSDRÜCKLICHEN ODER STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN, EINSCHLIESSLICH DER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK (JEDOCH NICHT DARAUF BESCHRÄNKT), WERDEN AUSGESCHLOSSEN. DER URHEBERRECHTSINHABER IST IN KEINEM FALL UND NACH KEINER HAFTUNGSTHEORIE (SEI ES AUF VERTRAGSBASIS, AUF DER BASIS STRENGER HAFTUNG ODER UNERLAUBTER HANDLUNGEN, EINSCHLIESSLICH FAHRLÄSSIGKEIT) FÜR BELIEBIGE VERURSACHTE DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, EXEMPLARISCHE SCHÄDEN ODER FOLGESCHÄDEN (EINSCHLIESSLICH, JEDOCH NICHT BESCHRÄNKT AUF BESCHAFFUNG VON ERSATZPRODUKTEN ODER -LEISTUNGEN, NUTZUNGSAUSFALL, DATEN- UND GEWINNVERLUST ODER GESCHÄFTSAUSFALL) HAFTBAR, DIE AUFGRUND DER VERWENDUNG DIESER SOFTWARE ENTSTEHEN KÖNNEN. DIES GILT AUCH, WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

10. Rückmeldung und Kontakt

Die vorgestellten Projekte entstanden im Rahmen mehrerer eigener Test- und Forschungsprojekte. Es handelt sich um die Veröffentlichung meines privaten Archivs bzw. Teilen daraus. Die Arbeiten daran wurden von mir inzwischen abgeschossen und ich beschäftige mich nun andern Themen.

Ich wünsche ausdrücklich keine Rückmeldung und keine Kontaktaufnahme. Auch solche E-Mails wie: "Ich habe gelesen, dass du keine Fragen beantwortest, aber ich möchte dir trotzdem mal mein Problem schildern ..." werde ich nicht beantworten.

Nur in einmem Fall würde ich eine Ausnahme machen: Wenn sich eine kleine oder größere Gruppe (z.B. ein Makerspace) mit diesem Projekt beschäftigen möchte, es eventuell weiterentwickeln wird und für Fragen anderer Nutzer zu diesem Projekt zur Verfügung stehen würde, oder wenn jemand einen Beitrag oder ein Buch zu diesem Thema schreiben möchte.

In diesem speziellen Fall bitte Kontaktaufnahme über: Kontaktaufnahme


Startseite Impressum