Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: и все тот же LPC2929
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Никак не разберусь с этой бедой
по рисунку из UM (в отличие от LPC24xx) есть еще и некое "P23"... что оно делает?
потом еще CLKOUT120, CLKOUT240 и просто CLKOUT - что это и с чем это кушать?
Объясните, пожалуйста, "на пальцах", как это работает? В LPC24 все спокойно расчитал (благо еще мониторинг периферии был возможен, тут - нет, увы), здесь натыкаюсь на неизвестные, нет полной картины и осознания процесса sad.gif
toweroff
По поводу CLKOUT120, CLKOUT240 и CLKOUT - это тот же клок, просто сдвинут по фазе?

Еще вопрос.

Из мануала к LPC24xx
Цитата
The PLL output frequency (when the PLL is both active and connected) is given by:
FCCO = (2 x M x FIN) / N


Все просто и понятно. Зная частоту PLL, зная входную, подбираем коэффициенты

Теперь мануал к LPC292x
Цитата
In normal mode the post-divider is enabled and the following relations are verified:
Fclkout = MDIV x Fclkin = Fcco / 2xPDIV
Values of the dividers are chosen with the following process:
1. Specify the input clock frequency Fclkin
2. Calculate M to obtain the desired output frequency Fclkout with M = Fclkout / Fclkin
3. Find a value for P so that Fcco = 2xP / Fclkout
4. Verify that all frequencies and divider values conform to the limits
In direct mode, the following relations are verified:
Fclkout = M x Fclkin = Fcco

С MDIV понятно. А вот с PDIV получается заковырка, или я чего-то не догоняю. Получается, что Fclkout и Fcco - разные вещи (кстати, и формула в п.3 странная, возможно, правильная Fclkout = Fcco / 2xP ?)
Хорошо, я знаю, что хочу получить на выходе (Fclkout), но как тогда рассчитать Fcco?
andrewlekar
Надо при помощи PDIV сделать так, чтобы FCCO укладывался в заданные рамки. Сам FCCO нигде не используется.
toweroff
Цитата(andrewlekar @ Jul 1 2011, 12:39) *
Надо при помощи PDIV сделать так, чтобы FCCO укладывался в заданные рамки. Сам FCCO нигде не используется.

И каковы рамки?
andrewlekar
Не знаю. Где-то в даташите должны быть.
toweroff
Посмотрел, действительно в ДШ есть информация.
Но, все-таки, какая получается конечная формула?
Если с делением (DIRECT=0), то Fclkout = Fclkin * MDIV / (2xPDIV), а если напрямую (DIRECT=1), то Fclkout = Fclkin * MDIV ?
На практике получается, что не совсем так. Девайс через внешний контроллер USB гонит данные. При кварце 12МГц, DIRECT=0, MDIV=20, 2*PDIV=2 скорость порядка 4.5 МБайт/с, а при DIRECT=1, MDIV=10 - 2.25 МБайт/с
andrewlekar
Есть подозрение, что у вас что DIRECT=0, что =1 PDIV не участвует. sm.gif Я, честно скажу, с этим процом не работал. Просто формула была точно такая же как у LPC1114.
toweroff
еще раз к барану моему sm.gif
DIRECT отключен, MDIV = 10, кварц 12МГц, получается 12*10 = 120 МГц частота Fclkout (максимальная частота ядра - 125МГц)
смотрим FCCO - 2*PDIV==2, диапазон FCCO [320...156MHz], по формуле я вполне укладываюсь в диапазон FCCO
но, повышая при тех же параметрах MDIV до 20, получаю скорость в два раза выше, проц работает стабильно (частота должна быть 240 МГц, Fcco - 480)
Попробую что-то пихать в стандартный интерфейс (SPI, I2C), посмотрю значения клока от делителей.... но пока непонятно поведение ядра. Ну запас х2 тактовой - это перебор sm.gif

Цитата(andrewlekar @ Jul 4 2011, 10:07) *
Есть подозрение, что у вас что DIRECT=0, что =1 PDIV не участвует. sm.gif Я, честно скажу, с этим процом не работал. Просто формула была точно такая же как у LPC1114.

спасибо, действительно тоже самое
но не спасает от понимания sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.