Witam.
Mam problem ze zmianą taktowania procesora ATxmega128A3U.
Standardowo procesor wstaje z prędkością 2 MHz. Chciałbym go przyśpieszyć na 32 MHz. Oscylatory wewnętrzne.
Korzystam z procedury skopiowanej ze strony http://www.leon-instruments.pl/
Wywołuję ją na samym początku.
Mój procesor nie zawsze chce przejść na wyższe taktowanie.
Pojawia się status o ustabilizowaniu oscylatora 32 MHz pojawia się bit zezwolenia na zmianę rejestru chronionego, ale kiedy ma się przełączyć bit wybranego zegara, to bit zezwolenia zdąży zniknąć.
Kiedy jak zatrzymam procesor i przełączę ręcznie bit zezwolenia i zmienię taktowanie to procesor zaczyna pracować na 32 MHz.
przejście w "dół" nie stanowi dla niego problemu. 32->2
Środowisko Atmel studio 6.2
Optymalizacja wyłączona (-O0)
Programator ICE, komunikacja po PDI
Procesor zasilany +3.3VDC
Jest jeszcze coś co należało ustawić, aby zmienić taktowanie ?
Mam problem ze zmianą taktowania procesora ATxmega128A3U.
Standardowo procesor wstaje z prędkością 2 MHz. Chciałbym go przyśpieszyć na 32 MHz. Oscylatory wewnętrzne.
Korzystam z procedury skopiowanej ze strony http://www.leon-instruments.pl/
Wywołuję ją na samym początku.
void Osc32MHz()
{
OSC.CTRL = OSC_RC32MEN_bm; // włączenie oscylatora 32MHz
while(!(OSC.STATUS & OSC_RC32MRDY_bm)); // czekanie na ustabilizowanie się generatora
CPU_CCP = CCP_IOREG_gc; // odblokowanie zmiany źródła sygnału
CLK.CTRL = CLK_SCLKSEL_RC32M_gc; // zmiana źródła sygnału na RC 32MHz
}
Mój procesor nie zawsze chce przejść na wyższe taktowanie.
Pojawia się status o ustabilizowaniu oscylatora 32 MHz pojawia się bit zezwolenia na zmianę rejestru chronionego, ale kiedy ma się przełączyć bit wybranego zegara, to bit zezwolenia zdąży zniknąć.
Kiedy jak zatrzymam procesor i przełączę ręcznie bit zezwolenia i zmienię taktowanie to procesor zaczyna pracować na 32 MHz.
przejście w "dół" nie stanowi dla niego problemu. 32->2
Środowisko Atmel studio 6.2
Optymalizacja wyłączona (-O0)
Programator ICE, komunikacja po PDI
Procesor zasilany +3.3VDC
Jest jeszcze coś co należało ustawić, aby zmienić taktowanie ?