|
|
  |
Вопрос про частоту процессора AT91SAM7S |
|
|
|
Oct 2 2006, 20:35
|

Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515

|
Насколько я понял, сначала выбирается, откуда брать частоту (от RC генератора, напрямую от осцилятора или из PLL). Если выбирается частота из PLL, то для её получения указывается делитель входной частоты, а потом множитель. Получаем частоту PLL.
Далее, чтобы получить частоту процессора, нужно частоту PLL поделить на 2, 4, .., 64. В стандартном файлике Cstartup_SAM7.c делитель частоты осцилятора - 5, множитель 26 (25+1), а потом PLL ещё делиться на 2 (18.432 / 5 * 26 / 2 = 47.9232 ~= 48 Mhz).
Так вот у меня вопрос: будут ли отличатся режимы работы процессора, если задавать делить 5, а множитель 30 (и при делении на 2 получать 55.296 Mhz), и если задавать делитель 4 и множитель 24 (и при делении на 2 получать те же 55.296 Mhz)?
И вообще, правильно ли так устанавливать штатные 55 мегагерц?
|
|
|
|
|
Oct 3 2006, 19:07
|

Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515

|
Так в том-то и дело, что у меня тоже даташит есть, но, как говорят, смотрю с книгу...  В даташите написано просто, что есть делитель и множитель, а про разницу в различных сочетаниях не написано. Написано только, что частота PLL может быть от 80 до 200 МГц. И ещё вопрос: для получения частоты USART'а, нужно частоту проца поделить на 16, а потом на число, которое выбирается в регистре. Так вот может получится не точно, скажем, 115200, а ,например, 107000. Какой приемлимый разброс частоты может быть?
|
|
|
|
|
Oct 3 2006, 20:52
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Pasha 111 @ Oct 3 2006, 23:07)  И ещё вопрос: для получения частоты USART'а, нужно частоту проца поделить на 16, а потом на число, которое выбирается в регистре. Так вот может получится не точно, скажем, 115200, а ,например, 107000. Какой приемлимый разброс частоты может быть? По опыту разброс более 1.5% может вызвать проблемы. Цитата(Pasha 111 @ Oct 3 2006, 23:07)  Так в том-то и дело, что у меня тоже даташит есть, но, как говорят, смотрю с книгу...  В даташите написано просто, что есть делитель и множитель, а про разницу в различных сочетаниях не написано. Написано только, что частота PLL может быть от 80 до 200 МГц. Ну если производитель не дает особых указаний, значит можно выбирать по своему усмотрению. P.S. А в даташите, оказывается, много чего интересного написано. Например, упоминаются две PLL (PLL A и PLL B ). Но в жизни присутствует только PLL B.
|
|
|
|
|
Oct 4 2006, 04:46
|

Частый гость
 
Группа: Свой
Сообщений: 154
Регистрация: 6-11-05
Из: Москва
Пользователь №: 10 515

|
Цитата(aaarrr @ Oct 4 2006, 00:52)  По опыту разброс более 1.5% может вызвать проблемы.
Ну если производитель не дает особых указаний, значит можно выбирать по своему усмотрению.
P.S. А в даташите, оказывается, много чего интересного написано. Например, упоминаются две PLL (PLL A и PLL B ). Но в жизни присутствует только PLL B. ок, всё ясно, спасибо за ответы.
|
|
|
|
|
Oct 5 2006, 12:26
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(aaarrr @ Oct 3 2006, 23:52)  Цитата(Pasha 111 @ Oct 3 2006, 23:07)  И ещё вопрос: для получения частоты USART'а, нужно частоту проца поделить на 16, а потом на число, которое выбирается в регистре. Так вот может получится не точно, скажем, 115200, а ,например, 107000. Какой приемлимый разброс частоты может быть?
По опыту разброс более 1.5% может вызвать проблемы. Тут все можно объяснить. Цель: синхронизировавшись по стартовому биту, не вылезти за границы бита при приеме последнего бита. Для 8N1 это выглядит так: длительность бита должна уплыть не более чем на полбита за время передачи 10 бит, иначе когда приемник будет ожидать середину последнего бита, передатчик еще будет передавать предыдущий бит или уже закончит передавать этот бит. Получается, что требуется точность 1/2 бита из 10 бит- это 5%. Учитывая, что отличаться от нормы может и приемник и передатчик, допустимую погрешность установки частоты нужно уменьшить еще в два раза. То есть 2.5%. Если отличие скорости приемника и передатчика от номинала не превышает 2.5%, то гарантированно должно работать. Или нужно говорить о разницы скоростей приемника и передатчика не более чем 5%. Есть методы, которые статистически могут улучшить результат (позволят работать с бОльшими отклонениями- но это отдельная песня.
|
|
|
|
|
Oct 6 2006, 05:20
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(aaarrr @ Oct 5 2006, 15:39)  Цитата Если отличие скорости приемника и передатчика от номинала не превышает 2.5%, то гарантированно должно работать. Или нужно говорить о разницы скоростей приемника и передатчика не более чем 5%. Есть еще среда передачи, а она бывает далека от идеала. Нередко драйверы на материнских платах заваливают фронты на больших скоростях. Да, действительно. Сейчас глянул на своей материнке- есть такая буква. Передний фронт (стоп->старт) имеет спад полторы микросекунды, задний- даже две микросекунды. На 115200 это уже должно быть чувствительно. Раньше с RS232 не применял таких скоростей, чтобы драйверы вносили заметные искажения, вот и не думал об этом. Спасибо, учту. Тут действительно все хитрее, и характеристику драйвера надо смотреть, да и емкость линии COM-порта контролировать, то есть уже и о RC надо думать.
|
|
|
|
|
Oct 7 2006, 12:24
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Pasha 111 @ Oct 3 2006, 22:07)  Так в том-то и дело, что у меня тоже даташит есть, но, как говорят, смотрю с книгу...  В даташите написано просто, что есть делитель и множитель, а про разницу в различных сочетаниях не написано. Написано только, что частота PLL может быть от 80 до 200 МГц. Я так полагаю что разница будет в токе потребления и частоте ВЧ помех. С точки зрения процессора же разницы никакой пока частоты PLL и ядра укладываются в описанные в даташите рамки.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 11 2006, 13:12
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070

|
Цитата(Pasha 111 @ Oct 3 2006, 23:07)  Так в том-то и дело, что у меня тоже даташит есть, но, как говорят, смотрю с книгу...  В даташите написано просто, что есть делитель и множитель, а про разницу в различных сочетаниях не написано. Написано только, что частота PLL может быть от 80 до 200 МГц. При разных установках получаются разные номиналы компонентов PLL-фильтра. И, соответственно, разные времена запуска. Рекомендую почитать аппноту и поиграть с программой PLL_LFT_Filter_Calculator.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|