ich bin grade dabei, ein Z180 System auf Breadboard zusammenzustricken. Genauer gesagt steh ich ganz am Anfang. Ich möchte dem Z180 etwas SRAM und ROM spendieren, bei letzterem denk ich an einen 27128 Eprom, da ich davon ein paar in der Bastelkiste hab. Im Zuge der weiteren Experimente wird es dann wohl ziemlich oft notwendig, den Eproms neu zu schreiben. Jedesmal ausm Breadboard rausziehen, löschen, neu beschreiben, wieder einstecken hört sich überhaupt nicht nach einer guten Idee an. Ich hab überlegt, was es an Alternativen gäbe. Was mir eingefallen ist: einen Atmega 1284p (davon hab ich einen in der Kiste) so zurechtbasteln, dass er sich wie der Eprom verhält. Pinkompatibilität ist egal, hauptsache die Signale sind irgendwo verfügbar und der Atmega verhält sich nach ausssen wie ein Rom, und das möglichst flott. Ist das eine völlige Schnapsidee? Gibt es eventuell eine bessere Alternative? Hat eventuell zufällig schon mal jemand sowas gemacht und ne fertige Firmware dafür? Hab bisher selber nur mit C programmiert, für das hier wär sicher Assembler besser?
>Pinkompatibilität ist egal, >hauptsache die Signale sind irgendwo verfügbar und der Atmega verhält >sich nach ausssen wie ein Rom, und das möglichst flott. > >Ist das eine völlige Schnapsidee? Einen Epromsimulator baut man am besten mit einem RAM, einem CPLD (evtl.) und einem uC der dann das programmieren des RAMs steuert.
>Einen Epromsimulator baut man am besten mit einem RAM,
Oder mit einem Flash damit das Programm auch einen Stromausfall
überlebt;)
Das ist eine sehr gute Idee, vielen Dank! Würde bedeuten der Z180 bekommt in dem gesamten Adressraum einen SRAM (ich hab zunächst nicht vor mehr als 64K zu nutzen), und ein Atmega würde z.B. nach dem Systemstart den Z180 zunächst irgendwie anhalten, den unteren Bereich des SRAM beschreiben, und dann den Z180 freigeben oder resetten? Mir fehlen im Moment noch etwas die Detailkenntnisse zum Z180 wie das genau geht, aber zumindest eine grobe Vorstellung hab ich, in die Details kann ich mich sicherlich einlesen.
>Würde bedeuten der Z180 bekommt in dem gesamten Adressraum einen SRAM >(ich hab zunächst nicht vor mehr als 64K zu nutzen), und ein Atmega >würde z.B. nach dem Systemstart den Z180 zunächst irgendwie anhalten, >den unteren Bereich des SRAM beschreiben, und dann den Z180 freigeben >oder resetten? Genau so.
Ohne den Z180 genau zu kennen, würde ich mal vermuten das der auch einen BUSRQ und ein BUSAK hat. Also: Die CPU mit aktiviertem BUSRQ in Reset ziehen. Wenn Deine Lademimik fertig ist das ganze wieder freigeben. Ob da ein Reset alleine reicht würd ich mal bezweifeln.
holger schrieb: > Einen Epromsimulator baut man am besten mit einem RAM Ich hatte früher zum Entwickeln den 2716 durch einen 6516 mit einer Flachbatterie als Pufferbatterie ersetzt. Die Flachbatterie verträgt so einigermaßen die 5 V dauerhaft. ;-) Allerdings riskierte man schon mal, dass beim Einsetzen dann doch ein Bit kippte … da musste man ihn halt neu beschreiben. Heutzutage würde ich wohl auch einen pinkompatiblen Flash nehmen.
./. schrieb: > Ohne den Z180 genau zu kennen, würde ich mal vermuten das der > auch einen BUSRQ und ein BUSAK hat. > > Also: Die CPU mit aktiviertem BUSRQ in Reset ziehen. > > Wenn Deine Lademimik fertig ist das ganze wieder freigeben. Ja, der Z180 hat /BUSRQ und /BUSACK. Würde der Ablauf aus Sicht des Atmel dann so ablaufen? 1) /BUSREQ auf 0 setzen 2) auf /BUSACK = 0 warten 3) /RESET auf 0 schalten 4) den SRAM mit Inhalten beschreiben (ich denk das bekomm ich hin) 5) die I/O Pins des Atmega die am Daten+Adressbus hängen auf Input schalten damit sie nicht mehr stören - ist das so korrekt??? 6) /BUSREQ wieder auf 1 setzen 7) /RESET auf 1 setzen damit der Z180 neu starten kann
Micha schrieb: > ./. schrieb: >> Ohne den Z180 genau zu kennen, würde ich mal vermuten das der >> auch einen BUSRQ und ein BUSAK hat. >> >> Also: Die CPU mit aktiviertem BUSRQ in Reset ziehen. >> >> Wenn Deine Lademimik fertig ist das ganze wieder freigeben. > > > Ja, der Z180 hat /BUSRQ und /BUSACK. Würde der Ablauf aus Sicht des > Atmel dann so ablaufen? > > 1) /BUSREQ auf 0 setzen > 2) auf /BUSACK = 0 warten > 3) /RESET auf 0 schalten > 4) den SRAM mit Inhalten beschreiben (ich denk das bekomm ich hin) > 5) die I/O Pins des Atmega die am Daten+Adressbus hängen auf Input > schalten damit sie nicht mehr stören - ist das so korrekt??? > 6) /BUSREQ wieder auf 1 setzen > 7) /RESET auf 1 setzen damit der Z180 neu starten kann Ja. 1 und 2 kannst du weglassen. Reset und der Z180 ist ruhig. Steht ohnehin nichts oder Müll am Anfang drin. Ich hab sowas früher mit einer ISA-Karte im PC gemacht. Mit ein paar Latches das RAM übernommen und das Programm draufgespielt. Da kriegte der 8051 sein Programm von der Festplatte. Mit einem DOS-Programm im Hintergrund. Noch bevor Windows gestartet wurde. mfg.
Micha schrieb: > Würde bedeuten der Z180 bekommt in dem gesamten Adressraum einen SRAM Ja, wenn du die Hardware neu entwirfst. Für vorhandene Hardware gab es "EProm-Emulatoren", das war auch ein Ram mit Zugriff durch einen Controller oder andere Hardware zum Laden, dann konnte man es per 24/28 poligem Kabel mit entsprechendem DIL-Stecker statt des Eproms ins System stecken. Sowas geht mit jedem System und es gibt sicher auch noch Bauanleitungen dafür. Wenn man das Ladekabel (z.B. V24) dranlässt und vom PC bei Bedarf die Software neu lädt, kann man damit recht komfortabel arbeiten, aber halt nicht debuggen wie heute. Blöd ist es, wenn man ein System hat, das 3 oder 4 Eproms braucht, das war damals in der Steinzeit halt manchmal notwendig. Gruss Reinhard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.