Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Не конфигурируется злобный ACEX EP1K100QC208-3.
Конфигурирую в режиме Passive Serial c помощью ByteBlasterMV в САПР MAX+PlusII. Во вкладке “Global project device option” поставил галки напротив Enable INIT_DONE Output и MultiVolt I/O, во вкладке Programming Option – галки в позициях Verify after programming и Initiate configuration after programming. Питательные и земляные ноги подключил как в Report-файле. Подключение пинов программирования (CONF_DONE, nSTATUS, nCONFIG, DCLK, DATA0) взял из Configuration Handbook: DCLK - к первому выводу бластера, GND-ко второму, CONF_DONE-к третьему, VCCIO (3.3V) - к четвёртому, nCONFIG-пятый вывод, шестой не подключён, nSTATUS- седьмой, восьмой не подключён, DATA0 – девятый, GND-десятый. Пины CONF_DONE, nSTATUS, nCONFIG, DCLK, DATA0 подтянуты резистором 1к к VCCIO. Выводы TMS и TDI – резистором 1к подтянуты к VCCIO, TCK – к земле. Ноги MSEL0 и MSEL1 и nCE соединены с землёй. Ногу Init_DONE – через 1к к VCCIO. Правильность подключения, пропай, присутствие необходимых потенциалов гарантирую многочисленным прозвоном (щупал мультиметром непосредственно ногу). Правильность работы MAXa и бластера не вызывает сомнения (на том же компьютере, с тем же бластером успешно программирую EPM7032SLC44-10). Конфигурирую простой проект – 8ми битный счетчик. Проект скомпилировался без ошибок и предупреждений.
Симптомы такие: после нажатия кнопки Configure начинается конфигурирование – заполняется синим вкладка Program. После того как весь прямоугольник Program заполнится синим (порядка 1- 2 секунд) появляется сообщение – SRAM load unsuccessful. LOG-файл сообщает то же самое - Info: Configuration failure: SRAM load unsuccessful.
Щупал осциллографом ноги ПЛИС, подключаемые к бластеру. Причём щупал непосредственно ноги. Результаты таковы:
1.На пине nCONFIG в исходном состоянии наблюдаю 3,3В. После нажатия кнопки Configure наблюдаю появление двух импульсов (просадка от 3,3В до нуля) длительностью 1 ms, сдвинутых друг относительно друга на 15 ms. При более внимательном рассмотрении выяснилось, что оба импульса представляют собой серию многочисленных очень коротких импульсов.
2.На выводе nSTATUS наблюдаю такую же картину, как и на выводе nCONFIG с небольшой временной задержкой по отношению к выводу nCONFIG.
3.Вывод CONF_DONE в начале конфигурирования переходит из высокого состояния в низкое, и подымается в высокое состояние в конце конфигурирования.
4.На ноге DCLK наблюдаю устойчивый меандр. Частота 1МГц.
5.На выводе DATA0 вижу пересылку данных
6.Выводы User I/O во время конфигурировании переходят в высокое состояние, по окончании конфигурирования – устанавливаются в низкое состояние.
7.На выводе INIT_DONE наблюдаю переход из высокого состояния в низкое в начале конфигурирования и подъём в высокое состояние в конце конфигурирования.
Достаточно ли этих данных, чтобы вынести приговор? Неужели я угробил кристалл? Может кто-нибудь не жадный поделится 100% работающей платой (PCAD) чтобы было от чего отталкиваться?
Заранее спасибо.