<< zurück Zur Übersicht weiter >>

 

Sneak preview:

Back to the roots:
Baku baut ein ELD!


ELD Bastelaufbau

 

Achtung!
Dies ist ein reines Bastelprojekt!
Ohne Gehäuse und allem Schnickschnack und Tüdelüt!
Wer das nachbaut und hinterher keinen Sinn darin sieht, hat selber Schuld.
Wer nicht, der auch.



 

Es begab sich aber zu der Zeit, daß ich einen Hinweis auf ein Sharp-EL-Display bekam, das es für billig Geld bei Pollin zu kaufen gäbe. Im Katalog wurde es als LCD beworben, aber mir war gleich klar, daß es etwas besonderes war. Nur durch eine waghalsige nächtliche Online-Bestellung mit Einzugsermächtigung und abweichender Lieferadresse gelang es mir, die vorletzten 2 dieser offenbar nur in einer Stückzahl von 14 vorhanden gewesenen Teile zu ergattern!
Gleicherzeits ging natürlich auch das Grübeln los: 
 
Jaja, wieder so aus reiner Nostalgie irgendeinen teuer Scheiß kaufen, in die Bastelkiste legen und für die Rente aufheben. Naja, soso, nuja. Man hat ja keine Zeit! Für einen Moment brach sich meine ohnehin täglich überbeanspruchte Vernunft Bahn und beschloß: 
Also, das Ding wird nur bestellt, wenn du weißt, was du damit machen willst! 
Na, was anzeigen vielleicht...
Und nur, wenn du weißt, wie du es machen willst!
Am liebsten gut! Oder von hinten!
Da gibt das doch so eine Schaltung mit dem 8515, den hatte ich mir schon mal gekauft, wegen dem externen Speicherinterface. Da so Schieberegister und ein RAM nebst Adresslatch ranfrickeln, und dann macht das Video! Oder LCD! Oder sogar ELD! Wobei der Prozessor maßgeblich am Videotiming mitwerkelt, diverse Adreßzähler etc.pp bereitstellt und somit zu etwas mehr als 70% ausgelastet ist. 
Wat fürn Kack! ATMega finde ich ja gut, da habe ich auch in weniger als einer halben Stunde Display löschen, horizontale und vertikale Linien malen und Text in einem hübschen 7*12 Font darstellen programmiert. Da passt genau ein Zeichen in ein Byte. Aber wenn das Teil dann anstatt Bilder zu berechnen diese auch noch darstellen muß... Och nö! 

Ich hab das doch schon alles gemacht, und dafür sogar ein Diplom bekommen! 
Der Prozessor soll die Bilder berechnen. Das ist meist schon kompliziert genug. Das stupide Display-RAM auslesen und ans Display weiterreichen, das macht eine doofe Hardware viel besser. Und billiger. Bei meiner Diplomarbeit mußte ich noch teure PALs verwenden, um die komplizierten Funktionen zu bauen. Nur 2 Jahre vorher hätte man dafür in TTL-Logik mindestens 16 ICs gebraucht! Heute passt der ganze Scheiß in ein CPLD. 
Und welch Glück! Pollin hatte auch gerade sein CPLD-Entwicklungsboard im Angebot! Noch dazu mit 128k RAM drauf! Und JTAG über LPT, AC 8-12V Stromversorgung und sogar RS232 (bislang ungenutzt. Ein UART in einem CPLD wäre bestimmt auch ne spannende Sache, aber irgendwie... überflüssig). Für 25 Flocken. Das sollte eine schöne Displayansteuerung geben, und nebenher auch für all die anderen alten ELDs, LCDs und TFTs, die noch in meinen Bastelkisten rumoxidieren die ideale, weil ohne großes Logiklötwerk anpassbare, Ansteuerung ergeben. 
Na, da war die Vernunft aber schnell überzeugt!  
Man könnte dabei neben dem schon seit Jugendzeiten geliebten Nanosekundenschinden auch völliges Neuland betreten...

 

 VHDL lernen z.B. 
Höhö, das ist geil! Und asynchrone Schaltungen damit bauen, weil es synchron nicht geht. 
"Aber Junge! Du versündigst dich! Asynchrone Schaltwerke sind des Teufels!"
 Aber nur, wenn man sie nicht versteht. Seufz....
Mit einem asynchronen Schaltwerk passt die ELD-Ansteuerung nebst völlig(*) wahlfreiem Zugriff des ATMega locker in das CPLD. Und funktioniert sogar!
(*)Einzige Bedingung an die Software: RAM-Zugriffe dürfen nicht direkt hintereinander erfolgen. Sollte es der Software tatsächlich gelingen, in jedem Taktzyklus sinnvolle Daten nebst Adressen bereitzustellen, so ist hinter jedem Schreibbefehl ein 'volatile asm("nop");' einzufügen, damit der Prozessor für 62,5us mal sein Maul hält auf dem Datenbus. Ist doch nicht zu viel verlangt.
Aber das geht schon derart ins Eingemachte...

 

Wenn man das dann alles zusammengefrunselt hat, dann fragt man nach dem Sinn. Oder ist sich ziemlich sicher, nach dem Sinn gefragt zu werden. Da hilft es ungemein, wenn man sich der alten Digitaltechnikkultur erinnert, und Bitmaps über die serielle Schnittstelle in das Video-Ram laden kann:


ELD mit Katze

 

 

 

 

ELDtris!

Uhr!

RS-232-Terminal mit VT-100 Emulation!

Digitaler Bilderrahmen! Mit 1 Bit Farbtiefe und 640 * 400. Da wird sich schon zeigen, welche Bilder was taugen! SD-Karten-Interface hatte ich schon für den unvollendeten LED-Cube gebastelt. Aus der SD-Karte ins Display-Ram, das ist ja auch kein Hexenwerk, und wenn das blöd aussieht, dann kann man in den 128k SRAM auch noch einen Framebuffer einrichten, den man langsam aus dem Datenspeicher befüllt und dann *FLUNZZ* zur Anzeige bringt. Damit das zuckt und sich nicht so träge dahinschleppt. Lieber wartet man sehnlich auf das *FLUNZZ*, anstatt den Dingens so langsam beim Werden und den Prozessoren beim Laden zuzusehen. 

Atmel-Poet. Auf Knopfdruck ein kleines Warum-sie-aber-denn Gedicht!
Das wird ja schon fast ein Familienbenutzer!
 

COOL!

Vive le bricolage!

Und da muß Mechanik dran! 640/400, das ist 1,6. Genau. 

ELD mit Alfa

Das sieht ja noch gut aus!

ELD mit liegendem Tempel

Das geht ja schon nicht mehr so. Gut wäre es auch, das Bild bei Querformat einfach um 90° zu drehen. Das ist mit heutiger Technik ja kein Hexenwerk mehr! Et voilà! 


ELD mit Tempel

Wenn man das Display mechanisch drehen kann, dann könnte auch der mehr intellektuelle Mensch, der Bücher und Bilder im Hochformat betrachtet und gleichermaßen in fiese Kinofilme geht beiderseits erfreut und die Technik voll ausgereizt haben. Oder so. 

Und beim ELDTris könnte man die ganzen Steine wieder auskippen, indem man den Bildschirm auf den Kopf stellt. 

 

 

Weitere Ideen


Weil ich noch so viele Displays rumliegen habe, die sich mit der Kombination ATMega/CPLD/RAM supereinfach ansteuern lassen (ließen), trage ich mich mit dem Gedanken, davon eine Platine zu machen. Nein, nicht eine, die habe ich ja schon, sondern so 4-6 Stück. 512*8 RAM 55ns, XC95144 CPLD und ein ATMega mit viel Flash und XMEM. Auf ein Steckboard, das man dann auf eine Bastelplatine mit der Stromversorgung, Treibern und anderem spezifischen PiPaPo draufstecken kann. 2 Dinger im QFP, das wäre auch mal ne hübsche Layoutaufgabe. 2-Lagig natürlich, für billig von Olimex und die anderen Teile gibt das alle übermorgen von Reichelt.
Noch bizarrere Idee: Die Teile, die auf die Platine sollen, vorher in einem Dead-Bug-Prototypen zusammenlöten. Da muß ich mir vorher aber bei Budni noch ne 3er Lesebrille kaufen :-)

Gesagt, getan:

Controller-Layout

Andere spielen nachts gerne "Which of Warcraft" oder "Cop Chase III" am Computer, drehen Rubik's Cube oder fieseln ein 5000-Teile Puzzle von einer Winterlandschaft ohne Bäume zusammen. Ich mach da lieber ein schönes Platinenlayout. Echt wahr! Völlig zweckfrei... Und wenn mich einer fragt, warum da der uralte LM317 im steinzeitlichen TO220 auf der Platine hockt, das ist ja fast schon Retro  und TTH zwischen 0.5mm pitsch (hähä, platch) TQFP, das geht ja garnicht! Dann sage ich: Der bringt das aber, muß ich beim CPLD nicht auf die Stromaufnahme achten, Platz ist auch genug da und ich habe davon noch einen ganzen Beutel rumliegen, und selbst wenn nicht, für weniger als 17 Cent gibt das nichts verlässlicheres. Braucht auch keine kritischen Kondensatoren wie diese Itzy-Bitzy-LDOs.
Dafür habe ich die kleinste bei Reichelt erhältliche LED daneben gesetzt :-)))
Das ist ja aber auch so cool heute mit dem Platinenmachen: Ich mein, bevor ich das jetzt mit dem Laserdrucker auf Reichelt-Katalogpapier ausgedruckt habe, umständlich beide Seiten auf Bungard-Material gebügelt mit dem Eisen, dabei in der steten Angst, daß die beiden Seiten verrutschen würden, oder gar auf Fotofilm gedruckt, und dann mit der Höhensonne oder dem Baustrahler belichtet, in reinster Natronlauge entwickelt... Und dann geätzt, in Ammoniumpersulfat (wie schwul ist das denn?) oder am besten gleich in Eisen-3-Chlorid, geschäumt. Das stinkt zwar wie Sau, macht, wenn keine Löcher, so dann doch unentfernbare Flecken in die Hose und ist auch ganz bestimmt ungesund, dafür ätzt es aber am besten.
Und dann das Bohren! Mit dem 0,6er Hartmetall, weil der HSS in FR4 nach 3 Löchern stumpf ist und sich seinen Weg nur noch durch das Material schmilzt. Der HM bringt das viel besser, zerpulvert Glas und Polymer zu einem schön lungenfeindlichen Feinstaub (als Raucher lach' ich da natürlich drüber) und bricht ab, lange bevor er sein letztes Loch gebohrt hat. Die brechen nämlich immer ganz leicht ab und kosten viel teuer. Wenn man dann mit allem fertig ist, und wenn es wirklich gelungen sein sollte, 8 mil Bahnen und 0,5mm pitch sauber zu ätzen, dann hat man immer noch keine Durchkontaktierungen. Von Lötstopp ganz zu schweigen (und der erleichtert das Löten bei 0,5mm ungemein...) 
Platinenätzen...
Ich habe es schon mal versucht, aber es hat mir nicht gefallen...
Außerdem HABE ich es schonmal versucht, bin mir bewußt, daß ich es eventuell hinkriegen könnte, genau wie die Dead-Bug-Variante, aber es hat mir nicht gefallen.
Außerdem habe ich auch nicht so viel Zeit, das alles NOCHMAL, nur etwas besser zu machen. Wie viel cooler ist es da, das Layout nach Bulgarien (oder Rumänien) zu mailen, die Kreditkartennummer per Fax hinterher (Jawoll! Per Fax!) und eine Woche später erreicht einen die kürzeste und prägnanteste E-Mail, die es im Geschäftsverkehr überhaupt geben kann: 
Subject: Re: Order
 Content-Type: text/plain;
shipped

Aufgrund der Erfahrungswerte kann man dann erwarten, daß ca. eine Woche später ein Einschreibebrief eintrifft, den man bei der Post abholen muß:


Controller oben

Controller unten

Die Teile von Reichelt waren ja schon da, also flugs drauflosgelötet:


Controller unten fertig

Controller oben fertig

Und denn natürlich gleich die Adapter in den ISP vom Prozessor und den JTAG vom CPLD reingesteckt und Testprogramme draufgespielt. Den JTAG vom Prozessor habe ich zwar rausgeführt, aber noch nicht in Betrieb genommen. Dafür läuft die Hardware einwandfrei: Ein Testprogramm für den ATMega schaltet alle Ports einmal durch, da sieht man genau, wenn was kurzgeschlossen ist, und ein entsprechendes JEDEC-File für das CPLD macht das gleiche. Die wenigen Leitungen, die besonderen Anwendungen gewidmet sind, werden natürlich gesondert behandelt. 

Fazit: Der Vogel läuft. Nächste Aufgabe ist es, ein Bastelbrett zur Aufnahme dieses Universalverwendermoduls zu bauen, welches das ELD, einige Tasten und mindestens einen Schrittmotor antreibt. Und auch in schönen Fonts völlig zufällig dichten kann, wobei die Fonts nicht mühsam von einer CF-Karte nachgeladen werden müssen, weil das ROM groß genug ist. 
Das herausragende Bauteil in der Mitte ist ein Quarzoszillator. Das einzige Bauteil auf einer Fassung übrigens. Nuja. Eine 4-Polige, die man auch leicht auslöten kann, um den Ömmel direkt einzusetzen, dann trägt er auch nicht mehr so auf. 
Ja fick mich doch mit Quarzen, Lastkapazitäten, Clapp- und Colpittsschaltungen! Ich brauche einen Takt, und den gibt es für 87 Cent sicher und stabil aus einem Quarzoszillator. Von 1..50 Mhz. Von den ganzen Teilen, die in meiner Bastelkiste hier rumoxidieren, mal ganz abgesehen. 2,4576MHz z.B.!  

Als nächstes muß dann wieder eine Basteplatine gemacht werden.
Meine 4-jährige Schwiegernichte meinte heute zu dem Teil "das sieht wie Fußball aus!".
Äh ja... nee... find ich nicht. Aber das zeigt mal wieder, wie bizarr Frauenhirne an sich (unabhängig von Alter und äußeren Umständen, die in 4 Jahren ja höchstens ein Zehntel von denen nach 40 Jahren außmachen dürften) ticken. 
Oder so: Das Kind hört hört zu viele Nachrichten! Und nachdem nun neulich sogar ein St.Pauli-Fußballer sich schon fast das leben genommen hätte, wie wir aus der Lokalpresse wissen, wollte sie mir damit nur bedeuten: "Wirf dich vor einen Zug, das Layout ist Scheiße!"
Naja... vielleicht interpretier ich da auch nur zu viel rein...
Ich finde, das sieht mehr so aus wie Zirkus Barnum&Baileys (oder wie hiess der noch, der ganz große aus Amerika mit den drei Manegen)... Naja, nee, auch nicht. Rechts sind so die Nebengebäude, wo die Tiere gehalten werden und die Clowns scheißen gehen, das passt ja noch. Und in der Mitte hat jemand eine gigantische Metalldose mitten in die Mittelmanege gestellt. Darunter wurde der Clown Beppo zerquetscht, und alle haben gelacht!
HÖHÖ! Wie kommt dieses Kind auf Fußball???

 

Der ELD-Poet

 Vormals ATMEL-Poet. Aus lauter Langeweile während des Wartens auf die Platine schonmal portiert (mit dem billigen ATARI-Font), kucken ob die Dichtmaschine geht.

ELD Poet

Und tut auf dem 8515 und passt samt Font ins 8k-ROM!

 

 

Lekker basteln!

 So soll ein Bastelprojekt sein! Auch mal von der Stelle kommen:

ELD Poet mit fettem Font

Mit programmierter Logik, Stromversorgung und ordentlichen Anschlüssen. Und natürlich einer Software, die diese neuen Möglichkeiten nutzt. 
Sogar ein Resetknopf ist drauf, eine Boot-LED und ein Boot-Jumper:

Boot!

Mit dem Resetknopf macht man Reset, klar. Hardwarereset beim 2560. Der kann dann auch über einen der überreichlichen Portpins das CPLD resetten (oder es bleiben lassen). Beim Reset wird durch das setzen der Fuse BOOTRST nicht etwa ganz normal das Programm gestartet, sondern der Bootloader BakUBoot. Der macht dann zunächst die Boot-LED an und kuckt dann nach, ob auf dem Boot-Jumper ein Jumper steckt. Wenn nicht, dann wartet er ein wenig, damit man das kurze Zucken der LED sehen kann, und springt zum eigentlichen Applikationsprogramm, so als ob er garnicht da wäre oder die BOOTRST-Fuse nicht gesetzt. 
Wenn doch, dann initialisiert er den UART0 auf 1Mbps 8E1 asynchron, blinkt hektisch mit der LED und wartet auf UART0 auf Befehle vom BakuLoader. Das ist ein Programm, das man auf einem Windows-PC starten kann. Es macht einen COM-Port mit 1Mbps auf (Das sollte vom entsprechendem Port unterstützt werden, die normalen RS232 tun da nicht mehr) und macht ein 'Connect'. Dann kann man ein Hex-File in den BakuLoader laden, dieser brennt das runter auf den 2560, verifiziert es und startet dann es dann auch noch, wenn man will. 

Das ist geil! Programm schreiben, compilieren, am BakuLoader auf 'Reload + Program + Run' drücken, und *Bamms* läuft das Programm auf dem 2560. Und wenn es mir gefällt, dann ziehe ich einfach den Boot-Jumper, und fortan mach die Kiste nur noch das, was ich ihr programmiert habe. Und kein Idiot kann mehr am Programm rumfrunseln oder irgendwelche Viren reinladen. 

 

 

 IdS!
 
Vive le bricolage!

 
<< zurück Zur Übersicht weiter >>

Bakuzaehler