mikrocontroller.net

Forum: FPGA, VHDL & Co. EFB für "Primary I2C Configuration" einbinden


Autor: Michel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe eine Frage an euch Experten.

Ich möchte beim MACHXO3 im 256-pinnigen Package die Hardened 
I2C-Schnittstelle an den Pins A9 und C9 als "Primary I2C Configuration" 
für eine Updatefunktionalität des FPGAs durch einen µC nutzen.

Den Technical Notes TN1279  TN1293  TN1294 zufolge ist hierfür der EFB 
als IP-Core zu generieren und einzubinden. Im IPexpress habe ich "nur" 
die I2C-Schnittstelle als "Primary Configuration" sowie unter dem Reiter 
I2C die entsprechenden Optionen gewählt - siehe Screenshots.
Nach dem Generieren wird folgendes COMPONENT ausgegeben, das ich im 
Toplevel meines Projekts inklusive Instanziierung eingebunden habe.
COMPONENT EFB_I2C
PORT (
  i2c1_scl   : inout std_logic;
  i2c1_sda   : inout std_logic;
  i2c1_irqo  : out   std_logic
);
END COMPONENT;

inst_EFB : EFB_I2C
PORT MAP (
  i2c1_scl  => i2c1_scl,  -- Direkt auf Pin A9 des MACHXO3 herausgeführt
  i2c1_sda  => i2c1_sda,  -- Direkt auf Pin C9 des MACHXO3 herausgeführt
  i2c1_irqo => i2c1_irqo  -- Direkt auf Pin xx des MACHXO3 herausgeführt 
);
Im LPF-File habe ich den I2C-Port enabled:
    SYSCONFIG SDM_PORT= ... I2C_PORT=ENABLE ...;
Kontrolle mit dem Spreadsheet, dort ist I2C_PORT auch enabled.

Beim Synthetisieren laufen die beiden Vorgänge "Synthesize Design" und 
"Translate Design" in Lattice Diamond durch, der Mapper schlägt jedoch 
mit folgender Fehlermeldung fehl:
ERROR - To support I2C port use, the EFB must be instantiated and the WISHBONE clock port 'WBCLKI' must be connected to an active clock source. The clock source should be 3.0 MHz or greater.

Nun stellt sich für mich die Frage, wo soll ich denn den Wishbone Clock 
Port "WBCLKI" anschließen, da der durch IPexpress generierte Core für 
"Primary Configuration über I2C" nur die oben angegebenen 3 Signale 
generiert?
Habt ihr schon einmal "nur" die I2C-Schnittstelle zum Ansprechen für die 
"Primary I2C Configuration" verwendet? Falls ja, was mache ich falsch 
oder wie habt ihr dies gemacht?

Ich freue mich über eure Rückmeldungen :-)

Autor: Duke Scarring (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht ob es was bringt, aber versuch mal, ob es klappt, wenn Du 
'Primary User' mit aktivierst und einen Takt anlegst (wb_clk_i).

Duke

Autor: Michel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Idee Duke ist gut, ich habe etwas ähnliches in dieser Richtung 
ausprobiert ;-)

"Primary Configuration" UND "Primary User" gleichzeitig aktiviert lassen 
sich bei mir nicht generieren, dafür aber "Primary Configuration" UND 
"Secondary User" was auf anderen Pins herausgeführt wird.

Ein schneller Test mit manuellem Ergänzen der COMPONENT und der Instanz 
im Toplevel sowie der VHDL-Datei aus dem IPexpress um das Signal 
"WBCLKI" hat geholfen und das FPGA ist dann auch im geladenen Zustand 
über den I2C-Bus ansprechbar.

Danke für deine Hilfe Duke.
-> Seltsam ist, dass der IPexpress beim Generieren von nur "Primary 
Configuration" alles OK meldet und der Mapper mit einem Error fehlt 
schlägt...
-> Werden mal schauen ob ich die "eine" Zeile an Erweiterung mit 
"WBCLKI" drinnen lasse oder es mit dem zusätzlich aktivierten "Secondary 
User" teste.

Autor: Holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Michel schrieb:
> Ich möchte beim MACHXO3 im 256-pinnigen Package die Hardened
> I2C-Schnittstelle an den Pins A9 und C9 als "Primary I2C Configuration"

http://www.latticesemi.com/en/Products/Development...
Da ist für den Machxo2 Pico Board ein RefDesign drin.

Gruss Holger.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe ich damals das Machxo2 Pico Board mit Ref.Design angegangen.

I2C Bus mit Temp.Sensor u. SPI ROM, LCD Dispay. RS232 Port.

Link:
Beitrag "Lattice MachXo2 Bat.Powerd Stand Alone Soc"

Gruss Holger.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.