mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu Taktung des MSP430x2xx


Autor: Christian M. (charlie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian M. (charlie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich werde später einen 16MHz Takt nutzen (müssen), aber ich weiß nicht
>genau wie ich die Bits setzen muss...
BCSCTL1 = CALBC1_16MHZ; 
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.

Autor: Christian M. (charlie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian M. (charlie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich bin zuversichtlich das es mit dem MSP klappt. Werde es einfach 
mal ausprobieren.

Viele Grüße
Christian

Autor: Mika (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian M. (charlie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, das ist genau die Information nach der ich gesucht hatte! Sind 
aber auch so viele Tabellen im Datenblatt :D

Viele Grüße
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.