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

 
 
> Головоломка
_Anatoliy
сообщение Nov 18 2016, 07:16
Сообщение #1


Утомлённый солнцем
******

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



Всем привет! Есть некое изделие в состав которого входит FPGA EP3C120 с ниос , синтезатор частоты ADF5355 и много других разностей. Но проблема с загрузкой синтезатора. Программа в ниос написана так : в файле инициализации читается код нужной частоты из EPCS и на эту частоту программируется синтезатор. Далее по Ethernet ниос может получить команду на изменение частоты синтезатора и перепрограммирует синтезатор с записью новой частоты в EPCS. Так вот не удаётся получить запрограммированный синтезатор после включения питания, т.е. выполнить загрузку синтезатора из процедуры инициализации. Причём команды по Ethernet выполняются без нареканий. Провозился вчера целый день а воз и ныне там. Перепробовал всё что приходило в голову : увеличивал задержки, загрузчику подсовывал частоту в виде константы и многое другое. Если запуститься в режиме отладки и поставить точку останова после загрузки синтезатора то на выходе получаю нужную частоту,всё работает. Бред какой-то... Проблема осложняется тем что так произошло что эта работа выполняется дистанционно(блок в другом городе). Анализатор спектра и осциллограф тоже не вариант. Но т.к. управление по сети выполняется предполагаю что с самим синтезатором всё нормально. Буду рад услышать любые предположения.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 18)
Bad0512
сообщение Nov 18 2016, 07:29
Сообщение #2


Знающий
****

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



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

ИМХО где-то времянки не соблюдаются. Когда из-под отладчика стартует - всё чуть медленнее исполняется, а когда из пзушки - быстрее. Проверить бы зависимые от интервалов времени вещи (тот же SPI, например...).
В качестве диагностики я бы взял USB-шный логгер и снял диаграммы прогрузки синтезатора в обоих случаях - из под отладчика и без него.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 07:32
Сообщение #3


Утомлённый солнцем
******

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



Цитата(Bad0512 @ Nov 18 2016, 10:29) *
ИМХО где-то времянки не соблюдаются. Когда из-под отладчика стартует - всё чуть медленнее исполняется, а когда из пзушки - быстрее. Проверить бы зависимые от интервалов времени вещи (тот же SPI, например...).

Спассибо! SPI аппаратный в FPGA, от ниос не зависит. Команды выполняются без отладчика...
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Nov 18 2016, 07:35
Сообщение #4


Знающий
****

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



Цитата(_Anatoliy @ Nov 18 2016, 14:32) *
Спассибо! SPI аппаратный в FPGA, от ниос не зависит. Команды выполняются без отладчика...

Бывает ещё зависимые от конкретного чипа фишки типа "прогрузить вот этот регистр, потом подождать не менее 10мС и проверить такой-то бит".
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 07:39
Сообщение #5


Утомлённый солнцем
******

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



Цитата(Bad0512 @ Nov 18 2016, 10:35) *
Бывает ещё зависимые от конкретного чипа фишки типа "прогрузить вот этот регистр, потом подождать не менее 10мС и проверить такой-то бит".

Да,есть такие нюансы но тактовая ниос вроде не меняется. После подачи питания я делаю задержку 500мс , потом инициализацию. Или я не том?
Go to the top of the page
 
+Quote Post
Inanity
сообщение Nov 18 2016, 08:17
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



А значение в памяти точно меняется?

Сообщение отредактировал Inanity - Nov 18 2016, 08:36
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Nov 18 2016, 08:22
Сообщение #7


Местный
***

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



Цитата(_Anatoliy @ Nov 18 2016, 07:16) *
Но проблема с загрузкой синтезатора. Программа в ниос написана так : в файле инициализации читается код нужной частоты из EPCS и на эту частоту программируется синтезатор. Далее по Ethernet ниос может получить команду на изменение частоты синтезатора и перепрограммирует синтезатор с записью новой частоты в EPCS. Так вот не удаётся получить запрограммированный синтезатор после включения питания, т.е. выполнить загрузку синтезатора из процедуры инициализации.

А почему бы вместо Nios с его богатым внутренним миром не обойтись ясным и простым самописным конечным автоматом?



--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 08:34
Сообщение #8


Утомлённый солнцем
******

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



Цитата(BackEnd @ Nov 18 2016, 11:22) *
А почему бы вместо Nios с его богатым внутренним миром не обойтись ясным и простым самописным конечным автоматом?

Стек сетевых протоколов на автомате? Я не мазохист.
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Nov 18 2016, 08:57
Сообщение #9


Местный
***

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



Цитата(_Anatoliy @ Nov 18 2016, 08:34) *
Стек сетевых протоколов на автомате? Я не мазохист.

1. Речь про замену Nios Core на автомат, а не про написание стека сетевых протоколов.
2. Оный стек не является чем-то исключительным и связанным именно с Nios.


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 09:00
Сообщение #10


Утомлённый солнцем
******

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



Цитата(BackEnd @ Nov 18 2016, 11:57) *
1. Речь про замену Nios Core на автомат, а не про написание стека сетевых протоколов.
2. Оный стек не является чем-то исключительным и связанным именно с Nios.

Я ж не спорю. Но причину я назвал.
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Nov 18 2016, 09:11
Сообщение #11


Местный
***

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



Цитата(_Anatoliy @ Nov 18 2016, 09:00) *
Я ж не спорю. Но причину я назвал.

По-моему, здесь два взаимоисключающих утверждения, но вам виднее.


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 18 2016, 09:25
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Инициализация самого ADF5355 правильно сделана? Ему надо все регистры прописать сначала.
Возможно и каких то LOCK'ов дождаться (надо DS читать вдумчиво)

Поставьте софт (http://www.analog.com/media/en/evaluation-boards-kits/evaluation-software/ADF4355_v1_0_10.zip) - из него можно извлечь правильную последовательность инициализации и установки частоты
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 10:09
Сообщение #13


Утомлённый солнцем
******

Группа: Свой
Сообщений: 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 есть.
Go to the top of the page
 
+Quote Post
Inanity
сообщение Nov 18 2016, 10:14
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(BackEnd @ Nov 18 2016, 11:22) *
А почему бы вместо Nios с его богатым внутренним миром не обойтись ясным и простым самописным конечным автоматом?


Вы предлагаете реализовать костыль, чтобы решить проблему, суть которой не ясна. С логикой на конечном автомате можно наступить на те же грабли.

Топикстартеру, т.е. вы хотите сказать, что если тупо прошьёте EPCS jtag-ом c новыми данными для синтезатора, то ничего не отработает?

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Nov 18 2016, 10:18
Сообщение #15


Утомлённый солнцем
******

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



Цитата(Inanity @ Nov 18 2016, 13:14) *
Вы предлагаете реализовать костыль, чтобы решить проблему, суть которой не ясна. С логикой на конечном автомате можно наступить на те же грабли.

Топикстартеру, т.е. вы хотите сказать, что если тупо прошьёте EPCS jtag-ом c новыми данными для синтезатора, то ничего не отработает?

Да,всё так и есть. Даже если частоту указываю явно (FreqExternalRfMod = FREQ_DEFAULT_TR;)Причём управление по Ethernet позволяет менять частоту синтезатора.
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Nov 18 2016, 20:37
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



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

А с опорой всё нормально у него?
У нас он не лочился пока печка OCXO не прогреется - т.к. там калибровка ГУНа идёт при перестройке частоты. Чуть-что не так - ГУН не правильно откалибровывается и светодиод не горит.
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Nov 19 2016, 04:41
Сообщение #17


Местный
***

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



Цитата(Inanity @ Nov 18 2016, 10:14) *
Вы предлагаете реализовать костыль, чтобы решить проблему, суть которой не ясна.

1. В данном случае костылем считаю именно Nios.
2. Суть с большой долей вероятности именно в неверном использовании особенностей Nios-корки.
3. Разбираться в чужих корках, имея возможность дешевого решения, считаю контропродуктивным.
3. Управляющая логика, описанная ТС, довольно проста и реализуется за считанные часы с помощью автомата.
4. Темы, посвященные борьбе с настройками IP-корок возникают с завидной регулярностью (с точностью до совпадения авторов тредов), что лишний раз укрепляет меня в выводах относительно наиболее простых и дешевых методов разработки ПО для ПЛИС.

Цитата(Inanity @ Nov 18 2016, 10:14) *
С логикой на конечном автомате можно наступить на те же грабли

1. Сильно сомневаюсь.
2. Цена реализации этого варианта несущественна по сравнению с уже затраченным временем.

P.S. Каждому - свое. Изложенное выше не призыв к действию, а частное мнение ленивого инженера, которому нравятся простые, надежные и долгосрочные решения без лишних телодвижений.


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Nov 19 2016, 12:26
Сообщение #18


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(BackEnd @ Nov 19 2016, 07:41) *
3. Управляющая логика, описанная ТС, довольно проста и реализуется за считанные часы с помощью автомата

Реализовать на автомате IP стек за считанные часы?
Цитата(BackEnd @ Nov 19 2016, 07:41) *
простые, надежные и долгосрочные решения без лишних телодвижений.

Вы серьезно ?
Go to the top of the page
 
+Quote Post
BackEnd
сообщение Nov 19 2016, 15:24
Сообщение #19


Местный
***

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



Цитата(bugdesigner @ Nov 19 2016, 12:26) *
Реализовать на автомате IP стек за считанные часы?

Тему читайте внимательно и таких вопросов не будет.
https://electronix.ru/forum/index.php?showt...t&p=1462537
Цитата(BackEnd @ Nov 18 2016, 08:57) *
1. Речь про замену Nios Core на автомат, а не про написание стека сетевых протоколов.
2. Оный стек не является чем-то исключительным и связанным именно с Nios.


Цитата(bugdesigner @ Nov 19 2016, 12:26) *
Вы серьезно?

За свой счет серьезно, а за чужой готов поприкалываться.


--------------------
"Классики марксизма говорили, что общественно-экономическая формация меняется с изменением средств производства, которые всегда принадлежали имущему классу.
И сейчас мы находимся в системе координат капитализма, когда самые передовые средства производства принадлежат уже не капиталистам.
Люди, у которых нет обуви, имеют гаджеты. Сейчас создана такая информационная паутина, что вместо коллективного бессознательного можно говорить о коллективном сознании.
Если иметь мозги и гаджеты, можно перевернуть весь мир. Коллективное сознание будет управлять миром! Это исторический путь, который нельзя миновать."
Вячеслав Мальцев
Go to the top of the page
 
+Quote Post

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

 


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


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