Autor Thema: Einfach programmierbares Modul für ROM-Port?  (Gelesen 60732 mal)

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #20 am: So 07.02.2016, 21:50:09 »
Seeed ist der Laden, den ich ausprobieren wollte, nachdem er mir empfohlen wurde. Flash-ROMs sind 29F010 geworden, auch wenn die nicht (mehr) so leicht zu beschaffen sind, weil ich zumindest einen davon schon da habe...

µC ist jetzt übrigens doch ein ATmega8515 geworden, nicht wegen des Speicherinterfaces (das ich nicht benutze) sondern weil bei näherem Nachdenken meine Idee, um GPIOs zu multiplexen doch nicht so schlau war und ich somit alle 35 GPIOs brauche.

Layout ist hier:

Offline Lynxman

  • Moderator
  • *****
  • Beiträge: 2.155
  • Nicht Labern! Machen!
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #21 am: So 07.02.2016, 21:53:55 »
Dann bin ich mal gespannt.  8)
Aktuelle Lynx FlashCard Firmware: hier klicken

Nerd? I prefer the term INTELLECTUAL BAD ASS

Ich kann nicht alle glücklich machen, ich bin ja keine Pizza!

Werde auch Du Fan von Lynxmans Basteltagebuch!  Klick mich, Du willst es doch auch! ;)

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #22 am: So 07.02.2016, 21:58:27 »
Ich auch.  :)

Ich bin übrigens stolz, dass ich als "Layout-Unbegabter" es geschafft habe, das alles von Hand zu routen. Der EAGLE-Autorouter stellte sich nämlich noch dümmer an als ich.

Offline Lynxman

  • Moderator
  • *****
  • Beiträge: 2.155
  • Nicht Labern! Machen!
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #23 am: So 07.02.2016, 22:04:51 »
Die Autorouter die bei Programmen wie Eagle oder Target mitgeliefert werden sind nicht so toll.
Einen Autorouter muss man auch konfigurieren und dazu gehört viel Erfahrung und das wissen wie diese funktionieren.
Ich Route immer von Hand, der Autorouter von Target macht keine tollen Designs. Ich habe mich aber auch noch nicht wirklich damit auseinandergesetzt.

Dein Layout sieht gut strukturiert aus. Klar, man kann jetzt meckern wegen 90°-Ecken, aber bei den Frequenzen ist das Wurst.

Der Atmega läuft mit internem Takt?
Aktuelle Lynx FlashCard Firmware: hier klicken

Nerd? I prefer the term INTELLECTUAL BAD ASS

Ich kann nicht alle glücklich machen, ich bin ja keine Pizza!

Werde auch Du Fan von Lynxmans Basteltagebuch!  Klick mich, Du willst es doch auch! ;)

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #24 am: So 07.02.2016, 22:24:35 »
Dein Layout sieht gut strukturiert aus. Klar, man kann jetzt meckern wegen 90°-Ecken, aber bei den Frequenzen ist das Wurst.

Ich habe schon HF-Schaltungen bei 3 - 10 GHz gelayoutet. Die waren deutlich weniger komplex, was die Anzahl der zu verlegenden Leiterbahnen angeht, dafür hat muss man da natürlich viele andere Dinge berücksichtigen. Dort schrägt man die Ecken ja an (miter), um den Wellenwiderstand beizubehalten und Abstrahlung zu verhindern. Gibt's sonst noch Gründe? Aber wie Du sagst, bei den Frequenzen im Atari ist das egal.

Wie ist eigentlich das Timing am Cartridge-Port? RAM-Zugriffe der CPU können beim ST ja soweit ich weiß ja nur alle 4 Taktzyklen (also mit 2 MHz) ausgeführt werden, weil der Shifter noch dazwischen kommen muss. Wie ist das mit ROM-Zugriffen?

Der Atmega läuft mit internem Takt?

Ja. Das ist zugegebermaßen kein ganz tolles Design, weil der Takt damit ja von der Temperatur abhängt, aber ich denke, es wird gehen. Notfalls muss ich irgendwie einen Quarz anfädeln, Platz ist in der Nähe der XTAL-Pins des AVR ja da.

Offline neogain

  • Benutzer
  • Beiträge: 1.318
  • ...?
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #25 am: So 07.02.2016, 22:26:55 »
Das sieht doch gut aus. Die DIP AM29F010 werden leider immer seltener. Deswegen setze ich auf die PLCC Variante. Bei Ebay und sogar bei Reichelt bekommste die noch. hab mir mal vor monaten für 1€ das stück bei ebay geschossen und reichelt hat die auch noch für 2,40€ das Stück. Bei dem Pofo Adapter nutze ich auch die PLCC Variante. Dasselbe auch bei den AM29F040er Typen. Habe die auch sehr günstig bei Ebay geschossen. Aber ich tue mich schwer, dass Ganze in Eagle zu routen zusammen mit IDE. Autorouter habe ich nach 3 Versuchen aufgegeben und mache seitdem nur noch alles per Hand. Da weiß man wenigstens, was man hat. Problem wo ich immer habe sind die Luftlinien, die Eagle vorgibt. Wenn ich z. B. einen kondensator (100nF) nahe dem IC bringen will, ist die Luftlinie beim routen komischerweise in einer komplett anderen Ecke, was mich stetig verzweifeln lässt. Wenn man doch nur einfach so die Bahnen ziehen könnte wäre ich schon lange damit fertig.

KiCAD soll eine ganz brauchbare Alternative sein, das bin ich mir gerade am anschauen.

Man könnte doch dein Layout auch für ein Testcartrigde verwenden?

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #26 am: So 07.02.2016, 22:34:11 »
Ja, wenn man nur ein Diagnose-Cartridge haben möchte und einen EPROM-Brenner hat (den ich nicht habe), kann man sogar auch andere pin-kompatible UV-EPROMs oder Flash-ROMs nehmen und den ATmega gar nicht erst bestücken. Evtl. muss man stattdessen eine Drahtbrücke setzen.

Arne

  • Gast
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #27 am: So 07.02.2016, 22:36:54 »
Gibt's sonst noch Gründe?
Ja, gibt es wohl. Neulich gelesen, dass LS-Lack da wohl nicht immer reinfließt oder sich "Seen" bilden.
Ich arbeite nie mit 90° Winkeln.

Offline Lynxman

  • Moderator
  • *****
  • Beiträge: 2.155
  • Nicht Labern! Machen!
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #28 am: So 07.02.2016, 22:42:41 »
Ich habe schon HF-Schaltungen bei 3 - 10 GHz gelayoutet. Die waren deutlich weniger komplex, was die Anzahl der zu verlegenden Leiterbahnen angeht, dafür hat muss man da natürlich viele andere Dinge berücksichtigen. Dort schrägt man die Ecken ja an (miter), um den Wellenwiderstand beizubehalten und Abstrahlung zu verhindern. Gibt's sonst noch Gründe? Aber wie Du sagst, bei den Frequenzen im Atari ist das egal.

Der Lötstoplack soll bei 90° probleme machen können. An der äußeren Ecke zu wenig, habe ich aber noch nie gesehen.
Ästhetik wäre auch noch ein Grund, aber das liegt im Auge des betrachters. ;)
Dein Layout sieht aufgräumt aus, also von der Seite aus finde ich es gelungen. :)

Wie ist eigentlich das Timing am Cartridge-Port? RAM-Zugriffe der CPU können beim ST ja soweit ich weiß ja nur alle 4 Taktzyklen (also mit 2 MHz) ausgeführt werden, weil der Shifter noch dazwischen kommen muss. Wie ist das mit ROM-Zugriffen?

So weit ich weis ist der ROM-Zugriff auch nicht schneller als ins RAM. Also unkritisch.

Ja. Das ist zugegebermaßen kein ganz tolles Design, weil der Takt damit ja von der Temperatur abhängt, aber ich denke, es wird gehen. Notfalls muss ich irgendwie einen Quarz anfädeln, Platz ist in der Nähe der XTAL-Pins des AVR ja da.

Das wird man sehen.  ;)

Das sieht doch gut aus. Die DIP AM29F010 werden leider immer seltener. Deswegen setze ich auf die PLCC Variante.

Ich verwende auch gerne die PLCC.

Problem wo ich immer habe sind die Luftlinien, die Eagle vorgibt. Wenn ich z. B. einen kondensator (100nF) nahe dem IC bringen will, ist die Luftlinie beim routen komischerweise in einer komplett anderen Ecke, was mich stetig verzweifeln lässt. Wenn man doch nur einfach so die Bahnen ziehen könnte wäre ich schon lange damit fertig.

??? Das verstehe ich jetzt nicht. OK, ich nutze Eagle nicht weil mir die Bedienung nie gefallen hat.
Bei Target sehe ist die Luftlinie und dann lege ich die Leitung wie ich Lustig bin.

KiCAD soll eine ganz brauchbare Alternative sein, das bin ich mir gerade am anschauen.

Vor allem Kostenlos.
Für mich kommt zwar die nächsten Jahre kein umstieg in Frage, aber berichte doch mal wenn Du ein Projekt damit gemacht hast.

Man könnte doch dein Layout auch für ein Testcartrigde verwenden?

Ich denke da spricht nichts dagegen. Die Testcartridges habe kein Bankswitching, das sind einfach ROM-Carts, da sollte ja egal sein was man in die FlashChips schreibt.

BTW. Hat jemand ein Tool mit dem ich ein ROM-Set erstellen kann?
Ich würde gerne ein paar Proggis auf einer ROM-Cart haben.
Aktuelle Lynx FlashCard Firmware: hier klicken

Nerd? I prefer the term INTELLECTUAL BAD ASS

Ich kann nicht alle glücklich machen, ich bin ja keine Pizza!

Werde auch Du Fan von Lynxmans Basteltagebuch!  Klick mich, Du willst es doch auch! ;)

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #29 am: So 07.02.2016, 22:52:06 »
Zitat
RAM-Zugriffe der CPU können beim ST ja soweit ich weiß ja nur alle 4 Taktzyklen (also mit 2 MHz) ausgeführt werden, weil der Shifter noch dazwischen kommen muss.

Das ist falsch, der 68000er kann im ST mit vollen 8 MHz aufs RAM zugreifen, der Shifter auch, ohne sich gegenseitig zu bremsen. Die nutzen die verschiedenen Flanken des Taktsignals.

Das verwechselst du mit dem Chipram beim Amiga, aber selbst dort ist das nicht so krass.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #30 am: So 07.02.2016, 23:09:11 »
1ST1, dann verstehe ich das wohl falsch: http://pasti.fxatari.com/68kdocs/AtariSTCycleCounting.html:

Zitat
Bus cycles on the 68000 take a minimum of four clock cycles. But most of the time during a bus cycle is spent for control and handshake. And RAM at the time was fast enough to perform an access cycle in half that time. So the ST interleaves CPU and Video access to RAM, two clock cycles for each.
[...]
The MMU allocates two clock cycles for each type of RAM access, in a round-robin fashion. Two clock cycles for “internal”, and two for “external” access.

Danach wäre es für's RAM beinahe so wie in meiner Erinnerung. RAM-Zugriffe finden alle 2 Taktzyklen statt (mit 4 MHz), die CPU kommt aber nur alle 4 Taktzyklen (mit 2 MHz) zum Zug.






Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #31 am: Mo 08.02.2016, 14:30:45 »
Schau mal hier rein: http://www.atariprofibuch.de/ATARI%20Profibuch%20ST-STE-TT.pdf - Seite 836, leider nicht ausführlich, dort steht aber zumindestens dass die Shifter- und CPU-Zugriffe zeitlich miteinander verzahnt sind. Genauer findet man es im Vorstellungsartikel zum ST aus der c't im Jahr 1985. http://www.heise.de/newsticker/meldung/Sensationell-PC-Schreck-Atari-ST-wird-30-Jahre-alt-2690017.html?hg=1&hgi=3&hgf=true (auf die Seite blättern, wo das Oszidiagramm gezeigt wird, das isses, plus Text auf der selben Zeit.)
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #32 am: Mo 08.02.2016, 17:49:05 »
Klar, Shifter und CPU greifen zeitlich versetzt aufs RAM zu. Das steht ja auch im Zitat, das ich von der genannten Webseite gebracht hatte.

Nur greifen sie halt nicht mit jeweils 8 MHz zu. Das von Dir in der c't gefundene Oszillogramm belegt ja, was ich bloß im Hinterkopf hatte. Shifter und CPU kommen jeweils alle 500ns (im Plot die Kästchen zählen) zum Zug, greifen also jeweils mit 1/500ns = 2 MHz aufs RAM zu, insgesamt muss das RAM also Zugriffe mit 4 MHz verkraften.

Ich nehme an, die Zugriffszeit gilt fürs ROM genauso, nur dass da alle Zugriffe von der CPU kommen...

EDIT: Möglicherweise reden wir aneinander vorbei. Du hast natürlich Recht, dass die Shifter-Zugriffe die CPU (in der Regel) nicht ausbremsen. Nur liegt das nicht daran, dass beide mit 8 MHz auf das RAM zugreifen können, sondern daran, dass der MC68000 selbst ohne Shifter in den meisten Fällen nur alle 4 Taktzyklen einen Buszugriff machen würde und somit auch ohne Shifter über die 2 MHz Speicherzugriffstakt nicht hinaus käme. Das ist wichtig, um die Zugriffszeiten der verwendeten Speicher korrekt zu wählen.

« Letzte Änderung: Mo 08.02.2016, 18:04:45 von czietz »

Arne

  • Gast
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #33 am: Mo 08.02.2016, 18:05:39 »
Nur greifen sie halt nicht mit jeweils 8 MHz zu.
Warum hängst Du Dich eigentlich so starr an einer Taktrate auf? Du hast es hier mit einem asynchronen Bus zu tun. Wenn da ein DIVS/DIVU geladen wird, tut sich erstmal eine Zeitlang nix auf dem Bus.
Ein NOP hingegen braucht 4Takte IIRC.

Das ist wichtig, um die Zugriffszeiten der verwendeten Speicher korrekt zu wählen.
Wenn es Dir ums Flash geht: da reichen 200ns problemlos. So langsame wirst Du vermutlich nicht finden. Im Testkit habe ich 120ns und 100ns, weil ich langsamere gar nicht bekommen habe.
« Letzte Änderung: Mo 08.02.2016, 18:07:57 von Arne »

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #34 am: Mo 08.02.2016, 18:15:39 »
Wenn es Dir ums Flash geht: da reichen 200ns problemlos. So langsame wirst Du vermutlich nicht finden. Im Testkit habe ich 120ns und 100ns, weil ich langsamere gar nicht bekommen habe.

Das ist doch mal eine Aussage. Danke schön!  :)

Arne

  • Gast
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #35 am: Mo 08.02.2016, 18:29:13 »
Das ist doch mal eine Aussage. Danke schön!  :)
LOL   :D
Warum fragst Du nicht direkt?
Im ST habe ich als EPROMs schon 250ns fürs TOS und sogar 170ns fürs RAM gesehen.
TOS oder ROM-Port macht keinen Unterschied, da das /DTACK beidesmal von einem ASIC kommt und die /ROMx Signale vom selben ASIC erzeugt werden. Der Rest ist ja der async. 68k Bus.

Mich hat verwundert, dass Du an der Taktrate klebst, da Du ja auch vom Fach bist.  ???

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #36 am: Mo 08.02.2016, 22:29:48 »
Die DIP AM29F010 werden leider immer seltener.

Basierend auf einem schnellen Blick ins Datenblatt dürfte der SST39SF010A kompatibel sein. Der ist auch in DIP32 noch recht problemlos (Conrad, Farnell, Digikey etc.) erhältlich.

Offline Lynxman

  • Moderator
  • *****
  • Beiträge: 2.155
  • Nicht Labern! Machen!
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #37 am: Mo 08.02.2016, 22:56:02 »
Die DIP AM29F010 werden leider immer seltener.

Basierend auf einem schnellen Blick ins Datenblatt dürfte der SST39SF010A kompatibel sein. Der ist auch in DIP32 noch recht problemlos (Conrad, Farnell, Digikey etc.) erhältlich.

Und hat den Vorteil das er wesentlich schneller löscht.
Aktuelle Lynx FlashCard Firmware: hier klicken

Nerd? I prefer the term INTELLECTUAL BAD ASS

Ich kann nicht alle glücklich machen, ich bin ja keine Pizza!

Werde auch Du Fan von Lynxmans Basteltagebuch!  Klick mich, Du willst es doch auch! ;)

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #38 am: Mi 16.03.2016, 22:08:36 »
So, Platine ist endlich da und auch schon bestückt. Funktioniert offenbar, kein grundsätzlicher Designfehler.  :D Auch wenn ich das Programm noch nicht fertig habe, um Daten vom PC ins Flash laden zu können und der ATmega daher nur ein Testpattern ins Flash schreibt.

Allerdings bin ich beim Flash-Kauf böse reingefallen und habe z.Zt. eine Mischbestückung mit einem IC AM29F010 und einem AM29F010B. Bei letzterem steht im Datenblatt zwar "Compatible with Am29F010", aber das bezieht sich (mal wieder) nicht auf den Programmieralgorithmus, sodass ich diesen Flash-Baustein nur mit SW-Anpassung programmieren könnte. Ärgerlich, ich werde das IC wohl tauschen.

Ein bisschen Optimierungsbedarf für das B-Muster ;) habe ich auch noch gefunden: Ich habe den Leiterplattensteckverbinder, der in den ROM-Port kommt, etwas zu schmal gemacht, sodass man aufpassen muss, dass das Modul auch richtig zentriert ist, damit es Kontakt hat. Vielleicht klebe ich da kleine Abstandshalter an die Platinenkanten, um das zu beheben.

Ich werde berichten, wenn ich soweit bin, das Modul auch vom PC aus programmieren zu können.

Offline czietz

  • Benutzer
  • Beiträge: 3.686
Re: Einfach programmierbares Modul für ROM-Port?
« Antwort #39 am: Mi 16.03.2016, 22:24:00 »
PS: ...