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

Ошибка при конфигурации Cyclone II из EPSC1 (Active Serial), CONF_DONE взлетает только на 500нс

Вот такая дурацкая ситуация нарисовалась. Есть старенький проект для ПЛИС EP2C5T144C8, которая конфигурируется сама из EPCS1. Проект собирается, прошивается успешно бластером, а потом тишина. Смотрю сигнал CONF_DONE, а он ведет себя так: pull-up резистор притягивает его к VCC примерно за 500 нс, и потом он падает обратно в ноль и запускает повторную загрузку. Тыкал еще в пины разные nCS, DCLK, и пр. Вердикт вполне понятный, оно зацикливается на перезагрузке, считая битстрим неправильным. Только непонятно, почему? Вроде всё раньше работало. Битстрим делается с компрессией, в таком виде он влезает в EPCS1. Можно ли как-то более ясно понять, что его не устраивает?

Особенность в том, что проект старый, исходник старый, платы тоже сделаны в далеком 2007 году, и квартус собственно от той поры есть (9.2), так сказать, всё аутентичное, с чем раньше работало.

Да и еще, история эта повторяется с двумя платами, один в один, что намекает на системность проблемы...

Пока из идей есть только попробовать припаять EPCS4 и выбрать несжатый битстрим. Вроде по воспоминаниям там были какие-то особенности...

 

Изменено пользователем vpd
опечатка

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


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

Если зациклилась загрузка и не выходит в user mode, я бы сначала проверил напругу на тех ножках, на которых обязательно должна быть напруга для выхода из por. В мануалах альтеры есть такие таблички, в которых указано, какая напруга мониторится. Может к вашему чипу есть в мануале блок схема по процессу загрузки, по ней станет ясно. 

 

В циклон 2 мануале

Cyclone II devices contain POR circuitry to keep the device in a reset state until the power supply voltage levels have stabilized during power-up. The POR circuit monitors the VCCINT voltage levels and tri-states all user I/O pins until the VCC reaches the recommended operating levels. In addition, the POR circuitry also monitors the VCCIO level of the two I/O banks that contains configuration pins (I/O banks 1 and 3 for EP2C5 and EP2C8, I/O banks 2 and 6 for EP2C15A, EP2C20, EP2C35, EP2C50, and EP2C70) and tri-states all user I/O pins until the VCC reaches the recommended operating levels.

Изменено пользователем new123

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


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

  1. Напряжение проверял, VCC всюду порядка  3.58В, VCCINT 1.32В, даже чуть больше нормы. При синхронизации от CONF_DONE не наблюдаются провалы питания.
  2. Время появления питания не так уж важно, поскольку стоит автоповтор загрузки после  неудачи, и на повторах питание давно в норме, а причина сбоя не исчезает.

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


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

а CRC_ERROR пин есть циклоне 2? Активирон прошивкой? этот пин говорит о кривом битстриме

VCCint 1.32v, по номиналу 1.2 же? + 0.12v не многовато? у меня на циклоне 4 и stratix v допуски вообще минимальны, чуть ли не 0.05.  Надо мануал посмотреть с допусками

Изменено пользователем new123

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


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

Да вот, воплотил наконец свою идею о замене ERPS1 на ERPS4 и отключении compression. И всё работает. Чудеса...

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


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

17 часов назад, new123 сказал:

а CRC_ERROR пин есть ... этот пин говорит о кривом битстриме

Не говорит он.

CRC_ERROR говорит об ошибке битстрима внутри ПЛИС, а не об ошибке битстрима идущего с ПЗУ.

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


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

11 minutes ago, dvlwork said:

Не говорит он.

CRC_ERROR говорит об ошибке битстрима внутри ПЛИС, а не об ошибке битстрима идущего с ПЗУ.

действительно я напутал, спасибо

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


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

Вообще я проверял CRC_ERROR, он тоже дергается после отпускания CONF_DONE. То есть, как бы ошибку загрузки демонстрирует. Но бластер пишет pof и проверяет его в EPCS1, и ошибок там нет.

А нет идей, почему может сжатый битстрим лагать в EPCS1?

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


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

Был у меня аналогичный эффект много лет назад. Я уже не помню подробностей, кажется был старый проект, после перетрансляции более свежим квартусом перестал заливаться. Вылечилось допайкой маленького конденсатора (то ли 100, то ли 1000 пФ) на CONF_DONE, кажется. Удобнее было его поставить параллельно резистору подтяжки.

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


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

Да, я вот тоже помню, что как-то давно случайно обнаружил, что лапание платы в районе разъема для бластера вдруг случайно привело к загрузке, и я тоже в итоге какой-то конденсатор туда повесил. Но приборчик уехал к заказчикам, и на тот момент он был один такой странный. И про то, куда и что вешать, я благополучно забыл, казалось, что это какая-то странная недокументированная глюкавость одного конкретного прибора.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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