Seite 1 von 2
Verwendung größerer EEPROMS ?
Verfasst: Di 16. Jun 2009, 10:41
von Janaha
Halloe.
Wie jeder der heiss auf Basteln ist und noch keinen Bausatz hat, verbringe ich die Zeit mal wieder mit Rumgrübeln und stöbern.

Dabei kahm mir die Idee, das der Hive ja 3 Boot-EEPROM's hat. Diese haben in der geplanten größe gerade genug Platz um die 32KB an Bootcode für die 3 Prozessoren aufzunehmen. Was ja erstmal auch völlig ausreicht.
Nun denke ich gerade darüber nach, ob man nicht evt. statt den 24C256 (32KB) die doppelt so großen 24C512 (64KB) Chips nehmen könnte. Beide Chips verwenden das selbe Pinlayout und die gleichen Steuercomandos, so das sie meiner Meinung nach leicht gegeneinander auszutauschen wären.
Durch diese Erweiterung hätte jeder Prozesser exclusiven zugriff auf 32KB zusätzlichen Speichers. In diesem Speicher könnte man zum Beispiel Teile des Hive- Betriebssystemes auslagern. Jeder Prozessor könnte dann bei bedarf recht schnell Funktionen/Fonts/Audiosamples usw. nachladen ohne den Hauptbus in anspruch nehmen zu müssen.
Preislich tut sich bei den beiden Chips nicht viel. Das wären 1.05€ für den kleinen und 1,55€ für den großen, wenn man die einzeln bei Reichelt ordern würde.
Was meint ihr, würde sich der mehraufwand da evtl. lohnen ?
Grüße
Janaha
Re: Verwendung größerer EEPROMS ?
Verfasst: Di 16. Jun 2009, 12:24
von Bushmills
Ich hab meinen Hive noch nicht, darum kann ich nur spekulieren:
I²C ist relativ langsam. Nachladen von Code aus dem seriellen EEPROM könnte durchaus länger dauern als von der SD-Karte, welche außerdem wesentlich mehr Platz für weniger Geld bietet als selbst die größten I²C EEPROMs.
Re: Verwendung größerer EEPROMS ?
Verfasst: Di 16. Jun 2009, 12:56
von Janaha
Bushmills hat geschrieben:Ich hab meinen Hive noch nicht, darum kann ich nur spekulieren:
I²C ist relativ langsam. Nachladen von Code aus dem seriellen EEPROM könnte durchaus länger dauern als von der SD-Karte, welche außerdem wesentlich mehr Platz für weniger Geld bietet als selbst die größten I²C EEPROMs.
Hm stimmt ich hab mir da mal die Spezifikationen näher angeschaut. Bei 5 Volt kann man die Speicherchips mit bis zu 1Mhz als Bustackt betreiben. Bei 2,7 Volt jedoch nur mit 400Khz. Wobei das ganze ja ein Serieller Bus ist, der auch einen gewissen Overhead ein Steuerinformationen transportieren muss. Beim Hive wird die Übertragungsrate irgendwo zwischen 400Khz und 1Mhz liegen, da er ja mit 3,3 Volt läuft.
Der einziege Vorteil wäre dann nur noch, das Belatrix und Administra sich aus dem Flash Daten nachladen könnten ohne auf die Hilfe von Regnatrix angewiesen zu sein der ja sozusagen als einzieger den internen Bus steuern darf. Man könnte somit den Regnatix evtl. ein klein wenig von seinen Steueraufgaben entlasten.
Grüße
Janaha
Re: Verwendung größerer EEPROMS ?
Verfasst: Di 16. Jun 2009, 20:10
von drohne235
Also vom Prinzip ist es wohl möglich größere EEProms zu verwenden. Im ursprünglichen Femto-Basic sind auch entsprechende SPI-Routinen drin um Basic Programme im EEProm zu speichern, die hab ich aber in der angepassten Version rausoperiert. Aber man könnte durchaus darüber nachdenken, vielleicht findet sich ja noch eine sinnvolle Anwendung dafür.
Re: Verwendung größerer EEPROMS ?
Verfasst: Mi 17. Jun 2009, 00:00
von Rainer
Mir würden da Systemfonts einfallen, die man da drin auf Abruf speichern könnte.
Oder Sachen die man nicht so oft braucht oder die langsam sein können ... hmm .. irgendwelche Anzeigetexte ... z.B. könnte man Systemmeldungen so lokalisieren (Englisch/Deutsch) ohne wertvollen Programmplatz zu verschwenden.
Kurz gesagt Sachen, die der Hive spezifisch benutzen kann, ohne das jedes "dahergelaufene" Programm da reinschreibt
Gruß.
Rainer
[EDIT]
Bah .. ich sollte besser lesen .. hat ja alles janaha schon geschrieben.
[/EDIT]
Re: Verwendung größerer EEPROMS ?
Verfasst: Mi 17. Jun 2009, 10:05
von Janaha
Kennt ihr noch die alten Kickstart- Umschaltplatinen zu Zeiten des Amigas ?
Etwas ähnliches werde ich mir wohl noch für die 3 Bot-EEPROMs des Hive zusammenbasteln. Das ganze wird wohl ein System bei dem man 9 dieser kleinen EEPROM's auf eine kleine Adapterplatine stecken kann. Je drei der EEPROM's lassen sich dann per Umschalter auf einen der drei Hive- Prozessoren schalten. Sozusagen 3 Memory- Datenbänke. Dann kann man auf der 1. Bank sozusagen das offizielle HIVE- System laufen lassen, wärend man auf Bank 2 seine Eigenentwicklungen testen kann und evtl. noch eine 3.
Diese EEPROM- Chip kosten ja pratisch nicht die Welt und eine kleine Platine zum Aufstecken dürfte nicht all zu Aufwendig herzustellen sein. Im Prinzip möchte ich mir später damit den wechsel zwischen dem Original- Hive System und meinem Entwicklungssystem erleichtern. Ich mag das ständige "Umbooten" nicht so gern.
Grüße
Janaha
Re: Verwendung größerer EEPROMS ?
Verfasst: Mi 17. Jun 2009, 14:05
von ben
Oh man,
der Amiga 500 war mein erster Rechner in dem ich ein Loch gebohrt hatte. Damit ich den Umschalter nach draußen führen konnte.
Grüße
ben
Re: Verwendung größerer EEPROMS ?
Verfasst: Di 21. Jul 2009, 21:56
von Janaha
Hat eigentlich mal einer von euch die Schaltpläne näher angeschaut ?
Hihi, ich weiss das ne blöde Frage, mir ist da aber was aufgefallen:
Die auf dem Hive verbauten EEPROMS haben nur 2 und nicht wie in den Schaltplänen zu sehen 3 Addressleitungen. Der PIN3 (A2) ist in den Datenblättern eigentlich als "NC" / Not Connected angegeben. Den hätte man also auch beim Routing weg lassen können.
Grüße
Janaha
Re: Verwendung größerer EEPROMS ?
Verfasst: Di 21. Jul 2009, 23:10
von Bushmills
jo, genausogut hätt man auch a0 und a1 offenlassen können, da die i2c eeproms einen internen pulldown haben, und damit sowieso auf device addresse $a0 liegen.
bzw, IIRC, nicht mal bloß nen pulldown, sondern sogar sense logic, die nur im falle daß der adresseingang offen ist, den intern nach ground schalten (spart klein bissel strom gegenüber pulldown beim zweiten, dritten, .. device)
aber hardware designer mögen's halt nicht, eingänge offen zu lassen.
Re: Verwendung größerer EEPROMS ?
Verfasst: Mi 22. Jul 2009, 11:05
von Janaha
Mir ist das ganze auch nur aufgefallen, weil ich gerade an meiner "Kickstart"- Umschaltplatine bastle.
Im moment ist die Aufsatzpaltine ca. 6,5 * 5,5 cm groß und bietet Platz für 3 EEPROM- Bänke a jeweils 3 EEPROM's. Im moment habe ich erstmal die jeweils 3 EPROMS pro Propeller auf 3 unterschiedliche Startadressen gelegt. Damit könnte man im moment prinzipiel diese 3 EEPROM's jederzeit direkt vom Propeller aus ansprechen und auslesen.
Was derzeit noch fehlt ist der "Umschalter", mit dem man jeweils eine der 3 EEPROM- Bänke zur Bank0 machen kann. Im Prinzip könnte man auch noch eine 4. Bank dazu packen, den die verwendeten EEPROM's lassen sich auf 4 verschiedene Adressräume legen. Die 3er Kombination habe ich eigentlich nur gewählt, damit ich ein Original-Hive System, meine stabile Eigenentwicklung und die Testversion meiner Eigenentwicklung auf jeweil einer Bank speichern und umschalten zu kann.
Ich versuche das ganze gerade noch so hinzubekommen, das man immer zugriff auf alle Bänke hat und durch den Umschalter die Banknummern sozusagen nur "im Kreis" reihum durchgeschaltet werden können. Dann könnte man spähter jederzeit Problemlos mit einem Betriebssystem booten und über ein Programm ein anderes Betriebssystem ändern oder auch einfach nur starten. Auch die größe der Platine gefällt mir noch nicht so wirklich, ich finde sie etwas zu groß geraten. Wobei das Layout im moment strickt Einseitig gehalten ist, um es möglichst leicht in Handarbeit zu Hause ätzen zu können. Dabei möcht ich auf jeden Fall bleiben.
Das ganz soll natürlich nicht zu kompliziert werden und sollte dabei natürlich auch immer noch zu einem "Standard"- Hive ohne Aufsatzplatine kompatibel bleiben.
Mal schaun obs was wird.
Janaha