Forum: Mikrocontroller und Digitale Elektronik Skalierbarer MCU


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Johnny S. (sgt_johnny)


Bewertung
-1 lesenswert
nicht lesenswert
Stellt euch folgende Problematik vor:


Ein Mikrocontroller muss in gewissen Fällen genügend Leistung erbringen 
um Berechnungen durchzuführen und zwei RFID Leser zu bedienen, hierzu 
ist eine Frequenz von ca. 8-16Mhz praktisch nicht vermeidbar.

Nachdem diese Fälle abgeschlossen sind, überwacht der MCU nurnoch ein 
Analogsignal(7khz) und wartet auf ein passendes Ergebniss.Hierzu reicht 
eine Frequenz von 1-4Mhz völlig aus. Ein einfacher "Soll-Ist" Wert z.b. 
mit einem Comparator reicht nicht aus, da der MCU noch auswertet wie der 
Wert steigt.

Wird jedoch der MCU (z.b. Atmel) auf eine Frequenz eingestellt, so 
behält er diese immer, und verbraucht in allen gegebenheiten fast 
gleichviel Strom.

Da der Modus in welchem das Analogsignal überwacht wird mitunter mal 
15-20 Minuten dauern kann, hat das mitunter grossen einfluss auf die 
Batterielebensdauer.


Nun wollte ich mal nachfragen ob es MCU gibt welche ihre Frequenz im 
Betrieb anpassen können? Etwa so wie das hochstehende Prozessoren z.b. 
im PC tun.

Falls nicht, wäre eine Lösung mit einem zweiten MCU praktikabel? Also 
der "Main MCU" geht in den Deep-Sleep und ein low power MCU mit 1MHz 
überwacht das Signal und weckt dann den Main?

: Verschoben durch Moderator
von Tilo R. (joey5337) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Die verschiedenen Sleep-Modes sind eigentlich ausreichend.
Es macht vom Stromverbrauch nur wenig Unterschied, langsamer zu rechnen 
oder schneller und dafür mehr zu schlafen.

Es ist aber durchaus möglich, den Controller mit externen Takt zu 
betreiben und diesen zu variieren.
(Beim AVR habe ich aber auch schon davon gelesen, dass man den externen 
Takt nicht um mehr als Faktor 2 auf einmal steigern/reduzieren sollte)

von S. Landolt (Gast)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
> Wird jedoch der MCU (z.b. Atmel) auf eine Frequenz eingestellt,
> so behält er diese immer ...

?

Ohne Kommentar.

von Purzel H. (hacky)


Bewertung
-1 lesenswert
nicht lesenswert
Ond dann gaeb's noch den internen Oscillator, der kann mit dem Osccal 
Register verstellt werden.

von Johnny S. (sgt_johnny)


Bewertung
-2 lesenswert
nicht lesenswert
S. Landolt schrieb:
>> Wird jedoch der MCU (z.b. Atmel) auf eine Frequenz eingestellt,
>> so behält er diese immer ...
>
> ?
>
> Ohne Kommentar.

Und das kann man im laufenden Betrieb ändern?

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Steht ja da: "These bits can be written run-time to vary the clock 
frequency to suit the application requirements."

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Johnny S. schrieb:
> Nun wollte ich mal nachfragen ob es MCU gibt welche ihre Frequenz im
> Betrieb anpassen können?

Das kann beispielsweise die MSP430-Reihe. Die können im Betrieb zwischen 
extern angeschlossenem Quarz und internem RC-Oszillator umschalten und 
auch die Frequenz des RC-Oszillators ändern.

von Johannes S. (jojos)


Bewertung
1 lesenswert
nicht lesenswert
Und Cortex-M können das üblicherweise auch alle, dazu lassen sich noch 
nicht benötigte Hardware Units abschalten.

von S. Landolt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
an Johnny S.:

Okay, zugegeben, die "klassischen" AVR8 'AT90...' konnten es nicht, auch 
z.B. ATmega8 oder 16 noch nicht.

von Quarz-Killer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> Und Cortex-M können das üblicherweise auch alle, dazu lassen sich noch
> nicht benötigte Hardware Units abschalten.

Und wenn der externe Quarz im Betrieb abbricht schalten die besseren auf 
den internen RC-Oszillator um :-)

von X4U (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Quarz-Killer schrieb:
> Und wenn der externe Quarz im Betrieb abbricht schalten die besseren auf
> den internen RC-Oszillator um :-)

Oder auf den Uhren-Quarz

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
1 lesenswert
nicht lesenswert
Habe ich auch schon mit XMega gemacht für einen Datenlogger. Läuft mit 2 
MHz im Logmodus und mit 32 Mhz, sobald man ihn zum Auslesen mit dem PC 
verbindet - natürlich im laufenden Betrieb.

: Bearbeitet durch User
von Tim (Gast)


Bewertung
0 lesenswert
nicht lesenswert
S. Landolt schrieb:
> konnten es nicht, auch
> z.B. ATmega8 oder 16 noch nicht.
Aber auch da kann man an OSCCAL drehen. Von nominell 8 MHz sollte ein 
Bereich zwischen 5 und 15 MHz erreichbar sein.

Quarz-Killer schrieb:
> Und wenn der externe Quarz im Betrieb abbricht schalten die besseren auf
> den internen RC-Oszillator um :-)
Wenn man statt einem Schwingquarz einen Quarzoszillator mit 
Enable-Eingang nimmt, kann man den Zeitpunkt des Zu- und Abschaltens per 
Software bestimmen.

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Tim schrieb:

> Wenn man statt einem Schwingquarz einen Quarzoszillator mit
> Enable-Eingang nimmt, kann man den Zeitpunkt des Zu- und Abschaltens per
> Software bestimmen.

Beim AVR8?

Abschalten ja, das ginge sicher.

Aber wieder anschalten geht nicht, da müsste dann externe Hardware für 
sorgen. Denn wo kein Takt, da kein Programm, was irgendetwas dafür tun 
könnte, dass wieder ein Takt kommt...

von Rolf M. (rmagnus)


Bewertung
1 lesenswert
nicht lesenswert
Johnny S. schrieb:
> S. Landolt schrieb:
>>> Wird jedoch der MCU (z.b. Atmel) auf eine Frequenz eingestellt,
>>> so behält er diese immer ...
>>
>> ?
>>
>> Ohne Kommentar.
>
> Und das kann man im laufenden Betrieb ändern?

Es sind Register. Wie soll man die denn ändern, wenn nicht im laufenden 
Betrieb?

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Register ja, "Fuses" nein.

von Tim (Gast)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Beim AVR8?
Nein, nicht das ich wüßte.

Quarz-Killer schrieb:
> Und wenn der externe Quarz im Betrieb abbricht schalten die besseren auf
> den internen RC-Oszillator um
Was auch immer "die besseren" sind, meine Erkenntnisse diesbezüglich 
sind auf AVR begrenzt.

Nein, stimmt nicht: In FPGAs bau ich gelegentlich auch solche 
Takt-Fallback-Schaltungen ein.
Ein internen getakteter zähler überwacht einen extern getakteten Zähler. 
Nur wenn der im richtigen Freuqenzbereich ist, wird der Clock-Mux auf 
extern geschaltet.

Vorteil: Die Kommunikationsschnittstellen laufen auch im 'Fehlerfall' 
(kein externer Takt).

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
PICs mit internen Oszillator kann man auch über einen großen Bereich 
während dem Betrieb umstellen.

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]
  • [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.