Art55555 0 27 июня, 2018 Опубликовано 27 июня, 2018 · Жалоба Давно использую в разработках 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 не производит изменение частоты. Ничего существенного не происходит по ней. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 27 июня, 2018 Опубликовано 27 июня, 2018 · Жалоба Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 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." - по идеологии это затрет оперативные настройки на настройки "по умолчанию" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба как-то у вас сумбурно - "Давно использую, Также представим, мне не известны".. вы автор прошивки плис, железо ваше, исходная частота известна, не пойму суть проблемы? все регистры генератора вроде бы читаются через i2c, т.е. можно прочитать и выяснить настройки процедура настройки расписана в "3.2. Si570 Programming Procedure" если вам необходимо перепрограммировать si570 с заранее неизвестными входными частотами, то на свободных пинах организуете шифратор, где свитчиками выставляете кодовую комбинацию, которую считывает прошивка в плис и пихает блок настроек через i2c корку в si570.. Ps попробуйте вместо "Internal Reset." дернуть "Recall NVM into RAM." - по идеологии это затрет оперативные настройки на настройки "по умолчанию" RECALL не помог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Но. Представим, что прошивка залита во флешку, всё работает на частоте, скажем, 100 МГц. Допустим, мне нужно "налету" прошить на частоту 115 МГц. Т.е. в данный момент DCO и выходная частота уже другие, отличаются от начальных (10-мегагерцовых, уже перестроенные). Также представим, что частот может быть 3-10. Получается,что DCO и выходная частота мне не известны в общем случае. И я не могу их нигде прочитать (Имеется в виду то, что выходная частота может быть как 10, 100, 115 и т.д.). Есть способ считать эти данные? Или сбросить всё по умолчанию? Команда RESET не производит изменение частоты. Ничего существенного не происходит по ней. Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта. Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты. "Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 28 июня, 2018 Опубликовано 28 июня, 2018 (изменено) · Жалоба Однако - обычно с этим сталкиваются еще на этапе отладки что бы не дергать питание при повторном запуске софта. Делается все просто - читаем регистры, посылаем сброс и опять читаем регистры - далее программируем от базовой частоты. "Быстрая" перестройка частоты для этих силабсов доступна только в небольшом диапазоне. Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать? И сброс что в итоге сбрасывает? Меня, конечно, "быстрая" перестройка не интересует, обычно диапазон перестройки большой. Изменено 28 июня, 2018 пользователем Art55555 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба Не понял, а зачем тогда читать регистры? Почему не сброс сразу, а потом читать? насколько помню иначе фокус не проходит И сброс что в итоге сбрасывает? сбрасывает частоту на базовую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 28 июня, 2018 Опубликовано 28 июня, 2018 · Жалоба насколько помню иначе фокус не проходит сбрасывает частоту на базовую Спасибо! Сейчас буду пробовать. О результатах сообщу. Спасибо! Именно последовательность чтение 15-17 регистров - сброс - чтение 15-17 регистров - фриз - настройка - анфриз приводит к ожидаемому результату. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться