Hallo, ich habe mir vor einiger Zeit ein Evalboard mit ICE40UP5K gekauft und kurz darauf, nachdem der VHDL-Code lief, meine eigene Platine gebastelt. Ich habe die Schaltung des Evalboards 1 zu 1 umgesetzt, auch den gleichen Flash-Speicher genommen, nur ein anderes Package. Leider erhalte ich beim Programmieren meiner Platine immer die Meldung, dass die ID nicht gelesen werden kann. Je nachdem welchen FTDI-Port ich auswähle, ob FTUSB-0 oder FTUSB1 erhalte ich als ID x"ff" oder x"00". Die Screenshots habe ich oben angehängt. Egal, wie ich den Teiler einstelle oder sonst etwas, das Ergebnis ist immer das selbe. --------------------------------------- Zur Schaltung: Die Pins WP-FLASH und HOLD-Flash werden nirgendwo auf GND oder VCC gezogen. --------------------------------------- Was ich bisher versucht habe: FTDI-Treiber aktualisiert MOSI und MISO getauscht Clock-Divider für Program-Speed angepasst --------------------------------------- Mit meinen gemachten Leitungen kann ich von dem einen ICE40-Evalboard ein anderes programmieren. Daher muss der Fehler irgendwo anderst liegen. --------------------------------------- Wisst ihr was ich falsch mache? Ich freue mich schon auf eure Antworten. Viele Grüße Julian
Habs gelöst. MISO und MOSI waren tatsächlich doppelt verdreht. Zudem darf man sich nicht irritieren lassen von der Meldung mit der ID. Der Radiant-Programmer neigt wohl dazu, dass man mal den FTD-USB1 oder den FTD-USB0 braucht. Einer funktioniert dann.
Genau, es befindet sich noch ein EEPROM am FTDI. https://www.farnell.com/datasheets/3216753.pdf Seite 25
Julian schrieb: > Genau, es befindet sich noch ein EEPROM am FTDI. Und wurde der auf dem eigenen Board auch verbaut und genauso programmiert wie auf dem Evalboard? Dort steckt (indirekt) die Konfiguration für den FTDI drin.
Genau, diesen habe ich von einem Evalboard heruntergelötet und auf meine Platine wieder eingelötet.
Julian schrieb: > Der Radiant-Programmer neigt wohl dazu, dass man mal den FTD-USB1 oder > den FTD-USB0 braucht. Das stieß mir dazumals auch recht sauer auf. Irgendwann habe ich dann meinen Workflow auf so eine Opensource-Toolchain umgestellt, die den Programmer bedient. Die hat nicht solche Macken und denkt auch nicht erst Dutzende von Sekunden nach, bevor sie endlich anfängt. Name ist mir gerade entfallen, könnte ich aber rausfinden.
Julian schrieb: > Genau, diesen habe ich von einem Evalboard heruntergelötet und auf meine > Platine wieder eingelötet. Ja, so ähnlich haben wir das bei einem anderen Lattice-Evalboard auch gemacht. Zwischendrin wurde vom EEPROM-Inhalt noch ein Backup gemacht ;-) Der Spaß mit ID0 und ID1 ist mir dort nicht aufgefallen. Aber die Gedenkminute, bevor es losgeht habe ich auch. Wenn 'pgrcmd' direkt aus Diamond gestartet wird geht es schneller...
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.