Hi,
AHSO,
Ich sehe schon wir verfolgen in unseren Lösungen unterschiedliche Konzepte ;-)
Wobei ich gleich in Bezug auf dein PPS anmerken will, das es bei mir ja absolut dasselbe ist.
Die "Entwicklung" ist ein wenig Spielerei, halt zu Zeiten wo ich "wichtige" Sachen nicht mehr machen kann/will, mein Kopf aber noch ein wenig arbeiten möchte!
Ebendso wie du möchte ich nicht, das hier jemand auf die Idee kommt, das ganze sei eine Konkurenzveranstaltung. Ich will mit diesem Projekt nur mein eigendliches Hobby wieder ankurbeln. Die letzten JAhre habe ich das sträflich vernachlässigt. Ich habe hier ein kleines aber exquisites Elektroniklabor, mit Messtechnik und MATERIAL (auf Vorrat) im Wert einen neuen Mittelklassewagens stehen und habe in den letzten drei jahren fast nur repariert und vieleicht mal eine Schaltung zur Pegelanpassung gebaut!
Das letzte Programm welches ich geschrieben habe war zum berechnen des Eprominhalts für die BOSCH KF4 Serie im Jahr 2003! Mein letztes Bauprojekt (entwicklung) war die Modifikation von KF4 auf Geräte mit allen Kanälen und BOS FuG8b1 Bediengerät! (ebendfalls 2003)
Aber ich werde mich jetzt wieder bessern ;-)
So, BTT:
Ich hoffe ich habe deine Ausführungen jetzt richtig verstanden:
1. Du verwendest für deine Lösung "vorgefertige" LED-Matrixen.?
Das Spart natürlich Zeit und Arbeit, kostet dafür aber mehr und man ist hinsichtlich der Abmessungen eingeschränkt! Ich habe auch mit dem Gedanken gespielt
Mich hat aber die schwierige Verfügbarkeit mit damit verbundenen langen Lieferzeiten abgeschrekt. Zwei drei Module waren immer zu bekommen- Aber bei großen Stückzahlen wurde es schwierig (in großen Größen und Bezahlbar!)
Aber es hält den Aufwand stark in grenzen, denn mit einer einzeln aufgebauten MAtrix geht es nur Doppelseitig!
2. Du verwendest einen speziellen Treiber, welcher über einen 16Bit breiten Datenbus betrieben wird. Wobei die oberen 4 Bit das CS Signal sind?
OK, damit verringerst du schon einmal die nötige Geschwindigkeit deutlich!
Ich treibe ja rein Seriell, meine MAtrix wird mit einem 64 Bit Datenstrom pro Zeile gefüttert!
Dafür brauche ich aber auch nur drei Steuerleitungen! (CLK, DATA und Strobe)
Als Vertreter der PIC Anhänger hat man ja nicht soviele Ports zur Verfügung ;-)
Aber ich wollte ja auch noch mit Atmega spielen!
Der Vorteil ist halt das ich einfach verfügbare Bauteile habe, die extrem Billig sind.
(die kpl. Treiber-Geschichte für alle 9 Buchstaben kostet mich keine 4 Euro!)
Allerdings lässt sich so die MAtrix nicht beliebig vergrößern...
Besitzt dein Treiberbaustein einen größeren Speicher? Also kannst du ein Zeichen (oder mehrere) KOMPLETT laden und dann nur aktivieren? DAs hätte natürlich auch seine Vorteile.
Allerdings ist dann der Schritt eigendlich nicht mehr weit um statt des speziellen Treibers gleich wieder einen µC einzusetzen.
Zur ganzen Programmierung habe ich mir ja auch gedanken gemacht.
ICh habe ja für die erste Version noch einen 16c84 verwendet, den ich hier rumliegen hatte.
Habe mir dann ersteinmal ein Sortiment aktuellere µC bestellt (schon wieder 200Euro futsch... ;-) )
Beim 16c84 hatte ich ja nur 1024 Worte Programmspeicher, 64 Byte EEPROM und 36 Byte freien RAM. Da habe ich mich für die einfachste Variante entschieden...
Der PIC hat nur eine Aufgabe: Den gewählten Text auswählen und Seriell aufgeben.
Datenmanipulationen werden nicht durchgeführt!
Das habe ich kpl. der PC-Software überlassen, die dem PIC bereits die fertig errechnete Tabelle zur Verfügung stellt. Den freien Programmspeicher habe ich zum Ablegen der Tabellen verwendet. Mittlerweile setzte ich einen 16F628A ein, mit 2048 Worten Programmspeicher, 128 Byte EEPROM, aber 224Byte RAM! (von denen ich aber nur 34 byte nutze!)
Allerdings nimmt das Hauptprogramm bloß 232 Worte in Anspruch. (incl. RS232 Routine)
Der Rest des Programmspeicher dient dem Ablegen der Fixtexte!
3. Auch wenn du in Hochsprachen eingerostet bist: Nehme diesen Weg!
Vor allem übt das (deshlab mache ich das ja!). Ich habe die Font Tabelle schnell selbst erstellt. Das war da Hochsprache absolut kein Thema. Ich habe dank "Copy and Paste" für alle Buchstaben des Alphabets in Groß&Klein, die Umlaute, Zahlen sowie 10 Sonderzeichen rund eine dreiviertelstunde gebraucht. Weitere Zeichen sind eine Sache von 2 Minuten.
Aber in meiner PSW gibt es auch die Funktion Zeichen (vom Anwender) selbst zu definieren!
Dazu wird die Matrix eingeblendet (mit oder ohne vorher eingegebenen Text) und dann kann man mit der Maus einfach LEDs einzeln Ein- oder Ausschalten, das ganze Rechts oder Links verschieben oder Abstände vergrößern bzw. verkleinern.
Aus diesem Bild errechnet dann die PSW die Bilddatei...
Etwas zum Eingeben der Texte musst du ja sowieso schreiben...!
Ausserdem hätte es evtl. mehrere Vorteile bei verwendung von externen EEPROM.
Allerdings nicht bei deinem Entwurf! Ich würde überlegen, ob ich bei einem Parallelen Datenbus nicht auf einem Parallelen EEPROM Ausweichen würde...
(Je nach dem was du für einen µC verwendest. Mit einem Atmega 16 ja kein Thema)
So könntest du den EEPROM mit hilfe des µC Programmieren, aber im Betrieb steuert der µC nuch noch den Adresszugriff. Die Daten gehen direkt aus dem Eprom in den Treiber!
(Merkt man das ich "einfach Strukturierte" Programme und "hard-wired logic" liebe?)
Ich habe bei meiner Lösung auch über eine Variante mit 24C16 EEPROM nachgedacht, mit gemeinsamer DATA Leitung für die MAtrix und EEPROM, aber mit zwei getrennten CLK Leitungen ;-) Während der EEPROM die Daten ausgibt, geht der DAtenbus direkt auch an die SR, die CLK für i2C und SR laufen PArallel. Während der Steuerkomandos bleibt die CLK für die SR auf Low! Der µC steuert nur noch den Speicherzugriff und die Datenabspeicherung im EEPROM. Allerdings habe ich dann mit hinblick auf den aktuellen Schriftzugbedarf darauf verzichtet, da mir nichteinmal 12 Sinnvolle Texte eingefallen sind und es ja zwei Variable Texte gibt! Ich überlege aber noch, ob ich den I2C EEPROM auf dem Board mit vorsehen soll!
(Das man den bei Bedarf bestücken kann!)
Generell muss ich aber sagen, das ich ein gerne unkomplizierte Programme schreibe und notfalls auch Aufgaben auf externe Bauelemte (4000´er Reihe zb.) übertrage.
Ist immer eine Kosten/Nutzen Rechnung. Auch mag ich "verteilte" Intelligenz, also viele kleine schlaue Baugruppen, die ihre spezielle Aufgabe erfüllen und nur untereinander synchronisiert werden! Ist leichter zu entwickeln, läuft stabiler und man hat mehr Recourcen...!
Aber auch da gibt es ja zwei Lager :-)
4. Mit dem LAN Adapter verstehe ich schon, ist natürlich auch interessant ;-)
Aber wie schon geschrieben eher für "Große" Anwendungen... 20 oder 40 Euro sind schon eine Menge Holz nur für eine Programmierschnittstelle!
5. Mit dem Drehtaster muss ich sagen habe ich aktuell keinen Preis vorliegen.
Habe mal etwas gesehen was "sehr" teuer war. ICh wüsste aber im Moment auch nicht, wo ich diese Drehtaster "einfach" bestellen kann (Nachbausicherheit! ICH würde die schon kriegen, aber wer noch?) Evtl. währe ein Drehencoder eine Möglichkeit, da man ja eh einen µC verwendet. Aber da bist du mit 10Eur. dabei!
Ich lasse mich aber mal überraschen was bei dir so rauskommt! ICh finde es ja schon interessant, was es bei einem "so einfachen" Projekt alles zu bedenken gibt!
(Ach, was habe ich das vermisst! Jetzt macht löten wieder Spass!)
während ich meinen vorherigen und diesen Beitrag geschrieben habe, habe ich im Kopf schon einen Entwurf für ein Modularsystem ausgearbeitet. Mal schauen ob ich das im Angriff nehme.
Ein Vergleich der Ergebnisse währe dann schon interessant! Evtl. kann man dann das beste daraus vereinen ;-)
Mit den Leiterplatten bin ich genauso gehandicapt wie du! ICh habe heute Abend das ersteinmal meine Küvette hervorgekramt und Gereinigt! Auch habe ich hier noch einen Gesichtsbräuner der gerne ein Belichtugnsgerät werden möchte (von Ebay, seit 3 Jahren steht der hier rum!)
Für meine letzten Platinen (2003!) habe ich noch einen ALTEN Gesichtsbräuner mit Quecksilberdampf-Hochdrucklampe!!! (soetwas darf heute ja gar nicht mehr als Gesichtsbräuner verkauft werden!) ICh habe schon so manches mal nach mehreren Belichtungsvorgängen Sonnenbrand gehabt ;-) (empfohlene Bräunungszeit 0,5 - max 5 min!)
Das bringt aber keine tollen Belichtungsergebnisse, ZU STARK!
Meine µC Programme schreibe ich übrigends auch Ausschließlich in Assembler!
NAtürlich ist C (oder Basic) für viele Anwendungen einfacher, aber ebend auch nicht so effektiv! Und wenn man mit Makros und Copy & Paste arbeitet, dann kann man auch schon einen gewissen Kompfort erreichen UND hat maximale Effizienz und volle Kontrolle über die Laufzeiten! Aber es kommt halt auch auf die Anwendung an, die man damit realisieren will, was nun letztendlich besser/schneller ist...
Zu EMACS vs.VI kann ich aber nichts sagen, habe zwar Linux auf der Platte (auch) und sogar schon mal mit vi gearbeitet... Aber das war es schon!
Und was den Vergleich mit dem C64 angeht:
So ganz kann man das nicht vergleichen! Der c64 hatte zwar einen langsameren CPU Kern, aber dafür wesentlich mehr Speicher (64Kbyte), ausserdem war/ist es ja genaugenommen ein Multiprozessorsystem (VIC/SID usw. sind ja auch Prozessoren!)
Aber es stimmt: Was die damsl aus der Kiste herasugeholt haben war Wahnsinn!
ICh habe übrigends hier noch einen aufgebaut stehen... Manchmal spiele ich auch noch eine runde Giana Sisters oder FalcanPatrol (und andere Daddel-Games) ;-)
So, jetzt muss ich aber ins Bett!
Ist schon wieder zu Spät!
Gruß
Carsten
***Wichtig***
Zur Zeit bitte mir keine Mails über die Mailfunktion des Forums schicken, da die hinterlegte Mailadresse zur Zeit spinnt. Mails kommen NICHT, oder mit TAGEN Verspätung an !!!
Ersatz: *MEINUSERNAME* @Yahoo.de