Hallo zusammen! Aus Energiegründen musste ich jetzt von meinen guten, alten Atmels zu der MSP430 Reihe von TI wechseln, allerdings komm ich nicht so ganz mit dem Datenblatt/User Guide zurecht. Momentan experimentiere ich etwas mit dem MSP430F2013, genauer gesagt mit dem eZ430-F2013 Dev. Tool, als Entwicklungsumgebung benutze ich die IAR Embedded Workbench IDE (neuste Version), ebenfalls von TI, Programmiersprache: C. Ich habe schon erfolgreich Programme mit Timer und deren Interrupts geschrieben, damit hauptsächlich die verschiedenen Clk's "geteilt" und durch die LED dargestellt. (ok, mit dem Oszi ist das wesentlich einfacher zu messen, wenn man den Takt direkt auf den Port gibt, aber das diente nur zur Übung) Mein Problem: ich möchte jetzt mit der DCO umgehen lernen. Mir ist klar, dass es sich dabei nur um das setzen von den "Basic Clock System Control Register" und dem "DCO Control Register" handelt, allerdings tu ich mir dabei etwas schwer. Ich werde später einen 16MHz Takt nutzen (müssen), aber ich weiß nicht genau wie ich die Bits setzen muss, dass was vernünftiges rauskommt. Gibt es da irgendwie eine konkrete Auflistung o.Ä.? Oder beruht das einfach auf ausprobieren? Ich habe des weiteren, auch im Beispiel-code von TI, gesehen, dass hin und wieder ein externer 32kHz Crystal Oszillator benutzt wird. Der MSP hat ja auch eine 32kHz clock integriert, zwar kein crystal und somit nicht ganz genau aber ich frag mich: wann braucht man diese eigentlich? Z.B. bei UART Verbindungen also wenns auf exakte timings ankommt? Soviel erstmal. Vielen Dank im Vorraus! Christian
EDIT: Frage 1 hat sich teilweise gerade selbst beantwortet... ein paar Frequenzen sind ja vordefiniert. Aber wenn man was "exotische" braucht wäre eine Tabelle dennoch nicht schlecht
>Ich werde später einen 16MHz Takt nutzen (müssen), aber ich weiß nicht >genau wie ich die Bits setzen muss...
1 | BCSCTL1 = CALBC1_16MHZ; |
2 | DCOCTL = CALDCO_16MHZ; |
:) >Der MSP hat ja auch eine 32kHz clock integriert Nö, hat er nicht. Das ist ein (sehr ungenauer) 12kHz. Und den haben auch nicht alle. >wann braucht man diese eigentlich? Wenn du sehr sehr wenig Strom verbrauchen willst aber noch einen Takt benötigst der nicht sonderlich genau sein muss. >Z.B. bei UART Verbindungen also wenns auf exakte timings ankommt? Da kommst du mit 12kHz nicht weit, da muss es schon min. der DCO sein.
Danke für die Antwort! Ja stimmt, das war ein 12kHz.. Es klappt jetzt langsam mit der Programmierung. Die Unterschiede zum Atmega sind doch nicht soo rießig, wie ich gedacht hab. Aber mal noch was anderes: Ich werde später den F2274 benutzen. Das ganze soll dann ein "UltraUltra" Low-Power-Device werden was sich die meiste Zeit im Ruhemodus (LPM3 oder LPM4) befindet und jeweils nur kurz in Operation-Mode wechseln soll. Genauer: Ich habe vor, per Comparator-Interrupt (Sensorwert) den Controller aufzuwecken, dieser muss so schnell wie möglich da sein (~10µs), mit dem ADC mit 200ksps ungefähr eine Sekunde sampeln, kurz auswerten und sich dann wieder schlafen legen. Laut Datenblatt ist der Controller aus LPM3 in 6 oder 7µs da, kann das jemand bestätigen? Gilt das auch für 16Mhz? Ich werde es dann sowieso Nachmessen müssen, aber vielleicht hat da schon jemand etwas gemacht und kann gleich sagen, dass es nicht möglich ist. Dann könnte ich mir die Investition sparen und nach anderen alternativen ausschau halten. Christian
>Laut Datenblatt ist der Controller aus LPM3 in 6 oder 7µs da, kann das >jemand bestätigen? Gilt das auch für 16Mhz? Ich meine je höher die Frequenz, desto langsamer wacht er auf bzw. braucht länger zum anschwingen. Genaue Daten hab ich jetzt aber auch nicht im Kopf.
Siehe Sleep-Mode, das gilt prinzipiell auch für den MSP. Wenn er schnell wider loslegen soll muss man einen RC-Oszillator (DCO) verwenden. MFG Falk
ok, ich bin zuversichtlich das es mit dem MSP klappt. Werde es einfach mal ausprobieren. Viele Grüße Christian
Hi, schau mal im Datasheet auf S. 36: Der MSP430 wacht in 1us aus dem LPM3/4 auf. Eine Formel zur Berechnung der DCO Einstellung findest du ebenfalls im Datasheet (S. 32ff). Viele Grüße, Mika
Danke, das ist genau die Information nach der ich gesucht hatte! Sind aber auch so viele Tabellen im Datenblatt :D Viele Grüße Christian
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.