HECoS//CAN sind verschiedene Komponenten (Aktoren, Sensoren, Controller), die über einen CAN-Bus verbunden sind. Das HECoS//CAN Gateway koppelt diesen CAN-Bus dann über das lokale Ethernet-Netzwerk an HECoS//Engine.
Die HECoS//CAN-Komponenten sind mit einem STM32F103xG ARM Controller ausgestattet. Die Firmware der HECoS//CAN-Komponenten kann über das HECoS//CAN Gateway aktualisiert werden ( STM32 In-Application Programming IAP). Jede HECoS//CAN-Komponente verfügt über eine Echtzeituhr und kann so autak zeitgesteuert Funktionen ausführen. Optional kann ein LCD-Display mit Touchscreen verbaut werden. Als Gehäuse kommt ein Unterputz-Gehäuse 213x117mm² bzw. Unterputz-Gehäuse 117x117mm² mit einer schwarzen, matten Plexiglas®-Frontblende zum Einsatz. Eine RGB-LED dient als Zustandsanzeige.
Der CAN-Bus ist auf jedem Teilnehmer mit PESD2CAN oder NUP2105L geschützt.
Common Mode Choke 51µH CC2824E513R-10
Bottom-Board
Top-Board
Top-Board mit Display
Pin | Belegung | Farbe TIA586B | Farbe KNX-Leitung |
---|---|---|---|
1 | CANH | or/ws | gelb |
2 | CANL | or | weiß |
3 | GND(CAN) | gn/ws | |
4 | bl | ||
5 | bl/ws | ||
6 | gn | ||
7 | GND | bn/ws | schwarz |
8 | +24 V | bn | rot |
Für die Datenübertragung wird das Standard-CAN-Protokoll 2.0B (Extended Frame, 29-bit Objekt-Identifier) verwendet.
29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MT | DT | ID | DO | CRC |
0x00 | HECOS_CAN_MT_EMERGENCY | Emergency |
0x01 | HECOS_CAN_MT_SYSTEM | System Data |
0x02 | HECOS_CAN_MT_PROCESS | Process Data |
0x03* | HECOS_CAN_MT_SYSTEM_REQUEST* | Request System Data* |
0x04* | HECOS_CAN_MT_PROCESS_REQUEST* | Request Process Data* |
0x05 | - | - |
0x06 | - | - |
0x07 | - | - |
* Falls es tatsächlich Probleme mit Remote Frames gibt.
0x00 | HECOS_CAN_DT_ALL | - |
0x01 | HECOS_CAN_DT_GATEWAY | HECoS//CAN Gateway |
0x02 | HECOS_CAN_DT_8_LED_CONTROL | HECoS//CAN 8-Port LED Control |
0x03 | HECOS_CAN_DT_8_POWER_SWITCH | HECoS//CAN 8-Port Power Switch |
0x04 | HECOS_CAN_DT_DISTANCE_CONTROL | HECoS//CAN Distance Control |
0x05 | HECOS_CAN_DT_8_DIGITAL_IO | HECoS//CAN 8-Port Digital I/O |
0x06 | HECOS_CAN_DT_AMBIENT_SENSOR | HECoS//CAN Ambient Sensor |
0x07 | HECOS_CAN_DT_GARAGE_DOOR_CONTROL | HECoS//CAN Garage Door Control |
0x08 | HECOS_CAN_DT_WINDOW_CONTROL | HECoS//CAN Window Control |
0x09 | HECOS_CAN_DT_2_LED_PROXIMITY | HECoS//CAN LED/Proximity |
Die DeviceID identifiert ein Device in Verbindung mit dem DeviceType eindeutig. Innerhalb einer CAN-Linie darf die Kombination aus DeviceType und DeviceID nur einmal vorkommen. Die DeviceID wird per Kodierschalter ERD116RMZ eingestellt.
Das DatenObjekt definert, wie die Daten-Bytes zu interpretieren sind. Es ist bei dem jeweiligen DeviceType beschrieben.
Über die unverschlüsselten Daten wird ein CRC-8 gebildet und im CRC-Feld abgelegt. Damit ist der Empfänger nach der Entschlüsselung in der Lage zu überprüfen, ob das Passwort korrekt ist.
Sobald eine Nachricht mit einem falschen CRC empfangen wird, wird dies als Einbruchsversuch gewertet und entsprechend reagiert.
Immer wenn sich der Zustand einer HECoS//CAN-Komponente ändert, wird der neue Zustand gesendet. Zusätzlich besteht die Möglichkeit, daß Komponenten ihren Zustand zyklisch senden.
Um aktuelle System- oder Prozess-Daten einer HECoS//CAN-Komponente abzufragen wird ein entsprechender Remote-Frame gesendet.
Der Datenanteil der CAN-Frames wird mittels XTEA verschlüsselt. Weil die Blockgröße des Ciphers XTEA 8 bytes groß ist, werden immer 8 Datenbytes übertragen. Nicht verwendetet Datenbytes werden mit Pseudo-Zufallszahlen aufgefüllt.
Das Passwort kann bei einer HECoS//CAN-Komponente mit Display interaktiv eingestellt werden. Bei einer HECoS//CAN-Komponente ohne Display wird das Passwort mit einer System-Nachricht (HECOS_CAN_DO_PW_SET) gesetzt. Diese System-Nachricht wird nur während der Inbetriebnahme akzeptiert und unverschlüsselt übertragen. Um zu überprüfen, ob das eingestellte Passwort das richtige ist, wird ein HECOS_CAN_DO_IDENT per Broadcast angefordert. Alle HECoS//CAN-Komponenten, die ein Passwort eingestellt haben, antworten daraufhin. Der Datenanteil wird nun entschlüsselt und überprüft ob das Wort 'HECOS' zu finden ist.