Перейти к содержанию
    

Требуется помощь Cyclone IV

Доброго времени суток, уважаемые форумчане!

Первый раз работаю с 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 загрузится в ПЛИС, но результата ноль. Может кто что подскажет? Если требуется, то с работы смогу скинуть схему платы и сам код прожига с процессора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикрепил схему подключения ПЛИС. Там выводы сокращенно написаны - CONF->nCONFIG, CNFD->CONFIG_DONE, STAT->nSTATUS.

По-поводу тактов: делали 20 пустых - никакого эффекта, увеличивая на 10 тактов довели число пустых до 100 - тоже нет результата :)

MCS.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикрепил схему подключения ПЛИС

 

Не видно подтяжки на INIT_DONE (без нее, на сколько я помню, CONF_DONE не поднимается). Да и на nCONFIG тоже подтяжки нет... Хотя, подозреваю, что она на другом конце разъема, но, все равно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не видно подтяжки на 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Фронты импульсов чистые?

Пробовали уменьшить частоту?

Вообще загрузка от микропроцессора обычно подробна расписана в аппликухах вместе с исходными кодами.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

написано, что сигнал внутренний

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Фронты импульсов чистые?

Пробовали уменьшить частоту?

Вообще загрузка от микропроцессора обычно подробна расписана в аппликухах вместе с исходными кодами.

 

В течение дня попробую осциллограмму скинуть. Частоту уменьшать не пробовали. Фронты чистые, пробовали как по переднему, так и по заднему фронту тактировать. Так по этой инструкции и написали программу :) Пробовали просто ножками GPIO на nCONFIG подавать 0 и 1, чтобы получить ответ от ПЛИС по nSTATUS - работает, отклики правильные, но прошивка не становится... Уже прошивку уменьшили до того, чтобы просто диод загорался - никак... Такая же прошивка на отладочной плате, только прошитая через AS работает корректно. Вот и не знаем уже, что тут может быть еще. Обе бракованные или обе непропаяны - одну даже перекатали, результата пока нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще, в алгоритме, не забыли, что нулевой бит конфигурации должен быть выставлен перед первым фронтом такта, за время, не менее tDSU ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, насколько это важно, у Вас на схеме подтяжка к 1.5В, а MSEL к 2.5В (VCCA). В хэндбуке есть такая фраза:

You must connect the pull-up resistor to the same supply voltage as the VCCA supply.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А 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'е:

post-843-1409566779_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну, вообще-то в хендбуке написано, что 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'е:

 

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

 

 

Еще, в алгоритме, не забыли, что нулевой бит конфигурации должен быть выставлен перед первым фронтом такта, за время, не менее tDSU ?

Надо проверить, но, вроде бы, так и делали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну он там не dedicated, так что, проверьте лишь то, что в опциях проекта не стоит "Enable INIT_DONE"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вряд ли INIT_DONE влияет на процесс загрузки. Это чисто информационный сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...