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

 
 
> si570
Art55555
сообщение Jun 27 2018, 16:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Давно использую в разработках si570. Полностью устраивал по всем своим параметрам, когда требовался получить такт 100 МГц.
Работает он так: включается на частоте 10 МГц, успешно тактирует ПЛИС, в ней я поднимаю процесс перепрограммирования. Он следующий:
1. Зная, что выходная частота 10 МГц, я считываю параметры RFREQ, HS_DIV, N1, высчитываю DCO=5000 МГц.
2. Далее высчитываю fxtal.
3. Начинаю подбираться к новой частоте, рассчитываю HS_DIV, N1, DCO.
4. Рассчитываю новый RFREQ.
5. Замораживаю Freeze DCO = 1, ввожу в соответствующие регистры новые параметры RFREQ, HS_DIV, N1
6. Размораживаю Freeze DCO = 0.

Всё работает, всё супер.

Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 100 МГц. Допустим, мне нужно "налету" прошить на частоту 115 МГц. Т.е. в данный момент DCO и выходная частота уже другие, отличаются от начальных (10-мегагерцовых, уже перестроенные). Также представим, что частот может быть 3-10. Получается,что DCO и выходная частота мне не известны в общем случае. И я не могу их нигде прочитать (Имеется в виду то, что выходная частота может быть как 10, 100, 115 и т.д.). Есть способ считать эти данные? Или сбросить всё по умолчанию? Команда RESET не производит изменение частоты. Ничего существенного не происходит по ней.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Jury093
сообщение Jun 27 2018, 18:39
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Art55555 @ Jun 27 2018, 19:27) *
Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 100 МГц. Допустим, мне нужно "налету" прошить на частоту 115 МГц. Т.е. в данный момент DCO и выходная частота уже другие, отличаются от начальных (10-мегагерцовых, уже перестроенные). Также представим, что частот может быть 3-10. Получается,что DCO и выходная частота мне не известны в общем случае. И я не могу их нигде прочитать (Имеется в виду то, что выходная частота может быть как 10, 100, 115 и т.д.). Есть способ считать эти данные? Или сбросить всё по умолчанию? Команда RESET не производит изменение частоты. Ничего существенного не происходит по ней.

как-то у вас сумбурно - "Давно использую, Также представим, мне не известны".. вы автор прошивки плис, железо ваше, исходная частота известна, не пойму суть проблемы?
все регистры генератора вроде бы читаются через i2c, т.е. можно прочитать и выяснить настройки
процедура настройки расписана в "3.2. Si570 Programming Procedure"

если вам необходимо перепрограммировать si570 с заранее неизвестными входными частотами, то на свободных пинах организуете шифратор, где свитчиками выставляете кодовую комбинацию, которую считывает прошивка в плис и пихает блок настроек через i2c корку в si570..

Ps попробуйте вместо "Internal Reset." дернуть "Recall NVM into RAM." - по идеологии это затрет оперативные настройки на настройки "по умолчанию"
Go to the top of the page
 
+Quote Post
Art55555
сообщение Jun 28 2018, 12:39
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Цитата(Jury093 @ Jun 27 2018, 21:39) *
как-то у вас сумбурно - "Давно использую, Также представим, мне не известны".. вы автор прошивки плис, железо ваше, исходная частота известна, не пойму суть проблемы?
все регистры генератора вроде бы читаются через i2c, т.е. можно прочитать и выяснить настройки
процедура настройки расписана в "3.2. Si570 Programming Procedure"

если вам необходимо перепрограммировать si570 с заранее неизвестными входными частотами, то на свободных пинах организуете шифратор, где свитчиками выставляете кодовую комбинацию, которую считывает прошивка в плис и пихает блок настроек через i2c корку в si570..

Ps попробуйте вместо "Internal Reset." дернуть "Recall NVM into RAM." - по идеологии это затрет оперативные настройки на настройки "по умолчанию"


RECALL не помог.
Go to the top of the page
 
+Quote Post
fguy
сообщение Jun 28 2018, 12:50
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 27-11-08
Пользователь №: 42 009



Цитата(Art55555 @ Jun 27 2018, 19:27) *
Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 100 МГц. Допустим, мне нужно "налету" прошить на частоту 115 МГц. Т.е. в данный момент DCO и выходная частота уже другие, отличаются от начальных (10-мегагерцовых, уже перестроенные). Также представим, что частот может быть 3-10. Получается,что DCO и выходная частота мне не известны в общем случае. И я не могу их нигде прочитать (Имеется в виду то, что выходная частота может быть как 10, 100, 115 и т.д.). Есть способ считать эти данные? Или сбросить всё по умолчанию? Команда RESET не производит изменение частоты. Ничего существенного не происходит по ней.

Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта.
Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты.
"Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне.
Go to the top of the page
 
+Quote Post
Art55555
сообщение Jun 28 2018, 13:29
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Цитата(fguy @ Jun 28 2018, 15:50) *
Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта.
Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты.
"Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне.


Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать?
И сброс что в итоге сбрасывает?
Меня, конечно, "быстрая" перестройка не интересует, обычно диапазон перестройки большой.

Сообщение отредактировал Art55555 - Jun 28 2018, 13:40
Go to the top of the page
 
+Quote Post
fguy
сообщение Jun 28 2018, 14:52
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 27-11-08
Пользователь №: 42 009



Цитата(Art55555 @ Jun 28 2018, 16:29) *
Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать?

насколько помню иначе фокус не проходит
Цитата(Art55555 @ Jun 28 2018, 16:29) *
И сброс что в итоге сбрасывает?

сбрасывает частоту на базовую
Go to the top of the page
 
+Quote Post
Art55555
сообщение Jun 28 2018, 15:37
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Цитата(fguy @ Jun 28 2018, 17:52) *
насколько помню иначе фокус не проходит

сбрасывает частоту на базовую


Спасибо!
Сейчас буду пробовать.
О результатах сообщу.

Спасибо!

Именно последовательность чтение 15-17 регистров - сброс - чтение 15-17 регистров - фриз - настройка - анфриз приводит к ожидаемому результату.

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 20:38
Рейтинг@Mail.ru


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