Hallo, Sorry wenn meine Frage für manche dumm vorkommt...ist sie auch!! Vor 2 Tage war ich dabei einen i2c controller in vdhl zu schreiben,da fragt mir einen Kumpel,wie ich auf einer Platine erkenne welche Leitung für I2C bestimmt ist.Ich benutze einen DE0 Board. Ich habe gegoogelt aber nix gefunden. Wie erkennt man auf einen Board,ob i2c,spi,can.... Bus vorhanden ist? Also steht nicht auf den Leitungen:"ICH BIN EINEN I2C BUS oder..oder.." :) Bei manchen Datenblätter steht auch nicht unbedingt explizit geschrieben. Mus
Du definierst selbst, welche Leitungen verwendet werden sollen. I2C ist so langsam, da gibts keine Probleme.
Danke für die rasche Antwort. Meine Frage beschränkt sich nicht nur auf den i2c Bus,sondern allgemein. Im diesen Thread:Welches Eval-Board mit FPGA für Microcontroller mit i2c Bus Duke Scarring schrieb: > Auf den gennanten Eval-Boards ist I2C (teilweise mehrfach) schon drauf. > (Wobei sich der Aufwand mit den zwei Pull-ups arg in Grenzen hält.) Heißt das also,dass alle Leitungen nicht als i2c Bus benutzt werden können? Tilo Lutz schrieb: > Du definierst selbst, welche Leitungen verwendet werden sollen. Du meinst wohl damit die Ausführung der Pins nach Außen(Pinbelegung),oder liege ich da falsch? Mus
Mustafa schrieb: > Heißt das also,dass alle Leitungen nicht als i2c Bus benutzt werden > können? Für den I2C brauchst du 2 bidirektionale IO-Leitungen (für einen Slave, der keine Dleays einfügen darf reichen sogar 1 x Bidirektonal und 1 x Eingang). Weil jedes FPGA viele solcher IO-Pins hat, könntest du da (viele/2) I2C Slaves reinbasteln... > Du meinst wohl damit die Ausführung der Pins nach > Außen(Pinbelegung),oder liege ich da falsch? Nein, du liegst richtig.
Mustafa schrieb: > Wie erkennt man auf einen Board,ob i2c,spi,can.... Bus vorhanden ist? Datenblatt, technische Beschreibung, Oszilloskop, Erfahrung. > Also steht nicht auf den Leitungen:"ICH BIN EINEN I2C BUS oder..oder.." > :) Das wäre schön. Damit wäre Hardware hacken viel einfacher... (und ich müßte nicht immer in meinen Unterlagen nach der Pinbelegung suchen.) Duke
Ihre Antworten haben mir sehr geholfen, um einiges zu verstehen. Wenn ich zusammenfasse,ist ein (spi oder i2c...) Bus also nicht fest-(verdrahtet) vorhanden,aber wird je nach Auswahl der IO-Pins zu solchen.Richtig? Duke Scarring schrieb: > Datenblatt, technische Beschreibung, Oszilloskop, Erfahrung Ich versuche ja die Erfahrung zu sammeln :) Wozu der Oszi?was soll ich da messen wenn noch in Design kein Bus(zB i2c) definiert ist? Willst du damit sagen,das der Bus fest verdrahtet ist? Danke Leute! Mus.
Ich glaube du bist dir nicht ganz klar was ein FPGA eigenlich ist. Du kannst aus jeder Leitung einen I2C machen. Aber auch beliebige andere Sachen. Du kannst auch ein VGA Ein oder Ausgang daraus machen oder SPI oder PCI oder USB ... Aber man muß es halt MACHEN. Ein FPGA besteht Hauptsächlich aus LUTs und FlipFlops (auch Logic Elements). Diese können Logikgatter nachbilden (AND,OR,NOT usw.) und enthalten FlipFlops. Aus diesen kann man nun Komplexere Funktionseinheiten BASTELN und diese wieder mit einander Verdrahten um noch komplexere Einheiten zu Bekommen (z.B. CPUs,USB Controller,I2C Controller,VGA Controller auch Grafikkarte genannt usw.) Man kann also (und muss es auch) alles selber Bauen. Es gibt jedoch die möglichkeit Librarys und IPs zu benutzen. Dann hat jemand z.B. schon einen I2C Controller gebaut und Verkauft diesen nun (er verkauft es zu download). Im grunde genommen baust du deine eigene Hardware ohne löten zu müssen. Man sollte aber Digitale Schaltungen verstehen und bauen können. Und nocheinmal : ein FPGA ist keine CPU oder Mikrocontroller er führt keine Software aus sondern die Funktionseinheiten werden Verdrahtet (Je nachdem wie du sie verdrahtest kommt eine andere Funktion dabei heraus oder auch keine)
Lothar Miller schrieb: > Für den I2C brauchst du 2 bidirektionale IO-Leitungen (für einen Slave, > der keine Dleays einfügen darf reichen sogar 1 x Bidirektonal und 1 x > Eingang). Auch Slaves dürfen Delays einfügen, und es gibt auch Devices die das tun.
Lattice User schrieb: > Auch Slaves dürfen Delays einfügen, Uuups, das kam offenbar falsch rüber: es ist mir klar, dass der Slave den Takt ausbremsen darf. Ich meinte hier, wenn man einen Slave machen würde, der schnell genug wäre, um keine Clock-Delays einfügen zu müssen, würde ein Eingang für den Takt reichen... (Ich liebe den Konjunktiv ;-) > und es gibt auch Devices die das tun. Allerdings glaube ich sowieso, dass die meisten Software-SPI-Master da schwer auflaufen würden... :-o
War nicht von I2C die Rede? Da wäre das wegen Open Collector auch kein Problem. Wie soll der Slave bei SPI den Takt beeinflussen?
Tilo Lutz schrieb: > War nicht von I2C die Rede? Da wäre das wegen Open Collector auch kein > Problem. > > Wie soll der Slave bei SPI den Takt beeinflussen? Gar nicht, sieht so aus als ob heute einfach nicht Lothars Tag ist :-)
Tilo Lutz schrieb: > War nicht von I2C die Rede? > Wie soll der Slave bei SPI den Takt beeinflussen? Ach Sch....lags kaputt. Lothar Miller schrieb: >>> I2C ... für einen Slave, der keine Delays einfügen darf >> Auch Slaves dürfen Delays einfügen, und es gibt auch Devices die das tun. > Allerdings glaube ich sowieso, dass die meisten Software-SPI-Master da > schwer auflaufen würden... :-o Stimmt trotzdem... ;-) Lattice User schrieb: > Gar nicht, sieht so aus als ob heute einfach nicht Lothars Tag ist :-) Gute N8.
Der Beitrag hat vieles erweckt :) Mir ist sehr viel klarer bezüglich der Busse geworden. Danke Leute. Mus
:) passt schon ich schraube gerade an einem SPI Master rum und hab befürchtet, mir ist irgend was entgangen. @topic: Über die Pins muss man sich erst dann Gedanken machen, wenn es schneller oder spezieller wird, z.B. LVDS. Jetzt gönne ich mir zum Feierabend erstmal draussen ein kühles Bier.
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.