Forum: FPGA, VHDL & Co. FPGA als Schnittstellenwandler


von Simon T. (Gast)


Lesenswert?

ich habe ein Board, wo ein Mikrocontroller und ein FPGA bestückt sind. 
Der Mikrocontroller hat eine SPI-Schnittstelle. Dieses Board soll aber 
an einen I²C-Bus gehängt werden. Ich muss deshalb mit dem FPGA eine 
Schnittstellen-Wandlung vornehmen.
Weiß jemand, wie ich testen kann, ob das FPGA dann nach I²C-Spec 
funktioniert? Muss ich mir mit nem Debugger sämtliche Register des FPGA 
anschauen?

von lehmi (Gast)


Lesenswert?

Das FPGA hat erstmal keine Register, solange nicht eine Hardware I2C 
Schnittstelle vorhanden ist (hab ich bisher aber nur bei Lattice CPLDs 
gesehen). Das FPGA braucht also Software "Module", die Funktionen 
darstellen und die dann in Hardware implementiert werden. D.h. es muss 
ein SPI Slave implementiert werden, der die Daten vom uc entgegennimmt 
und ein I2C Master, der die Daten dann weitersendet. Einfach mal bei 
Opencores.org vorbeigucken, dort gibt es beides in Hülle und Fülle. Ob 
dann alles nach I2C spec funktioniert, lässt sich mit einer passenden 
Testbench prüfen.

von Udo (Gast)


Lesenswert?

lehmi schrieb:
> dort gibt es beides in Hülle und Fülle.
dort gibt es vor allem schlecht getestetes und nichtvalidierbares in 
Hülle und Fülle, wo man sieht, dass ein Entwickler, der mal mit Spass an 
eine Sache rangegangen ist, die ersten 95% realisiert hat, um dann, wenn 
es ans Eingemachte geht, die Lust zu verlieren. Selbst Codes, die dort 
schon Jahre rumliegen, sind buggy ohne Ende.

Ausserdem sind von den 95% Arbeit nur 70% dokumentiert und von denen 10% 
falsch, veraltet oder irreführend.

von Ralf (Gast)


Lesenswert?

> dort ... schlecht getestetes ... nichtvalidierbares ... die ersten 95%
> realisiert ... buggy ohne Ende ... von 95% Arbeit nur 70% dokumentiert ... > von 
denen 10% falsch, veraltet oder irreführend....
100% deiner Antwort sagen aus warum er's nicht von dort nehmen sollte 
und 0% deiner Antwort geben Aufschluss drüber was er stattdessen nehmen 
könnte. Respekt, die hundert hast du im Gegensatz zu opencores.org 
erfüllt...
Aber positiv sehen: Es bedeutet, dass nicht alles von dort Müll ist man 
ja doch was brauchbares finden kann...

Ralf

von Marco L. (lehmi)


Lesenswert?

Naja,

ich vermute mal vorsichtig, das der TO Anfänger in Sachen FPGA und Co. 
ist. Daher kam einfach der Vorschlag, mal dort vorbeizuschauen. Es gibt 
auch bei Xilinx App. Notes zu SPI (und auch I2C?).

>
> Ausserdem sind von den 95% Arbeit nur 70% dokumentiert und von denen 10%
> falsch, veraltet oder irreführend.

Ja, mag durchaus sein, geht auch anderen Open Source Projekten nicht 
anders. Aber: mir hat manches schon geholfen... auch wenn nur als gute 
Idee.

Einen schönen Abend

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

lehmi schrieb:
> Das FPGA braucht also Software "Module"
Soso, Software also.

Simon T. schrieb:
> Der Mikrocontroller hat eine SPI-Schnittstelle. Dieses Board soll aber
> an einen I²C-Bus gehängt werden. Ich muss deshalb mit dem FPGA eine
> Schnittstellen-Wandlung vornehmen.
Ich würde da eher einen Soft-I2C im uC ganz ohne FPGA vorschlagen. Denn 
es ist schlichter Blödsinn (oder eine Arbeitsbeschaffungsmaßnahme), den 
uC über SPI ans FPGA zu hängen, und dann von dort aus vie I2C die Daten 
weiterzureichen. Denn: wie kommen gelesene Daten dann zurück zum uC?

von nur meine Meinung (Gast)


Lesenswert?

Zu Erst möchte cih Lothar Recht geben. Aber zu deiner Frage...

> Weiß jemand, wie ich testen kann, ob das FPGA dann nach I²C-Spec
> funktioniert? Muss ich mir mit nem Debugger sämtliche Register des FPGA
> anschauen?

Es gibt Oszis die sogenannte Compliance-Tests machen können. Wenn man 
prof. mit Bussystemen arbeitet gehört das eigentlich zur minimalen 
Ausstatung eines Entwicklers.

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
Noch kein Account? Hier anmelden.