Guten Morgen, ich stehe nun vor einem Konzept für ein neues Projekt das ich gerne entwickeln würde. Ich verwende einen STM32F207 IGT6 (weil ethernet benötigt wird) Background: Ich möchte via USB von meinem Rechner eine Tabelle auf das Board laden (Modbus Kommunikationsregister Info's und Konfigurations Parameter) welche nach belieben änderbar sein soll. Eine µC hat ja einen begrenzten Schreibzyklus. Ist dann natürlich nötig die Tabelle auf einen externen Speicher wie bspw. einem EEPROM oder einer SD-Karte aufzuspeichern? Wenn man realistisch ist, wird die Konfigurationsdatei max 200K -300KB groß und max. 100mal im Lebenszyklus der Hardware geändert. Ich hab desweiteren vor, Daten die ich vom Analogeingang, Modbus-RTU und vom Ethernet bekomme auf eine 2GB SD-Karte zu speichern, da diese später aufm PC als Statistik visualisiert werden soll. Fragen: 1) ist es erforderlich einen eeprom zu nutzen oder gibts es in der mcu einen für solche zwecke geeigneten Speicher? 2) oder sollen die Daten eher auf ein 1Mbyte großes SPI EEPROM oder kann es auch auf die SD-Karte? Die Tabelle soll am Anfang des Systemstarts in die entsprechende Funktion geladen werden. Jede Änderung der Daten erfodert einen Neustart am Gerät also kein Hotswap. Für eure Erfahrungen und Vorschläge wäre ich sehr dankbar! MfG Sven Ich programmiere seit 2 jahren eigentlich 80c51 und PIC, erst seit diesem Jahr mach ich was mit dem Cortex-M3
Cell85 schrieb: > Eine µC hat ja einen begrenzten Schreibzyklus. Ja, aber du schreibst selbst: > und max. 100mal im Lebenszyklus der Hardware geändert. Das kann das onchip-Flash locker wegstecken. Ist also eher eine Grössenfrage. Wenn alles zusammen in 1MB Flash passt, dann wär es wohl der einfachste Ansatz, einen Teil vom internen Flash dafür zu verwenden. > Die Tabelle soll am Anfang des Systemstarts in die entsprechende > Funktion geladen werden. Wohin geladen? 200-300KB bedeutet externes RAM dafür. Da wärs doch wohl einfacher, das Zeug steckt im internen Flash und kann direkt verwendet werden. Und bevor man nur fürs laden aus einem seriellen Flash externes RAM anschliesst, kann man ebenso gut externes parallel angebundenes Flash verwenden.
A. K. schrieb: > Wohin geladen? 200-300KB bedeutet externes RAM dafür. Da wärs doch wohl > einfacher, das Zeug steckt im internen Flash und kann direkt verwendet > werden. Ich denke das es in den internen Flashreinpassen würde. Mit geladen meine ich nicht "ins Ram laden" da hab ich mich wohl falsch ausgedrückt. Ich meinte dass die Werte dann entsprechenden variablen zugeordnet werden: Var1 befindet sich auf 0xFFF0012 im eeprom ... Wenn ich die 300K in den RAM laden würde wäre ja kein Platz mehr für nichts :) . Ich frage mich nur was passiert wenn das Programm mit der Zeit zunimmt und der Flash von 1Mbyte des STM32 dann fast voll ist. Für die Zukunft wäre es ja dann doch besser die Daten auf einen externen eeprom zu schreiben. frage ist dann gehts auch auf die SD-Karte?
Wenn das ganze auch ohne SD-Card funktionieren kann/muß, dann hat Deine Tabelle wohl nichts auf der SD-Card verloren. Da könnte es ja vielleicht auch mal ein Wackelkontakt geben oder die Card funktoniert nicht richtig. Da gibt es ja hier einiges zu lesen im Forum. Ein ext. Seriell Eeprom ist dann wohl die richtige Wahl. Für ein Projekt, an dem ich gerade entwickle, habe ich ein Seriell Eeprom genommen, da das auch mehr Zyklen kann, als das Eeprom im µC, und ich lieber 1 Euro für das ext. Eeprom ausgebe, als das es später Probleme gibt. Bei großen Stückzahlen spielt sicher wieder "€" da rein. Mir ist aber die Funktion wichtiger. Wenn es nur ein Prototyp ist, mal noch nicht so ganz alte ausgemusterte Mainboards oder elektronische Bilderrahmen durchsehen. Da ist evt. schon eines drauf, was man dann wieder verwenden kann.
hey find ich cool! welches eeprom hast du denn genommen (Hersteller/Typ)? Ich überlege mir dann auch gleich noch nen externen RAM zu nehmen also : externes ram: ISSI 61LV51216 (1MB) externes flash: ST M25P64-VMF6P (8MB) Ich orientier mich dabei auch an mein STM32 Evalboard das diese Komponenten bereits verbaut hat. http://www.keil.com/support/man/docs/mcbstm32e/mcbstm32e_to_xmemory.htm
Hallo, von der Kapazität sind die sicher bei Dir zu klein, keine Frage (größere findest Du sicher selbst): FM24C04A http://www.ramtron.com/files/datasheets/FM24C04A_ds.pdf FM25CL64 http://www.ramtron.com/files/datasheets/FM25CL64_ds.pdf Ein Platinenlayout wäre jedenfalls identisch zu den Standardtypen von z.B. Atmel http://www.atmel.com/dyn/resources/prod_documents/doc3256.pdf Nicht enttäuscht sein, ... soll nur so ein Denkanschoß sein. Viele Grüße und 1 schönen 1. Advent
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.