Hallo, allerseits,
ich bin neu im Forum, habe bisher nur ein wenig mitgelesen. Ich bin seit September in einer Firma als Elektronik-Entwickler angestellt, wo ATMEL und AVRCo die Standard-Plattform für die Produktentwicklung ist. Da beides für mich neu war, mußte ich mich erst ein wenig einarbeiten. Jetzt ist das erste Projekt soweit gediehen, daß ich doch mal die Hilfe der "Altvorderen" brauche.
Ich hab ein kleines Master-Slave-System mit max. 32 Slaves, das ich im Polling nach Anwesenheit und Ereignissen abfragen möchte. Als Kommunikationsprotokoll möchte ich das SLIP-orientierte Verfahren einsetzen, ohne den SLIP-Treiber aus der Profibibliothek benutzen. (Manual Standard-Driver, Abschnitt 3.11.6).
Das funktioniert soweit schon super, aber ich habe hier ein Zeitproblem: Die Pollingrunde soll so schnell wie möglich stattfinden, da Ereignisse noch an eine übergeordnete Instanz weitergegeben werden müssen. Für die Kommunikation insgesamt komme ich netto mit 2-4 Byte pro Datenblock aus. Nur im Diagnose-Modus wird's mehr, aber da spielt die Zeit keine Rolle. Um EMV-Probleme zu umgehen, möchte ich die Datenrate auch nicht so hoch wählen, obwohl das System mit Leitungslängen unter 20m sicher mehr hergibt als 19,2 kBaud.
Nach meinen Tests sendet ein SerOutSLIP aber brutto immer 20 Byte. Start- und Stopbyte ( $c0), Netto-Blocklänge 1 Byte, die Checksum, die Nettodaten, und der Rest wird mit $00 aufgefüllt.
Meine Frage:
1. Gibt es eine Möglichkeit, die Brutto-Blocklänge z.B. auf 10 Byte zu verkürzen ?
2. Gibt es Alternativen, wo ich mich nicht um die gesamte serielle Kommunikation kümmern muß?
Danke im Voraus, daß sich jemand meines Problems annimmt.
MfG
Schnutzibär
ich bin neu im Forum, habe bisher nur ein wenig mitgelesen. Ich bin seit September in einer Firma als Elektronik-Entwickler angestellt, wo ATMEL und AVRCo die Standard-Plattform für die Produktentwicklung ist. Da beides für mich neu war, mußte ich mich erst ein wenig einarbeiten. Jetzt ist das erste Projekt soweit gediehen, daß ich doch mal die Hilfe der "Altvorderen" brauche.
Ich hab ein kleines Master-Slave-System mit max. 32 Slaves, das ich im Polling nach Anwesenheit und Ereignissen abfragen möchte. Als Kommunikationsprotokoll möchte ich das SLIP-orientierte Verfahren einsetzen, ohne den SLIP-Treiber aus der Profibibliothek benutzen. (Manual Standard-Driver, Abschnitt 3.11.6).
Das funktioniert soweit schon super, aber ich habe hier ein Zeitproblem: Die Pollingrunde soll so schnell wie möglich stattfinden, da Ereignisse noch an eine übergeordnete Instanz weitergegeben werden müssen. Für die Kommunikation insgesamt komme ich netto mit 2-4 Byte pro Datenblock aus. Nur im Diagnose-Modus wird's mehr, aber da spielt die Zeit keine Rolle. Um EMV-Probleme zu umgehen, möchte ich die Datenrate auch nicht so hoch wählen, obwohl das System mit Leitungslängen unter 20m sicher mehr hergibt als 19,2 kBaud.
Nach meinen Tests sendet ein SerOutSLIP aber brutto immer 20 Byte. Start- und Stopbyte ( $c0), Netto-Blocklänge 1 Byte, die Checksum, die Nettodaten, und der Rest wird mit $00 aufgefüllt.
Meine Frage:
1. Gibt es eine Möglichkeit, die Brutto-Blocklänge z.B. auf 10 Byte zu verkürzen ?
2. Gibt es Alternativen, wo ich mich nicht um die gesamte serielle Kommunikation kümmern muß?
Danke im Voraus, daß sich jemand meines Problems annimmt.
MfG
Schnutzibär