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

 
 
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
SM
сообщение Sep 1 2014, 13:46
Сообщение #16


Гуру
******

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



У альтеры есть такое, что некоторые сигналы используются и внутри чипа, но при этом берутся с ножки микросхемы, а не со внутреннего сигнала. В таком случае из-за отсутствия пуллапа ПЛИС не выходит в user mode, при том, что все остальное правильно сделано. Я на это нарывался уже в начале пути... Но я уже точно не помню, был ли это именно INIT_DONE, возможно, CONF_DONE.
Go to the top of the page
 
+Quote Post
maksimp
сообщение Sep 1 2014, 18:03
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(Erepb @ Sep 1 2014, 10:45) *
По-поводу тактов: делали 20 пустых - никакого эффекта, увеличивая на 10 тактов довели число пустых до 100 - тоже нет результата sm.gif

Даиташит страница 8-7 - нужно 3192 пустых тактов.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Sep 2 2014, 07:30
Сообщение #18


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

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



Цитата(maksimp @ Sep 1 2014, 22:03) *
Даиташит страница 8-7 - нужно 3192 пустых тактов.

Это только в том случае, если используется CLKUSR.
Если он не используется, то:
Цитата
When using the internal oscillator, you do not have to send additional clock cycles from an external source to the CLKUSR pin during the initialization stage.

Там же, стр.8-33:
Цитата
Two DCLK falling edges are required after CONF_DONE goes high to begin the initialization of the device.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Sep 2 2014, 12:00
Сообщение #19


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

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



Разбираемся дальше.

Цитата(Erepb @ Sep 1 2014, 12:23) *
nCONFIG подтягивается до +3.3В через порт GPIO на самом процессоре.

Altera утверждает, что этого недостаточно. Подтягивающий резистор (pullup или puldown) нужен обязательно:
http://www.altera.com/support/kdb/solution...302011_751.html

Цитата
Yes, a pull-up or pull-down resistor helps keep the nCONFIG line in a known state when the external host (a Max® II CPLD or a microcontroller) is not driving the line (for example, during external host reprogramming or power-up where the I/O driving nCONFIG may be tri-stated). If a pull-up resistor is added to the nCONFIG line, the FPGA stays in user mode if the external host is being reprogrammed. If a pull-down resistor is added to the nCONFIG line, the FPGA goes into reset mode if the external host is being reprogrammed.

Whenever the nCONFIG line is released high, ensure the first DCLK and DATA are not driven unintentionally. Altera recommends to keep the nCONFIG line low if the external host or the FPGA is not ready for configuration.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 2 2014, 12:25
Сообщение #20


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

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



Я проверил бы соединение всех нужных выводов с землей и питаниями.
Go to the top of the page
 
+Quote Post
sysel
сообщение Sep 3 2014, 18:02
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Конфигурация из .rbf шлется LSB-first, т.е. каждый байт из файла надо выворачивать наизнанку, если у вас SPI порт работает в режиме MSB-first.
(см. http://www.altera.com/literature/hb/cyclon.../cyiv-51008.pdf, стр. 33)
Go to the top of the page
 
+Quote Post

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

 


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


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