Hallo, ich habe mir ein ICE40UP5K-Evalboard gekauft und versucht ein EEPROM damit zu beschreiben. Den Schaltplan der kleinen EEPROM-Platine habe ich im Bild oben angehängt. Verbunden ist die über Litzen, die Geschwindigkeit beträgt 100 kHz. Den VHDL-Core für den I2C (FPGA-RD-02201) habe ich von der Lattice-Webseite bezogen. Dieser sendet soweit auch I2C-Signale, jedoch wird das Acknowledge-Bit nicht runtergezogen. Bei einem alten Temperatursensor-Board passiert mir das selbe. Die internen Pullups sind aktiviert. Liegt das daran, dass die FPGA-Pins im Grundegenommen keine richtigen Open-Drain sind? Grüße Urs
Urs schrieb: > Die internen Pullups sind aktiviert. > Liegt das daran, dass die FPGA-Pins im Grundegenommen keine richtigen > Open-Drain sind? Gut möglich. Aber da mal zwei 'echte' Widerstände mit 3 kOhm bis 10 kOhm ranzumachen, sollte doch kein Problem sein. Außerdem würde ich mit einem Oszilloskop prüfen, ob die Leitungen vom Master auch wirklich freigegeben werden. Duke
Urs schrieb: > Die internen Pullups sind aktiviert. Und zudem sind noch 2k2 Widerstände am EEPROM... > Dieser sendet soweit auch I2C-Signale Wie sehen die Flanken und die Pegel aus? Passt das Btimuster, das auf dem Bus zu sehen ist, zu dem, was das EEPROM erwartet?
Hallo, jap, es sah gut aus, leider habe ich aktuell kein Oszillogramm verfügbar, da ich in der Arbeit bin. Die Flanken waren nicht verschliffen, etc. Auch die Timings mit den "vierteln" vom Takt wo es wechselt hat gepasst. Kann man prinzipiell an jeden Pin den I2C anbringen? Die OpenCollector-Struktur stellt ja der Slave zur Verfügung. Grüße Urs
Moin, Urs schrieb: > Kann man prinzipiell an jeden Pin den I2C anbringen? An jedem Pin, der Tristate unterstuetzt. > Die OpenCollector-Struktur stellt ja der Slave zur Verfügung. Am Master brauchts auch OpenCollector. Oder was, was sich so verhaelt. Also nur low aktiv treibt, und niemals high. Sondern statt high eben den Ausgangstreiber abschaltet (tristate). Gruss WK
Noch eine typische Fehler Quelle: Manche Datenblaetter geben die Device Adresse in 7bit und andere in 8bit Darstellung an. Ist die Device Adresse evtl. nicht korrekt?
Duke Scarring schrieb: > Urs schrieb: >> Die internen Pullups sind aktiviert. >> Liegt das daran, dass die FPGA-Pins im Grundegenommen keine richtigen >> Open-Drain sind? Doch FPGA-Pins sind i.d.R Tristate-fähige Pins, da hilft ein Datenblatt um das zu klären. Und dann ist es auch eine Frage wie man die Ausgänge des I2C Controllers mit den IO-Pads des FPGA verbindet. > Gut möglich. Aber da mal zwei 'echte' Widerstände mit 3 kOhm bis 10 kOhm > ranzumachen, sollte doch kein Problem sein. Die 2k sind schon 'echt' genug, 10k geht schon in die Richtung zu groß. Aus dem zerstückelten Schaltbild wird nicht klar, ob beide IC am selben Ground liegen. Und die Funktion des Pins 'DAP' ist auch unklar. Vielleicht hängt ja der Speicher im Reset/Programming fest?
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.