POV (14.04.2015 16:08 - 15.04.2015 13:07, просмотров: 1365)
Если кто хочет пользовать C8051F506 и иже с ними на частоту боле 25 МГц [UPD]... к коду генерируемому wizard2 надо добавить настройку кеша и времянки флеши
эта строчка уже есть
SFRPAGE = CONFIG_PAGE;
это вставляем
OSCICN = 0xC7;
CCH0CN &= ~0x20;
FLSCL = 0x10;
CCH0CN |= 0x20;
это тоже есть
CLKMUL = 0x82;
for (i = 0; i < 20; i++); // Wait 5us for clock multiplier initialization
CLKMUL |= 0xC0;
while ((CLKMUL & 0x20) == 0);
CLKSEL = 0x02;
OSCICN = 0xC7;
SFRPAGE = ACTIVE_PAGE;
В результате имеем 48 МГц.
Отмечу что источником умножителя здесь задано Internal Oscillator*4 (вместо полагающегося *2)... такие вот косяки в визарде, сам не задает настройки для высокой частоты (как было для семейства 12x) и имеет место вроде аппаратный косяк с множителем ("Frequency defived from")
UPD>
Я туплю наверное где-то. Сейчас удосужился посмотреть таковую - она вышла 96 МГц. Странно что 50МГц проц работает стабильно.
Итак косяк один - визар не хочет настраивать флешку, а аппаратного косяка нет.