реклама на сайте
подробности

 
 
> Смена частоты работы устрйоства для AT91SAM7S256
startrek77
сообщение Aug 4 2010, 21:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 13-01-10
Пользователь №: 54 769



Я работаю с AT91SAM7S256. Частота работы настроена на 48 мегагерц для USB. Но так как устройство портативное, то потребление слишком высокое.
Я планирую работать на частоте к примеру 8 мегагерц (или 16 мегагерц) и только в те моменты когда подключено USB переключать процессор на частоту 48 мегагерц.

Сейчас код отлажен на частоте 48 мегагерц. Крутится фриртос.
Вопрос, вообще можно ли стабильно работать с этим процессором переключая частоты в реальном времени? Если да то на какие моменты обратить внимание?

И ещё, так как это фриртос, то как вы считаете отлаженный код на 48 мегагерцах должен хорошо адаптироваться на частоту 8/16 мегагерц?

И ещё такой вопрос. Может ли ядро быть настроено на 8 мегагерц а USB на 48 и работать одновременно, что бы частоты не переключать?

Сообщение отредактировал startrek77 - Aug 4 2010, 21:45
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Aug 4 2010, 21:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(startrek77 @ Aug 5 2010, 01:38) *
Вопрос, вообще можно ли стабильно работать с этим процессором переключая частоты в реальном времени? Если да то на какие моменты обратить внимание?

Да, можно. Для ранних серий (58818C) следует обратить внимание на еррату.

Цитата(startrek77 @ Aug 5 2010, 01:38) *
И ещё, так как это фриртос, то как вы считаете отлаженный код на 48 мегагерцах должен хорошо адаптироваться на частоту 8/16 мегагерц?

Ну, если ему будет достаточно 8/16, то какие могут быть проблемы? Разве что перепрограммировать всю частотнозависимую периферию при переключении клока не слишком удобно может показаться.

Idle-режим уже задействовали? Если нет, то начинать стоит именно с него.

Цитата(startrek77 @ Aug 5 2010, 01:38) *
И ещё такой вопрос. Может ли ядро быть настроено на 8 мегагерц а USB на 48 и работать одновременно, что бы частоты не переключать?

Увы, нет.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Apr 5 2012, 09:36
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(aaarrr @ Aug 5 2010, 01:53) *
Вопрос, вообще можно ли стабильно работать с этим процессором переключая частоты в реальном времени? Если да то на какие моменты обратить внимание?
Да, можно. Для ранних серий (58818C) следует обратить внимание на еррату.


Как скажется изменение значения делителя (PRES) в PMC_MCKR на принимаемых по ДМА данных в AT91SAM7S256(ABC)?

Интересует два момента:
1. В момент переключения не будет ли сбоя.
2. Может ли частота MCK вообще быть ниже частоты принимаемых по ДМА данных?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 5 2012, 10:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(_4afc_ @ Apr 5 2012, 13:36) *
1. В момент переключения не будет ли сбоя.
2. Может ли частота MCK вообще быть ниже частоты принимаемых по ДМА данных?

1. Никогда не наблюдал каких-либо сбоев при корректно выполненном переключении.
2. Не совсем понял вопрос. MCK - частота процессора, шин, периферии. Как она может быть ниже "частоты принимаемых по ДМА данных"?
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Apr 5 2012, 19:48
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(aaarrr @ Apr 5 2012, 14:28) *
1. Никогда не наблюдал каких-либо сбоев при корректно выполненном переключении.


Здесь есть 2 нюанса:
1. Я не увидел ни в даташитах, ни в примерах, хоть пол-слова упоминания что я должен сделать когда источник тактов не меняется, а меняется лишь делитель.
Фактическт выходит, что я могу менять значение PRES в PMC_MCKR на лету в любой момент времени, и частота работы ядра изменится на следующей инструкции, даже флаг проверять не надо!

2. Если я меняю источник тактирования, например с PLL на SCLK, то пока это всё запускается/лочится - у меня есть простой по MCK, соответственно в эти микросекунды переферия не тактируется и не работает.
Т.е. переключить-то можно корректно, просто можно данные потерять, если прос ведомый!
До сих пор я переключал тактовую лишь во время смены режима работы всего устройства, фактически это были не связанные задачи с полной переинициализацией периферии.
Сейчас встала задача снижать MCK при непрерывно работающем DMA и пока оно не работает.
Может МК дурит, может в коде ошибка. Но тенденция настораживает, а обсудить не с кем sad.gif

Цитата(aaarrr @ Apr 5 2012, 14:28) *
2. Не совсем понял вопрос. MCK - частота процессора, шин, периферии. Как она может быть ниже "частоты принимаемых по ДМА данных"?


Банально: SSC в режиме внешнего тактирования (ведомый), принимает данные в ОЗУ по DMA через RF,RK,RD со скоростью 300кбит, кто мне мешает установить MCK, хоть в 500Гц?

Я раньше не пробовал подобные финты - сейчас попробовал - и обломался.
Банально не могу менять значение PRES.
Раньше переключался SCLK->PLL(MCK) и обратно без проблем. А вот встала задача банально уменьшить тактовую вдвое на время и что-то лажа выходит...


Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 5 2012, 20:05
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(_4afc_ @ Apr 5 2012, 23:48) *
1. Я не увидел ни в даташитах, ни в примерах, хоть пол-слова упоминания что я должен сделать когда источник тактов не меняется, а меняется лишь делитель.
Фактическт выходит, что я могу менять значение PRES в PMC_MCKR на лету в любой момент времени, и частота работы ядра изменится на следующей инструкции, даже флаг проверять не надо!

В даташите:
Цитата
If at some stage one of the following parameters, CSS or PRES, is modified, the MCKRDY
bit will go low to indicate that the Master Clock and the Processor Clock are not ready yet.
The user must wait for MCKRDY bit to be set again before using the Master and Processor
Clocks.


Цитата(_4afc_ @ Apr 5 2012, 23:48) *
2. Если я меняю источник тактирования, например с PLL на SCLK, то пока это всё запускается/лочится - у меня есть простой по MCK, соответственно в эти микросекунды переферия не тактируется и не работает.
Т.е. переключить-то можно корректно, просто можно данные потерять, если прос ведомый!

По поводу простоя обратите внимание на текст в 25.8.1 Master Clock Switching Timings.
Если прескалер включен, то ко времени переключения нужно прибавить еще 64 такта нового клока.

Цитата(_4afc_ @ Apr 5 2012, 23:48) *
Банально: SSC в режиме внешнего тактирования (ведомый), принимает данные в ОЗУ по DMA через RF,RK,RD со скоростью 300кбит, кто мне мешает установить MCK, хоть в 500Гц?

Опять же даташит:
Цитата
The maximum clock speed allowed on the TK and RK pins is the master clock divided by 2.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- startrek77   Смена частоты работы устрйоства для AT91SAM7S256   Aug 4 2010, 21:38
|- - startrek77   Цитата(aaarrr @ Aug 5 2010, 00:53) Idle-р...   Aug 4 2010, 22:17
||- - aaarrr   Цитата(startrek77 @ Aug 5 2010, 02:17) А ...   Aug 4 2010, 22:37
||- - startrek77   Цитата(aaarrr @ Aug 5 2010, 01:37) Остано...   Aug 4 2010, 22:48
||- - aaarrr   Цитата(startrek77 @ Aug 5 2010, 02:48) Её...   Aug 4 2010, 22:56
||- - startrek77   Цитата(aaarrr @ Aug 5 2010, 01:56) Во Fre...   Aug 4 2010, 23:18
|- - _4afc_   Я хочу менять лишь значения прескалера у MCK. Как ...   Apr 6 2012, 08:44
|- - _Pasha   Цитата(_4afc_ @ Apr 6 2012, 11:44) Повтор...   Apr 6 2012, 08:56
|- - _4afc_   Цитата(_Pasha @ Apr 6 2012, 12:56) У Вас ...   Apr 6 2012, 09:53
|- - _Pasha   Цитата(_4afc_ @ Apr 6 2012, 12:53) Это из...   Apr 6 2012, 12:34
- - aaarrr   Да, теоретически этого должно быть достаточно.   Aug 4 2010, 23:21
- - startrek77   Такс проверим практически после отпуска. Првда в ч...   Aug 4 2010, 23:29
|- - aaarrr   Цитата(startrek77 @ Aug 5 2010, 03:29) Пр...   Aug 4 2010, 23:45
- - startrek77   Итак, какие методы оптимизации по потребления я дл...   Aug 5 2010, 18:20
|- - aaarrr   Цитата(startrek77 @ Aug 5 2010, 22:20) Ит...   Aug 5 2010, 18:26
- - aaarrr   Цитата(_4afc_ @ Apr 6 2012, 12:44) А если...   Apr 6 2012, 10:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 18:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016