Projekt 62: I2C-Netzwerk von MSP430-Launchpads
Autor: Theresa Wunsch | Anna Neuhaus
Betreuer: Prof. Göbel | Prof. Schneider
Aufgabe
- Erstellung eines Konzepts
- Verschaltung der MSP430-Launchpads >> Schaltplan, Pin-Belegungs-Tabelle (wie werden die Platinen verbunden?)
- Programmierung mit C mit energia
- Ansteuern/Auslesen der Aktoren/Sensoren
- Test und wiss. Dokumentation
- Machen Sie ein spektakuläres Video, welches die Funktion visualisiert.
- Dokumentation der technischen Funktion der verwendeten Bauteile
- Vorführung während der Abschlusspräsentation
Lösungskonzept - automatische Ampelschaltung
Unser Lösungskonzept stellt eine automatische Ampelschaltung für Fußgänger dar. Wir möchten ein Netzwerk aus drei Mikrocontrollern erstellen, von denen einer der „Master“ und die anderen beiden „Slaves“ sind. Nähere Erläuterungen zu den beiden Rollen finden sich in den Grundlagen. Es soll eine Ampelschaltung realisiert werden, bei der der Master den Slaves den Befehl zum „Grün-Schalten“ erteilt. Ein Fußgänger soll an einer Kreuzung, mit drei aufeinander folgenden Ampeln, lediglich an der ersten Säule das Grünsignal anfordern. Die anderen Ampeln werden, mit einer Zeitverzögerung, automatisch auf Grün schalten.
Projektplan
Um das Projekt zu planen und zeitlich einzuteilen wurde ein Projektplan erstellt. Dieser ist in der folgenden Abbildung dargestellt:
Grundlagen
Im folgenden Abschnitt werden einige Grundlagen vermittelt, die für die Durchführung und das Verständnisses dieses Projektes wichtig sind.
I²C-Buss
Der I²C-Bus (Inter-Integrated-Circut-Bus) wurde im Jahr 1982, von dem Unternehmen Philips entwickelt. Er ist ausgelegt für eine einfache und kostengünstige Vernetzung, von integrierten Schaltkreisen. Der I²C-Bus wird vor allem bei Mikrocontrollern, aber auch bei A/D und D/A-Wandlern, Echtzeituhren, Display-Treibern und einigen weiteren elektrotechnischen Bestandteilen verwendet.
In der Adressierungs-Phase wird zunächst eine Adresse zur Selektion des gewünschten Slaves übertragen. Diese Adresse kann wahlweise 7 oder 10 Bits lang sein. Die Unterscheidung zwischen beiden Adresslangen wird durch eine besondere Belegung der höherwertigen Adressbits vorgenommen (s.u.). Das letzte Datenbit (R/W) legt fest, ob der Master Daten senden (R/W=0) oder empfangen (R/W=1) will. In der zweiten Phase werden nun die Daten byteweise solange übertragen, bis die Übertragung des gesamten Blockes durch den Sender „planmäßig“ oder durch den Empfänger vorzeitig beendet wird. Dazu wird ein Quittierungstakt verwendet.