|
Головоломка |
|
|
|
Nov 18 2016, 07:29
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(_Anatoliy @ Nov 18 2016, 14:16)  Всем привет! Есть некое изделие в состав которого входит FPGA EP3C120 с ниос , синтезатор частоты ADF5355 и много других разностей. Но проблема с загрузкой синтезатора. Программа в ниос написана так : в файле инициализации читается код нужной частоты из EPCS и на эту частоту программируется синтезатор. Далее по Ethernet ниос может получить команду на изменение частоты синтезатора и перепрограммирует синтезатор с записью новой частоты в EPCS. Так вот не удаётся получить запрограммированный синтезатор после включения питания, т.е. выполнить загрузку синтезатора из процедуры инициализации. Причём команды по Ethernet выполняются без нареканий. Провозился вчера целый день а воз и ныне там. Перепробовал всё что приходило в голову : увеличивал задержки, загрузчику подсовывал частоту в виде константы и многое другое. Если запуститься в режиме отладки и поставить точку останова после загрузки синтезатора то на выходе получаю нужную частоту,всё работает. Бред какой-то... Проблема осложняется тем что так произошло что эта работа выполняется дистанционно(блок в другом городе). Анализатор спектра и осциллограф тоже не вариант. Но т.к. управление по сети выполняется предполагаю что с самим синтезатором всё нормально. Буду рад услышать любые предположения. ИМХО где-то времянки не соблюдаются. Когда из-под отладчика стартует - всё чуть медленнее исполняется, а когда из пзушки - быстрее. Проверить бы зависимые от интервалов времени вещи (тот же SPI, например...). В качестве диагностики я бы взял USB-шный логгер и снял диаграммы прогрузки синтезатора в обоих случаях - из под отладчика и без него.
|
|
|
|
|
Nov 18 2016, 08:22
|

Местный
  
Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747

|
Цитата(_Anatoliy @ Nov 18 2016, 07:16)  Но проблема с загрузкой синтезатора. Программа в ниос написана так : в файле инициализации читается код нужной частоты из EPCS и на эту частоту программируется синтезатор. Далее по Ethernet ниос может получить команду на изменение частоты синтезатора и перепрограммирует синтезатор с записью новой частоты в EPCS. Так вот не удаётся получить запрограммированный синтезатор после включения питания, т.е. выполнить загрузку синтезатора из процедуры инициализации. А почему бы вместо Nios с его богатым внутренним миром не обойтись ясным и простым самописным конечным автоматом?
--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу. И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам. Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании. Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать." Вячеслав Мальцев
|
|
|
|
|
Nov 18 2016, 08:57
|

Местный
  
Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747

|
Цитата(_Anatoliy @ Nov 18 2016, 08:34)  Стек сетевых протоколов на автомате? Я не мазохист. 1. Речь про замену Nios Core на автомат, а не про написание стека сетевых протоколов. 2. Оный стек не является чем-то исключительным и связанным именно с Nios.
--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу. И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам. Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании. Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать." Вячеслав Мальцев
|
|
|
|
|
Nov 18 2016, 09:11
|

Местный
  
Группа: Участник
Сообщений: 201
Регистрация: 28-07-16
Пользователь №: 92 747

|
Цитата(_Anatoliy @ Nov 18 2016, 09:00)  Я ж не спорю. Но причину я назвал. По-моему, здесь два взаимоисключающих утверждения, но вам виднее.
--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу. И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам. Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании. Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать." Вячеслав Мальцев
|
|
|
|
|
Nov 18 2016, 10:09
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Дополнительная информация : поставил в фоне вот такой кусок: Код FreqExternalRfMod = FREQ_DEFAULT_TR; if (temp < 2000000){ temp++; } else { temp = 0; LoadADF5355(FreqExternalRfMod,OUT_CS_RF2); } При работе из ПЗУ примерно раз в две секунды перезагружаю синтезатор - никакого эффекта. А при работе из отладчика при этой самой вставке сигнал на выходе есть. По моему это полная шизофрения - ну не может такого быть! Цитата(XVR @ Nov 18 2016, 12:25)  Инициализация самого ADF5355 правильно сделана? Ему надо все регистры прописать сначала. Возможно и каких то LOCK'ов дождаться (надо DS читать вдумчиво)
Поставьте софт (http://www.analog.com/media/en/evaluation-boards-kits/evaluation-software/ADF4355_v1_0_10.zip) - из него можно извлечь правильную последовательность инициализации и установки частоты О,только сейчас увидел Ваше сообщение,спасибо! Сейчас глянем. Ну так я и делаю - от старших к младшим регистрам. Только у них там не всё, для калибровки отдельная процедура нужна, в ds есть.
|
|
|
|
|
Nov 18 2016, 10:14
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(BackEnd @ Nov 18 2016, 11:22)  А почему бы вместо Nios с его богатым внутренним миром не обойтись ясным и простым самописным конечным автоматом? Вы предлагаете реализовать костыль, чтобы решить проблему, суть которой не ясна. С логикой на конечном автомате можно наступить на те же грабли. Топикстартеру, т.е. вы хотите сказать, что если тупо прошьёте EPCS jtag-ом c новыми данными для синтезатора, то ничего не отработает?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|