Цитата(aaarrr @ Mar 26 2009, 00:26)

Это слишком быстро. Минимальное время переключения - 3 такта MCLK, или 62.5нс. Для проверки правильности установки PLL лучше использовать программируемый выход.
В действительности все соответствует даташиту. Примеры лучше брать у Атмела (тоже дрянь, но хотя бы без диких ляпов).
Про три такта - это где написано? Из чего это время складывается? Не, про такты и время на инструкции я понимаю. Может, работа через set/reset на середине такта на выводы попадает?
Я, в общем-то, тоже ожидал увидеть что-то, кратное тактовой частоте с периодом примерно 21 наносекунда. А у меня получилось 2.5 такта...
Я делал так:
Код
// пример функции, для скорости помещаемой в SRAM
void RAMFUNC_NONILINE fast_clock_test(void)
{
for (;;)
{
AT91C_BASE_PIOA->PIO_CODR = mask;
AT91C_BASE_PIOA->PIO_SODR = mask;
}
}
Вот в "короткой" части этого цикла (между сбросом и установкой бита) осцилограф TDS-1012 показывает около 52 наносекунд.
Сообщение отредактировал Genadi Zawidowski - Mar 25 2009, 22:00