Demo-Probleme mit dem Pi-Zero (O/T aus "Wäre jemand an einem kleinen C64 interessiert?")

Es gibt 247 Antworten in diesem Thema, welches 25.071 mal aufgerufen wurde. Der letzte Beitrag (27. Oktober 2020 um 11:05) ist von Kosmas.

  • Editiert... Idee gecanceled :smile:

    hallo matthias,

    ich habe aber deinen beitrag per email ja bekommen.

    und ich möchte doch darauf antworten. weil es meiner meinung nach, sehr wichtig ist,
    wenn man digitale schaltungen entwickelt.

    ich selbst musste es mir mühsamm in den 70er selbst klein klein beibringen.
    englisch konnte ich nicht und kann es immer noch nicht. und ich habe leider keinen damals gefunden der sich da auskannte.
    und mir helfen konnte. umgekeht, weil ich das damals irgendwie, mit der zeit, nach tausenden stunden, hinbekommen hatte.
    konnte ich oft anderen helfen, die bei entwicklungen probleme hatten und es sogar studiert haben.

    damals lernte ich sogar, bei fast allen ttl 74xxx ics den inhalt, die funktion und sogar die pin belegung auswendig.
    damit ich nicht immer wieder mühsamm in englischen datenblättern, herum blättern und herumrätseln muss.
    was da in englich wohl gemeint war. ich hatte sogar probleme gehabt mit den warnungen, die ich nicht verstanden habe.
    ich dachte, das muss so gemacht werden und dann stellte ich fest, nein die meinten, nicht so machen.
    und dann hatte ich pech gehabt und musste wieder einen monat warten, bis ich wieder etwas geld zusammen hatte um
    die defekten ics zu ersetzen. da muss ich gerade an meine erste nixie uhr denken.

    ich lernte die pinbelegung auch auswändig, weil ich damals, meine ideen, so schnell wie möglich verwirklichen und testen wollte.

    da erinnerst du mich, mit deinen c64 versionen, an meinen unstillbaren tatendrang :) der immer noch vorhanden ist.
    nun genügt es mir, die letzten 15 jahre, etwas nur gedanklich zu durchdenken, ob es gehen würde.
    da meine augen und meine hände da nicht mehr so mitmachen.

    Ich würde gerne die ganzen Einzel-Widerstände loswerden, und durch 3.3K ersetzen.
    Habe das mal probiert, und soweit gab es bisher kein schlechtes Feedback vom System.


    das mit den 3,3k würde eigentlich problemlos funktionieren.
    nur nicht wenn der rpi über ein sehr langes kabel angeschlossen wird.
    dann sollte aber am letztem bus gerät ein gerät sein, welches 1k eingebaut hat. z.b. eine 1541 oder ein drucker.

    wenn du noch freie 3,3k hast, dann doch die parallel schalten, dann hast du ja schon dadurch 1,65k da.
    wenn du sogar drei parallel schaltest, dann hast du ja sogar 1,1 k.

    Der Strom wäre dann auf Raspi Seite 3 x 1 mA, was denke ich mal ok wäre.

    es geht ja nicht um den strom an der rpi seite, sondern der am bus, und da müssen ja sogar die
    ca. 5mA pro peripheriegerät da verbraten werden, damit die signale da sauber ankommen.

    der rpi selbst, seine ausgengängen müssen so wenig wie möglich belastet werden.
    deine 3,3k machen da, da es ja ein rpi eingang ist keine probleme.

    weil der rpi kaum etwas treiben kann. der ist eigentlich wohl nur für cmos ics gebaut worden.
    und nur für maximal ein ttl-ic pro pin (wohl nur für ein ttl fan-in) gebaut.

    ein cmos ic hat einen sehr geringen fan-in wert. so kann ein ausgang sehr viele cmos eingänge gleichzeitig treiben.
    so kann man an einen rpi ausgang sehr viele cmos eingänge parallel schalten.

    ein echtes ttl-ic hat aber immer einen fan-in wert. je nachdem welches der ttl-ics, haben manche ttl-ics sogar
    schon intern einen hohen wert. so kann man an einen ttl ausgang nicht viele eingänge anklemmen.

    man muss immer sich im datenblatt entsprechend informieren. wenn man zwei ics oder mehr zusammen
    schaltet. schon in einem ic gibt es unterschiedliche fan-in und fan-out werte die man immer beachten muss!

    als ich z.b. meine 64kb speichererweiterung für die cbm geräte entwickelt habe oder
    noch schlimmer bei meiner proxa7000 für die cbm700er.
    da musste ich, bei der entwicklung, jedes einzelne gatter beachten, betreff fan-in und fan out und
    auch noch ganz wichtig die gatter verzögerungszeit. das alles muss sehr oft, bis auf ein paar nS stimmen!

    geht z.b. ein signal durch mehrere gatter, z.b. 5, dann kommt es erst ca. 50nS später an.
    und das kann manchmal viel zu spät sein, so muss man dann die ganze schaltung komplett neu ändern,
    damit das ganze fan-in und fan-out und die signalverzögerungszeit auch stimmt.
    auch ein signal, welches zufrüh kommt, kann da große probleme manchmal machen. usw.

    Und da ja der C64 selbst schon 1K Pullup Widerstände auf ATN, CLCK und DATA liegen
    hat, dürften doch die 3.3K beim Pi1541 überhaupt nicht auffallen.


    wie bereits oben und auch schon früher oft von mir geschrieben. die widerstände an einem bus
    sollen auffallen. damit ein bus problemlos funktioniert. deswegen werden ja auch open collector treiber auch benötigt.
    open collector, damit man die geräte parallel schalten kann und treiberausgänge damit ja genug bums kommt.
    um die parallel geschalteten lasten auch überhaupt ansteuern zu können.

    manche busse haben ja tristate treiber, da muss dafür gesorgt werden das NIE zwei ausgänge
    parallel zu gleicher zeit aktiv sind. es darf immer nur EINER aktiv sein
    und die anderen müssen immer auf tristate (hochohmig) sein oder auf input, dann sind sie hochohmig.

    so ist es z.b. bei dem data bus, bei einer cpu. man könnte den auch mit open collectror ausgängen verwirklichen,
    das machte man auch früher sehr oft. da es da noch kaum tristate treiber (günstig) gab.

    z.b. ein irq ausgangs pin ist ein open collector oder ein open drain ausgang.
    damit man ja den irg pin mit allen vorhandenen ics zusammen parallel schalten kann.

    so ist es auch im c64 gemacht. der irg pin an der 6510 ist ein eingang und alle anderen 65xx haben einen
    open collector oder einen open drain ausgang. und der irg(-bus) wird dann mit einem pull up widerstand abgeschlossen.

    ich hoffe du kannst damit etwas anfangen oder ein anderer der es später hier sieht.

    lg
    helmut

    edit.....edit......edit........

    Helmut Proxa @axorp (HP.)

    proxa computer

    ultra electronic Helmut Proxa GmbH & Co. Computer Systeme Hardware Software KG - Telex 888 66 27 uehp

    16 Mal editiert, zuletzt von axorp (1. Oktober 2020 um 16:31)

  • Das mit Bus Tristate, TTL Verzögerungszeit, Datenblatt, max. Belastung der Pins, ist mir natürlich bekannt :wink:

    das mit den 3,3k würde eigentlich problemlos funktionieren.
    nur nicht wenn der rpi über ein sehr langes kabel angeschlossen wird.

    Ok, dann gibt es also keine Bedenken diesbezüglich, da es bei meinem Anliegen um die Pi Zero Adapterplatine geht (kein Kabel, und man da auch kein weiteres Gerät anschließen kann), und ich gerne alles andere loswerden würde :smile:

    Ich werde dann mal eine Testplatine ordern, und mit der vorhandenen vergleichen. Wenn kein Unterschied besteht, werde ich umstellen.

    Zitat

    edit.....edit......edit........

    Ein Post ist nur "Work in progress" :D

  • (kein Kabel, und man da auch kein weiteres Gerät anschließen kann)

    an den bus wird man doch noch weitere externe geräte anschliessen können?
    dafür hast du doch noch parallel die iec buchse auf dem c64 board.

    und du hast doch den 7406 auf deinem pi1541 adapter, der ist ja dafür da.
    damit man am iec bus ja weitere geräte parallel betreiben kann.

    so kann man dann doch an den iec bus noch weitere geräte anschliessen, so wie es sich auch gehört.
    und auch geräte mit einem langen kabel, das muss ja funktionieren.

    du hast deine pi1541 version auf dein c64 board ja gesteckt.
    so ist es auch kein problem, da ja, wie du auch geschrieben hast, der c64 die 1k selbst in der nähe hat.

    nur wenn man deinen pi1541 adapter version extern benutzen würde.
    dann könnte es probleme mit den 3,3k geben. aber nur wenn es das letztes gerät am bus ist und mit einem langem kabel.

    du hast noch einen 3,3k frei, dann lege den zusammen mit dem für das clk signal. dann sind es 1,65k.

    -----------------------------------------------------------------------------------

    haben deine power und die drive leds einen vorwiderstand? ich kann die nicht da entdecken.
    werden die von einem rpi port angesteuert? dann geht das nicht gut.
    hast du die auch bei der vorwersion weggelassen?

    geht deine reset leitung an die power led?

    lg
    helmut

    Helmut Proxa @axorp (HP.)

    proxa computer

    ultra electronic Helmut Proxa GmbH & Co. Computer Systeme Hardware Software KG - Telex 888 66 27 uehp

    Einmal editiert, zuletzt von axorp (2. Oktober 2020 um 03:32)

  • an den bus wird man doch noch weitere externe geräte anschliessen können?
    dafür hast du doch noch parallel die iec buchse auf dem c64 board.

    Richtig, nur im Falle des Pi1541 Zero nicht relevant, wie dann später von Dir angemerkt...

    du hast deine pi1541 version auf dein c64 board ja gesteckt.
    so ist es auch kein problem, da ja, wie du auch geschrieben hast, der c64 die 1k selbst in der nähe hat.

    nur wenn man deinen pi1541 adapter version extern benutzen würde.

    Stimmt, aber dazu ist er nicht gedacht :smile:

    dann könnte es probleme mit den 3,3k geben. aber nur wenn es das letztes gerät am bus ist und mit einem langem kabel.

    Genau, so hatte ich auch argumentiert. Da die Platine keine Serial Buchse hat, kann man natürlich auch kein langes Kabel anschließen, es sei denn man lötet eine Buchse an die Pins, die aber eigentlich nur "Steck-Pins" sind :smile:

    du hast noch einen 3,3k frei, dann lege den zusammen mit dem für das clk signal. dann sind es 1,65k.

    Nein, den benutze ich als Vorwiderstand für die LED :wink: Und für die andere LED habe ich einen 3.3k Widerstand eingebaut, weil es nicht anders ging. Zumindest ist nur noch 1 Widerstand auf der Platine. Das ist ja schon mal was :wink:

    haben deine power und die drive leds einen vorwiderstand? ich kann die nicht da entdecken.
    werden die von einem rpi port angesteuert? dann geht das nicht gut.
    hast du die auch bei der vorwersion weggelassen?

    geht deine reset leitung an die power led?

    Ich verwende immer Vorwiderstände, nicht die empfohlenen 220 Ohm (oder sogar 100 Ohm), weil mir dann die LEDs in die Augen stechen :smile: Ich benutze meistens 470 Ohm oder 1K. In diesem Fall hier 3,3K weil ich es gerne einheitlich mag. Ich habe das schon ausprobiert, und es sieht gut aus.

    Ursprünglich wollte ich den Widerstand von dem Netzwerk für Reset mitbenutzen, aber da ich eh einen weiteren Widerstand für die Disk LED benötige, und ein Widerstand vom Netzwerk noch frei ist, habe ich das dann umgemodelt. Das dürfte jetzt alles passen :smile:

    Einmal editiert, zuletzt von Matthias (2. Oktober 2020 um 04:22)

  • Nein, den benutze ich als Vorwiderstand für die LED :wink: Und für die andere LED habe ich einen 3.3k Widerstand eingebaut, weil es nicht anders ging. Zumindest ist nur noch 1 Widerstand auf der Platine. Das ist ja schon mal was :wink:

    :thumbsup:

    In diesem Fall hier 3,3K weil ich es gerne einheitlich mag. Ich habe das schon ausprobiert, und es sieht gut aus.

    es reicht aus, wenn die hell genug ist, je weniger da strom verbraten wird umso besser.
    auch für die ansteuerung und die ports. besonders bei dem rpi.

    lg
    helmut

    Helmut Proxa @axorp (HP.)

    proxa computer

    ultra electronic Helmut Proxa GmbH & Co. Computer Systeme Hardware Software KG - Telex 888 66 27 uehp

  • es reicht aus, wenn die hell genug ist, je weniger da strom verbraten wird umso besser.

    Find ich auch :thumbsup: Die meisten Leds sind eh viel zu hell. Meinen Monitor stelle auf 9 (Helligkeit) anstatt auf 50 oder 75 :wink:

  • Bitte melde dich an, um diesen Anhang zu sehen.Moin...habe Mal die Widerstände auf R1 und R2 gemessen.

    Der 1k Netzwerk Widerstand gibt an 2 Pins nur 0,5 und 0,6 kOhm raus.

    Sollte alles 1 kOhm sein...oder?

    Anderer 1 k Netzwerk sagt mir hier brav überall 1 kohm.

    Könnte das der bösartige Kollege sein?

  • Da schaut man aus Zeitgründen mal ein paar Tage nicht hier rein, und schon gibt es seitenweise neue Beiträge..

    Kann mir mal einer helfen? Ich wollte die Variante C von kinzi ausprobieren und bekomme es nicht hin. Bei mir ist ein ein RPi 3 Model B V1.2. Mit der Variante A läuft alles. Bei der Variante C habe ich wie Kinzi eine Platine von bigby umgelötet und vom 7406 den Pin 8 und 9 durchtrennt.

    Insgesamt habe ich 3 verschiedene 74xx06 ausprobiert: mit einem aktuell bei Reichelt gekauften 74LS06 bekomme ich sofort ein Device not present error, wenn ich bspw. Load"$",8 eingebe. Mit den anderen 7406 bleibt der C64 (egal welches Modell) mit einem Searching hängen, oder Searching kommt erst gar nicht. Das unterschiedliche Verhalten finde ich schon merkwürdig und ich gehe von einem Fehler auf meiner Platine aus.

    Das steht in der options.txt (in der Variante A fehlen diese Zeilen):

    Code
    splitIECLine = 1
    invertIECInputs = 1

    Und hier sind Bilder der Vorder- und Rückseite, ich habe nur die wichtigsten Dinge bestückt:

    Bitte melde dich an, um diesen Anhang zu sehen.Bitte melde dich an, um diesen Anhang zu sehen.

    Notfalls baue ich mal die Variante B mit Levelshifter auf, eine Platine müsste ich noch haben.

    P.S.: den oberen 7406 habe ich aktuell über Ebay bekommen, der mittlere ist aus einem alten C64, und der untere eingesetzte ist der LS06 von Reichelt.

  • ..ich muss das auch mal aufbauen - Matthias : hast du mal Variante C probiert?

    Ja, ich habe alles probiert. Bin jetzt Experte :D

    Ob nun Variante B oder C, das macht keinen Unterschied. Bei C spart man nur ein paar Bauteile (auch nicht schlecht)

    Also alle alten Sachen (Spiele in D64s) laufen. Durch die Bank weg. Bei meinen Tests liefen nur neuere Sachen nicht. Neue Spiele/Demos die irgendwelche verrückten Sachen mit dem Laufwerk anstellen, da muss der Pi1541 Zero passen :smile:

    Ansonsten bin ich aber mit dem Pi Zero zufrieden :wink:

  • Das steht in der options.txt (in der Variante A fehlen diese Zeilen):

    Code
    splitIECLine = 1
    invertIECInputs = 1

    Und hier sind Bilder der Vorder- und Rückseite, ich habe nur die wichtigsten Dinge bestückt:

    Notfalls baue ich mal die Variante B mit Levelshifter auf, eine Platine müsste ich noch haben.

    Die Optionen müssen so aussehen.

    Bitte vor den beiden Optionen die "//" entfernen.

    Ich sag bloss zur Sicherheit 😌

    Würde jetzt aber erstmal sicherstellen dass die 7406 funktionieren. Kann man ja mal in den Modular setzen und mit was anderem testen.

    Die Platine sieht so okay aus. Kann da jetzt keinen Fehler entdecken.

    Zu den Pins 8 und 9 führen glaub insgesamt 3 Leitungen Guck da Mal ob die wirklich durch sind.... nachgemessen?

  • Danke schonmal. Die Zeilen in der option.txt habe ich so eingefügt, ohne // natürlich. Dass zu Pin 8 und 9 insgesamt 3 Leitungen gehen, habe ich gar nicht gemerkt, ich habe nur jeweils eine Stelle durchtrennt. Ich schau da nochmal nach. Es ist mit dem weißen Lack schwer zu erkennen, wo die Bahnen liegen und daher auch nicht so leicht nachzumessen.

    P.S.: Bei Pin 8 sehe ich auf der Unterseite nur eine Bahn auf der Rückseite, die hoch zum J16 führt (SRQ enable), und Pin 9 nur eine Bahn, die zu einer Durchkontaktierung über dem Pin 13 führt. Ich habe hier die neuere V5 von bigby, nicht die V4 wie bei Kinzi.

  • btw - zum durchtrennen von Leiterbahnen kann man auch einen kleinen Bohrer nehmen und vorsichtig mittig in die Leiterbahn bohren (natürlich OHNE die Platine durchzubohren) - sieht finde ich viel eleganter aus, als wenn man das mitm Skalpell etc. macht8o

  • Ich hätte da Angst, dass mir der Bohrer abrutscht. Ich hatte ein Skalpell benutzt und mit einem Multimeter geprüft, ob die Leitungen durchtrennt sind.

    Selbst mit Lupe und USB-Mikroskop sehe ich nur diese zwei Bahnen, die ich durchtrennt habe, auch das nachmessen mit Punkten in der Umgebung habe ich keine weiteren Verbindungen gefunden. Das Problem liegt wohl noch woanders, ich denke, ich baue mal die Variante B ebenfalls auf.

  • Selbst mit Lupe und USB-Mikroskop sehe ich nur diese zwei Bahnen, die ich durchtrennt habe, auch das nachmessen mit Punkten in der Umgebung habe ich keine weiteren Verbindungen gefunden. Das Problem liegt wohl noch woanders, ich denke, ich baue mal die Variante B ebenfalls auf.

    Ich meine mich dunkel zu erinnern, dass ich das Problem auch hatte, weil ich wirklich eine Leiterbahn übersehen hatte. Ich müsste aber zu Hause nachsehen.

  • Bei der V5 sieht das alles leider anders aus. Hier sehe ich keine weiteren Leiterbahnen:

    Oberseite, Pin 8 ist rechts; ich erkenne nur an Pin 9 eine Leiterbahn:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Unterseite, Pins 8, 9, 10 gut sichtbar, ich sehe nur an Pin 8 eine Bahn:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Mehrlagig ist die Platine hoffentlich nicht, oder?