|
si570 |
|
|
|
Jun 27 2018, 16:27
|
Частый гость
 
Группа: Участник
Сообщений: 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 не производит изменение частоты. Ничего существенного не происходит по ней.
|
|
|
|
|
 |
Ответов
(1 - 6)
|
Jun 27 2018, 18:39
|
Знающий
   
Группа: Участник
Сообщений: 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." - по идеологии это затрет оперативные настройки на настройки "по умолчанию"
|
|
|
|
|
Jun 28 2018, 12:39
|
Частый гость
 
Группа: Участник
Сообщений: 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 не помог.
|
|
|
|
|
Jun 28 2018, 12:50
|
Участник

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

|
Цитата(Art55555 @ Jun 27 2018, 19:27)  Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 100 МГц. Допустим, мне нужно "налету" прошить на частоту 115 МГц. Т.е. в данный момент DCO и выходная частота уже другие, отличаются от начальных (10-мегагерцовых, уже перестроенные). Также представим, что частот может быть 3-10. Получается,что DCO и выходная частота мне не известны в общем случае. И я не могу их нигде прочитать (Имеется в виду то, что выходная частота может быть как 10, 100, 115 и т.д.). Есть способ считать эти данные? Или сбросить всё по умолчанию? Команда RESET не производит изменение частоты. Ничего существенного не происходит по ней. Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта. Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты. "Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне.
|
|
|
|
|
Jun 28 2018, 13:29
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981

|
Цитата(fguy @ Jun 28 2018, 15:50)  Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта. Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты. "Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне. Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать? И сброс что в итоге сбрасывает? Меня, конечно, "быстрая" перестройка не интересует, обычно диапазон перестройки большой.
Сообщение отредактировал Art55555 - Jun 28 2018, 13:40
|
|
|
|
|
Jun 28 2018, 14:52
|
Участник

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

|
Цитата(Art55555 @ Jun 28 2018, 16:29)  Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать? насколько помню иначе фокус не проходит Цитата(Art55555 @ Jun 28 2018, 16:29)  И сброс что в итоге сбрасывает? сбрасывает частоту на базовую
|
|
|
|
|
Jun 28 2018, 15:37
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981

|
Цитата(fguy @ Jun 28 2018, 17:52)  насколько помню иначе фокус не проходит
сбрасывает частоту на базовую Спасибо! Сейчас буду пробовать. О результатах сообщу. Спасибо! Именно последовательность чтение 15-17 регистров - сброс - чтение 15-17 регистров - фриз - настройка - анфриз приводит к ожидаемому результату.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|