Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вопрос о master clock
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Sergei_K
Доброго всем времени суток!
Возникло недопонимание, связанное с master clock...

Как я понял из даташита, если подключаем к master clock PLL clock, то можем получить частоту master clock до 200MHz, в чем собственно говоря и убедился, просиммулировав в Keil (правда там максимальная частота 220MHz)...

Однако в даташите о максимальной частоте говорится "The Master Clock (MCK) is programmable from a few hundred Hz to the maximum operating frequency of the device", а в разделе 38.8.1 в табличке приводится максимальная частота master clock 55MHz...

Собственно говоря вопрос в следующем: почему такое противоречие и на какой максимальной частоте все-таки может работать master clock?

P.S. Тот же вопрос, скажем, об АЦП: в 38.7 написана максимальная частота 5MHz, в то время как в Keil при симмуляции выдает максимальную 10MHz
rat
Цитата(Sergei_K @ May 19 2007, 13:22) *
Доброго всем времени суток!
Возникло недопонимание, связанное с master clock...

Как я понял из даташита, если подключаем к master clock PLL clock, то можем получить частоту master clock до 200MHz, в чем собственно говоря и убедился, просиммулировав в Keil (правда там максимальная частота 220MHz)...

Однако в даташите о максимальной частоте говорится "The Master Clock (MCK) is programmable from a few hundred Hz to the maximum operating frequency of the device", а в разделе 38.8.1 в табличке приводится максимальная частота master clock 55MHz...

Собственно говоря вопрос в следующем: почему такое противоречие и на какой максимальной частоте все-таки может работать master clock?

P.S. Тот же вопрос, скажем, об АЦП: в 38.7 написана максимальная частота 5MHz, в то время как в Keil при симмуляции выдает максимальную 10MHz


55 МГц - максимальная частота ядра, а 200 МГц можно получить на PLL, это сделано для возможного получения 192 МГц, которыми тактируется USB (хотя после предделителя там все-равно 48 МГц), а поскольку мастер клок идет на тактирование ядра, значит быть ему больше 55 МГц не положено, а вот 192 МГц с PLL можно отправлять на предделитель USB.
Насчет АЦП - 5 МГц для 10 битной точности, 8 МГц для 8 битной.
Sergei_K
Цитата(rat @ May 19 2007, 13:58) *
55 МГц - максимальная частота ядра, а 200 МГц можно получить на PLL, это сделано для возможного получения 192 МГц, которыми тактируется USB (хотя после предделителя там все-равно 48 МГц), а поскольку мастер клок идет на тактирование ядра, значит быть ему больше 55 МГц не положено, а вот 192 МГц с PLL можно отправлять на предделитель USB.
Насчет АЦП - 5 МГц для 10 битной точности, 8 МГц для 8 битной.


спасибо за разъяснение, но тогда непонятен другой вопрос: каким образом достич 5MHz частоты для точной оцифровки? При установке 55MHz для Master Clock симмулятор Keilа показывает мне частоту 2,5MHz, при том что делитель АЦП установлен в 0.. Что это, глюк кейла?

P.S. Про рассчет АЦПшного клока из даташита я вообще не говорю.. MCK/[(Prescal+1)*2], отсюда вообще следует, что при максимальном мастер клоке 55MHz и нулевом делителе должно получаться 27,5MHz Откуда же спрашивается магическая цифра 5MHz?07.gif
amw
Цитата(Sergei_K @ May 19 2007, 12:43) *
спасибо за разъяснение, но тогда непонятен другой вопрос: каким образом достич 5MHz частоты для точной оцифровки? При установке 55MHz для Master Clock симмулятор Keilа показывает мне частоту 2,5MHz, при том что делитель АЦП установлен в 0.. Что это, глюк кейла?

P.S. Про рассчет АЦПшного клока из даташита я вообще не говорю.. MCK/[(Prescal+1)*2], отсюда вообще следует, что при максимальном мастер клоке 55MHz и нулевом делителе должно получаться 27,5MHz Откуда же спрашивается магическая цифра 5MHz?07.gif

Боюсь Вы путаете возможности PLL с параметрами соответствующих модулей.
Отвлеченный пример:
Берем некоторый чип с SPI, который может работать на максимальной частоте 5 МГц, и подключаем его, скажем, к SPI процессора, который может работать начастоте 100 МГц. Вы же не станете запускать SPI на 100 МГц в этой ситуации.

В данном случае 5 МГц - это максимальные возможности АЦП. На большей частоте он работать не будет. А регистры для настройки его тактовой частоты - универсальные. Например возможно через пару лет появится SAM7 с АЦП на 20 МГц. Для него не надо будет переделывать регистры и оставить их совместимыми.

А то, что можно выставить в симуляторе вообще не обязано соответствовать реальным параметрам чипа.
Sergei_K
Цитата(amw @ May 19 2007, 17:19) *
Боюсь Вы путаете возможности PLL с параметрами соответствующих модулей.
Отвлеченный пример:
Берем некоторый чип с SPI, который может работать на максимальной частоте 5 МГц, и подключаем его, скажем, к SPI процессора, который может работать начастоте 100 МГц. Вы же не станете запускать SPI на 100 МГц в этой ситуации.

В данном случае 5 МГц - это максимальные возможности АЦП. На большей частоте он работать не будет. А регистры для настройки его тактовой частоты - универсальные. Например возможно через пару лет появится SAM7 с АЦП на 20 МГц. Для него не надо будет переделывать регистры и оставить их совместимыми.

А то, что можно выставить в симуляторе вообще не обязано соответствовать реальным параметрам чипа.


ну это собственно говоря ответ на первый вопрос, я понял, что в симмуляторе можно выставлять и 200MHz для мастер клока, подключая его к PLL клоку , но реально он должен функционировать на частоте 55MHz...

Поэтому я и выставляю для мастер клока частоту 55MHz, соответствующую его реальной работе, но при этом симмулятор показывает частоту АЦП 2,5MHz, вместо 5MHz, написанных в даташите...(показано на рис.) И здесь хотелось бы разобраться: глюк ли это Кейла или что-то еще, так как по формуле из даташита, как я уже сказал, посчитать ничего не представляется возможным (((

Или вы хотите мне сказать, что в данном микроконтроллере стоит АЦП, который в принципе может работать с максимальной частотой 5MHz (укзанной в даташите), но в силу ограничения на мастер клок реально он будет работать на 2,5MHz? Но в таком случае откуда растут руки у тех, кто написал данный даташит.. dry.gif
amw
Цитата(Sergei_K @ May 19 2007, 13:35) *
Поэтому я и выставляю для мастер клока частоту 55MHz, соответствующую его реальной работе, но при этом симмулятор показывает частоту АЦП 2,5MHz, вместо 5MHz, написанных в даташите...(показано на рис.) И здесь хотелось бы разобраться: глюк ли это Кейла или что-то еще, так как по формуле из даташита, как я уже сказал, посчитать ничего не представляется возможным (((

Про keil ничего не могу сказать.
А на счет формулы, почему бы Вам не проверить формулу в железе, вместо того, чтобы полагаться на симулятор?
Цитата
Или вы хотите мне сказать, что в данном микроконтроллере стоит АЦП, который в принципе может работать с максимальной частотой 5MHz (укзанной в даташите), но в силу ограничения на мастер клок реально он будет работать на 2,5MHz? Но в таком случае откуда растут руки у тех, кто написал данный даташит.. dry.gif

Нет, конечно не это.
defunct
Цитата(rat @ May 19 2007, 08:58) *
которыми тактируется USB (хотя после предделителя там все-равно 48 МГц), а поскольку мастер клок идет на тактирование ядра, значит быть ему больше 55 МГц не положено, а вот 192 МГц с PLL можно отправлять на предделитель USB.

В Филипсе есть возможность задать отдельный клок для USB, - ядро тактировать частотой 60Mhz от PLL0, а USB - 48Mhz от PLL1.

Повозился немного с SAM'ом, похоже что у него такой возможности нет,
точнее сказать в SAM можно тактировать ядро и USB модуль разными частотами, но только при условии, что частота ядра всегда будет кратной 48Mhz. Так ли это?
Может быть я что-то упустил?
amw
Цитата(defunct @ May 19 2007, 15:44) *
В Филипсе есть возможность задать отдельный клок для USB, - ядро тактировать частотой 60Mhz от PLL0, а USB - 48Mhz от PLL1.

Повозился немного с SAM'ом, похоже что у него такой возможности нет,
точнее сказать в SAM можно тактировать ядро и USB модуль разными частотами, но только при условии, что частота ядра всегда будет кратной 48Mhz. Так ли это?
Может быть я что-то упустил?

Так. Источник для тактирования один, и его можно поделить на разный коэффициент для ядра и USB.
ka871
У меня вопрос близко к теме.

На какой максимальной частоте может работать SPI у AT91SAM7S и у LPC2148?

Правильно ли я понял, что у атмеловского SAM7S это - 55MHz,
а у филипса - половина максимальной тактовой, т.е. 30MHz (в даташите на LPC214x указан диапазон значений делителя для SPI1(SSP): 2..254, причем для мастер-режима значение делителя минимум - 2, а для слэйв - минимум -12. А для SPI0 - ситуация еще хуже - в мастер-режиме делитель минимум 8. crying.gif )
Так ли это? unsure.gif
Calculator
Цитата(ka871 @ May 22 2007, 13:35) *
У меня вопрос близко к теме.

На какой максимальной частоте может работать SPI у AT91SAM7S и у LPC2148?

Правильно ли я понял, что у атмеловского SAM7S это - 55MHz,
а у филипса - половина максимальной тактовой, т.е. 30MHz (в даташите на LPC214x указан диапазон значений делителя для SPI1(SSP): 2..254, причем для мастер-режима значение делителя минимум - 2, а для слэйв - минимум -12. А для SPI0 - ситуация еще хуже - в мастер-режиме делитель минимум 8. crying.gif )
Так ли это? unsure.gif

У AT91SAM7S тоже половина тактовой, по еррате нельзя использовать коэффициент 1
ka871
Цитата(Calculator @ May 22 2007, 14:43) *
У AT91SAM7S тоже половина тактовой, по еррате нельзя использовать коэффициент 1


Это где именно? Что-то я не нашел ничего подобного.

В этой самой "еррате" пишется, что нельзя при делителе , равном единице, т.е. частота SPI равна частоте тактовой, использовать передачу с нечетным числом битов. И там же пишется, что при четном числе битов все в порядке.
(стр.544 AT91SAM7S Series Preliminary:

39.4.7.5 SPI: Baudrate Set to 1

When Baudrate is set at 1 (i.e. when serial clock frequency equals the system clock frequency)
and when the BITS field of the SPI_CSR register (number of bits to be transmitted) equals an
ODD value (in this case 9,11,13 or 15), an additional pulse will be generated on output SPCK.
Everything is OK if the BITS field equals 8,10,12,14 or 16 and Baudrate = 1.

).
Calculator
Еще здесь:

39.4.7.1 SPI: Bad tx_ready Behavior when CSAAT = 1 and SCBR = 1
If the SPI is programmed with CSAAT = 1, SCBR(baudrate) = 1 and two transfers are performed
consecutively on the same slave with an IDLE state between them, the tx_ready signal does not
rise after the second data has been transferred in the shifter. This can imply for example, that
the second data is sent twice..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.