Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Hilfe beim Debuggen von Videoterminal mit ATMEGA328 » Themenansicht

Autor Thread - Seiten: -1-
000
26.02.2017, 22:03 Uhr
Creep



Hallo,

da man ja zum Computerbasteln immer mal ein kleines serielles Terminal brauchen kann und ich es nicht mag, dafür einen PC einzusetzen, habe ich mich mal an den Aufbau von Grant Searles Lösung mit zwei ATMEGA328 gemacht:

http://searle.hostei.com/grant/MonitorKeyboard/index.html

Die Schaltung ist eigentlich einfach und verständlich und läßt sich (dachte ich) schnell auf dem Steckbrett aufbauen:



Leider bekomme ich sie nicht vollständig zum Laufen. Wenn ich sie in Betrieb nehme, erscheint auf dem Pollin-Display ein einwandfreier Videoframe mit dem Fenster des Anzeigebereichs. Aber nicht der zu erwartende Cursor, und Eingaben über die serielle Schnittstelle werden auch nicht angezeigt.

Mit dem Oszilloskop habe ich schon gemessen, daß der Takt des ersten ATMEGA mit 16MHz an den beiden Eingängen anliegt, der am zweiten mit ca. 11MHz. Was mich etwas verwundert ist, daß am ersten ATMEGA am Takteingang knapp 5V gemessen wird, beim zweiten jedoch nur gut 1V. Das könnte dann dazu führen, daß der zweite ATMEGA nicht anläuft und kein Eingangssignal für den Videoprozessor erzeugt, oder? Oder ist das normal beim ATMEGA, wenn die Fuses nicht für rail-to-rail gesetzt sind?

Da ich im zielgerichteten Debuggen von Hardware als eigentlich Softwareentwickler nicht unbedingt der Experte bin, würde ich mich über ein paar Tips zum weiteren Vorgehen freuen.

Ach ja, ich hatte das ganze auch schon auf einer Platine aufgebaut (der erste Versuch eines Layoutentwurfs), dabei aber einen falschen Leiterzug drauf gehabt, der Pin 4 vom '166 auf Masse zog (war Pixelfehler erzeugte) unddie 22pF Kondensatoren verkehrtherum aufgelötet, so daß bei jedem Quarz einer auf der Masseleitung kurzgeschlossen war, der andere parallel zum Quarz lag. Ja, blöder Fehler, wenn man schnell und unaufmerksam ist. Aber das hatte (bis auf die Pixelfehler) funktioniert, inkl. ser. Eingabe!

Auf dem Steckbrett mit sauberem Aufbau komme ich nicht weiter als bis zum Videoframe. Was kann ich machen? Kann ich feststellen, on der zweite key/ser ATMEGA überhaupt läuft? Kann das Taktsignal überhaupt OK sein?

PS: Auf der Platine hatte ich die 8-wire, auf dem Steckbrett der Einfachheit halber die 2-wire Variante aufgebaut.

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -

Dieser Beitrag wurde am 26.02.2017 um 22:45 Uhr von Creep editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
26.02.2017, 22:18 Uhr
Creep



Zur Info hier mal mein (korrigiertes) Platinenlayout dafür. Bitte um Nachsicht, das war so ziemlich mein erstes komplett selbst entworfenes:



Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
27.02.2017, 06:36 Uhr
Mobby5



Hast Du einen Oszi oder Frequenzmesser? Damit könntest Du gucken, ob der Quarz schwingt. Die Fuses müssen natürlich so gesetzt sein, dass der Quarzoszillator verwendet wird.
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden

Dieser Beitrag wurde am 27.02.2017 um 06:37 Uhr von Mobby5 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
27.02.2017, 08:13 Uhr
HONI



Moin Moin,

Kommst du mit dem ISP noch zum programmieren ran?

Der Leiterzug unter X2 könnte ein Problem sein. Der könnte die Kapazität von C5 und C4 verändern so dass X2 nicht mehr korrekt anschwingt (bei Quarzen ist immer etwas Esoterik mit im Spiel ). Zum testen X2 mal entfernen und den Sockel mal mit X1 verbinden. Tut sich dann etwas (egal ob positiv oder negativ) ist das Problem dort zu suchen.
Wenn vorhanden einen Quarzoszillator dran stecken (die vierpoligen mit eigener Spannungsversorgung), der schwingt von allein.
Eine LED an einen der Datenbits (D0...D7) anschließen (über 470 Ohm Widerstand) und schauen ob sich etwas tut.
Ansonsten zum testen ein kleines Programm schreiben was eine LED blinken lässt.
Sind die kleinen Hausmittel wenn kein Oszi zur Hand ist .

Ach und fliegender Aufbau ist ganz schlecht bei den Dingern. Etwas ähnliches gabs vor 10 Jahren mal im µC Forum (RS232-BAS Terminal). Das hat ums verrecken nicht als Lochraster Aufbau funktioniert. Erst als dafür eine Platine hergestellt wurde lief es problemlos.

MfG HONI!!

Dieser Beitrag wurde am 27.02.2017 um 08:15 Uhr von HONI editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
27.02.2017, 08:42 Uhr
Creep



Hallo,

danke für die Mithilfe! Oszi (DSO) ist vorhanden und wurde auch schon benutzt. Die Quarze schwingen. Falls ihr Euch mal die Seite (und die anderen Projekte dort) oben anseht, Grant Searle hat das alles auf Steckbrettern entwickelt und dokumentiert, bis zum 7MHz CP/M-Computer! Aber beim fliegenden Aufhängt das natürlich stark davon ab, WIE man das grad gesteckt hat und wo die Leitungen lang führen.

Mich wundert es ja extrem, daß mein erster Aufbau auf Platine, mit falsch beschalteten Quarzen und Fehler im Layout sogar funktioniert hat. Leider hab ich das wieder eingerissen, um es auf einer korrigierten Platine (und dem Steckbrett) nochmal ordentlich aufzubauen.

Nach meinen Tests scheint der Video-ATMEGA ja einwandfrei zu laufen, sonst würde kein BAS-Signal generiert. Und das sieht auf dem Oszi auch gut aus. Also entweder läuft der key/ser-ATMEGA gar nicht, oder die Kommunikation zwischen den beiden funktioniert nicht. Auf den Leitungen zwischen den ATMEGAs hab ich auf dem Oszi auch keine sinnvollen Signale sehen können.

Ich setze mich gleich nochmal ran und probiere das mit dem Testprogramm auf dem Controller vielleicht mal aus. Das ist ein sicherer Test.

Ansonsten will ich da nicht zu viel Zeit verschwenden. Hab heute zwar frei, wollte aber eigentlich die GDP64 für den NKC fertig machen.

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
27.02.2017, 11:42 Uhr
Rolly2



Vielleicht ist auch das interessant. Habe ich zweimal aufgebaut, funzt auf anhieb und das mit VGA.

VG, Andreas

http://geoffg.net/terminal.html

Dieser Beitrag wurde am 27.02.2017 um 11:42 Uhr von Rolly2 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
27.02.2017, 14:48 Uhr
Creep



Hallo Andreas,

ja, das sieht auch interessant aus. Vor allem, wenn man es an einem VGA-Monitor einsetzen will. Ich versuche trotzdem noch, meine Variante fertig zu bekommen. Vor allem, weil sie 80x25 an BAS schafft und man sich damit ein tolles kleines Bastelterminal basteln kann.

Aber erstmal packe ich es wieder zur Seite, damit ich den NKC fertig bekomme!

Falls jemand Lust hat, den Fehler zu finden, würde ich ihm meine voll bestückte und eine leere Platine zuschicken zur Fehlersuche. Als Dankeschön könnte er die dann behalten (beide).

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
27.02.2017, 15:25 Uhr
Rolly2



Rene, das verlinkte ASCII-Terminal macht an VGA 80x24. Das ist aber kein Problem. Dazu ist es vom Aufwand kaum zu unterbieten.

VG, Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
28.02.2017, 20:05 Uhr
tom16



Wuerde gern mal auf das RasPi Zero-Terminal hinweisen:

https://hackaday.io/project/9567-5-graphics-card-for-homebrew-z80
https://hackaday.io/project/9567/logs
https://github.com/fbergama/pigfx

Im Projekt RC2014 wird es z.B. genutzt;

http://rc2014.co.uk/modules/pi-zero-serial-terminal/

OT:

Das Projekt RC2014 erinnert sehr fern an den Aufbau des NKC.
ABER: Keine Bustreiber! Die Preise der PCBs sind etwas hoeher. Die Bussignale sind nicht vollstaendig und werden bei Version 2.0 wohl auf 2x40 erweitert werden.

Dafuer ist aber der RAM/FLASH- Speicher und die CP/M Software (OS und CP/M-Programme im Flash 39SF040) anschauenswert.

http://www.smbaker.com/z80-retrocomputing-50-cpm-on-rc2014-revisting-using-romwbw

Die dazugehoerige PCB hat aber auch keinen Bustreiber.

Der passende BIOS/BDOS/CCP/CP_M/CP_M_tools-Flash-Inhalt laesst sich aus dem fork des N8VEM-Baums compilieren:

https://github.com/sbelectronics/RomWBW

Unter Eingabe von "SMB" und "sio" waehrend des kompilierens
(download lokal, mit Powershell Rechte fuer scripte gestatten, Start build.cmd im DIR Source, bei Bedarf MiKTeX installieren wg. gleichzeitiger Erstellung der Doku).


Gruss

Dieser Beitrag wurde am 28.02.2017 um 20:42 Uhr von tom16 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
28.02.2017, 20:15 Uhr
tom16



BTW:

Hier baut einer eine serielle NTSC-Konsole mit einem LPC810 (falls ihr Euer Japanisch auffrischen wollt):

http://www.recfor.net/blog/mycom/?itemid=907

Und einen Mini-Basic-Computer damit:

https://hackaday.io/project/8514/logs

Gruss
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
28.02.2017, 20:44 Uhr
HONI



Hallo Rene,

mal ne Frage, in welchem Modus übergibst du die Daten an den Video Atmega? Acht Bit, vier Bit oder über I2C?

MfG HONI!!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
28.02.2017, 20:50 Uhr
Creep



Hallo Honi,

auf der Platine habe ich es mit 8 Bit verdrahtet. Auf dem Steckbrett hatte ich erst zwei Bit probiert, dann aber auf 8 Bit umgesteckt. Das hat beides nicht (mehr) funktioniert.

Aber ich habe inzwischen zwei nette Angebote, das mal für mich anzusehen. Wenn ich die Baustelle aufmache, komme ich sonst mit dem NKC nicht weiter. Sonst hätte ich als Erstes mal LEDs angesteuert, um zu sehen, ob überhaupt etwas läuft. Wäre sonst auch eine gute Gelegenheit, meinen China-JTAG-Debugger zu testen.

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
28.02.2017, 21:00 Uhr
HONI



Hallo Rene,

gut, dann gehe ich mal davon aus, dass du die Einstellungen über R6 und R7 richtig gemacht hast. Könnte mir vorstellen, dass bei 8 Bit einfach nur das ASCII Zeichen auf den Datenbus gelegt wird und der Video AVR das dann darstellt. Könnte man also auch mal probieren. Einfach ne Schleife hochzählen lassen und auf den Port legen. Dann sollte irgendwas passieren.

MfG HONI!!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek