Forum: FPGA, VHDL & Co. IIC mit MicroBlaze


von TechInfo (Gast)


Lesenswert?

Hallo,

ist es möglich einen IIC-Bus mit dem MicroBlaze-Softcore anzusteuern? 
Und wenn ja, welche Bedingungen müssen dafür geschaffen werden?

Gruß

TechInfo

von Falk (Gast)


Lesenswert?

@TechInfo

>ist es möglich einen IIC-Bus mit dem MicroBlaze-Softcore anzusteuern?

Sicher, das kann so ziemlich jeder uC.

>Und wenn ja, welche Bedingungen müssen dafür geschaffen werden?

Keine nennenswerten. Du brauchst ein FPGA + Microblaze Developer Kit.

MFG
Falk

von TechInfo (Gast)


Lesenswert?

Danke Dir. Also man braucht kein zusätzliches IP? Im Datenblatt vom 
MicroBlaze steht nichts von einer I2C-Unterstützung. Da es I2C-Cores von 
Xilinx und anderen gibt, dachte ich so einen müßte man noch einfügen.

von FPGAküchle (Gast)


Lesenswert?

Sehe ich genauso, nach meiner Erfahrung ist der uB ein 
Mikrocontroller-Core, der keinen IIC im Kern hat. Wahrscheinlich nicht 
nur wegen der Größe sondern auch wegen den Rechten an IIC von Philips. 
IM EDK sind einige anderen Cores vorhanden, die man an den Bus des uB 
klemmt. Möglicherweise ist da auch schon ein IIC Modul dabei, das Du 
einfach in das Design klickst. Oder du ziehst Dir einen IIC aus dem 
Internet, z.B. bei www.opencores.org liegt einer.

von Klaus F. (kfalser)


Lesenswert?

Im EDK 8.2 ist der I2C Core jedoch gesperrt, das heisst man muß Ihn 
bezahlen.
Könnte auch teuer werden.

Grüße
Klaus

von Falk (Gast)


Lesenswert?

Für die meisten Anwendung reicht ein rein softwarebasierter I2C Treiber. 
Dann ist die CPU zwar lange Zeit mit Warten beschäftigt, aber was solls.

MFG
Falk

von FPGAküchle (Gast)


Lesenswert?

>Für die meisten Anwendung reicht ein rein softwarebasierter I2C Treiber.

Sollte man im FPGA nicht machen.

von Falk (Gast)


Lesenswert?

@FPGAküchle

>>Für die meisten Anwendung reicht ein rein softwarebasierter I2C Treiber.
>Sollte man im FPGA nicht machen.

Warum? Wegen des Speicherbedarfs?

MfG
Falk

von FPGAküchle (Gast)


Lesenswert?

falls möglich mache ich persönlich Kommunikation, wie II2 in Hardware. 
Wegen definierten Antwortzeiten und dem geringeren Risko das daten halb 
im Bus stecken bleiben. Nicht das die Verbindung irgendwo stehenbleibt 
und schwer neu aufsetzbar ist. Das ist einem extra Hardware modul schön 
gekapselt, da muss ich micht nicht mit zu hoher IRQ Last oder Speicher 
voll problemem rumschlagen. Und natürlich spare ich mir den 
Programmcode. Wie bemerkt ist der programmspeicher für den uB 
beschränkt. Also falls man die Hardware hat (wie im FPGA) sollte man das 
in diese verlagern. Ist robuster hate geringere Latenz, und der uc hat 
mehr zeit seine eigetliche Arbeit zu tun.

von TechInfo (Gast)


Lesenswert?

Danke für die Antworten.

Wie sieht es denn mit einer RS232-Ansteuerung beim MicroBlaze aus? 
Braucht man da auch einen zusätzlichen Core?

von FPGAküchle (Gast)


Lesenswert?

mE ist sowas im EDK. Ist sehr beliebt, all uB Implementierungen die ich 
kenne haben RS232. Kann man easy per Seriallen kabel und terminalemu mit 
dem Prozessorkerlchen kommunizieren.

von TechInfo (Gast)


Lesenswert?

Dann wäre das wohl meine erste Wahl.

Hast du noch mehr Infos zur Terminal-Emulation? Wie baut man sowas ein?

von FPGAküchle (Gast)


Lesenswert?


von TechInfo (Gast)


Lesenswert?

Werde jetzt aus Board-Design-Gründen doch kein RS232 einsetzen können. 
Also werde ich mich wohl an einen I2C-Treiber ranwagen. Hat da jemand 
zusätzliche Infos?

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.