|
Требуется помощь Cyclone IV, Проблемы с прошивкой EP4CGX110 |
|
|
|
Aug 31 2014, 20:45
|
Группа: Новичок
Сообщений: 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 (почему так - не знаю, я занимаюсь программированием в данном проекте). По плате смотрели осциллографом - сигналы данных и такта до ПЛИС доходят... Почему не прожигается - не понимаю  Вроде бы, уже и паузы делали между выводом ПЛИС в состояние конфигурации, и делали паузы после того, как вся RBF загрузится в ПЛИС, но результата ноль. Может кто что подскажет? Если требуется, то с работы смогу скинуть схему платы и сам код прожига с процессора.
|
|
|
|
|
Sep 1 2014, 05:14
|
Участник

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

|
А вопрос, пуллап на CONF_DONE имеется ли? Вообще схему бы посмотреть конечно.
|
|
|
|
|
Sep 1 2014, 07:45
|
Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924

|
Прикрепил схему подключения ПЛИС. Там выводы сокращенно написаны - CONF->nCONFIG, CNFD->CONFIG_DONE, STAT->nSTATUS. По-поводу тактов: делали 20 пустых - никакого эффекта, увеличивая на 10 тактов довели число пустых до 100 - тоже нет результата
Прикрепленные файлы
MCS.pdf ( 50.78 килобайт )
Кол-во скачиваний: 105
|
|
|
|
|
Sep 1 2014, 08:23
|
Группа: Новичок
Сообщений: 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.
|
|
|
|
|
Sep 1 2014, 08:27
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Sep 1 2014, 08:34
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Erepb @ Sep 1 2014, 12:23)  написано, что сигнал внутренний Не, ну если в этой конкретной микрухе это так, то и подтягивать его не надо  Тогда, смотрите, чтобы биты в нужной последовательности шли, и чтобы сигналы были качественными, в смысле согласования, то есть без звона, с нужными уровнями, скоростями нарастания фронтов, и без превышений по звону/выбросам.
|
|
|
|
|
Sep 1 2014, 08:43
|
Группа: Новичок
Сообщений: 7
Регистрация: 28-12-10
Пользователь №: 61 924

|
Цитата(iosifk @ Sep 1 2014, 12:27)  Импульсы нужны обязательно, чтобы автомат отвечающий за загрузку внутри ПЛИС смог перейти от режима загрузко в пользовательский режим... Фронты импульсов чистые? Пробовали уменьшить частоту? Вообще загрузка от микропроцессора обычно подробна расписана в аппликухах вместе с исходными кодами. В течение дня попробую осциллограмму скинуть. Частоту уменьшать не пробовали. Фронты чистые, пробовали как по переднему, так и по заднему фронту тактировать. Так по этой инструкции и написали программу  Пробовали просто ножками GPIO на nCONFIG подавать 0 и 1, чтобы получить ответ от ПЛИС по nSTATUS - работает, отклики правильные, но прошивка не становится... Уже прошивку уменьшили до того, чтобы просто диод загорался - никак... Такая же прошивка на отладочной плате, только прошитая через AS работает корректно. Вот и не знаем уже, что тут может быть еще. Обе бракованные или обе непропаяны - одну даже перекатали, результата пока нет.
|
|
|
|
|
Sep 1 2014, 10:22
|
Участник

Группа: Участник
Сообщений: 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.
|
|
|
|
|
Sep 1 2014, 10:29
|

Лентяй
     
Группа: Свой
Сообщений: 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'е:
Эскизы прикрепленных изображений
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Sep 1 2014, 11:58
|
Группа: Новичок
Сообщений: 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 ? Надо проверить, но, вроде бы, так и делали.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|