www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kleinster uC mit I2C (nicht unbedingt AVR)


Autor: hmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich suche den kleinst möglichen uC der ein I2C interface besitzt.
Ich will mehrere davon in einem Multimastersystem als Master und Slave
laufen lassen. Es sollte also ein vollwertiges I2C interface sein.
Ich habe schon einiges gesucht, aber entweder sind die uC zu groß oder
sie haben kein I2C.
Wenn möglich sollten es 8 Pins max. sein.

Danke
  hmann

Autor: rayelec (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir mal den C8051F305 von Silicon Laboratories (www.silabs.com) an.
Auch die anderen C8051F3xx könnten in Frage kommen!

Die Daten des F305:
3x3mm Gehäuse
25MHZ Core (ca. 15MIPS)
2KB Flash
Interner Osc.
In-Circuit Debugging

Ok, ich gebs zu, zum Löten braucht's eine gut geätzte LP, gute Nerven
und etwas Geduld. Aber mit einem feinen Lötkolben geht es ganz flott,
ich habe selber schon viele solche Gehäuse gelötet!

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such dir irgend einen kleinen und implementiere es insoftware. es ist
nicht wirklich schwer!!! und viel code ist es auch nicht :-P

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@KoF

"such dir irgend einen kleinen und implementiere es insoftware. es
ist
nicht wirklich schwer!!! und viel code ist es auch nicht :-P"

Vergiß es !

Es ist sauschwer, kostet saumäßig Performance und ist sauviel Code.

Du hast bei 100kBit nur 4µs, um in den Interrupt zu springen und das
Bit auszuwerten !

Schau Dir mal den Software-Slave in der Atmel Application Note an, der
ist ständig nur in der I2C-Schleife und kann nichts anderes mehr
machen. Und das ist nur der Slave, also ohne Master- und
Arbitrationsschnulli.

Multimaster geht nur mit Full-Hardware-I2C effizient, also bei den AVRs
nicht unter ATMega8.


Peter

Autor: hmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Rayelec: Danke! Das ist genau das was ich gesucht habe. Jetzt muss ich
nur noch nen günstigen Distributor in D finden, aber das wird schon.

Ciao
  hmann

Autor: bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dsPIC30F2010 im QFN Gehäuse.

6mm x 6mm   allerdings 28 pin

bis zu 30MIPS extern oder interen Takterzeugung
bringt alle möglichen HW-interfaces mit und was man sonst noch bracht,
ebenfalls ICD tauglich.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

Ich möchte gerne per Software I2C LM75-Temperaturfühler und
SHT11-Luftfeuchtigkeitsfühler auswerten. Als uC sollen der MSP430F149
und MSP430F1232 zum Einsatz kommen. Werden die dadurch stark belastet?
Sie leisten maximal 8MIPS bei 8MHz. Kann ich die entgegenkommenden
Daten nicht einfach in einen Buffer schreiben und diesen dann
gemächlich auswerten?
Die Busfrequenz muss ich wohl so oder so sehr niedrig wählen, da die
Distanzen für I2C relativ gross werden (über zwei Meter für den ganzen
Bus, maximal 10m). Rechne ich mit 1kHz, dann bleiben theoretisch 8000
Operationen dazwischen. Das sollte doch gut auch noch für andere
Steuerungsaufgaben reichen. Ich bin ja gespannt, ob ich das
hinkriege...

FG

Tom

Autor: Dominik S. Herwald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Werden die dadurch stark belastet?

Ich denke Peter bezog sich auf Software Slave und nicht Master.
Master ist super einfach in SW zu realisieren - natürlich nicht ganz so
schnell wie ein HW Interface aber kostet auch kaum Performance bei einem
8MIPS µC.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herrlich, wenn das so ist! Ich muss nämlich wohl gleich zwei Stück
implementieren: Einen standard-konformen und einen für das
SHT11-Spezialformat. Aber wie gesagt, die Geschwindigkeit spielt kaum
eine Rolle, die Werte werden nur einmal pro Minute abgefragt und dann
zwischengespeichert. Ich kann's kaum erwarten bis die Sensoren hier
ankommen. Danke!

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tom

Single-Master ist einfach und klein, da nur er den Takt vorgibt und
deshalb auf nichts schnell reagieren muß.

Ein Multimaster oder Slave muß dagegen sauschnell auf einen fremden
Takt reagieren können und das geht nur mit Hardware-I2C effizient.


Wenn nur LM75 dranhängen, dann ist der µC der Singlemaster. Und da es
sich nicht lohnt Temperatursensoren öfter als 1s auszulesen, kostet das
auch kaum Performance.


Peter

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ TOM

willst du i²C für msp430`s haben? hab ich schon vor einiger zeit selber
gemacht und es funkioniert recht gut.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@KoF

Ja, sehr gerne! Hast du es in C implementiert? Poste deinen Code doch
in der Codesammlung oder schick mir eine Mail. Vielen Dank!

Tom

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]
  • [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.
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.

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