Hallo,
ich habe bis zu 10 Mikrocontroller (Slaves) gleichmäßig verteilt auf etwa 10m Buslänge und einen Master µC am Anfang. Geplant ist die Verwendung des I2C Busses, da recht einfach und keine weitere Hardware erforderlich.
Wenn ich die Übertragungsrate entsprechend niedrig wähle, sollte doch auch I2C über 10m funktionieren, oder? Soweit ich es verstanden habe ist doch die Leitungslänge nur deswegen kritisch, weil ein Puls durch induktive/kapazitive Leitungseigenschaften nach 10m nicht mehr richtig rechteckig ist, sondern "abgerundete Kanten" hat. Wenn das so schlimm wird, dass der µC die TTL Signale nicht mehr sauber erkennt, sollten doch Schmitt-Trigger-Eingänge völlig ausreichen. Oder sehe ich das falsch?

Als Hintergrundinfo, hier die Voraussetungen, die mich am I2C-Bus festhalten lassen:

  • übertragungsgeschwindigkeit egal
  • keine zusätzliche Hardware wie Bus-Transceiver, Controller,.. (Schmitt-Trigger-Input am µC vorhanden), aus Kostengründen; wenn extra Hardware, dann pro slave max. 20 Cent
  • Datenübertragung nur auf 5 Volt Pegeln, da sonst Extrakosten für Pegelwandler
  • Möglichst einfaches Protokoll.


Grüße,
Stefan