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

 
 
> Spartan-2E не грузится с XCF01S, пользуюсь DL-JTAG-USB - где подвох?
Student Pupkin
сообщение May 10 2009, 17:48
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Проблемма такая - Spartan-2E и XCF01S. Режим загрузки master serial, схема сделана согласно даташиту, вроде бы все правильно. Для прошивки флэши использую кабель Digilent DL-JTAG-USB. ПЛИС по житагу грузится (проверял). Но с флэши не грузится - постоянно идет CCLK, INIT в единице, DONE в нуле, на выходе флэши данные есть - в смысле сначала есть импульсы около 140 мс, потом ноль с какими-то редкими единицами, потом единица - вроде как похоже...
Или я не правильно заливаю прошивку во флэш, или что-то в схеме....
Поэтому два вопроса:
1. Если кто пользовался этим кабелем - как правильно им флэш прошивать?
Я делал так - создал проект в impact (создание SVF-файла), добавил девайсы (FPGA, XCF в том порядке, в каком они в схеме включены в цепочке JTAG), к флэшке присовокупил файл прошивки (MCS, сделал предварительно в impact), затем выбрал программирование флэшки, затем "завершить запись SVF-файла". Потом запустил Export, нажал там кнопочку (не помню как называется - что-то там про инициализацию), в окошке появились обнаруженные девайсы (ПЛИС и флэш). К флэши присовокупил тот самый SVF-файл, потом кнопочку программирования.
Можно попробовать порыться и найти самопальный LPT-шный кабель и прям из impact прошить, но хочется все же с этим кабелем разобраться...
2. Если дело не в кабеле (или неправильном пользовании прогой для него) - в чем еще может быть проблемма? Ведь init в единице - если бы в прошивке был косяк, то crc бы не сошлась и плис init в ноль бы перевела... Да и CCLK опять же, не пропадает и все тут... После праздников еще раз проверю, что DO от флэши доходит до DIN ПЛИС - пока только такую причину придумал (если на DIN данных нет, значит ПЛИС не схватит синхро-последовательность, значит не начнет чтения конфигурационных данных поэтому CCLK будет вечно - проверю ... но вроде и раньше проверял, ноги не мог перепутать).
Может еще какие-нибудь идеи?
Короче, помогите! help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Student Pupkin
сообщение May 12 2009, 18:34
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Все еще прошу помощи! help.gif
Вот схема:
Прикрепленное изображение

ПЛИС - XC2S50E-6TQ144I. Резисторы подтяжки по 4,7 кОм. Х9 и Х11 ввел, чтобы обходить по цепочке JTAG флэш (на всякий случай, но пока не об этом). Контакты "CCLK" и "DONE" завел еще на I/O (было желание организовать проверку CRC сожержимого конфигурационной флэши). ПЛИС по житагу грузится. От флэши - нет...
Вот сегодня смотрел осциллом (день опять прошел впустую, скоро меня расстреляют):

Это общая картина.
Прикрепленное изображение

D0 - "PROGRAM";
D1 - "INIT";
D2 - "DONE";
D3 - "CCLK";
D4 - "DO"/"DIN" (данные битстрима).
В конце картинки DIN остается в единице, INIT - в единице, DONE - в нуле. CCLK продолжает шпарить... И так навечно.

Вот еще начало "загрузки".
Прикрепленное изображение

Судя по документу "xapp694 - Reading User Data from Configuration PROM", ПЛИС выделяет в начале битстрима синхронизирующее слово AA995566h. На картинке вроде как похоже...
Вообщем ничего не понимаю. Смотрел осциллом уровни сигналов - все в норме, 3.3В. На ноге DIN у ПЛИС сигнал тоже нормальный, уровень правильный, практически никакого дребезга....
Очень прошу, помогите кто-нибудь!!! Где искать? Может в impacte при подготовке файла прошивики для флэши галку какую хитрую надо ставить?
Спросить больше не у кого.... crying.gif

Сообщение отредактировал Student Pupkin - May 12 2009, 18:42
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение May 12 2009, 20:03
Сообщение #3


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Student Pupkin @ May 12 2009, 21:34) *
Судя по документу "xapp694 - Reading User Data from Configuration PROM", ПЛИС выделяет в начале битстрима синхронизирующее слово AA995566h. На картинке вроде как похоже...

К.т. никто не отвечает, то начнем гадать. Сам никогда осцилопом не глядел как загружается ПЛИС - всегда работало... Но что-то мне подсказывает, что может быть имеет место BitSwap, попробуйте в каждом байте прошивки поменять местами биты 0->7, 1->6 и т.д. - может поможет ? Для параллельной загрузки приходилось проводить выворачивание битов... Т.к. D0 - это у них старший бит (MSB).

А еще была такая темка Как загрузить ПЛИС с микроконтроллера ?

А чтобы узнать как оно должно быть, можете попробовать "запрограммировать в холостую ПЛИС", т.е. подать на шнурок питание, а остальные ноги никуда не подключать (хотя, могут возникнуть некоторые сложности: например INIT может прийдется зацепить на PROGRAM, а DONE повесить на землю, DIN оставить в воздухе) и заставить ISE программировать ПЛИС в режиме Serial Slave. Тогда Вы увидите, какие сигналы должны быть.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 07:03
Рейтинг@Mail.ru


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