RTS COM Ports
♥ 0 |
Welche Hardwarevoraussetzungen werden vom cFos Charging Manager bzgl. der COM Ports insbesondere bei RS485 half-duplex erwartet? Sende und Empfangssteuerung über RTS und CTS?
markiert als Spam
|
Antworten (4)
Private answer
Ganz so einfach ist es nicht. Es muss schon eine Steuerung bzgl. Senden und Empfangen vorhanden sein, da im Bus immer nur einer der Teilnehmer sein Treiber aktiviert haben darf. Daher stellt der Linux Kernel auch entsprechende Features bereit https://docs.kernel.org/driver-api/serial/serial-rs485.html . Nun gibt es verschiedenste Lösungsmöglichkeiten den Treiber im RS485 ein und auszuschalten. Die sauberste Methode ist dabei über einen "Pin" der üblicherweise für die Flusskontrolle verwendet wird. Die Ansteuerung kann nun die Software, die den Port nutzt, selbst übernehmen oder man nutzt die Kernel Features. Eine Analyse der Charging Managers ergab, dass weder der Charging Manager selbst steuert, noch der Port entsprechend geöffnet wird um entsprechende Features zu aktivieren. Zur Referenz anbei noch ein kleines Testprogramm, dass die Features aktiviert. markiert als Spam
|
|
Private answer
sorry, aber irgendwie sehe ich keinen Bezug zur cFos Power Brain Wallbox oder dem Charging Manager. markiert als Spam
|
|
Private answer
Ganz so einfach ist es beim Half-Duplex und einem Master Slave System nicht. Wenn ein Busteilnehmer sendet treibt er den Bus. Alle weiteren Treiber dürfen zu diesem Zeitpunkt den Bus nicht treiben, da sonst die Gefahr von Datenmüll entsteht. Somit muss bei jedem Teilnehmer der Treiber irgendwie gesteuert werden. Entsprechende Transiver Chips haben hierzu einen eigenen Pin am IC. Oftmals wird dieser DE für "Driver Enable" genannt und mit dem RTS Pin der seriellen Schnittstelle verbunden. Beispiel: https://user-images.githubusercontent.com/45951526/99066537-6b032100-25a9-11eb-9be9-0519430b5bad.png Es kommt nun auf die Implemtierung der Software an, ob diese den RTS mit ansteuert oder nicht. Denn es gibt auch hier Alternativen:
Anmerkung: Die Verbindung von RTS mit dem invertierten RE verhindert, dass der Teilnehmer seine eigene Nachricht auf dem Bus selbst liest. Die eigentlich Nachfrage rührt daher, dass die normalen RPi's der 4. Generation auf der GPIO Leiste mehrere UARTs bereitstellen und ich an einer kompakten Lösung plane, die
Als Gehäuse plane ich aktuell mit dem RPI-BC 107,6 EXT DEV-KIT KMGY von Phoenix Contact. Der RPi wird darin mit einer Basisplatine verbunden. Darauf wird dann die Stromversorgung, Isolierter RS485 Transceiver inkl. Schutzschaltung und entsprechende Relais samt Treiber für diese realisiert. markiert als Spam
|
|
Private answer
Hier bitte am besten ein USB RS485 dongle verwenden. Das setzt die COM Schnittstelle passend um. Unter Raspi haben wir im Charging Manager Kit schon eine Platine, die 2 RS485 Schnittstellen zur Verfügung stellt. RS485 hat grundsätzlich keine Flusskontrolle. Bei halbduplex sendet der master und wartet auf die Antwort des slave. Was wollen Sie denn eigentlich machen? ;-) markiert als Spam
|