W65C02S-Einplatinencomputer

Es gibt 295 Antworten in diesem Thema, welches 49.578 mal aufgerufen wurde. Der letzte Beitrag (25. Dezember 2012 um 19:58) ist von norbi40.

  • Über das Löten würde ich mir da keine Gedanken machen. Der Pitch ist bei PLCC genauso einfach wie DIL. Ich würde mir eher Gedanken über das Routing machen. Der PLCC ist zwar kompakter, dafür ist das Pinout nicht so praktisch. Beim Routing könnte die DIL-Version Vorteile bringen. Mit einem PLCC verbraucht man den gewonnen Platz sehr schnell wieder mit Kreuz und Quer-Leiterbahnen.

    Abgesehen davon erlaubt die Verwendung von DIP eine universellere Verwendung der Platine. Man kann sie dann mit den CMOS-Chips von WDC benutzen. Oder man kann ein paar alte NMOS-6502/6522/usw. draufstecken und damit Spass haben. OK, Busübernahme geht dann nicht mehr weil die NMOS-6502 keinen BE-Eingang haben.

    Auch wenn die Platine größer wird, DIP fände ich besser.

  • Genau, daran hatte ich in dem Augenblick gar nicht gedacht. DIL ist damit immer praktischer.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Genau, daran hatte ich in dem Augenblick gar nicht gedacht. DIL ist damit immer praktischer.

    Eben... Ich hab insofern weitergedacht als das die Platine etwas universeller sein soll, so das man damit möglichst viel anfangen kann. Daher auch der Bestückungsvorschlag mit 2 x VIA und 1 x ACIA incl MAX232. Was man nicht braucht, kann man ja leer lassen. Aber je universeller, desto mehr Leute könnten Interesse an einer Platine haben.

  • Ich war wieder fleißig und habe nun die Schaltpläne von Banking, AVR, Select und Speicher soweit fertig.

    Hm... Wenn du die Banking-Leitungen für das RAM auch mit dem Flash verbindest wird die Programmierung interessant weil jede Umschaltung der RAM-Bank auch das ROM umschaltet. Brauchen wir wirklich mehr als 16 KB? Könnte man aber als Option drin lassen und so eine oder mehrere der oberen Adressleitungen über Jumper entweder mit dem Banking-Register verbinden oder fest auf GND legen. Dann wechselt die ROM-Bank nicht mehr bei jeder Änderung der RAM-Bank.

    A14 kannst du allerdings nicht direkt benutzen weil das schon Teil der Selektierung ist und A14 = LOW bei A15 = HIGH den I/O-Bereich anzeigt.

  • Eben... Ich hab insofern weitergedacht als das die Platine etwas universeller sein soll, so das man damit möglichst viel anfangen kann. Daher auch der Bestückungsvorschlag mit 2 x VIA und 1 x ACIA incl MAX232. Was man nicht braucht, kann man ja leer lassen. Aber je universeller, desto mehr Leute könnten Interesse an einer Platine haben.

    Stimmt, in der Hinsicht ist DIL natürlich praktischer.

    Das Problem ist im Moment, dass es kein W65C51S gibt, sondern nur einen W65C51N. Die N-Variante ist die Variante, die kompatibel zu NMOS-Chips ist. Also nicht direkt mit den S-Chips zu benutzen.
    Das nächste Problem ist, dass es die ACIAs nur als Samples gibt, und nicht regulär im Handel.


  • Das Problem ist im Moment, dass es kein W65C51S gibt, sondern nur einen W65C51N. Die N-Variante ist die Variante, die kompatibel zu NMOS-Chips ist. Also nicht direkt mit den S-Chips zu benutzen.
    Das nächste Problem ist, dass es die ACIAs nur als Samples gibt, und nicht regulär im Handel.

    Ganz normale 65C51 bekommt man aber noch so wenn man etwas sucht und wer NMOS-65xx benutzen will hat sowieso keine Probleme. Ich denke der Platz sollte zumindest drauf. Sind ja nur 28 pins, zusammen mit dem MAX232 braucht das ca. denselben Platz wie ein VIA.

  • Das Problem ist im Moment, dass es kein W65C51S gibt, sondern nur einen W65C51N. Die N-Variante ist die Variante, die kompatibel zu NMOS-Chips ist. Also nicht direkt mit den S-Chips zu benutzen.
    Das nächste Problem ist, dass es die ACIAs nur als Samples gibt, und nicht regulär im Handel.


    Wäre es ein zu starker Stilbruch, einfach einen 16C550A einzuplanen? Kostet so etwa 2 EUR bei Mouser, Varianten mit zwei oder vier Ports gibts auch.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.


  • Wäre es ein zu starker Stilbruch, einfach einen 16C550A einzuplanen? Kostet so etwa 2 EUR bei Mouser, Varianten mit zwei oder vier Ports gibts auch.

    Der braucht aber extra Logik, oder? Zumindest der IRQ will invertiert werden und die Schreib/Lese-Leitungen passen auch nicht so 100%. Ok, vielleicht könnte man hier die Leitungen fürs RAM verwenden.

    Bis zu welchem Takt macht der eigentlich mit? Bei den x86 waren I/O-Zugriffe nie so besonders schnell.

  • Ich würde lieber abwarten, ob überhaupt ein RS232-Chip noch Platz finden wird. Wie groß soll die Platine werden ? - Euro 16x10 ?

    Ich würde das Hauptboard nicht zu bombastisch ausstatten. Sollte imo am Ende noch gut bezahlbar bleiben.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Ich würde lieber abwarten, ob überhaupt ein RS232-Chip noch Platz finden wird. Wie groß soll die Platine werden ? - Euro 16x10 ?

    Das war meine Überlegung... Vom Platz her sollte das hinkommen, Bitte melde dich an, um diesen Link zu sehen. Platine hier hat einen 6502, 2x VIA, 1x RS232, RAM, ROM, Bus und I/O auf Steckern und noch Platz in der Mitte welcher bei unserer Platine für die Banking-Logik draufgehen wird.

    Zitat

    Ich würde das Hauptboard nicht zu bombastisch ausstatten. Sollte imo am Ende noch gut bezahlbar bleiben.

    Wenn es vom Platz her passt hätte ich schon gerne die Möglichkeit das volle Programm unterzubringen. Je nachdem, was man will, muss man ja nicht alles bestücken. Daher auch mein Versuch bei der Glue-Logik möglichst sparsam zu sein.

    RS232 hat eben den Vorteil, dass sie einfachst zu programmieren ist und damit schnell eine Datentransferlösung gestrickt ist.

  • Ich würde den RS232 Chip nicht über einen MAX232 direkt rausgeben, sondern über den ATMega1284P-PU schicken.
    Der ATMega1284P-PU hat 2 RS232 Module, und dann kann man auch die Daten von dem RS232-Chip direkt über einen FT232 oder MAX232 laufen lassen.
    Das spart 2 MAX232, 10 Kondensatoren und vor allem Platinenplatz.
    Bei der Datenrate vom RS232 Chip sollte man dann nicht unbedingt voll aufdrehen, und dann schafft der ATMega das.

    Welchen RS232-Chip wollten wir nehmen? Den 16C550?

    MfG.
    crasbe

  • Welchen RS232-Chip wollten wir nehmen? Den 16C550?

    Der ist grösser und braucht mehr Glue-Logik damit er am 6502 laeuft. Dann ist noch die Frage ob er bei einem 4 MHz 6502 noch mitkommt. Edit: Ich hab mir das Datenblatt mal angesehen. Die Beschreibung des Zugriffs sieht sehr komisch aus, ich hätte im Moment keine Ahnung wie ich das mit dem 6502 verheirate.

    Ausserdem wäre der 65x51 stilechter. :)

    Ok, den MAX232 onboard kann man weglassen, Wer den AVR nicht benutzen will kan sich einen MAX232 so dranstricken.

  • Zitat

    Dann ist noch die Frage ob er bei einem 4 MHz 6502 noch mitkommt.


    das meinst du jetzt aber nicht ernst oder?

    Zitat

    Die Beschreibung des Zugriffs sieht sehr komisch aus, ich hätte im Moment keine Ahnung wie ich das mit dem 6502 verheirate.


    ich hab den silversurfer jetzt grad nicht griffbereit, aber wenn ich mich recht erinner war da nix drauf ausser dem uart - sprich einfach durchverbunden, fertig.

    Zitat

    Ausserdem wäre der 65x51 stilechter.


    aber ungleich grauenhaft zu programmieren. das hat schon seine gründe warum sich andere chips durchgesetzt haben :)


  • das meinst du jetzt aber nicht ernst oder?

    Doch, schon. Du hast bei 4 MHz beim 6502 nur max. 125 ns incl. der Dekodierung. Das macht nicht jeder I/O-Chip mit.

    Zitat


    aber ungleich grauenhaft zu programmieren. das hat schon seine gründe warum sich andere chips durchgesetzt haben :)

    Der 16550 ist auch nicht wirklich besser. Schon deshalb weil er wirklich gar kein Handshake in Hardware kann. Die Handshakeleitungen sind reine I/O-Leitungen die IRQs auslösen können. Ihr Zustand hat keinerlei Auswirkunden auf die Funktion des Senders oder Empfängers.

    Die 8250-Clones und Verbesserungen haben sich durchgesetzt weil IBM den 8250 im PC verbaut hatte, nicht weil sie besser waren.

  • Zitat

    Doch, schon. Du hast bei 4 MHz beim 6502 nur max. 125 ns incl. der Dekodierung. Das macht nicht jeder I/O-Chip mit.


    uarts finden sich an ports die um grössenordnungen schneller sind. 4mhz sind da ganz sicher kein problem.

    Zitat

    Der 16550 ist auch nicht wirklich besser. Schon deshalb weil er wirklich gar kein Handshake in Hardware kann. Die Handshakeleitungen sind reine I/O-Leitungen die IRQs auslösen können. Ihr Zustand hat keinerlei Auswirkunden auf die Funktion des Senders oder Empfängers.


    dann nimm halt einen 16c560 (oder wie immer der nächst grössere hiess), der kann hartverdrahtetes rts/cts. geht mit einem zusätzlichen ttl käfer aber auch mit dem 16c550.

    Zitat

    Die 8250-Clones und Verbesserungen haben sich durchgesetzt weil IBM den 8250 im PC verbaut hatte, nicht weil sie besser waren.


    das byte das beim acia gerne mal verloren geht spielte da keine rolle meinst du? =P

  • Zitat

    Der ist beim 65C51 behoben.


    das ist der den es maximal als sample gibt? =P

  • Hast du einen oder 20?
    Bei einer Sammelbestellung brauchen wir nämlich mehr als einen!

    Die Lösung mit der ACIA halte ich für wenig praktikabel, solange es nur Samples vom WDC gibt.
    Wir können einen Sockel vorsehen, und jeder muss sich selbst eine ACIA besorgen, aber das ist eigentlich keine schöne Lösung...


  • Wir können einen Sockel vorsehen, und jeder muss sich selbst eine ACIA besorgen, aber das ist eigentlich keine schöne Lösung...

    Wir können auch einen 16550 vorsehen. Aber dessen IRQ ist high active, also muss da noch ein Inverter rein. Entweder ein 74LS06 oder ein einfacher Transistor/Widerstand. Oh... ich denke einige Leitungen zur CPU werden einen Pullup brauchen. Ich denke hier an IRQ, NMI, RDY