FPGASID Prototyp Alpha Test

Es gibt 411 Antworten in diesem Thema, welches 102.144 mal aufgerufen wurde. Der letzte Beitrag (26. Mai 2020 um 14:30) ist von PhantombrainM.

  • Rein stecken wolle ich unsere Alpha FPGASID Version ja schon mal in mein U64, bin aber aktuell durch das neue Plexigehaeuse und Messungen des U64 Board leider noch nicht zu gekommen. ;)
    Ausserdem trau ich mich auch noch nicht so wirklich, ich muss ja auf dem U64 erst mal alle benoetigten Signal fuer den FPGASID finden und anschliessen.
    Am Schoensten waere es natuerlich wenn der FPGASID direkt auf dem Board sitzt und man den so schoen ueber das U64 Menue mischen kann wie aktuell die Emulation von Gideon, ein Traum!

    P.S.: Bitte melde dich an, um diesen Link zu sehen.: Ja ich wuerde die neue Firmware auch nehmen und noch ein wenig mit testen. ;)

  • Auf dem C128 kann man aktuell die Adresse D500 nicht nutzen, da sie von der MMU des C128 belegt wird. Dies gilt leider auch fuer den C64 Modus des C128. Mit der Spezialfunktion und einem Extrakabel wird dieses Problem fuer den C64 Modus behoben.

    Könntest du deine Lösung kurz beschreiben? Würde die auch ohne FPGA funktionieren? Ich habe zwar eine Bitte melde dich an, um diesen Link zu sehen. gefunden, allerdings muss dabei U3 auf dem C128-Board durch einen GAL ersetzt werden.

  • P.S.: andi6510: Ja ich wuerde die neue Firmware auch nehmen und noch ein wenig mit testen.

    Wenns geklappt hat, dann hast Du jetzt eine persönliche Kommunikation erhalten :smile:

  • Bitte melde dich an, um diesen Link zu sehen., Du glaubst gar nicht, wie sehr mir Deine Lösung geholfen hat: Als erstes hast Du mich überhaupt darauf gebracht, dass es da ein Problem geben könnte, dann habe ich mir Deine Lösung angesehen um zu verstehen, was genau eigentlich das Problem ist. Dir gebührt daher hier und sonst auch überall mein allerherzlichster Dank!!!
    :thnks:
    Letztendlich habe ich daraus meine Lösung entwickelt. Sie kommt ohne Modifikationen am C128 aus und soll so funktionieren (Noch nicht getestet!):

    (Achtung, ab hier wird es sehr technisch, aber ich denke Henning wirds verstehen und für irgend jemand ist das womöglich später auch interessant)

    Zunächst wird auf dem C128 leicht anders verkabelt als auf dem C64:

    Verkabelung C64:
    CS+A5+A8+DE00 (so wie bei Dir vermutlich auch)

    abweichende Verkabelung auf dem C128:
    CS bleibt, selektiert dort aber nur D400...D4FF
    A5 bleibt, macht keine Probleme
    A8 wird ersetzt durch ein D500 chip select Signal, welches praktischerweise am U3, pin14 anliegt.
    DE00 bleibt.
    Extraleitung an die C128/C64 Leitung (U7, pin 47)

    Dann gibt es eine Autoerkennung, die herausfindet, ob man auf einem C64 oder einem C128 ist:

    * Zu Anfang glaubt der FPGASID er sei in einem C128.
    * Beim ersten Zugriff nach dem Rechnerstart auf den D400 Bereich ist beim C64 CS=0 und A8=0. Beim C128 hingegen ist CS=0 aber A8 (alias D500) = 1.
    Diese Information wird gespeichert und dient zur Konfiguration der Adressdekoderlogik.

    Dann erfolgt die eigentliche Adressdekodierung:
    * Wenn ein C64 erkannt wurde, wird A8 wie eine Adressleitung behandelt und schaltet zwischen D400 und D500 um.
    * Wenn ein C128 erkannt wurde, wird A8 wie ein Chipselect behandelt. Dazu wird zusätzlich das C128/C64 Signal ausgewertet. Steht dies auf 0 (=C64), dann wird A8 (alias D500) zur Auswahl des D500 Bereichs verwendet. Steht das C128/C64 Signal auf 1 (=C128) wird A8 (=D500) ignoriert.

    Intern ist das bei mir noch um einiges komplexer, da ich diverse Verkuddelungsmodi für meine Konfigurationsregister habe, aber ich hoffe, das Grundprinzip wurde klar.

    Wenn Du die Autoerkennung weg lässt und durch einen Jumper ersetzt, dann geht das ohne FlipFlop und Du kannst es mit reiner Logik erschlagen.


    Ich habe das Zeug jetzt implementiert und auf einem C64 schon mal auf nicht vorhandene Seiteneffekte geprüft. Was noch fehlt sind die Tests auf dem C128.

  • Die Nummer 11 läuft einwandfrei mit Rev 0.9 und CPLD Rev. 4.
    Es ist kein Unterschied mehr zu einem Serien SID zu hören, das ist ein Meisterwerk! Meiner wird allerdings doch sehr warm und ich überlege ob ich ihm einen kleinen Kühlkörper verpasse.

    Gruß und DANKE
    Tom

  • Es ist kein Unterschied mehr zu einem Serien SID

    Meiner wird allerdings doch sehr warm

    Eben: Kein Unterschied zu einem Serien SID... :wink:

    Tatsaechlich verbraucht der FPGASID ziemlich genau das, was eine Stereo-Loesung mit original SIDs brauchen wuerde, naemlich ca 0,8 Watt. Der Original SID genehmigt sich ueblicherweise 0,4 Watt.
    Ich optimiere gerade den FPGA-Code und hoffe den Stromverbrauch noch ein bisschen zu senken, aber ehrlich gesagt erwarte ich da keine Wunder.

    Ich verschiebe das hier mal in den Alphatest Faden.

  • Meiner wird allerdings doch sehr warm und ich überlege ob ich ihm einen kleinen Kühlkörper verpasse.

    Das ist das einzige wo ich langfristig auch kein gutes bauchgefühl habe. Klar, technisch laut specs etc. "kein problem" ...trotzdem wird es auf die lebensdauer gehen, denn der wird nicht nur sehr warm sondern glüht ja fast schon (rein vom empfinden her). Ich werde auf alle fälle dann einen kühlkörper anbringen. Gewünscht hätte ich mir irgendwie eine befestigungsmöglichkeit für kühlkörper mit klammer aber das geht designtechnisch wohl nicht, hatte ja andi auch schonmal erwähnt. Dann kommt halt so ein klebekühlkörper drauf, nicht perfekt, aber besser als nix :)

    Freue mich schon auf das finale meisterwerk 8o:thumbup:

  • Interessant, dass ihr das mit der Temperatur beide unisono berichtet. Mir kommt das nicht so dramatisch vor.

    grobe Faustregel: Wenn man mit dem Finger drauf bleiben kann, liegt die Temperatur unter 60Grad. Das ist nämlich die Schmerzgrenze. Und 60Grad kann das Teil locker ab.

    Wird nur das FPGA (unten etwas kleiner ohne sichtbare Beine) warm, oder auch das CPLD (der obere Käfer mit sichtbaren Beinchen)?

    Ich mache demnächst sowieso noch Temperaturmessungen.

  • Bei mir wird beides warm, allerdings ist die FPGA durchaus als heiß zu bezeichnen. Leider habe ich kein Thermometer dafür, sonst würde ich es mal messen. Aber wenn die Fingertheorie so stimmt, dann kann ich meinen Finger da nicht länger als 10 Sekunden drauf halten.
    Allerdings sind 0.8 Watt auch ganz schön was für den kleinen Kerl und das merkt man dann auch. Mal sehen ob ich einen flachen aber effizienten Kühlkörper in dieser kleinen Größe auftreiben kann. Das sollte dann zumindest erstmal helfen.

    Gruß
    Tom

  • Läuft bei euch der FPGASID auf einem <469er Board? Ich hab ihn in letzter Zeit nur auf einem reloaded mk2 drauf und da ist mir nicht aufgefallen, dass der übermäßig warm wird. Kann ich aber gerne mal messen.

    Mein Youtube Kanal: Bitte melde dich an, um diesen Link zu sehen.

  • Bei mir wird er auf 250466 oder 250469 eingesetzt. Wobei das hier für die Temperatur keinen Unterschied macht.

    Gruß
    Tom

  • Hier auch keine erhoehte Temperatur beim Betrieb in einem 250407er Board also mit 12V betrieben. ;)
    Bitte melde dich an, um diesen Link zu sehen.: Wie wird der den auf dem Reloaded MK2 betrieben, mit 12V oder 9V?

  • Habt ihr die V0.9 und CPLD4 laufen?

    Gruß
    Tom

  • AH, interessant. Macht ja schon was her wenn es da nix zu Meckern gibt an der Tonqualitaet.
    Der C64 selbst stoert sich an den 0.8W nicht? Bzw da gingen Stereoloesungen auch problemlos was Stromversorgung anging?
    Evtl. gibt es passende Kuehlkoeper im Rahmen des Raspberry Pi Marktes?

    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.

  • Die Tonqualität ist 1:1 genauso wie ein "echter" SID, da gibt es nichts zu kritisieren, man hört wirklich keinen Unterschied. Das ist ein wahres Meisterwerk geworden.

    Die verbrauchte Leistung macht dem C64 gar nichts, der StereoInSID dürfte sogar noch mehr verbrauchen. Allerdings haben die eben eine größere Fläche um die Temperatur abzuführen und das noch auf zwei Chips verteilt. Die FPGA muss das alles auf kleiner Fläche abgeben. Von daher ist ein Kühlkörper keine schlechte Lösung und evtl. angebracht.

    Was mich interessiert ob die anderen Tester ebenfalls die V0.9 und CPLD 4 drin haben oder noch eine ältere verwenden. Evtl. kann man hier noch vergleichen, wenn V0.8 jetzt kühler bleibt als V0.9 wäre das noch ein Ansatzpunkt.

    Gruß
    Tom

  • Allerdings sind 0.8 Watt auch ganz schön was für den kleinen Kerl

    Die 0,8W verteilen sich zu 0,3W auf den Spannungsregler und 0,5W auf das FPGA.

    Klar, technisch laut specs etc. "kein problem"

    Genau. Der thermische Widerstand zw. Sperrschicht und Umgebungstemperatur betraegt bei dem FPGA ohne Kuehlkoerper und ohne Luftbewegung 28K/W. Dabei wird der zusaetzliche Kuehleffekt zw ueber das PCB noch vernachlaessigt.

    Bei 0,5W bedeutet das also, dass die Sperrschicht um 14K ueber der Umgebungstemperatur liegt.

    Maximale Sperrschichttemperatur liegt bei 125C. Wenn die erreicht wird, geht das Ding kaputt. Um die Zuverlaessigkeit und Langlebigkeit zu garantieren bleibt man davon ueblicherweise etwas weg, also z.B. 110C. Bei 0,5 W kann die Umgebungstemperatur also 110-14=96C betragen und das FPGA nimmt immer noch keinen Schaden. Ich denke kaum, dass jemand seinen C64 mit in die Sauna nimmt.

    Meine Theorie: Wenn man mit dem Finger drauf fasst, isoliert man gleichzeitig das FPGA von der Umgebungsluft. Die Temperatur unter dem Finger steigt daher schnell an. Es kann also schon sein, dass da nnach 10-20 Sekunden die Temperatur deutlich hoeher liegt. Das ist aber der isolierende Effekt des Fingers, der dem FPGA seine einzige Kuehlmoeglichkeit (Abstrahlung der Waerme ueber die Oberflaeche) nimmt.

    Ich mache gelegentlich mal Temperaturmessungen mit der FLIR Kamera. Da sieht man dann die Temperatur ohne Finger drauf...

  • Evtl. kann man hier noch vergleichen, wenn V0.8 jetzt kühler bleibt als V0.9 wäre das noch ein Ansatzpunkt.

    Ich habe die Stromaufnahme gemessen und habe da keine signifikanten Unterschiede gesehen.

  • Danke für die tolle Erklärung, dann braucht man auch keinen Kühlkörper, da bin ich beruhigt.

    Gruß
    Tom