Zitat Zitat von Normalo
Zitat Zitat von Foooob
Man kann natürlich 10 I2C-A/D-Wandler, 3 I2C-EEPROMs und nochmal 5 I2C-Servosteuerungen an einen Bus hängen. Man könnte das aber genausogut mit einem einzigen Microcontroller lösen.
Und genau da liegt der Punkt auf den ich raus will.
Wer so viele Geräte an einem Bus betreibt hat einen schweren Denkfehler im System. Dann hat man nämlich genau das oben beschriebene nicht beachtet.
Was genau ist denn daran fehlerhaft? Es ist einfach eine andere Architektur in meinem Augen. Bei meiner Anwendung bräuchte ich dann mehrere mC, die sich auch noch untereinander verständigen müssten. Der PC erscheint mir als mC in diesem Fall am sinnvollsten.

Ich würde mich freuen, wenn du mir nochmal genauer erklären könntest, wo bei mir der Denkfehler liegt. Denn ich bin Anfänger auf dem Gebiet der Elektronik. Als Softwareentwickler sehe ich das als modulares System, für das ich jederzeit weitere Module/Plugins entwickeln und anschließen kann. Vielleicht ist auch einfach nur die Wahl des Bus' falsch?
Ohne mir jetzt die anderen Posts durchgelesen zu haben (Doppelantwort...)...

Als Softwareentwickler verstehe ich dein Denken schon und kann es auch nachvollziehen. In der Software sind modulare Systeme erstrebenswert.

Hardwaremäßig sieht das (meiner Meinung nach) anders aus. Hier heist die Lösung meist System-on-a-chip. Also möglichst viel auf einen IC bringen. Dieser Trend ist nicht nur in der Industrie ein fester Bestandteil (man stelle sich einmal ein Handy mit 50 ICs vor...) sondern hat auch im Hobbybereich zahlreiche Vorteile:

  • * Geringerer Platzverbrauch (~ Faktor 20)
    * Geringerer Stromverbrauch (~ Faktor 100)
    * Geringerer Schaltungsaufwand (über 30 Chips zu verdrahten ist enorm fehleranfällig)
    * Entlastung von Bussystemen
    * Weeeesentlich billiger (spezielle I2C-Chips sind oft nicht gerade preiswert)
    * usw.


Du kannst auch in einem IC eine Modularisierung der Komponenten erreichen bzw. das ist schon gegeben. Du kannst die Module wie ADC, EEPROM, PWM etc. ja völlig entkoppelt voneinander verwenden. GENAU das Selbe wie wenn du die Arbeit auf x ICs verteilst, nur mit den oben genannten Vorteilen.
Ein µC macht dann einfach die Arbeit von x diskreten ICs, hat jedoch nur eine I2C-Adresse. Da du das Protokoll ja völlig frei schreiben kannst kannst du auch bestimmen welche Befehle ADC, PWM, etc. de-/aktivieren.

Die Erweiterungsfähigkeit ist nach wie vor gegeben, sogar besser. Du hast dadurch mehr I2C Adressen zur Auswahl. Brauchst du ein spezielles Feature aktivierst du es einfach im µC, ist er bereits ausgelastet baust du den nächst-größeren der Familie ein und fertig.