|
Spartan-2E не грузится с XCF01S, пользуюсь DL-JTAG-USB - где подвох? |
|
|
|
May 10 2009, 17:48
|
Местный
  
Группа: Участник
Сообщений: 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 будет вечно - проверю ... но вроде и раньше проверял, ноги не мог перепутать). Может еще какие-нибудь идеи? Короче, помогите!
|
|
|
|
|
 |
Ответов
|
May 12 2009, 18:34
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760

|
Все еще прошу помощи! Вот схема:
ПЛИС - 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 при подготовке файла прошивики для флэши галку какую хитрую надо ставить? Спросить больше не у кого....
Сообщение отредактировал Student Pupkin - May 12 2009, 18:42
|
|
|
|
|
May 12 2009, 20:03
|
Злополезный
   
Группа: Свой
Сообщений: 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. Тогда Вы увидите, какие сигналы должны быть.
|
|
|
|
|
May 12 2009, 21:57
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760

|
Цитата(Boris_TS @ May 13 2009, 00:03)  Но что-то мне подсказывает, что может быть имеет место BitSwap, попробуйте в каждом байте прошивки поменять местами биты 0->7, 1->6 и т.д. - может поможет ? Для параллельной загрузки приходилось проводить выворачивание битов... Т.к. D0 - это у них старший бит (MSB). Имеете ввиду покурочить файл *.mcs - файл прошивки для конфигурационной флэш? Если подскажете какую-нибудь утилиту для этого, буду очень признателен. А то я в программировании не очень - так, на уровне "Hello World". Цитата(Boris_TS @ May 13 2009, 00:03)  Да вот и беда вся в том, что загрузка ПЛИС от процессора в режиме slave у нас тут отработана. В данном случае решили отказаться, потому как с ПЛИС работает MSP430, в него прошивка не влезет. Поэтому насчет загрузки из флэши в serial master я тут своего рода первооткрыватель.  Поэтому и спросить не у кого... Цитата(Boris_TS @ May 13 2009, 00:03)  А чтобы узнать как оно должно быть, можете попробовать "запрограммировать в холостую ПЛИС", т.е. подать на шнурок питание, а остальные ноги никуда не подключать (хотя, могут возникнуть некоторые сложности: например INIT может прийдется зацепить на PROGRAM, а DONE повесить на землю, DIN оставить в воздухе) и заставить ISE программировать ПЛИС в режиме Serial Slave. Тогда Вы увидите, какие сигналы должны быть. Да, мысль дельная. Спасибо.  Я чего-то и забыл, что шнурок может ПЛИС в режиме slave грузить. Правда придется плату покурочить - думал без насилия обойтись. Еще вопросик - вы не вкурсе, "Инлайн Групп" как официальный дистрибьютер ксайлинкса тех.поддержку оказывает? Если я им отпишу письмо с моей проблеммой - ответят? Вы сами не пробовали к ним когда-нибудь обращаться? Или они меня пошлют нафиг? P.S. уже подумываю с зарплаты на свои деньги купить себе Xerxes у стартеркита. Чтоб геморра в будущем меньше было.
|
|
|
|
Сообщений в этой теме
Student Pupkin Spartan-2E не грузится с XCF01S May 10 2009, 17:48   Boris_TS Цитата(Student Pupkin @ May 13 2009, 00:5... May 13 2009, 07:20 dvladim Student Pupkin
А что за осциллограф? May 13 2009, 17:38 Student Pupkin Мда... Нашел таки косяк. Тыкая осциллом в очередно... May 13 2009, 18:06 dvladim Цитата(Student Pupkin @ May 13 2009, 22:0... May 13 2009, 18:46 Student Pupkin Цитата(dvladim @ May 13 2009, 22:46) Ну м... May 13 2009, 19:26 Boris_TS Суть вопроса была такова: Agilent много чего делае... May 13 2009, 20:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|