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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Требуется помощь Cyclone IV, Проблемы с прошивкой EP4CGX110
Erepb
сообщение Aug 31 2014, 20:45
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924



Доброго времени суток, уважаемые форумчане!
Первый раз работаю с 4 циклоном и сразу же проблема с прошиванием...
И так, что имеем: EP4CGX110 в корпусе F484, прошивка выбрана PS с микропроцессорного модуля Intel Atom совместно с Intel PCH EG20T, который обеспечивает доступ к портам GPIO, по которым идет прогрузка ПЛИС.
MSEL0=0
MSEL1=0
MSEL2=0
MSEL3=+2,5В
Загрузка прошивки, по осциллографу, проходит верно, но CONF_DONE не выходит в высокий уровень. ПЛИС откликается (nSTATUS), если дергать nCONFIG. RBF правильно отправляется на ПЛИС. Единственное, что есть непонятного, это подключенные к +3,3В порты TCK, TMS, TDI (почему так - не знаю, я занимаюсь программированием в данном проекте). По плате смотрели осциллографом - сигналы данных и такта до ПЛИС доходят... Почему не прожигается - не понимаю sad.gif Вроде бы, уже и паузы делали между выводом ПЛИС в состояние конфигурации, и делали паузы после того, как вся RBF загрузится в ПЛИС, но результата ноль. Может кто что подскажет? Если требуется, то с работы смогу скинуть схему платы и сам код прожига с процессора.
Go to the top of the page
 
+Quote Post
Cosworth
сообщение Sep 1 2014, 05:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-12-10
Пользователь №: 61 886



А вопрос, пуллап на CONF_DONE имеется ли? Вообще схему бы посмотреть конечно.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 1 2014, 05:47
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



А не забыли 16 (или сколько там, не помню уже) пустых тактов на загрузочный клок выдать по окончании передачи битового потока? Потому как CONF_DONE появляется вроде как на такт позже после передачи всего RBF, а INIT_DONE еще через сколько-то там тактов.

Насчет пуллапов вопрос верный, только они обязательно нужны не только на CONF_DONE, а еще и на INIT_DONE, и на nStatus (если где-то забыть, то загрузка не удастся вообще)
Go to the top of the page
 
+Quote Post
Erepb
сообщение Sep 1 2014, 07:45
Сообщение #4





Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924



Прикрепил схему подключения ПЛИС. Там выводы сокращенно написаны - CONF->nCONFIG, CNFD->CONFIG_DONE, STAT->nSTATUS.
По-поводу тактов: делали 20 пустых - никакого эффекта, увеличивая на 10 тактов довели число пустых до 100 - тоже нет результата sm.gif
Прикрепленные файлы
Прикрепленный файл  MCS.pdf ( 50.78 килобайт ) Кол-во скачиваний: 105
 
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 1 2014, 07:50
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Erepb @ Sep 1 2014, 11:45) *
Прикрепил схему подключения ПЛИС


Не видно подтяжки на INIT_DONE (без нее, на сколько я помню, CONF_DONE не поднимается). Да и на nCONFIG тоже подтяжки нет... Хотя, подозреваю, что она на другом конце разъема, но, все равно...
Go to the top of the page
 
+Quote Post
Erepb
сообщение Sep 1 2014, 08:23
Сообщение #6





Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924



Цитата(SM @ Sep 1 2014, 11:50) *
Не видно подтяжки на INIT_DONE (без нее, на сколько я помню, CONF_DONE не поднимается). Да и на nCONFIG тоже подтяжки нет... Хотя, подозреваю, что она на другом конце разъема, но, все равно...


nCONFIG подтягивается до +3.3В через порт GPIO на самом процессоре. На схеме CONF_DONE и nSTATUS через 10кОм подключены к +3,3В, а не к +1,5В - не глядя кусок перекинул, моя неточность... А INIT_DONE где выведен? Вроде в handbook'e написано, что сигнал внутренний и вывести его наружу нельзя на этом Циклоне... Вроде бы,когда все делали пользовались мануалами Configuration and Remote System Upgrades in Cyclone IV Devices и Cyclone IV device handbook.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 1 2014, 08:27
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(SM @ Sep 1 2014, 09:47) *
А не забыли 16 (или сколько там, не помню уже) пустых тактов на загрузочный клок выдать по окончании передачи битового потока? Потому как CONF_DONE появляется вроде как на такт позже после передачи всего RBF, а INIT_DONE еще через сколько-то там тактов.

Насчет пуллапов вопрос верный, только они обязательно нужны не только на CONF_DONE, а еще и на INIT_DONE, и на nStatus (если где-то забыть, то загрузка не удастся вообще)


Импульсы нужны обязательно, чтобы автомат отвечающий за загрузку внутри ПЛИС смог перейти от режима загрузко в пользовательский режим...
Фронты импульсов чистые?
Пробовали уменьшить частоту?
Вообще загрузка от микропроцессора обычно подробна расписана в аппликухах вместе с исходными кодами.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 1 2014, 08:34
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Erepb @ Sep 1 2014, 12:23) *
написано, что сигнал внутренний


Не, ну если в этой конкретной микрухе это так, то и подтягивать его не надо sm.gif

Тогда, смотрите, чтобы биты в нужной последовательности шли, и чтобы сигналы были качественными, в смысле согласования, то есть без звона, с нужными уровнями, скоростями нарастания фронтов, и без превышений по звону/выбросам.
Go to the top of the page
 
+Quote Post
Erepb
сообщение Sep 1 2014, 08:43
Сообщение #9





Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924



Цитата(iosifk @ Sep 1 2014, 12:27) *
Импульсы нужны обязательно, чтобы автомат отвечающий за загрузку внутри ПЛИС смог перейти от режима загрузко в пользовательский режим...
Фронты импульсов чистые?
Пробовали уменьшить частоту?
Вообще загрузка от микропроцессора обычно подробна расписана в аппликухах вместе с исходными кодами.


В течение дня попробую осциллограмму скинуть. Частоту уменьшать не пробовали. Фронты чистые, пробовали как по переднему, так и по заднему фронту тактировать. Так по этой инструкции и написали программу sm.gif Пробовали просто ножками GPIO на nCONFIG подавать 0 и 1, чтобы получить ответ от ПЛИС по nSTATUS - работает, отклики правильные, но прошивка не становится... Уже прошивку уменьшили до того, чтобы просто диод загорался - никак... Такая же прошивка на отладочной плате, только прошитая через AS работает корректно. Вот и не знаем уже, что тут может быть еще. Обе бракованные или обе непропаяны - одну даже перекатали, результата пока нет.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 1 2014, 08:53
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Еще, в алгоритме, не забыли, что нулевой бит конфигурации должен быть выставлен перед первым фронтом такта, за время, не менее tDSU ?
Go to the top of the page
 
+Quote Post
Cosworth
сообщение Sep 1 2014, 10:22
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 26-12-10
Пользователь №: 61 886



Не знаю, насколько это важно, у Вас на схеме подтяжка к 1.5В, а MSEL к 2.5В (VCCA). В хэндбуке есть такая фраза:
Цитата
You must connect the pull-up resistor to the same supply voltage as the VCCA supply.

Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Sep 1 2014, 10:29
Сообщение #12


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Erepb @ Sep 1 2014, 12:23) *
А INIT_DONE где выведен? Вроде в handbook'e написано, что сигнал внутренний и вывести его наружу нельзя на этом Циклоне... Вроде бы,когда все делали пользовались мануалами Configuration and Remote System Upgrades in Cyclone IV Devices и Cyclone IV device handbook.

Ну, вообще-то в хендбуке написано, что INIT_DONE не внутренний, а опциональный. Он может быть разрешен в "Device and Pin Options". В описании режима Passive Serial про использование INIT_DONE говорится в явном виде:
Цитата
INIT_DONE is released and pulled high when initialization is complete. The external
host device must be able to detect this low-to-high transition which signals the device
has entered user mode. When initialization is complete, the device enters user mode.
In user mode, the user I/O pins no longer have weak pull-up resistors and function as
assigned in your design.

INIT_DONE для EP4CGX100CF23 (который FBGA 484) выходит на вывод W8 - см. документ "EP4CGX110 Pin-Outs" : http://www.altera.com/literature/dp/cyclone-iv/EP4CGX110.pdf
Ну и в Pin Planner'е:
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Erepb
сообщение Sep 1 2014, 11:58
Сообщение #13





Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924



Cosworth, не, там на самом деле идет +3.3В, это я ошибся, когда выдрал кусок схемы с другого листа...

Цитата(Stewart Little @ Sep 1 2014, 14:29) *
Ну, вообще-то в хендбуке написано, что INIT_DONE не внутренний, а опциональный. Он может быть разрешен в "Device and Pin Options". В описании режима Passive Serial про использование INIT_DONE говорится в явном виде:

INIT_DONE для EP4CGX100CF23 (который FBGA 484) выходит на вывод W8 - см. документ "EP4CGX110 Pin-Outs" : http://www.altera.com/literature/dp/cyclone-iv/EP4CGX110.pdf
Ну и в Pin Planner'е:


А вот я его и не заметил...


Цитата(SM @ Sep 1 2014, 12:53) *
Еще, в алгоритме, не забыли, что нулевой бит конфигурации должен быть выставлен перед первым фронтом такта, за время, не менее tDSU ?

Надо проверить, но, вроде бы, так и делали.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 1 2014, 12:09
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Erepb @ Sep 1 2014, 15:58) *
А вот я его и не заметил...


Ну он там не dedicated, так что, проверьте лишь то, что в опциях проекта не стоит "Enable INIT_DONE"
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2014, 12:58
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Вряд ли INIT_DONE влияет на процесс загрузки. Это чисто информационный сигнал.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:54
Рейтинг@Mail.ru


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