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
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!
such dir irgend einen kleinen und implementiere es insoftware. es ist nicht wirklich schwer!!! und viel code ist es auch nicht :-P
@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
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
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.
@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
> 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.
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!
@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
@ TOM willst du i²C für msp430`s haben? hab ich schon vor einiger zeit selber gemacht und es funkioniert recht gut.
@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
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.