Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
lasertag:module:modulebus [2017/05/13 12:18] johannes.nau angelegt |
lasertag:module:modulebus [2017/08/12 16:22] (aktuell) dirk |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Modulbus ====== | ||
+ | |||
Der Modulbus setzt auf die I2C Schnittstelle auf. | Der Modulbus setzt auf die I2C Schnittstelle auf. | ||
+ | |||
+ | === Adressen === | ||
+ | Jedes Modul bekommt eine feste Adresse. | ||
+ | ^Name^Adresse^ | ||
+ | |Broadcast|0| | ||
+ | |Mainboard|10| | ||
+ | |UI-Modul|14| | ||
+ | |||
+ | === Vorgehen === | ||
+ | Der Master fragt Reihum nach Änderungen auf allen Slaves, sind Daten vorhanden, werden diese anschließend abgefragt. Die abgefragten Daten werde direkt wieder gebroadcastet. | ||
+ | |||
+ | |||
+ | - Liste aller Adressen | ||
+ | - Jeden Adresse nach neuen Daten fragen | ||
+ | - Antwort mit Anzahl Bytes neuer Daten | ||
+ | - bei > 0 | ||
+ | - Daten abfragen | ||
+ | |||
+ | Neue Idee: | ||
+ | |||
+ | - Liste aller Adressen | ||
+ | - begin Tansmission | ||
+ | - liest erste zwei Bytes | ||
+ | - erkennt dann länge | ||
+ | - liest dann folgende Daten | ||
+ | - dann wieder zwei Byte, bis NO_DATA Paket | ||
+ | |||
+ | |||
+ | TWAR = (MY_ADDRESS << 1) | 1; // enable broadcasts to be received | ||
+ | |||
+ | === Pakete === | ||
+ | 2Byte Datentyp, X-Byte Daten | ||
+ | |||
+ | * NO_DATA - 1 | ||
+ | * BUTTON_PRESSED - 2 | ||
+ | * | ||
+ | |||
+ | === Hardware === | ||
+ | |||
+ | Mini Module Connectors von Würth oder MicroMaTch von TE. | ||
+ | 2x2 mit GND, VCC, SDA, SCL | ||
+ | |||
+ | ====== ALT ====== | ||
+ | |||
===== Physikalisch ===== | ===== Physikalisch ===== | ||
Zeile 30: | Zeile 76: | ||
Es existieren folgende Pakete: | Es existieren folgende Pakete: | ||
- | ^ Paketname | + | ^ Paketname |
| Ping | 0x01 | Keine - Rückmeldung über ACK | | | | Ping | 0x01 | Keine - Rückmeldung über ACK | | | ||
| Ping-Orphan | | Ping-Orphan | ||
- | | Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | | | + | | Set-Adress |
+ | | Get-Module-Info | ||
+ | | Get-Sensor | ||
+ | | Set-Actuator | ||
+ | |||
+ | Zu den Nutzdaten des Get-Module-Info: | ||
+ | ^ Byte 1 ^ | ||
+ | | Modultyp | ||
+ | Es existieren folgende Modultypen: | ||
+ | | IR-Sender | 0x01 | | ||
+ | | IR-Empfänger| 0x02 | | ||
+ | Die Nutzdaten für die Get-Sensor bzw. Set-Actuator-Pakte müssen im Folgenden Modultypenabhängig noch definiert werden. | ||