|
|
  |
помогите разобраться с клоками, проц AT91SAM7X256 |
|
|
|
Sep 25 2007, 10:40
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
1.устаналиваю PLL ~ 95 мгц (вывел программируемый клок на внешнюю ногу, по осцилографу все правильно окого 95мгц) 2.MCK выбираю PLL/2 , должно быть около 48мгц (PMC_MCKR = 0x7) 3.частота SPI = MCK/8 (SPI_CSR =0x01010811 ожидал получить в районе 6 мгц, однако получается ~ 0.2 мгц) объясните, пожалуйста, что я забыл потрогать ? спасибо можно ли вывести наружу MCK для проверки ?
Сообщение отредактировал Понедельник - Sep 25 2007, 10:53
|
|
|
|
|
Sep 25 2007, 10:59
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
Цитата(KAlex @ Sep 25 2007, 14:52)  Возможно: AT91C_PMC_CSS_PLL_CLK - Clock from PLL is selected я вас не вполне понял. Мастер клок получается из PLL/2 таким образом pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2 ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); pPMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
|
|
|
|
|
Sep 25 2007, 11:12
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
Цитата(KAlex @ Sep 25 2007, 15:06)  А если так: pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2 ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); ничего на изменилось -( я вообще этот кусок выкинул из кода, оказалось, что этот регистр в стартапе инициализируется, вот кусок # Select Clock LDR R1, =PMC_MCKR_Val STR R1, [R0, #PMC_MCKR] куда рыть ума не приложу такое ощущение, что SPI клок еще на 32 делится, хотя по даташиту должно быть SPCK Baudrate MCK = MCK/SCBR
Сообщение отредактировал Понедельник - Sep 25 2007, 11:15
|
|
|
|
|
Sep 25 2007, 11:29
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
Цитата(KAlex @ Sep 25 2007, 15:23)  А если SCBR = 1 какая будет частота? судя по ерате SCBR = 1 устаноаливать нельзя при нечетном кол-ве битов, хотя я, честно говоря не пробовал
|
|
|
|
|
Sep 25 2007, 11:56
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
Цитата(KAlex @ Sep 25 2007, 15:52)  И еще, про PMC_PCKx не забыл? а какое отношение PMC_PCKx имеет к SPI, чего то этого в описании не нашел ?
|
|
|
|
|
Sep 25 2007, 12:53
|

Местный
  
Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719

|
Цитата(Понедельник @ Sep 25 2007, 16:19)  Вы дали ссылку на переведенный даташит, однако ни в русском , ни в анг-ом варианте, связи между SPI и программируемыми клоками обнаружить не удалось. Частота SPI определяется только частотой MCK и делителем (поле SCBR в регистре SPI_CSR) , ничего другого я не обнаружил 29.5.2 Power Management The SPI may be clocked through the Power Management Controller (PMC), thus the programmer must first configure the PMC to enable the SPI clock.
|
|
|
|
|
Sep 25 2007, 13:40
|
Частый гость
 
Группа: Новичок
Сообщений: 76
Регистрация: 16-03-06
Пользователь №: 15 295

|
Цитата(KAlex @ Sep 25 2007, 17:32)  К стати, сейчас обнаружил, в даташите нет ни слова про SPI_FDIV я тут еще одну формулу для вычисления SCLK обнаружил, в соседнем топике, если интересно
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|