Forum: Mikrocontroller und Digitale Elektronik Flash-Speichergröße bestimmen


von S. W. (stffn)


Lesenswert?

Hallo und guten Tag,

ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem 
1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow 
(4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register 
erhöhen.
 Ich habe mich gefragt, wie ich jetzt herausfinde, wie groß mein 
Flash-Speicher dafür sein muss. Konnte leider nicht herausfinden, wie 
ich darauf komme. Wenn ich auf meinem mC beispielsweise 128kByte habe, 
genügt das? Wie erfolgt dann die Speicherung?

Vielleicht geht aus meiner Frage schon hervor, dass ich mich auf dem 
Gebiet nicht sehr gut auskenne. Ich hoffe mir kann dennoch geholfen 
werden.

Vielen Dank und ein schönes Wochenende,
Steffen

von Wie?Was? (Gast)


Lesenswert?

> Vielleicht geht aus meiner Frage schon hervor, dass ich mich auf dem
> Gebiet nicht sehr gut auskenne. Ich hoffe mir kann dennoch geholfen
> werden.

Teil 1: Ja
Teil 2: Nein - ich glaube nicht!

Im Flash wird dein Programm stehen. Es tut das was Du selbst beschrieben 
hast. Für ein solches Progamm benötigt man sicher unter 1kByte Flash.

Zur Speicherung der fast 5 milliarden Ticks benötigst Du eine 32 Bit 
integer Variable. Zusammen mit etwas Stack für den Prozessor passt alles 
in die kleinsten Mikrocontroller die ich kenne.

Nun zum Aber:
Du kennst das Ergebnis bereits. Es lautet: 4.812.011.719
Abweichen wird es davon nur um die Drift des verwendeten Oszillators.
Wozu also!?

von foo (Gast)


Lesenswert?

Steffen Weier schrieb:
> Wie erfolgt dann die Speicherung?

Kommt drauf an wie viel, wie oft...

Speichern kannst du in:
Code-Flash -> nur wenn du sehr selten speicherst
Data-Flash -> mit wear leveling
EEprom -> ca 100.000 write/erase
FRAM -> undendlich oft.. nein 10^12

von Jim M. (turboj)


Lesenswert?

Wie?Was? schrieb:
> Zur Speicherung der fast 5 milliarden Ticks benötigst Du eine 32 Bit
> integer Variable.

Äh, uint32_t geht nur bis 4.294.967.295. Da liegt er drüber, man müsste 
also ein uint64_t mit 64 Bits nehmen. Das kennen gängige C Compiler aber 
auch.

Die eigentliche Frage ist, ob zwischendurch der Strom ausfallen darf und 
ob dann der Zählerstand erhalten bleiben soll...

von S. W. (stffn)


Lesenswert?

Danke erstmal für die Antworten.
Definitiv darf es nicht passieren, dass das Register zurückgesetzt wird.
Es geht um eine Satellitenapplikation, von daher soll (nach diesem 
Beispiel) nach 5 Jahren ein Mechanismus getriggert werden - ohne einen 
Uplink zu benötigen.
Das wollte ich mit einem Mikrocontroller mit Quarz als zähler und (wenn 
nötig) einen extra (nicht flüchtigen) speicher erreichen, in welchem der 
Zählstand sicher, auch bei Stromausfall, gespeichert ist.
Vielleicht hilft das ja weiter für eine Antwort oder evtl. andere 
Vorschläge:).

Vielen Dank für die Hilfe!

von foo (Gast)


Lesenswert?

S. Werp schrieb:
> Es geht um eine Satellitenapplikation

So in echt, oder als Theoriestudentenaufgabe?

von 6A66 (Gast)


Lesenswert?

S. Werp schrieb:
> ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem
> 1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow
> (4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register
> erhöhen.

S. Werp schrieb:
> einen extra (nicht flüchtigen) speicher erreichen, in welchem der
> Zählstand sicher, auch bei Stromausfall, gespeichert ist.

Hallo Steffen,

ich verstehe Dich So, dass du praktisch ein etwa 8kHz Event hast (also 
alle 125us, 8MHz geteilt durch 1024). Damit möchtets Du eine Zähler 
inkrementrieren der in 5 Jahren nicht überlaufen darf und bei 
Stromausfall nicht verloren geht. Korrekt?

Mein Vorschlag:
Timer der die 125us Events liefert und dabei einen Interrupt auslöst. Im 
Interrupt wird der Zähler inkrementiert. Nach jeweils 60 * 8000 Events - 
also jede Minute - wird der Wert in ein externes /internes EEPROM 
weggesichert. Das sind dann 500k writes per Jahr, gute EEPROMS sollten 
das auch nach 5 Jahren noch können. Wert doppelt ablegen und rollierend 
in verschiedenen Zellen sowie gesichert und mit Validity-Flags. Nach 
Stromausfall prüfen welcher der letzten Werte im EEPROM noch gültig war 
und rückholen. Du verlierst geschätzt damit pro Stromausfall maximal 
1...2min - das sind bei 5 Jahren 1/2,5M = 0,4ppm, das weit liegt 
innerhalb der Genauigkeit der Quarzfrequenz.

rgds

von 6A66 (Gast)


Lesenswert?

6A66 schrieb:
> wird der Zähler inkrementiert

Ich meine damit einen SW-Zähler, wahrscheinlich 64bit, ich denke - hab's 
nicht geprüft - mit 32bit kommst Du nicht hin.

rgds

von Thomas E. (thomase)


Lesenswert?

6A66 schrieb:
> Timer der die 125us Events liefert und dabei einen Interrupt auslöst.
Toller Vorschlaog, du Rechenkünstler.

Ein 16-Bit-Timer läuft bei 8MHz/1024 Takt alle 8,388608s über.

Ein Jahr hat 365,2425 Tage = 31.556.952s
5 Jahre haben also 157.784.760s
Daraus ergeben sich 157.784.760s/8,388608s = 18.809.409,142 Überläufe in 
5 Jahren.

Passt also locker in 32 Bit.

100.000 Schreibzyklen beim EEPROM vorausgesetzt, bräuchte man also 188 * 
4 Byte zum Sichern. Und ein bisschen was, um die jeweils 100.000 Zyklen 
zu zählen. Also 1KB EEPROM.

mfg.

von Jürgen S. (jurs)


Lesenswert?

S. Werp schrieb:
> Das wollte ich mit einem Mikrocontroller mit Quarz als zähler und (wenn
> nötig) einen extra (nicht flüchtigen) speicher erreichen, in welchem der
> Zählstand sicher, auch bei Stromausfall, gespeichert ist.
> Vielleicht hilft das ja weiter für eine Antwort oder evtl. andere
> Vorschläge:).

Ein "FRAM" Baustein kann extrem viele Schreibvorgänge durchhalten, z.B.:
http://www.elv.de/ic-fm24c04.html

Vielleicht schreibst Du aber doch nicht mehrere Milliarden mal, sondern 
"nur" einmal pro Sekunde den Wert in den Baustein, das wären dann in 5 
Jahren:
5 x 365 x 86400 = 157680000 Schreibvorgänge
(plus ein paar zerquetschte für den 29.02. in Schaltjahren)

Bei einem zwischenzeitlichen Stromausfall würdest Du nur die Daten von 
maximal einer Sekunde verlieren (plus die Zeit des Stromausfalls).

Falls mögliche Stromausfälle berücksichtigt werden müssen, müßtest Du 
allerdings auch eine Failsafe-Strategie für das Speichern entwickeln, so 
dass auch Stromausfälle während eines Schreibvorgangs entdeckt und 
korrekt behandelt werden können.

Z.B. (als Beispiel im Dezimalsystem, der Controller speichert natürlich 
binär) wie folgt:
Alter Zählerstand: 1999999999
Neuer Zählerstand: 2000000000
Stromausfall beim Schreiben nach der zweiten Ziffer:
Gespeichert dann:  2099999999

Also müßtest Du entweder bevorstehende Stromausfälle zum Beispiel am 
Spannungsabfall erkennen, den Stromausfall zwischenpuffern (z.B. 
Kondensator) und dann entscheiden, ob es noch für einen weiteren 
kompletten Schreibvorgang reicht oder nicht.

Oder die Daten redundant mehrfach speichern und nach einem Stromausfall 
herausfinden, welches der letzte gültige und vollständig gespeicherte 
Zählerwert war.

von Hm (Gast)


Lesenswert?

Ich wuerd einen externen 40bit zaehler bauen. Zb aus 5x 74HC592 oder so, 
und die an einer Lithium batterie laufenlassen

von Daniel A. (daniel-a)


Lesenswert?

Ich würde den wert an der i-ten position eines arrays, wobei 256>n>1 und 
i<n, speichern und erst danach den index des aktuellen werts speichern. 
Wenn der Wert nicht rechtzeitig gespeichert wurde zeigt der gespeicherte 
index auf den zuletzt erfolgreich gespeicherten wert.

Der nächste index wäre immer (i+1)%n.

von 6A66 (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> 6A66 schrieb:
>> Timer der die 125us Events liefert und dabei einen Interrupt auslöst.
> Toller Vorschlaog, du Rechenkünstler.
>
> Ein 16-Bit-Timer läuft bei 8MHz/1024 Takt alle 8,388608s über.

Schlecht gebrüllt!

Ein Timer 8MHz / 1024 erzeugt alle 125us (more or less) ein Interrupt.
Damit zähle ich einen 32-bit oder 64bit SW-Zähler im Interrupt hoch.
Da läuft nichts über.
Wenn ich einen zweiten SW-Zähler auf 60x8000 =480000 Tics einstelle und 
im selben Interreupt hochzähle kommt der nach 60s = 1min. Da läuft auch 
nichts über. Dann schreibe ich den 32- oder 64-bit Wert ins EEPROM.
Wo ist das Problem um zu brüllen?

Schreibe ich 8 verschiedene 64bit Werte doppelt ins EEPROM, sind 8x8x2 
byte, sind 1024kbit. Jede Zelle wird dabei 500k*5/8 =600k mal 
geschrieben in den 5 Jahren.

Auch da: warum brüllen?

rgds

rgds

von 6A66 (Gast)


Lesenswert?

Jürgen S. schrieb:
> Also müßtest Du entweder bevorstehende Stromausfälle zum Beispiel am
> Spannungsabfall erkennen, den Stromausfall zwischenpuffern (z.B.
> Kondensator) und dann entscheiden, ob es noch für einen weiteren
> kompletten Schreibvorgang reicht oder nicht.

Nein.
Es werden die Werte immer doppelt abgelegt.
Stimmen zwei werte nicht überein war der letzte Screibversuch 
fehlerhaft. Gehe ich zum vorletzten zurück. Sollten beide 
übereinstimmen. Kann ich diese Werte also verwenden. Der letzte - 
fehlerhafte - Schreibversuch ist daher genau beim Update passiert. Ich 
habe also genau eine Minute verloren. Uach das könnte ich jetzt noch 
diagnostizieren und kompensieren.

rgds

von Thomas E. (thomase)


Lesenswert?

6A66 schrieb:
 > Schlecht gebrüllt!

Gut gebrüllt!

> Ein Timer 8MHz / 1024 erzeugt alle 125us (more or less) ein Interrupt.
Der Timer inkrementiert alle 128µs, nicht mal das kannst du richtig 
ausrechnen, sein Counter-Register.

Du hast von Timern leider null Ahnung. Also halte dich aus dem Thema 
heraus. Das ist nichts für dich.

Aber ich ja kein Unmensch:

Ein Timer wird vom Systemtakt getaktet. Ding, Ding, Ding...
Bei jedem "Ding" erhöht er sein Register um 1.
Da das meistens zu schnell ist, gibt es einen Vorteiler, den Prescaler.

Prescaler 1024 bedeutet, dass der Systemtakt durch 1024 geteilt wird. 
Das sind in diesem Fall 8MHz/1024 = 7,8125KHz. Das bedeutet, dass das 
"Ding" alle 128µs erfolgt.

Ein 16-Bit Timer, der diese "Dings" zählt, erreicht bei 65535 seinen 
Höchstwert. Dann ist das Register "voll". Beim nächsten "Ding", dem 
65536ten, geht er dann folglich wieder auf 0. Das nennt man einen 
Überlauf. Englisch: Overflow.

Bei diesem Overflow wird das entsprechende Interruptflag gesetzt und 
sofern der Interrupt eingeschaltet ist, ein Interrupt ausgelöst.

65536 * 128µs sind 8,388608s. Das heisst ca. alle 8,4s wird ein 
Overflow-Interrupt ausgelöst.

Beim AVR und auch bei anderen Controllern, gibt es noch den CTC-Mode. 
Mit dem kann man den Timer bis zu einem, in einem anderen Register 
eingestellten, Wert zählen lassen. Damit lassen sich andere Zeiten 
einstellen, nach denen ein Interrupt ausgelöst wird.

Verinnerliche das. Dann darfst du wieder mitreden. Aber erzähl du mir 
nichts von Timern.

mfg.

: Bearbeitet durch User
von 6A66 (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> Du hast von Timern leider null Ahnung. Also halte dich aus dem Thema
> heraus. Das ist nichts für dich.

Hallo Thomas,

Das ist Deine leider falsche Annahme. Schlecht geschlafen, Migräne?
ich habe schon so vieles mit Timern programmiert. Auf STM32 als auch auf 
C2000.
Dass Timer sowohl Prescaler haven als auch Timerregister ist bekannt - 
gähn.
Wenn ich davon spreche dass der Timer alls 125us kommt (more ore less) 
dann sollte 128us auch in dem "more" Bereich drinnen sein.

Thomas Eckmann schrieb:
> Ein Timer wird vom Systemtakt getaktet. Ding, Ding, Ding...
> Bei jedem "Ding" erhöht er sein Register um 1.
> Da das meistens zu schnell ist, gibt es einen Vorteiler, den Prescaler.
>
> Prescaler 1024 bedeutet, dass der Systemtakt durch 1024 geteilt wird.
> Das sind in diesem Fall 8MHz/1024 = 7,8125KHz. Das bedeutet, dass das
> "Ding" alle 128µs erfolgt.
>
> Ein 16-Bit Timer, der diese "Dings" zählt, erreicht bei 65535 seinen
> Höchstwert. Dann ist das Register "voll". Beim nächsten "Ding", dem
> 65536ten, geht er dann folglich wieder auf 0. Das nennt man einen
> Überlauf. Englisch: Overflow.
>
> Bei diesem Overflow wird das entsprechende Interruptflag gesetzt und
> sofern der Interrupt eingeschaltet ist, ein Interrupt ausgelöst.

Reichlich Informationen die hier folgen aber nicht weiterbringen - ist 
mir alles bekannt.

Thomas Eckmann schrieb:
> Verinnerliche das. Dann darfst du wieder mitreden. Aber erzähl du mir
> nichts von Timern.

Also: Ich setze den Prescaler auf 8 (je nach Prozessor muss ich den dann 
das Regsister mit 7 oder 8 setzten, und sorry, bein STM32F103 werde ich 
da sogar 63 reinschreiben da ich den Timer mit 64MHz betreibe wo es 
geht), den Timer auf 125 (auch hier: ein Rollover folgt dann von 124 auf 
null also alle 125 Prescalerzyklen - die Register sind da entsprechend 
zu initialisieren). Dann löst der Timer alle 125us einen Inetrrupt aus. 
Brauch ich keinen Overflow des Timers - wozu auch. Dafür kann man ja den 
Timer so einstellen dass er bei jedem beliebeigen Wert einen Rollover 
erzeugen kann.
Mit diesem Signal inkrementiere ich in der Interruptroutine ein uint16_t 
TICS das bei 8000 einen Rollover macht, also jede Sekunde. Damit 
inkrementiere ich einen uint32_t SECONDS. Damit kann ich dann 68Jahre 
lang zählen. Diesen uint32_t scheibe ich bei jedem rollover von TICS 
doppelt is EEPROM. Muss ich nicht in der Interruptroutine machen, setze 
ich ein Flag und mache ich ausserhalb wenn ich wieder in der 
Hauptschleife dazu Zeit habe.

Soll ich Dir die Interruptroutine auch noch zeigen oder wie die Register 
des STM32 initialiert werden?

So und jetzt zeig mal Dein Konzept!

Bitte no flames! Erst fragen, dann brüllen!
Und: Tippfehler darf der behalten der sie findet.

rgds

von 6A66 (Gast)


Lesenswert?

6A66 schrieb:
> Also: Ich setze den Prescaler auf 8 (je nach Prozessor muss ich den dann
> das Regsister mit 7 oder 8 setzten, und sorry, bein STM32F103 werde ich
> da sogar 63 reinschreiben da ich den Timer mit 64MHz betreibe wo es
> geht), den Timer auf 125 (auch hier: ein Rollover folgt dann von 124 auf
> null also alle 125 Prescalerzyklen - die Register sind da entsprechend
> zu initialisieren). Dann löst der Timer alle 125us einen Inetrrupt aus.
> Brauch ich keinen Overflow des Timers - wozu auch. Dafür kann man ja den
> Timer so einstellen dass er bei jedem beliebeigen Wert einen Rollover
> erzeugen kann.

Im übrigen:

Mit entsprechnden Timern (je nach Prozessorarchtektur) könnte ich da 
sogar einen TIC alle 1,00000s machen, muss ich nur den Prescaler und den 
Timer richtig einstellen: z.B. Prescaler auf 8000 und den Timer auf 1000 
(Einen Prescaleer Tic alle ms), oder andersherum, oder auf 500 und 
16000. Je nachdem was der Prescaler macht. Ja es gibt prescaler die auch 
nicht mit 2^n sonnern mit beliebigen Werten arbeiten.

Erzähle mir Nichts über Timer !!! :)

rgds

von 6A66 (Gast)


Lesenswert?

Thomas Eckmann schrieb:
>> Ein Timer 8MHz / 1024 erzeugt alle 125us (more or less) ein Interrupt.
> Der Timer inkrementiert alle 128µs, nicht mal das kannst du richtig
> ausrechnen, sein Counter-Register.

Im übrigen:

wer will denn schon so ein krummes Verhältnis.
Sicher der TO hat das angeführt aber damit kommt man auf

Thomas Eckmann schrieb:
> Das sind in diesem Fall 8MHz/1024 = 7,8125KHz.

Da kommt man ja nicht mehr auf ein genaues 1,0Hz Signal.

Deswegen die 125us.

Besser: ein 1ms oder gar ein 1s Interrupt - braucht das Hauptprogramm 
nicht so häufig unterbrochen werden.

Also am besten die 8MHz auf 1Hz runterteilen. Damit das Stromeffizient 
ist am besten durch den Vorteiler soweit wie möglich  (bei 16 bit 
vielleicht mit 64000). Dann den eigentlichen Timer eben auf 125 (oder 
welches Register ben für den Rollover/compare/match oder wie auch immer 
das bezeichnet wird zuständig ist). Brauche ich nur den uint32_t SECONDS 
und ein Flag ins Haupprogramm das dann is EEPROM schreibt.

rgds

von Frank (Gast)


Lesenswert?

6A66 schrieb:
> Da kommt man ja nicht mehr auf ein genaues 1,0Hz Signal.
Wenn das Ding durch den Weltraum fliegt und er warm und kalt wird, macht 
der Quarz alles mögliche, nur keine 8.000000 MHz.

Von daher wäre auch zu klären, wie genau der TO die 'fünf Jahre' 
braucht.

von 6A66 (Gast)


Lesenswert?

Frank schrieb:
> Wenn das Ding durch den Weltraum fliegt und er warm und kalt wird, macht
> der Quarz alles mögliche, nur keine 8.000000 MHz.

Ack. Da wäre ein TCXO mit ordentlicher Heizung schon besser. Die 
Abweichung selbst bei 1ppm ergibt aber über 5 Jahre schon 158s (nachdem 
ja genau rechnen und schätzen auf 1..5% jetzt nicht mehr Mode ist - mein 
Prof (hab ihn selig) war da anderer Meinung und da halte ich's immer 
noch mit Ihm). Das sind 2,5min Abweichung. Im oben beanntens EEPROM 
Speicherszenario wären daher die Ausfälle in etwa gleich.

Ich denke aber - TO bitte korrigiere mich - dass wir hier nur über ein 
formelles theoretisches Szenario reden.

rgds

von 6A66 (Gast)


Lesenswert?

6A66 schrieb:
> Ack. Da wäre ein TCXO mit ordentlicher Heizung schon besser.

Und bei einem geheizten TCXO und Prozessor brauchen wir auch nicht mehr 
- von den Kosten - über einen 8-bitter reden. Und die STM32 gibt's z.B 
auch im VQFN36 5x5 Gehäuse.

rgds

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Frank schrieb:
> Von daher wäre auch zu klären, wie genau der TO die 'fünf Jahre'
> braucht.
Und, ob der uC sonst auch noch was zu tun hätte. Denn wenn nicht, dann 
würde ich
1. den schäbigsten und einfachsten kleinen uC nehmen und in Assembler 
programmieren (dann sind auch die Datentypen nicht soooo kritisch, weil 
sowieso jeder Byte-Überlauf händisch abgehandelt werden muss).
2. den Vorteiler auf "so lang wie möglich" einstellen.
3. fragen, ob die Stromversorgung dauernd garantiert ist.
4. mich angesichts der Applikation fragen, ob Stromverbrauch auch ein 
Thema ist.
5. mich fragen, ob ein Flash-Speicher überhaupt das richtige ist... :-o

von 6A66 (Gast)


Lesenswert?

S. Werp schrieb:
> Hallo und guten Tag,
>
> ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem
> 1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow
> (4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register
> erhöhen.

So und jetzt mal mit AVR ATtiny13:
Takt ist extern 8,0MHz TCXO wie gerade besprochen.
Prescaler ist 64, kommt also alle 1/8us
Timer ist 8bit breit.
OCRA = 124, Timer rollt nach 1ms über.
Output Compare interrupt über ISR abfangen, einen uint16 OCMatch(oder 
wie das bei Atmel definiert ist = Unsigned Integer 16bit) in der ISR 
hochzähen. Bei OCMatch = 1000 (entspricht 1s) den Timerwert "Seconds" 
(uint32) hochzählen, im Hauptprogramm ins EEPROM schreiben.

ISR:
OCMatch++;
if (OCMatch >= 1000)
{
  OCMatch = 0;
  Seconds++;
  WriteSecondsToEEPROM = True;
}

Im EEPROM werden die Werte "Seconds" in zwei verschiedenen BänKen 
jeweils einmal abgelegt. Für einen EEPROM Write brauche ich (je nach 
EERPOM) etwa 5ms (wenn nicht die ganze Bank geschrieben wird), das sind 
20ms pro Seconds Wert pro Bank zzgl. Kommunikation, also mal 
überschlägig geschätzt etwa 50ms für die Ablage der beiden Werte. Muss 
man/TO nur sicherstellen dass das Hauptptrogramm sicher alle 50ms an der 
Schreibroutine vorbeikommt.
Das ganze mache ich dann mit 16 Locations hintereinander rollierend 
(dede Sekunde eine andere Location, sind 16x4x2 byte = 128Byte = 1024bit 
EEPROM.
Die Wahrscheinlchkeit dass falsche Werte bei einem Stromausfall im 
EERPKm landen sind daher 50ms/1000ms = 5%. Die kann ich jedoch wie 
bereits geschrieben durch die Abfrage der Werte ermitteln da zuvor 15 
werte sukzessive richtig im EEPROM stehen. Da das Wertpaar 16 falsch ist 
kann ich damit sogar dignostizieren dass der Fehler innerhalb von 50ms 
der letzten Sekunde passiert ist also könnte ich sogar auf den letzten 
gültigen Wert +1 aufaddieren. Was ich aber nicht weiß: wie lange war der 
Stromausfall.

rgds

rgds

von Mario (Gast)


Lesenswert?

S. Werp schrieb:
> nach 5 Jahren ein Mechanismus getriggert werden

nach 5 Jahre! Wie genau? Auf den Tag, auf die Woche, sekunde, 1/10s??

von San L. (zwillingsfreunde)


Lesenswert?

6A66 schrieb:
> . Bei OCMatch = 1000 (entspricht 1s) den Timerwert "Seconds"
> (uint32) hochzählen, im Hauptprogramm ins EEPROM schreiben.

Und das 5 Jahre lang? Verstehe ich das richtig, dass du nach jeder 
Sekunde den Wert in ein EEPROM schreiben willst? Viel spass beim suchen 
eines solchen Teils, dass 157'680'000 Schreibzyklen aushält. Falls ich 
die Idee falsch verstehe: Sorry.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich verstehe diese ganze Diskussion nicht.

Man nehme eine batteriegepufferte RTC, fertig.

Man muss sich nicht über Schreibzyklen den Kopf zerbrechen und auch 
nicht über Stromausfälle. Die Uhr tickt einfach weiter.

von Hmm (Gast)


Lesenswert?

Frank M. schrieb:
> Man nehme eine batteriegepufferte RTC, fertig.

Funktioniert so ein Teil denn auch im Weltraum?

von spontan (Gast)


Lesenswert?

Schon mal an eine RTC gedacht????

von 6A66 (Gast)


Lesenswert?

San Lue schrieb:
> Und das 5 Jahre lang? Verstehe ich das richtig, dass du nach jeder
> Sekunde den Wert in ein EEPROM schreiben willst? Viel spass beim suchen
> eines solchen Teils, dass 157'680'000 Schreibzyklen aushält. Falls ich
> die Idee falsch verstehe: Sorry.

Yep - von falsch implementiert.
Ursprünglich hatte ich geplant das alle Minute reinzuschreiben (siehe 
oben). Dass das nicht jede Sekunde geht da das die EEPRMs nicht 
mitmachen ist klar aber hier leider unter den Tisch gefallen.

ISR:
OCMatch++;
if (OCMatch >= 1000)
{
  OCMatch = 0;
  Seconds++;
  SecondsOfaMinute++
}

If (SeconsOfaMinute >= 60)
{
  WriteSecondsToEEPROM = True;
  SecondsOfaMinute = 0;
}

Damit verbessert sich dei Wahrscehinlichkeit eines Fehlschreibens auf 
50ms/60s = 1/1200 << 1000ppm.

rgds

von San L. (zwillingsfreunde)


Lesenswert?

6A66 schrieb:
> Ursprünglich hatte ich geplant das alle Minute reinzuschreiben (siehe
> oben).

Und auch da bist du nach 5 Jahren bei 2'628'000 Schreibzyklen, was 
weiterhin nicht funktioniert.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hmm schrieb:
> Frank M. schrieb:
>> Man nehme eine batteriegepufferte RTC, fertig.
>
> Funktioniert so ein Teil denn auch im Weltraum?

Was soll denn jetzt plötzlich diese Frage? Funktioniert denn ein µC noch 
im Weltraum? Die Chancen für beide sind wahrscheinlich ähnlich.

Oder anders gefragt: Dürfen Astronauten keine Uhren mit hochnehmen?

Von daher: Erst das Konzept, dann die Umsetzung.

von Axel S. (a-za-z0-9)


Lesenswert?

Frank M. schrieb:
> Ich verstehe diese ganze Diskussion nicht.
> Man nehme eine batteriegepufferte RTC, fertig.

Danke. Das war der erste vernünftige Gedanke in diesem Thread.

> Man muss sich nicht über Schreibzyklen den Kopf zerbrechen und auch
> nicht über Stromausfälle. Die Uhr tickt einfach weiter.

Mir ist auch vollkommen schleierhaft, was Schreibzyklen in dieser 
Diskussion verloren haben. Denn selbst wenn man es so implementiert, daß 
man den aktuellen Zählerstand in nichtflüchtigen Speicher schreibt und 
nach einer Stromunterbrechung weiterzählt ... woher will mann dann 
wissen, ob der Strom für 100ms ausgefallen war oder für 3 Jahre?

Und apropos Stromausfall ... ist das wirklich ein denkbares Szenario? 
Was nutzt am Ende ein Timer, der nach 5 Jahren das "Go" Signal gibt, 
wenn der Rest des Satelliten keinen Strom hat?

Das ist alles so schrecklich unausgegoren (die freundlichste Wortwahl, 
die mir einfiel) daß ich die Diskussion bisher komplett ignoriert habe.


XL

von 6A66 (Gast)


Lesenswert?

Axel Schwenke schrieb:
> Frank M. schrieb:
>> Ich verstehe diese ganze Diskussion nicht.
>> Man nehme eine batteriegepufferte RTC, fertig.
>
> Danke. Das war der erste vernünftige Gedanke in diesem Thread.

S. Werp schrieb:
> ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem
> 1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow
> (4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register
> erhöhen.

Hallo Axel,

hast ja im Prinzip recht. Nur der TO wollte das oben beschriebene wenn 
auch reichlich ungeanu spezifiziert.
Die Frage ist eigentlich noch anders zu stellen:
Was will der TO eigentlich?

rgds

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Axel Schwenke schrieb:
> Das ist alles so schrecklich unausgegoren (die freundlichste Wortwahl,
> die mir einfiel) daß ich die Diskussion bisher komplett ignoriert habe.

Der TO hat anfangs einen schon oft erlebten Fehler gemacht: Statt zu 
erklären, was die Aufgabenstellung ist, hat er das Pferd von hinten 
aufgezäumt und eine halbgare Lösung präsentiert - ohne zu sagen, wofür.

Witzigerweise hat er damit eine Fährte gelegt, welcher ein halbes 
Dutzend Leute gefolgt sind. Diese haben sich damit komplett in die Irre 
leiten lassen.

Hätte der TO beschrieben, was seine Aufgabe ist, glaube ich schon, dass 
das Stichwort RTC viel früher gefallen wäre. Kaum jemand wäre auf den 
Gedanken gekommen, einen irrwitzig schnellen Zähler über einen Zeitraum 
von 5 Jahren zu implementieren, der dabei auch noch 2^32 sprengt.

Da kann man sich nur fragen, wie denn der TO auf so eine aberwitzige 
Lösung gekommen ist.

von San L. (zwillingsfreunde)


Lesenswert?

Frank M. schrieb:
> Witzigerweise hat er damit eine Fährte gelegt, welcher ein halbes
> Dutzend Leute gefolgt sind. Diese haben sich damit komplett in die Irre
> leiten lassen.

Das der Lösungsansatz verkehrt ist, dürfte den meisten schon früher 
aufgefallen sein. Ich zumindest (weiss nicht wie das bei anderen ist) 
gehe aber auf die Fragen/Wünsche des TO's ein:

S. Werp schrieb:
> ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem
> 1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow
> (4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register
> erhöhen.

Klar kann man ihm nun sagen, dass das ganze viel einfacher Lösbar wäre. 
Ich habe mich allerdings bewusst dagegen entschieden, da der TO meinte 
das Teil wird in einem Satelit verbaut. Ich bin davon ausgegangen dass 
jemand der an einem Satelit rumbastelt wohl auch seine Gründe dafür hat, 
wieso er nun einen Mikrocontroller nehmen will. Wobei ich mir da 
mittlerweile auch nichtmehr so sicher bin, ob der TO wirklich vom Fach 
ist.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

San Lue schrieb:
> Klar kann man ihm nun sagen, dass das ganze viel einfacher Lösbar wäre.
> Ich habe mich allerdings bewusst dagegen entschieden, da der TO meinte
> das Teil wird in einem Satelit verbaut.

Falscher Respekt gegenüber jemandem, der wenig bis gar keine Ahnung hat.

von San L. (zwillingsfreunde)


Lesenswert?

Frank M. schrieb:
> Falscher Respekt gegenüber jemandem, der wenig bis gar keine Ahnung hat.

So denke ich nun auch. Bleibt nur die Frage offen wie solche Leute dazu 
kommen an Teilen für Sateliten herumzuschrauben.

von Axel S. (a-za-z0-9)


Lesenswert?

San Lue schrieb:

> Das der Lösungsansatz verkehrt ist, dürfte den meisten schon früher
> aufgefallen sein. Ich zumindest (weiss nicht wie das bei anderen ist)
> gehe aber auf die Fragen/Wünsche des TO's ein

Das bringt nur überhaupt nix, wenn der Frager komplett neben der Spur 
ist. Mal so als Beispiel (SCNR):

Wenn dich z.B. jemand fragen würde, ob er bei einem Selbstmord durch 
Sprung vom Dach die Schnürsenkel lieber offen lassen soll (der 
Leichenbeschauer hat es leichter, die Schuhe auszuziehen) oder sie 
besser schließen soll (weniger Luftwiderstand -> härterer Aufschlag -> 
geringere Überlebenschance) dann würde ich auch nicht erwarten, daß die 
Antworter schreiben "zieh doch Slipper an, das kombiniert beide 
Vorteile".

Ungefähr so kam ich mir aber beim Lesen dieses Threads bisher vor.


XL

von S. W. (stffn)


Lesenswert?

Nagut - danke erstmal für die vielen Antworten.
Ich habe schon am Anfang gesagt, dass ich nicht direkt vom Fach bin. 
Sonst hätte ich hier wohl nicht die Frage gestellt. Ich sitze an einer 
groben Konzeptvorentwicklung, für die Umsetzung bin nicht mal ich selbst 
Zuständig. Dabei versuche ich, so viele Ideen wie möglich durchzudenken 
und miteinander zu vergleichen. Dazu gehört der uC, und übrigens auch 
eine RTC.
Solche Kommentare wie
"...Bleibt nur die Frage offen wie solche Leute dazu
kommen an Teilen für Sateliten herumzuschrauben."
kann man sich getrost sparen. Weiß ich denn, dass es so abwegig ist, 
einen uC zum Zählen zu verwenden, bevor ich mir die Idee etwas genauer 
angeguckt habe? (Offenbar ist es das auch gar nicht mal, wenn ich mir 
die Diskussion angucke die hier darum entstanden ist.) Es ist eine - so 
dachte ich und denke ich auch eigentlich immer noch - sehr 
unkomplizierte und sichere Lösung. Und das ist die Hauptsache. Lieber 
extrem Zuverlässig als extrem Genau. Deshalb mMn auch einer genaueren 
Betrachtung wert.
Zum Thema: Die 5 Jahre haben eine Toleranz von min. +-2 Wochen. Nach 
hinten noch weiter offen (sagen wir bis zu 2 Monaten). Dh bei einem 
zwischenzeitlichen Stromausfall (egal wie lange dieser war) oder 
Programmfehler, ist das wichtigste, dass das Ding überhaupt weiter 
läuft. Für Isolation vor Strahlung und Temperatur ist gesorgt. Wichtig 
ist ein geringer Stromverbrauch <-> ein geringes Gewicht und eine hohe 
Zuverlässigkeit.
Ich hätte manche Randbedingungen vielleicht schon gleich mit angeben 
sollen. Aber ansonsten war meine Frage klar formuliert. Vielleicht 
bekomme ich ja doch noch weitere gute Antworten zum eigentlichen Thema, 
wie zu Beginn des Threads. Danke dafür!
Edit: Der uC hätte ansonsten keine Aufgabe.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

S. Werp schrieb:
> Weiß ich denn, dass es so abwegig ist, einen uC zum Zählen zu verwenden,
> bevor ich mir die Idee etwas genauer angeguckt habe?
Bei einer erlaubten Toleranz von 2 Wochen in 260 Wochen reicht ein 
"üblicher" Quarz locker aus. Und wenn dann das EEPROM-Speichermanagement 
auf 256 EEPROM-Speicherzellen ausdehnt, und pro Minute immer nur die 
nächste Speicherzelle um 1 hochzählt, dann ist das EEPROM locker 
ausreichend oft beschreibbar (alle 4 Stunden kommt eine EEPROM-Zelle 
dran, also 6mal pro Tag und das 365*5 Tage, also insgesamt etwa 7500 
mal) und man hat auch genügend Redundanz.
Es ist auch recht einfach, die Position des Abbruchs vor dem letzten 
Powerfail zu finden: man summiert alle EEPROM-Zellen auf und weiß schon 
mal auf 4 Stunden genau, wo man ist. Und dann sucht man die 
Diskontinutät im EEPROM und ist eigentlich schon fertig...

: Bearbeitet durch Moderator
von Karl H. (kbuchegg)


Lesenswert?

Was mir nicht in den Kopf will.

Wenn ein Satellit einen Power-Fail hat, dann muss er sich nach dem 
Wiederherstellen der Stromversorgung (wie macht der das eigentlich?) 
sowieso erst mal 'zu Hause' melden. Und dann wird der Timer neu 
gestellt.
Es kommt schlicht und ergreifend nicht vor, dass bei einem (teuren) 
Satelliten der Strom ausfällt (und wiederkommt!) und niemand bemerkt das 
vor Beginn der eigentlichen Mission. Wirklich kritische Elemente, wie 
eben die Stromversorgung für den Wakeup Timer werden im Zweifel doppelt 
und dreifach ausgeführt. Deep Space Satelliten, die 5 Jahre unterwegs 
sind, haben Nuklearbatterien oder Solarzellen. Ich sehe ernsthaft nicht, 
wie es da zu einem STromausfall kommen kann, der sich selbst repariert. 
Ich sehe aber jede Menge Gründe, warum ein Satellit, der einen 
Stromausfall hat, für immer tot ist.

: Bearbeitet durch User
von S. W. (stffn)


Lesenswert?

Lothar Miller schrieb:

> Bei einer erlaubten Toleranz von 2 Wochen in 260 Wochen reicht ein
> "üblicher" Quarz locker aus. Und wenn dann das EEPROM-Speichermanagement
> auf 256 EEPROM-Speicherzellen ausdehnt, und pro Minute immer nur die
> nächste Speicherzelle um 1 hochzählt, dann ist das EEPROM locker
> ausreichend oft beschreibbar (alle 4 Stunden kommt eine EEPROM-Zelle
> dran, also 6mal pro Tag und das 365*5 Tage, also insgesamt etwa 7500
> mal) und man hat auch genügend Redundanz.
> Es ist auch recht einfach, die Position des Abbruchs vor dem letzten
> Powerfail zu finden: man summiert alle EEPROM-Zellen auf und weiß schon
> mal auf 4 Stunden genau, wo man ist. Und dann sucht man die
> Diskontinutät im EEPROM und ist eigentlich schon fertig...

Das klingt nach einer einfachen und gut umsetzbaren Idee, Danke! Werde 
ich mir gleich mal genauer angucken.


Karl Heinz schrieb:

> Es kommt schlicht und ergreifend nicht vor, dass bei einem (teuren)
> Satelliten der Strom ausfällt (und wiederkommt!)

Doch, das kommt sogar recht häufig vor. Zum Beispiel durch kurzzeitige 
Solarflares, orbitale Abweichungen welche eine längere Schattenphase zur 
Folge haben oder ein ungünstiges Taumelverhalten des Satelliten - es 
gibt tatsächlich jede Menge Gründe, warum ein Satellit, der einen
"Stromausfall" hatte, Nicht für immer tot ist. Die allermeisten 
Satelliten (nicht nur "Deep Space Satelliten"), auch LEO-Satelliten, 
werden durch Solarzellen versorgt. Natürlich möchte ich mein System 
gerade NICHT von dieser Versorgung abhängig machen. Von daher kann durch 
geeignete Isolation und redundanz ein zwischenzeitlicher Stromausfall 
quasi ausgeschlossen werden - nicht aber Fehler im Programmablauf o.ä.
Edit: da das System möglichst autonom sein soll, ist von einem einfachen 
"Timer neu stellen" erstmal abzusehen.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

S. Werp schrieb:

> Karl Heinz schrieb:
>
>> Es kommt schlicht und ergreifend nicht vor, dass bei einem (teuren)
>> Satelliten der Strom ausfällt (und wiederkommt!)
>
> Doch, das kommt sogar recht häufig vor. Zum Beispiel durch kurzzeitige
> Solarflares, orbitale Abweichungen welche eine längere Schattenphase zur
> Folge haben oder ein ungünstiges Taumelverhalten des Satelliten - es
> gibt tatsächlich jede Menge Gründe, warum ein Satellit, der einen
> "Stromausfall" hatte, Nicht für immer tot ist. Die allermeisten
> Satelliten (nicht nur "Deep Space Satelliten"), auch LEO-Satelliten,
> werden durch Solarzellen versorgt.

Und die haben einen Timer der 5 Jahre lang durchlaufen muss um irgendwas 
zu triggern. im LEO. Und keinem fällt das auf, dass da mal die 
Ausrichtung nicht gestimmt hat.
Aha
Noch nicht mal bei SOHO ist man nach dem Stromausfall davon ausgegangen, 
dass nach dem Wiederausrichten der Paddel noch irgendwas so 
funktionieren würde, wie vorher und die Techniker haben erst mal die 
Systeme durchgecheckt, ehe der reguläre Betrieb wieder aufgenommen 
wurde.

: Bearbeitet durch User
von uwe (Gast)


Lesenswert?

Mach dir mal lieber hierzu Gedanken:
http://en.wikipedia.org/wiki/Radiation_hardening

von S. W. (stffn)


Lesenswert?

Karl Heinz schrieb:
> Und die haben einen Timer der 5 Jahre lang durchlaufen muss um irgendwas
> zu triggern. im LEO. Und keinem fällt das auf, dass da mal die
> Ausrichtung nicht gestimmt hat.

Ich verstehe diese Aussage nicht so ganz. Aber zur Info: dieses 
"Irgendwas" könnte beispielsweise ein Deorbiting-System sein.

> Noch nicht mal bei SOHO ist man nach dem Stromausfall davon ausgegangen,
> dass nach dem Wiederausrichten der Paddel noch irgendwas so
> funktionieren würde, wie vorher und die Techniker haben erst mal die
> Systeme durchgecheckt, ehe der reguläre Betrieb wieder aufgenommen
> wurde.

Das ist Standardprozedur. Zudem kann man wohl kaum eine ESA-Mission mit 
einem Uni-Projekt vergleichen. Zumal eine Technologieerprobungsmission 
auch ein Deorbiting als primäres Missionsziel haben kann. Wenn Sie mal 
etwas vom Code of Conduct gehört haben, leuchtet der Nutzen einer 
Zuverlässigen Deorbiting-Auslösung vielleicht auch ein. Aber das trägt 
gerade leider absolut nichts zum Thema bei.

von 6A66 (Gast)


Lesenswert?

San Lue schrieb:
> Klar kann man ihm nun sagen, dass das ganze viel einfacher Lösbar wäre.
> Ich habe mich allerdings bewusst dagegen entschieden, da der TO meinte
> das Teil wird in einem Satelit verbaut. Ich bin davon ausgegangen dass
> jemand der an einem Satelit rumbastelt wohl auch seine Gründe dafür hat,
> wieso er nun einen Mikrocontroller nehmen will. Wobei ich mir da
> mittlerweile auch nichtmehr so sicher bin, ob der TO wirklich vom Fach
> ist.

ACK

von Axel S. (a-za-z0-9)


Lesenswert?

Lothar Miller schrieb:

> Bei einer erlaubten Toleranz von 2 Wochen in 260 Wochen reicht ein
> "üblicher" Quarz locker aus. Und wenn dann das EEPROM-Speichermanagement
> auf 256 EEPROM-Speicherzellen ausdehnt, und pro Minute immer nur die
> nächste Speicherzelle um 1 hochzählt, dann ist das EEPROM locker
> ausreichend oft beschreibbar

Was leider immer noch nicht dabei hilft, die Länge eines Stromausfalls 
zu erkennen. Wenn nach einem Jahr der Strom für ein weiteres Jahr 
ausfällt, dann mag der µC ja nachher "richtig" weiterzählen. Blöderweise 
kommt er am Ende trotzdem ein ganzes Jahr zu spät.

Das ganze Konzept ist für die Tonne.


XL

von S. W. (stffn)


Lesenswert?

Axel Schwenke schrieb:
> Lothar Miller schrieb:
>
>> Bei einer erlaubten Toleranz von 2 Wochen in 260 Wochen reicht ein
>> "üblicher" Quarz locker aus. Und wenn dann das EEPROM-Speichermanagement
>> auf 256 EEPROM-Speicherzellen ausdehnt, und pro Minute immer nur die
>> nächste Speicherzelle um 1 hochzählt, dann ist das EEPROM locker
>> ausreichend oft beschreibbar
>
> Was leider immer noch nicht dabei hilft, die Länge eines Stromausfalls
> zu erkennen. Wenn nach einem Jahr der Strom für ein weiteres Jahr
> ausfällt, dann mag der µC ja nachher "richtig" weiterzählen. Blöderweise
> kommt er am Ende trotzdem ein ganzes Jahr zu spät.
>
> Das ganze Konzept ist für die Tonne.
>
>
> XL

Naja lassen wir das gut sein. Danke für die Hilfe, aber das bringt so 
nichts mehr.
VG

von Axel S. (a-za-z0-9)


Lesenswert?

S. Werp schrieb:
> Axel Schwenke schrieb:

...
>> Das ganze Konzept ist für die Tonne.

> Naja lassen wir das gut sein. Danke für die Hilfe, aber das bringt so
> nichts mehr.

Ich habe den Eindruck, du verstehst die Tragweite meines Einwands nicht 
und machst jetzt einen auf beleidigte Leberwurst, weil ich dir dein 
schönes Luftschloß kaputt gemacht habe.

Aber meinetwegen können wir auch aufhören miteinander zu reden.
Immerhin bin ja nicht ich es, der nach einer Lösung gefragt hat.


XL

von Frage (Gast)


Lesenswert?

Ich kenne mich mit Satelliten absolut nicht aus und habe keine Ahnung ob 
mein Gedanke völlig idiotisch ist, deshalb Frage ich mal:

Wäre es nicht möglich so ein Signal von der Erde aus zu Triggern?
Ich meine, wenn ihr das Teil 5 Jahre lang rumfliegen lassen wollt gehe 
ich mal stark davon aus dass ihr davon auch erkenntnisse gewinnen wollt. 
Also wird wohl irgendeine Art Kommunikation zum Satelliten bestehen, 
oder? Wäre es dann nicht möglich, sowas von der Erde aus zu machen?

Wie gesagt, ich kenne mich wieder mit Satelliten aus noch mit der 
Technologie welche man im Weltraum verwendet. Das ist lediglich ein 
Gedanke eines Jugendlichen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Axel Schwenke schrieb:
> Ich habe den Eindruck, du verstehst die Tragweite meines Einwands nicht
Ich habe den Eindruck, du überschätzt die Tragweite deines Einwands. Das 
Wort "Stromausfall" ist hier im Thread mindestens 30 mal erwähnt worden. 
Da dürfte selbst dem unbedarftesten Beobachter klar sein, dass der nicht 
beliebig lang dauern darf, weil die elektirsch betriebene Uhr solange 
einfach stehen bleibt. Und das ist auch stffn klar,
denn S. Werp schrieb:
>>> Dh bei einem zwischenzeitlichen Stromausfall (egal wie lange dieser war)
>>> oder Programmfehler, ist das wichtigste, dass das Ding überhaupt weiter
>>> läuft.

uwe schrieb:
> Mach dir mal lieber hierzu Gedanken:
> http://en.wikipedia.org/wiki/Radiation_hardening
Gehen wir der Einfachheit halber mal davon aus, dass auch dieser 
Sachverhalt bekannt ist,
denn S. Werp schrieb:
>>> Für Isolation vor Strahlung und Temperatur ist gesorgt.

Dann könnten wir wieder zur Sache kommen....

: Bearbeitet durch Moderator
von ZeilenTrafo (Gast)


Lesenswert?

S. Werp schrieb:
> Hallo und guten Tag,
>
> ich würde gerne mit einem 8-bit Mikrocontroller mit 8 MHz und einem
> 1024-r Prescaler 5 jahre lang zählen und bei jedem Overflow
> (4.812.011.719 treten in dieser Zeit auf) den Wert in einem Register
> erhöhen.
>  Ich habe mich gefragt, wie ich jetzt herausfinde, wie groß mein
> Flash-Speicher dafür sein muss. Konnte leider nicht herausfinden, wie
> ich darauf komme. Wenn ich auf meinem mC beispielsweise 128kByte habe,
> genügt das? Wie erfolgt dann die Speicherung?
>
> Vielleicht geht aus meiner Frage schon hervor, dass ich mich auf dem
> Gebiet nicht sehr gut auskenne. Ich hoffe mir kann dennoch geholfen
> werden.
>
> Vielen Dank und ein schönes Wochenende,
> Steffen

Hallo S.

Nimm den 24C16- der hat genug Speicherreserven und dem kannst zudem eine 
"BackUp"-Batterie - genauer gesagt: einen "GoldCap" - 5 VDD/1 Farad 
Kapazität als Datenpuffer-"Kondensator" an die UB+ drücken! Solange dein 
Speisegerät die Versorgung aufrecht erhält, versorgt sich der EEProm ja 
aus dem Netzteil. (oder Batterie). Und solltest Du Spannungsausfälle 
überbrücken wollen - so steht dir der "GoldCap" als 
Ausfall-Spannungsversorgung (nur als zusätzliche Maßnahme gedacht, denn 
der 24C16 braucht die Spannung selbst eigentlich nur im 
Schreib-Lesemodus- aber die Stromaufnahme ist so gering, dass hier ein 
"GoldCap" genau DIE Lösung zur Überbrückung ist) zur Verfügung. Die 
Versorgung während der "Ruhephase" des EEProm ist ja nicht unbedingt 
nötig für den Datenerhalt, weil, wie schon beschrieben, dieser ebenfalls 
ein nichtflüchtiges EEProm ist.

Ein "GoldCap" hat ja zudem den Vorteil, dass er lange genug 
Spannungsreserven speichern kann, ohne dabei sich selbst zu überladen, 
wenn er auch dauerhaft über nur 1 Diode an UB + 5 V "hängt" - also die 
Spannungsversorgung deiner Schaltung ja gleichzeitig als Ladeschaltung 
nutzen du kannst. Ein GoldCap nimmt nur erstmals bei Tiefenentladung nur 
soviel Energie auf, wie er benötigt, um sich "zu sättigen". Überladen 
tut er sich aber auch bei DauerPlus länger als 2 Stunden  nicht. So also 
die besten Vorraussetzungen für Dein Vorhaben.

Also ich hatte mal ein ähnliches Projekt mit dieser Variante laufen seit 
2 1/2  Jahren und es funktionierte ohne jeglicher Probleme. Allerdings 
hatte MEIN Projekt keine 5 Jahre-"Mindest"-Lauffrist - zumindest hab ich 
das damals SO NICHT vorgesehen gehabt, aber ich hatte auch schon 
Ausfälle, die prima automatisch überbrückt wurden.. (toitoitoi!)..

Nun, vielleicht wars hier nur eine Idee - ausprobieren musste das 
selbst, obs eine Projektlösung für DEIN Vorhaben wäre.

Danke für die Aufmerksamkeit. Und sollte ich hier Unsinn geschrieben 
haben, bitte berücksichtigen, dass ich mittlerweile schon Ü 50 bin, 
daher sich auch ein Fehler hier eingeschlichen haben können. Wenns so 
sein sollte, bitte ich um Nachsicht. Man wird nicht jünger - leider.. 
Danke


Zeilentrafo :)

von Axel S. (a-za-z0-9)


Lesenswert?

Lothar Miller schrieb:
> Axel Schwenke schrieb:
>> Ich habe den Eindruck, du verstehst die Tragweite meines Einwands nicht
> Ich habe den Eindruck, du überschätzt die Tragweite deines Einwands. Das
> Wort "Stromausfall" ist hier im Thread mindestens 30 mal erwähnt worden.
> Da dürfte selbst dem unbedarftesten Beobachter klar sein, dass der nicht
> beliebig lang dauern darf, weil die elektirsch betriebene Uhr solange
> einfach stehen bleibt. Und das ist auch stffn klar

Ist das so? Kam mir nicht so vor.

Aber bleiben wir mal bei deinem Argument, daß die Stromausfälle jeweils 
nur kurz wären - was spricht dann dagegen, die Stromversorgung für die 
Uhr entsprechend zu puffern?

Und wo bleiben eigentlich die Details zu "Stromausfall" und "kurz"? 5 
Jahre sind ca. 260 Wochen. Wenn 2 Wochen Fehler erlaubt sind, dann darf 
der Strom höchstens für 11 Minuten am Tag ausfallen, sonst hat schon 
diese Fehlerquelle allein die Reserve aufgefressen.


XL

von San L. (zwillingsfreunde)


Lesenswert?

GEDANKE schrieb im Beitrag #3752560:
> Ob es nun ein Grund sein wird, MEINEN Eintrag hier zu löschen, ok, das
> kannste tun, Herr Moderator, aber wenn das tust, dann ist ganz schnell
> die Kripo und Staatsanwaltschaft hier im Forum und beim Admin zu Gast!

Danke, so gelacht habe ich schon lange nichtmehr.

Im ernst, gehörtst du zu den Verschwörungstheoretikern? Glaubst wohl 
auch der 11/9 war die Regierung der USA selbst, oder? Wenn man bei jedem 
Tread so denken würde, dann müsstest du hier alle paar Tage die Polizei 
rufen weil andauernd Leute kommen, die irgendwas vorhaben was nicht ganz 
sauber ist.

Aber im ernst, sein Startpost geht darum ein Signal nach 5 Jahren 
auszulösen. In welcher Form soll das bitte Kriminell sein? Hast du Angst 
dass er in 5 Jahren mit seinem selbstgebauten Satelliten den Mond mit 
einem selbstauslöser zerfezt? Im ernst, ich kann irgendwo ein gewisses 
mass am misstrauen verstehen, aber wenn jemand danach fragt ein Signal 
nach 5 Jahren auszulösen und man sich darauf kriminelle Zusammenhänge im 
Kopf ausdenkt, dann bin ich mir nicht so sicher bei wem nun etwas 
nichtmehr stimmt...

Bisschen runter kommen und beruhigen. Nur weil momentan überall auf 
diesem Planeten Bomben und Raketen rumfliegen heisst das noch lange 
nicht dass jeder gleich Kriminell ist, weil er an einem solchen Projekt 
arbeitet.

von TomA (Gast)


Lesenswert?

Hallo S. Werp,

ich habe die vorigen Beiträge nicht vollständig gelesen, da sie 
reichlich unrelevantes beinhalten. So kann es sein, daß mein Vorschlag 
bereits gemacht wurde.

So wie ich es sehe ist der genaue Zeitpunkt des Signals nicht kritisch. 
Wichtig ist daß das Signal ausgelöst wird. Somit würde ich das System 
aus mindestens drei unabhängigen Komponenten zusammensetzen. Z.B: 
Hardwarezähler, µC und RTC-Baustein und das Signal über eine 
Mehrheitsentscheidung auslösen. Wenn 2 von drei behaupten die 5 Jahre 
sind vorbei. Je mehr Komponenten, desto mehr Sicherheit, aber auch mehr 
Aufwand, Gewicht und Strombedarf.

Gruß. Tom

von Jochen B. (Gast)


Lesenswert?

> Bisschen runter kommen und beruhigen. Nur weil momentan überall auf
> diesem Planeten Bomben und Raketen rumfliegen heisst das noch lange
> nicht dass jeder gleich Kriminell ist, weil er an einem solchen Projekt
> arbeitet.

Wie jetzt? Wer hat was von Polizei rufen hier geschrieben? Leute 
gibts....

Geb ich mal mein Feedback hier ab, mal sehen, was dabei rauskommt.. 
Irgendwie geb ich dem zweifelnden Gast hier aber auch Recht: Ich hab 
auch das andre Projekt vom Laser gelesen, und stell mir vor: Ganz ganz 
geheuer ist mir dieser Typ da mit dem Projekt hier auch nicht. Wollte er 
doch was in paar Kilometern auslösen, einen Schalter oder sowas 
änliches. Wer bitte kommt auf solche Gedanken, wo es in Deutschland doch 
verboten ist mit solchen Dingern zu hantieren? Doch nur Kriminelle oder 
auch Geisteskranke? Oder wie seht ihr das? Nur so kann ich die Gedanken 
des Gastes nachvollziehen, dass er sich etwas denkt dabei, wenn er sowas 
schreibt. Bin ganz seiner Meinung. Und nehme seinen Post hier auch 
ernst. Aber das können vermutlich nicht alle hier, dann wärs ja 
langweilig dieses Forum.
Und wie ich lesen konnte, wollte der Herr hier auch irgendwas im Weltall 
zerstören, einen Satelitten oder sowas. Spekulieren wäre da schon 
angebracht, irgendwas stimmt mit dem Typen da ja wohl doch nicht. So seh 
ich das auch jedenfalls! Zusammenhänge und zuviele komische Zufälle in 
etwa gleicher Schreibweise lassen daran nicht zweifeln, dass er entweder 
nur spinnt, um sich hier wichtig zu machen mit seinem Projekt, oder er 
ist tatsächlich ein Krimineller! Ich tendiere mal zu Zweitens. So wie 
derjenige, dessen Meinung ich teile, man solle aufpassen hier, muss ich 
beipflichten.

Schöne merkwürdige aber nachdenkliche Disskussionsrunde. Wollte das auch 
bemerken dazu.

Habts euch wohl da draussen.. mfg

von 6A66 (Gast)


Lesenswert?

Jochen B. schrieb:
>> Bisschen runter kommen und beruhigen. Nur weil momentan überall
> auf
>> diesem Planeten Bomben und Raketen rumfliegen heisst das noch lange
>> nicht dass jeder gleich Kriminell ist, weil er an einem solchen Projekt
>> arbeitet.
>
> Wie jetzt? Wer hat was von Polizei rufen hier geschrieben? Leute
> gibts....
>
> Geb ich mal mein Feedback hier ab, mal sehen, was dabei rauskommt..
> Irgendwie geb ich dem zweifelnden Gast hier aber auch Recht: Ich hab
> auch das andre Projekt vom Laser gelesen, und stell mir vor: Ganz ganz
> geheuer ist mir dieser Typ da mit dem Projekt hier auch nicht. Wollte er
> doch was in paar Kilometern auslösen, einen Schalter oder sowas
> änliches. Wer bitte kommt auf solche Gedanken, wo es in Deutschland doch
> verboten ist mit solchen Dingern zu hantieren? Doch nur Kriminelle oder
> auch Geisteskranke? Oder wie seht ihr das? Nur so kann ich die Gedanken
> des Gastes nachvollziehen, dass er sich etwas denkt dabei, wenn er sowas
> schreibt. Bin ganz seiner Meinung. Und nehme seinen Post hier auch
> ernst. Aber das können vermutlich nicht alle hier, dann wärs ja
> langweilig dieses Forum.
> Und wie ich lesen konnte, wollte der Herr hier auch irgendwas im Weltall
> zerstören, einen Satelitten oder sowas. Spekulieren wäre da schon
> angebracht, irgendwas stimmt mit dem Typen da ja wohl doch nicht. So seh
> ich das auch jedenfalls! Zusammenhänge und zuviele komische Zufälle in
> etwa gleicher Schreibweise lassen daran nicht zweifeln, dass er entweder
> nur spinnt, um sich hier wichtig zu machen mit seinem Projekt, oder er
> ist tatsächlich ein Krimineller! Ich tendiere mal zu Zweitens. So wie
> derjenige, dessen Meinung ich teile, man solle aufpassen hier, muss ich
> beipflichten.
>
> Schöne merkwürdige aber nachdenkliche Disskussionsrunde. Wollte das auch
> bemerken dazu.
>
> Habts euch wohl da draussen.. mfg

Hallo Jochen

es gibt auch Schüler, Studenten und deren Eltern die sich ein bischen 
Gedanken machen und vielleicht an solchen Wettbewerben arbeiten:
http://www.cansat.de/

rgds

von Lutz (Gast)


Lesenswert?

Jochen B. schrieb:
> Habts euch wohl da draussen.. mfg

Grüße aus der Geschlossenen? ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

6A66 schrieb:
> es gibt auch Schüler, Studenten und deren Eltern die sich ein bischen
> Gedanken machen und vielleicht an solchen Wettbewerben arbeiten:
> http://www.cansat.de/

Eine Dose am Fallschirm? Und die soll 5 Jahre oben bleiben? :-)))))

von Quack (Gast)


Lesenswert?

Klassischer Manager:

 - Keine Ahnung vom Thema, aber bestimmen wollen, wie es gemacht wird.
 - Auf keinen Fall alle Informationen rausruecken, Information bedeutet 
Macht!
 - Jede Kritik strik von sich weisen: Laeuft etwas schief, waren es 
immer die Anderen.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Es ist müßig, hier weiter zu schreiben. Der TO hat sich hier längst 
verabschiedet.

von kartenhaus (Gast)


Lesenswert?

Ich finde es ziemlich lächerlich alleine auf die Idee zu kommen, dem TO 
etwas kriminelles zu Unterstellen. Genausowenig habe ich das Gefühl, 
dass er ein Wichtigtuer ist. Er hat versucht, mit möglichst wenigen 
Informationen eine Antwort auf seine Frage zu bekommen (vermutlich, weil 
er keine Lust auf genau solche Diskussionen hatte). Als das ganze dann 
etwas aus dem Ruder lief, hat er im Prinzip ganz genau gesagt, worum es 
geht und wozu er es braucht: 1. ist es offenbar ein Studentenprojekt, 
was man auch wüsste, wenn man den Thread verfolgt hat. 2. geht es um ein 
Deorbiting - jeder der sich nur ansatzweise mit Raumfahrt auskennt, 
weiß, was das ist und wozu man das macht. (Zitat:"Der TO möchte einen 
Satelliten zerstören").

Also wer auch immer mit solchen Aussagen wie:

> Und wie ich lesen konnte, wollte der Herr hier auch irgendwas im Weltall
> zerstören, einen Satelitten oder sowas...

Bitte, bitte geht mal vor die Tür und verlasst euer dunkles Kämmerchen. 
Aber nicht immer diese unqualifizierten Kommentare, vor allem wenn man 
den Thread noch nicht mal komplett gelesen hat. Ich bekommen echt zu 
viel von soetwas.

LG

von 6A66 (Gast)


Lesenswert?

kartenhaus schrieb:
> 1. ist es offenbar ein Studentenprojekt,
> was man auch wüsste, wenn man den Thread verfolgt hat. 2. geht es um ein
> Deorbiting - jeder der sich nur ansatzweise mit Raumfahrt auskennt,
> weiß, was das ist und wozu man das macht. (Zitat:"Der TO möchte einen
> Satelliten zerstören").

Könnte eine Nachfolgearbeit von

http://web.lrt.mw.tum.de/index.php?id=241

sein

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.