Zmiana czestotliwosci taktowania AVR

May 04, 2005 9 Replies

Witam! Zastanawiam sie nad mozliwoscia programowej zmiany czestotliwosci taktowania AVR. Czasami potrzebuje duzej predkosci, a w wiekszosci czasu nie jest mi to do niczego potrzebne. Czy mozna zmienic czestotliwosci taktowania AVR w trakcie pracy? W pdf nigdzie tego nie znalazlem, a przy zabawach z OSCCAL pisza, zeby nie zmieniac go za bardzo, gdziestam jeszcze niejasno przeczytalem, ze kolejne cykle CLK nie moga sie roznic o wiecej niz 50%. Moze ktos to testowal? Pozdrawiam, T.M.F.


Dnia Wed, 04 May 2005 23:17:30 +0200, T.M.F. napisał(a):

Takich rzeczy sie nie robi! Od tego masz program, zeby kontroler pracowal jak trzeba tzn. raz szybciej a raz wolniej : ))

Użytkownik T.M.F. napisał:

Myślę, że nie, bo po co skoro producent tego nie zaleca (dopuszcza zmiany rzędu 10%)

formatting link
inni podają jak to zrobić w tipsach:
formatting link
jawnie w UserGuide:
formatting link
Po prostu Atmel nie bardzo przejmuje się poborem mocy

Albert

T.M.F. napisał(a):

Microchipy maja coś takiego jak SLEEP, nie wiem czy AVR też...

W artykule news: snipped-for-privacy@hermes.wizzard, niejaki(a): T.M.F. z adresu snipped-for-privacy@nospam.mp.pl> napisal(a):

Atmega 48/88/168 ma preskaler zegara systemowego. Mozna nim podzielic czestotliwosc od 1 do 256 razy. (34 strona pdf-a)

W kilku wczesniejszych procesorach widzialem mniej rozbudowana wersje - przelaczany programowo dzielnik zegara przez 8

Przejrze je, dzieki. Ale dziwna sprawa, niby procek ma statyczna architekture, a jednak wrazliwy na zegar. Nie to co stare dobre Z80, ktore kiedys debugujac taktowalem recznie z czetotliwoscia jaka chcialem i za pomoca diod obserwowalem reakcje (nie mialem wowczas nawet miernika).

A dlaczego sie nie robi jesli wolno spytac? Mam pewne sekcje, ktore musza byc wykonywane naprawde szybko, ale w wiekszosci procek siedzi w sekcjach, w ktorych predkosc (i co za tym idzie pobor energii) moga byc bardzo male. Sleep odpada, bo proc wtedy nic nie robi, tylko czeka na przerwanie. Skoro w PC stosuje sie podobne techniki, to niby dlaczego nie ma sie tego robic z mikrokontrolerem?

Jasne, że nie mają - używamy je za to do smażenia jajek. Są do tego idealne ;)

Pozdrawiam

Dnia Thu, 05 May 2005 15:58:08 +0200, T.M.F. napisał(a):

Hmm w sumie to masz racje, ja po prostu nie spotkalem sie z taka potrzeba... ani nie wyczytalem nigdzie zeby ktos tak robil, wiec napisale Ci, ze tak sie nie robi ;) Musisz poprosic Madrzejsze Glowy :)

Wed, 04 May 2005 23:17:30 +0200, na pl.misc.elektronika, T.M.F. napisał(a):

Cześć

? Bits 3..0 ? CLKPS3..0: Clock Prescaler Select Bits 3 - 0 These bits define the division factor between the selected clock source and the internal system clock. These bits can be written run-time to vary the clock frequency to suit the application requirements. As the divider divides the master clock input to the MCU, the speed of all synchronous peripherals is reduced when a division factor is used. The division factors are given in Table 15.

itd.

Mają to Atmega 162,169,48/88/168, At90can128, Attiny 13 i pewnie inne najnowsze.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required