|
|
  |
Частота 200МГц или обман зрения?, научите клокать:) |
|
|
|
Mar 25 2007, 14:14
|

Местный
  
Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897

|
Здравствуйте! У меня AT91SAM7X256 с кварцем на 18,432МГц. Настраиваю генератор следующим образом: Код OSCCOUNT 0x40 USBDIV 1 MUL 11 DIV 1 PRES 1 CSS 3 (PLLCLOCK) Получается, что проц работает на частоте 202МГц!! Что-то не верится  АРМ на самом деле такой крутой, или я чего-то не догоняю?
--------------------
Курильщик даташитов со стажем
|
|
|
|
|
Mar 26 2007, 10:14
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(InsolentS @ Mar 25 2007, 13:14)  Здравствуйте! У меня AT91SAM7X256 с кварцем на 18,432МГц. Настраиваю генератор следующим образом: Код OSCCOUNT 0x40 USBDIV 1 MUL 11 DIV 1 PRES 1 CSS 3 (PLLCLOCK) Получается, что проц работает на частоте 202МГц!! Что-то не верится  АРМ на самом деле такой крутой, или я чего-то не догоняю?  ну насколько он крут это второй вопрос.... а по сути может! для ответа смотрим датащит и наблюдаем... 10.3 Clock GeneratorThe Clock Generator embeds one low-power RC Oscillator, one Main Oscillator and one PLL with the following characteristics: • RC Oscillator ranges between 22 kHz and 42 kHz • Main Oscillator frequency ranges between 3 and 20 MHz • Main Oscillator can be bypassed • PLL output ranges between 80 and 220 MHz It provides SLCK, MAINCK and PLLCK. 26.4 USB Clock ControllerNote: The USB Clock Controller does not pertain to AT91SAM7S32. The USB Source Clock is the PLL output. If using the USB, the user must program the PLL to generate a 48 MHz, a 96 MHz or a 192 правда мне не ясно, (не нашел пояснения) это ядро на такой скорости работает или периферия? на сколько я понял - ядро не может больше 50МГц работать... или я не верно понял?
--------------------
|
|
|
|
|
Mar 26 2007, 16:22
|

Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 19-12-05
Из: Kiev
Пользователь №: 12 394

|
Цитата(InsolentS @ Mar 26 2007, 14:13)  Блин, всё, я в конец запутался сделал чтобы программка моргала светодиодом через равные промежутки времени. Так вот: я настраиваю тактовый генератор на SLOWCLOCK, MAINCLOCK, PLLCLOCK - а ему всё пофигу, моргает с одинаковой частотой во всех случаях!!! отлаживаю через JTAG, случайно не в этом причина? Поделитесь 100% работающей последовательностью инициализации тактового генератора плизз..  Недостающие include добавите.
Прикрепленные файлы
pmc.zip ( 1.1 килобайт )
Кол-во скачиваний: 40
|
|
|
|
|
Mar 26 2007, 17:00
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
вставлю свои 5 копеек: 1. ядро наверно и на 600  работать будет, че ему будет?? этож смос логика.... 2. ачто с этого толку если ОЗУ не будет успевать читать и писать. 3. У меня раскочегарилось и неглючило вплоть до 112МГц - маленький кусочек кода (руками на асме написанна была 32-бит комплексная бабочка для оценки чего можно выжать из контроллера ) 4 а что толку если программа ВСЯ не влазит в ОЗУ - тоесть FLASH не будет успевать выдавать команды на конвеер. 5. у меня раскочегарилась до 88мгц с МАМом из флеша на максимум. Далее повышаю частоту и вижу что трасса постоянно пасется в PAbort -> исполнение инструкции -> PAbort->.... в цикле на одном месте до тех пор пока всетаки FLASH c МАМом не вытолкнут на конвеер команду (наверно в железяке модуль выборки очередной команды ставит внутренный железный флаг УУ на разрешение исполнения только когда от точно вытащил из озу или флеша чето и процессор перестает генерить эксепшен). Тоесть повышая частоту >88 скорость работы остается таже а время нахождения в PAbort пропорционально растет. 6. С глюками можно боротся програмно 7. на частоте более 80 начинает реально грется - палец ЖЖОТ! Я вот так это здесь все понимаю, если не прав поправьте. все описанное делалось и делается на пациенте olimex LPC-H2103, с естессено микросхемой lpc2103F/0691.8/ZPGOS4/9-Y
|
|
|
|
|
Mar 26 2007, 21:10
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(SpiritDance @ Mar 26 2007, 18:15)  klen А эта... не поделитесь бабочкой?ж) Aлгоритм data->AoutReal = data->AinReal + data->RotateReal * data->BinReal ; data->AoutImage = data->AinImage + data->RotateImage * data->BinImage ; data->BoutReal = data->AinReal - data->RotateReal * data->BinReal ; data->BoutImage = data->AinImage - data->RotateImage * data->BinImage ; Код typedef struct { int AinReal ; int AinImage ; int BinReal ; int BinImage ; int AoutReal ; int AoutImage ; int BoutReal ; int BoutImage ; int RotateReal ; int RotateImage; }TComplex;
volatile TComplex Data ; void Baterfly(TComplex* data) __attribute__((naked)); void Baterfly(TComplex* data) {
asm volatile ("ldr r2, [%0, #8] ;\ ldr r1, [%0, #36] ;\ ldr r3, [%0, #12] ;\ ldr ip, [%0, #32] ;\ stmdb sp!, {r4, lr} ;\ mul ip, r2, ip ;\ mul lr, r3, r1 ;\ ldr r2, [%0, #4] ;\ ldr r3, [%0] ;\ rsb r1, lr, r2 ;\ rsb r4, ip, r3 ;\ add r2, r2, lr ;\ add r3, r3, ip ;\ str r1, [%0, #28] ;\ str r2, [%0, #20] ;\ str r3, [%0, #16] ;\ str r4, [%0, #24] ;\ ldmia sp!, {r4, pc}" : :"r"(data) :"r0", "r1" ,"r2"); } Не уверен что это последняя версия, но вроде похоже, токак какой толк от нее - все было притянуто к целым числам
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|