Servus, ich benutze gerade den FreeModbus Protokollstack für den AVR. Hier die Beschreibung vom Readme: In addition it requires an ATMega168 target microcontroller. The microcontroller must be configured for 20Mhz if the binary image is going to be used. Otherwise the constant F_CPU in the Makefile must be changed and the source code recompiled. Ein Oszillator von 8MHz soll dafür eingesetzt werden. Müssen noch andere Parameter entsprechend angepasst werden ausser dieser Frequenz? MfG Senmeis
Owen Senmeis schrieb: > Ein Oszillator von 8MHz soll dafür eingesetzt werden. Um daraus 20 MHz zu erzeugen?
Hi Senmeis, da geht mir doch glatt die Hutschur hoch, wenn ich so was lese!!!!! Modbus ist doch nur ein Protokoll und der Protokollhändler ist unabhängig vom Prozessor (Mikrocontroller) und etwaiger IOs. Er benötigt nur RAM und Flash. Das was du anpassen musst ist deine Hardware: 1) Welcher AVR? (wichtig für Punkt 3) (das ist aber schon in deinem Projekt drin) 2) Welche MB-Funktionen sollen genutzt werden? (Flash / RAM) 3) Wie kommen die Daten zum Händler??? ( RS232 RS422 RS485 / Ethernet(TCP)) Jetzt solltest du dir deine Frage selber beantworten können!!!! hier noch der 100 € Tip: Du nutzt eine andere Frequenz für deinen AVR und wahrscheinlich RS232. Was könnte von der Frequenz im AVR abhängig sein??? sorry, musste mal gesagt werden. Nicht böse gemeint. mfg Stephan
Ich verwende einen Atmega128 wie im Projekt, jedoch mit der Quarzfrequenz von 8MHz (nicht 20 MHz), deswegen die Frage. Ich denke, es reicht mit nur dieser Änderung. Haben MB-Funktionen mit Flash/RAM zu tun? Die MB-Funktionen befinden sich auf dem Application Layer! Egal ob das RS232 oder RS485 ist werden alle Daten über UART im Atmega128 ausgetauscht. MfG Senmeis
Owen Senmeis schrieb: > Ich denke, es > reicht mit nur dieser Änderung. Im Prinzip ja, aber nur, falls die sich daraus ergebenden Verarbeitungs- zeiten dadurch nicht zu lang werden. Es gibt noch weitere Nebeneffekte, beispielsweise ist es mit 8 MHz komplett nicht drin, eine UART-Baudrate von 115200 Bd zu bekommen (egal welcher Vorteiler, der Fehler wird zu groß), während das bei 20 MHz gerade so machbar wäre (Fehler 1,4 %). Keine Ahnung, ob das für dein Thema irgendwie von Belang ist.
Hi das was Jörg sagte, war mein Wink mit dem Zaunpfahl!!! Aus der "Arbeits" Frequenz wird ja auch die Baudrate generiert und die musst du auf jeden Fall anpassen, sonst passiert bei dir nichts im Terminal (worst case). (schaue nach ob Timer benutzt werden!) >Haben MB-Funktionen mit Flash/RAM zu tun? Je nachdem viele Funktionen du einbindest ist der Speicherverbrauch (Flash / Ram) recht "hoch". >Egal ob das RS232 oder RS485 ist werden >alle Daten über UART im Atmega128 ausgetauscht. Nicht unbedingt, bei meiner externen UART wars SPI. mfg Stephan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.