I2C-EEPROM Treiber in VHDL

Gast #5893531
Lesenswert?
• ▲
▼
Markus F. schrieb:
> i2c Master. Der sollte das
> können.

Das ist aber noch nicht alles. Der I2C-Master ist nur der 
Low-level-Teil. Man braucht noch einen Controller, der die 
Kopieroperation steuert und der zum restlichen Bussystem passt.
Ob es das fertig irgendwo gibt, ist fraglich, dürfte aber andererseits 
kein Hexenwerk sein.
Gast #5893830
Lesenswert?
• ▲
▼
Wenn du das EEPROM immer nur komplett lesen und niemals schreiben 
willst, kannst du den sequential read mode verwenden. Ja, dann wirds 
sehr einfach. Wieviele LUTs man dafür braucht, hängt von der 
Implementierung und vom FPGA ab.
Gast #5904060
Lesenswert?
• ▲
▼
Hallo Markus,

Markus schrieb:
> Gibt es irgendwo einen Treiber für ein I2C-EEPROM wie z.B. das 24AA64 in
> VHDL?

Geht es ausschließlich um das kopieren EEPROM->RAM? Wenn ja folgenden 
Vorschlag:
1) I2C Master von OpenCores ziehen (https://opencores.org/projects/i2c)
2) Wegschmeißen des Wishbone Registersatzes, und dann hängst du dich mit 
deiner FSM daran.
3) FSM implementiert Befehlssatz zum Auslesen des EEPROMs
4a) Spezialfälle mit ACK/NCK berücksichtigen, damit sich die FSM nicht 
verhängt, und schon kannst du das ganze kopieren.

Ich hatte mal ein System geschrieben, das den EEPROM in ein paralleles 
IF im FPGA umwandeltet.

Viele Grüße,
Andreas
Gast #5904341
Lesenswert?
• ▲
▼
>Wenn ja folgenden Vorschlag:

Danke für den Vorschlag.

Mir geht es darum, möglichst wenig Resourcen des FPGAs zu verbrauchen, 
deshalb denke ich, dass man so was eher "from Scratch" machen muss, 
sonst kommt man nicht auf die optimale Lösung.
Gast #5905957
Lesenswert?
• ▲
▼
Vancouver schrieb:
> Mit Controller meinte ich keine CPU, sondern eine Statemachine mit dem
> notwenigen Zeugs drumherum. Das sollte in 3-4 Tagen entwickelt sein für
> diesen Anwendungsfall.

Braucht nur eine FSM, die eine ADR lädt, eine Schleife, R,W und 
eventuell Sprünge kann.

Sowas gibt es aber auch in den meisten Abteilungen schon, weil alle die 
gleichen Probleme haben.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.