Hi, ich hab noch nie vorher mit mikrokontrollern gearbeitet und soll jetzt rausfinden, wie man am besten zeitstempel erzeugt. es geht darum, dass ein smartphone mit dem MSP430 verbunden wird und der msp daten an das phone schickt. diese sollen jedoch mit einem zeitstempel versehen werden. es gibt, wie ich das verstanden habe, im msp mehrere uhren und man kann dafür den DCO verwenden, oder hab ich da was missverstanden? also müsste ich beim verbinden der geräte die zeit synchronisieren und dann mit der weiter arbeiten. gibt es noch einen anderen weg, eine persistente zeit zu erzeugen auf dem msp? das ziel ist, dass das phone nicht immer verbunden sein muss und der msp hin und wieder aus geht und wenn ich das nicht falsch verstanden habe, "stirbt" damit ja auch die uhr? vielen dank im voraus Ginbak
Ginbak schrieb: > es gibt, wie ich das verstanden habe, im msp mehrere uhren und > man kann dafür den DCO verwenden, oder hab ich da was missverstanden? Da hast Du was missverstanden. Der englische Begriff "clock" steht nicht für Uhr, sondern für Takt, resp. Taktgenerator. Das, was wir "Uhr" nennen, heißt im englischen "real-time clock" (RTC), und wird gerne (albernerweise) als "Echtzeituhr" übersetzt. Eine RTC aber enthält ein msp430 nicht. So etwas kann man als Software implementieren (ein von einer der Taktquellen des MSP430 zyklisch ausgelöster Interrupt zählt einen Sekundenzähler hoch, aus dem beim Auslesen die Uhrzeit berechnet wird), oder als separaten Hardwarebaustein hinzufügen. In beiden Fällen aber ist eine dauerhafte Stromversorgung erforderlich, entweder des MSP430, damit der seinen Sekundenzählerstand nicht verliert und beständig weiterzählt, oder der RTC, damit die ihre Zeitinformationen aktualisieren kann.
Wobei die Spromversorgung auch eine Knopfzelle sein kann. So was füttert in einer änhlichen Anwendung hier einen MSP430F2012 seit mehreren Monaten. "Ausgehen": der MSP430 geht dann in den Low Power Mode und braucht nur noch ein paar µA Strom. Ganz aus ist er aber da nicht. Max
hey, danke erstmal für die schnellen antworten. ja, das mit der "clock" hatte ich schon richtig verstanden, hatte es nur nicht richtig ausgedrückt. kommt denn der klassische msp mit einer knopfzelle? über die RTC programmierung habe ich schon ein paar foreneinträge gelesen, die aber mehr fragen aufgeworfen haben als sie beantwortet haben. wenn ich es richtig versteh zähle ich ja einfach die takte hoch. dazu wurde oft der DCO verwendet und man hat zb. 1 signal jede sekunde gesendet. wenn ich aber genauer werden will, kamen diskussionen über delays usw auf, wenn ich da nicht was falsch verstanden habe. kann man so etwas irgendwie umgehen? ein Zeitstempel sollte ja schon recht akkurat sein. :/
Ich mach hier eine kostenpflichtige Anfängerschulung auf... - Der MSP430 hat keine Knopfzelle dabei. Die musst du schon selbst kaufen. - Es gibt (ich hätte es nicht geglaubt) tatsächlich noch RTCs mit integrierter Batterie: DS12CR887 - Beschäftige dich mal mit dem Thema Interrupts und Low Power Mode beim MSP430 - steht im Family User´s Guide. - Das ez430 ist nicht teuer und ermöglicht (auch dank Demos) einen relativ einfachen Start. Max
Wenn Du einen von diesen hier benutzt: MSP430F665x, MSP430F645x, MSP430F565x, MSP430F535x Mixed Signal Microcontrollers bekommst Du gleich einen mit Echtzeituhr und Batteriepufferung für die Uhr.
GB schrieb: > bekommst Du gleich einen mit Echtzeituhr und Batteriepufferung für die > Uhr. Aber ohne Batterie, und ohne Batteriehalter. Die müssen schon noch selbst drangebastelt werden.
Hi Ginbak, für Deine Aufgabe ist es unerläßlich, daß Du Dich in die Thematik Mikrocontroller einarbeitest. Der kleinste MSP430 ist hervorragend für die genannte Aufgabe geeignet, sofern nicht noch Anforderungen unerwähnt blieben. Du solltest einen 32.768kHz-Quarz einsetzen und einen Timer programmieren, der - wie oben schon vorgeschlagen - jede Sekunde einen Interrupt erzeugt, der die Sekunden hochzählt und Überläufe abfragt. Der Strom beträgt dann für >=99,9% der Zeit weniger als 1uA(!). Nur zur vollen Sekunde wird für einige Mikrosekunden <100uA benötigt. Damit ist die Betriebszeit mit einer Knopfzelle schon sehr groß. Eine Einführung in die MSP430-MCs findest Du hier: http://unidsp56.de/misc/MC-KursH13_130623a.pdf Im Workspace für die Entwicklungsumgebung (Code Composer Studio) zum Kurs findest Du u.a. eine funktionierende Uhr: http://unidsp56.de/misc/workspaceMCcourseH13_130623.zip Wenn Du nun noch eine UART einbindest (späteres Beispiel im Workspace) und da ein kleines Bluetooth-Modul (Ebay 7€) dranhängst, kannst Du sogar drahtlos mit dem Smartphone reden. Viel Erfolg! Gerrit, DL9GFA
:
Bearbeitet durch User
Hallo, vielen Dank für eure Antworten. Den Bedarf eines 32.768 kHz-Quarz hatte ich auch schon in bei meiner Recherche gefunden. Leider bin ich nicht in der Postion, mich intensiv in die Mikrokontroller-Programmierung einzuarbeiten, da es nur Teil eines größeren Projektes ist und ich nur wenig Zeit dafür erübrigen kann, daher auch so "dumme" Fragen wie "hat der MSP eine Knopfzelle". Auch bin ich mir nicht sicher, in wie fern es gewünscht ist, eine große Menge an weiteren Peripherieteilen anzubringen. Als Alternative dazu steht, das Phone selbst die Timestamps erstellen zu lassen, was aber somit zu einem gewissen Delay führt (Übertragungszeit ans Phone, eventuelle Fehlübertragungen usw usf). Daher ging es darum, den Aufwand abzuwägen, den es benötigt, eine RTC zu programmieren oder anzubringen. Auch sollten die Timestamps nicht nur Sekunden-genau sondern auch Millisekunden-genau und schon da sehe ich schwierigkeiten. Gehen wir mal davon aus, dass wir nur die erste Kommastelle nach der Sekunde (also alle 100 ms senden) wollen, kostet da der Interrupt nicht recht hohe Rechenleistung? Danke für eure Antworten
Ginbak schrieb: > Kommastelle nach der Sekunde (also alle 100 ms senden) wollen, kostet da > der Interrupt nicht recht hohe Rechenleistung? Mir ist nicht klar, was du exakt damit meinst. Aber: Der MSP macht problemlos mindestens 1 Million Befehle in der Sekunde. Was denkst du, wie Schwierig es für den ist, alle 0.1 Sekunde mal ein paar 100 Befehle (in Wirklichkeit sind es sogar weniger) zwischendurch einzuschieben. Das viel größere Problem besteht darin, dass die Übertragung des Timestamps ja auch Zeit kostet. Das eigentliche Problem besteht in der exakten Synchronisierung eines Ereignisses mit der dann gültigen Zeit. Was benötigt werden würde ist zum Beispiel ein Eingang am MSP, mit dem man dem MSP mitteilt: ich brauche die exakte Zeit genau zu diesem Zeitpunkt. Der MSP speichert die aus seiner intern geführten Uhr weg und danach kann man diesen Timestamp 'gemächlich' über die vorhandenen Kanäle auslesen. Für den MSP ist das immer noch pipifax. Mir scheint du hast da einen Trugschluss, den so viele haben. Nur weil dein Telephon einen Gigaherz getakteten Prozessor hat und sich trotzdem zäh anfühlt, bedeutet das nicht, dass der Computer im Telephon per se langsam wäre. Der hat einfach nur viel zu tun mit der ganzen Pixelschieberei und den zig anderen Dingen, die 'gleichzeitig' ablaufen sollen. All das hat aber der MSP nicht. Seine einzige Aufgabe ist es in deinem Fall eine Uhr weiterzuählen - eine wahrlich triviale Aufgabe. Der MSP kann seine ganzen verfügbaren 1 Millionen Befehle pro Sekunde auf diese Aufgabe einsetzen, für die er gerade mal ein paar tausend braucht. Den Rest der Zeit kann er vor sich hindösen.
:
Bearbeitet durch User
hey, erstmal danke für die antwort. ok, ich habe mich mal wieder nicht richtig ausgedrückt. nebenbei laufen noch weitere berechnungen auf dem msp. zb. werden messwerte empfangen für die ich eben diese timestamps brauche. das heißt nicht nur, dass er beschäftigt ist, messwerte zu empfangen, zu verarbeiten und diese dann noch an das phone zu senden, sondern dauernd noch die interrupts von der zeit bekommt und ich mich frage, wie hoch ich die kosten für diese ansetzen muss, wenn ich in den millisekundenbereich gehe. aber ich glaube ich bespreche erstmal mit meinem professor wie hoch die auslastung des msp mit den restlichen berechnungen ist, bevor ich mich frage, ob die rtc probleme macht. ich danke euch erst einmal. lg Gnibak
Ginbak schrieb: > zeit bekommt und ich mich frage, wie hoch ich die kosten für diese > ansetzen muss, wenn ich in den millisekundenbereich gehe. So ca. im zwei-stelligen Promille Bereich.
Um das nochmal deutlich zu sagen: Der MSP430 lacht über diese Aufgabe, das ist nicht deine Baustelle der kann das locker und mit links. Dein Problem wird folgendes sein: Ginbak schrieb: > ich hab noch nie vorher mit mikrokontrollern gearbeitet Entweder du findest jemanden der das für dich macht oder du musst dich da einarbeiten. Die Zeit die du brauchst liegt je nach Motivation und Talent zwischen einem Wochenenden und ein paar Wochen.
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.