Forum: Mikrocontroller und Digitale Elektronik Modbus-RTU Zeitverhalten und Auslastung auf einem 8 Bit AVR (z.B. Mega128)


von Thomas D. (Gast)


Lesenswert?

Hallo Zusammen,

ich beschäftige mich jetzt schon einige Zeit mit dem Thema Modbus-RTU
die Lib auf FreeModbus.org kenne ich. Und die Anpssung oder 
Implementierung auf den Chip sollte kein Problem darstellen.
Womit ich mir aber schwer tue ist die Abschätzung der auslästung durch 
den Bus. OK die Implementierung ist Interrupt gesteuert aber wenn ich 
richtig rechnen dann dann Löst mein Interrupt bei 19200Baud (11 BIT bei 
RTU) ungefährt mit 2kHz aus, meinen Kontroller betreibe ich mit 
4.9152Mhz (Bitte verbessern wenn völliger Bullshit). Nun meine Fragen 
wieviel zeit bleibt mi dann noch für die anderen Optionen? Hat einer von 
euch da schon erfahrungswerte?

Gruß

Thomas.

von Falk B. (falk)


Lesenswert?

@ Thomas D. (Gast)

>richtig rechnen dann dann Löst mein Interrupt bei 19200Baud (11 BIT bei
>RTU) ungefährt mit 2kHz aus, meinen Kontroller betreibe ich mit
>4.9152Mhz (Bitte verbessern wenn völliger Bullshit).

Passt schon. 2 kHz = 500us = 2500 Takte / Byte. Zum Abspeichern reicht 
das locker. Eine schlechte ISR braucht dafür vielleicht 250 Takte, das 
sind gerade mal 10% CPU Last. Wenn eine komplette Nachricht empfangen 
wurde, kann sie analysiert und beantwortet werden.

>Nun meine Fragen
>wieviel zeit bleibt mi dann noch für die anderen Optionen?

Viel, ich schätze mal 80-90% deiner CPU-Leistung.

> Hat einer von euch da schon erfahrungswerte?

Ich hab im Moment ein DMX512 Projekt am laufen, dort sind es 250kBaud, 
die Daten werden in Echtzeit auf SD-Karte geschrieben bzw. von dort 
gelesen, macht 22kB/s. Der AVR ist da mit 15-25% ausgelastet, wenn 
gleich bei 16 MHz Takt. Modbus kommt gerade mal auf 1/10 der Datenrate, 
und das sicherlich nicht dauerhaft.

von Thomas D. (Gast)


Lesenswert?

@Falk Brunner

Danke für deine Antwort hilft doch schon mal weiter

GRuß

Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.