|
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 будет вечно - проверю ... но вроде и раньше проверял, ноги не мог перепутать). Может еще какие-нибудь идеи? Короче, помогите!
|
|
|
|
|
 |
Ответов
(1 - 9)
|
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 у стартеркита. Чтоб геморра в будущем меньше было.
|
|
|
|
|
May 13 2009, 07:20
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(Student Pupkin @ May 13 2009, 00:57)  Имеете ввиду покурочить файл *.mcs - файл прошивки для конфигурационной флэш? Если подскажете какую-нибудь утилиту для этого, буду очень признателен. А то я в программировании не очень - так, на уровне "Hello World". Раньше эти опции были в Impact... Но в ISE 9.2 SP3 с наскоку мне их найти не удалось. Цитата(Student Pupkin @ May 13 2009, 00:57)  Да вот и беда вся в том, что загрузка ПЛИС от процессора в режиме slave у нас тут отработана. Если под Slave имеется ввиду Serial Slave (а не Parallel Slave), то Вы можете и на этой системе поглядеть в том ли порядке у Вас идут биты, ну или со шнурком сравнить. Цитата(Student Pupkin @ May 13 2009, 00:57)  Да, мысль дельная. Спасибо. Правда придется плату покурочить - думал без насилия обойтись. Я же предлагал без кровный вариант, т.е. на кабель подается только питание а PROG закорачивается на INIT (больше они никуда не подключаются), Din так и вообще в воздухе бросить, DONE к земле подключить. Тогда Impact будет думать, что к шнурку подключена ПЛИС, и вывалит правильную последовательность. Вам же остается записать эту последовательность и сравнить с получаемой из PROM. Цитата(Student Pupkin @ May 13 2009, 00:57)  Еще вопросик - вы не вкурсе, "Инлайн Групп" как официальный дистрибьютер ксайлинкса тех.поддержку оказывает? Если я им отпишу письмо с моей проблемой - ответят? Вы сами не пробовали к ним когда-нибудь обращаться? Или они меня пошлют нафиг? Год назад я у них консультировался,.. с переменным успехом - вопрос был сложный, и прямой ответ на него должен был оставить некоторый теневой отпечаток на Spartan-2E/Virtex-E (а точнее на заявленной поддержке выходов LVPECL... которая эмулируется - вот мне и захотелось сэмулировать их на Spartan-3A). А вот сейчас что-то уже 2 недели от них ответа нет на другой хиртый вопрос. Поэтому советую сначала туда позвонить (после 13-00 по Москве, т.к. специалист нужный работал по смещенному графику - поближе к америкосам) и узнать работает ли у них человечек на тех. поддержке, и если да, то уже тогда посылать письмо (но не забыв, как я, поставить галочку о подтверждении получения). Теоретически, могут быть виноваты еще и опции BitGen (хотя у Вас же грузиться с МК в аналогичном проекте,.. и наверное и опции одинаковы), но на всякий случай перечислю те с которыми более всего проблем: 1. Drive Done Pin High - Enable (т.к. у Вас только 1 ПЛИС, то эта опция очень желательна, несмотря на резистор подтяжки... а при Enable этот резистор можно и выкинуть). 2. FPGA Start-Up Clock - CCLK (если нет своего особого Startup Clock'а). 3. Поставьте минимальную частоту для конфигурирования (хотя, как мне показалась, она уже стоит). И еще, у Вас же Alilen MSO ? Если да, то поглядите аналоговым щупом, что твориться на ножке DONE - может там всё-таки есть какие-то трепыхания ? А ножка DONE у Вас переходит в 1 при конфигурировании по JTAG ?
|
|
|
|
|
May 13 2009, 18:06
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760

|
Мда... Нашел таки косяк. Тыкая осциллом в очередной раз, обратил внимание на то, что сигнал CCLK опускается до 1 В, а не до 0... А было все дело в том, что в схеме соединил ногу CCLK с соседней, чтобы после загрузки считывать содержимое конфигурационной флэши. Эта самая соседняя нога по совместительству оказалась DOUT (до загрузки выход принятого битстрима).... Выход на выход... Я дятел!!! Забавно, что флэш такой клок понимала, а сама ПЛИС в этих условиях грузиться отказывалась. Boris_TS, спасибо вам за участие.  Исправил этот казус, следом повылазило еще куча косяков - мой первый блин комом... Цитата(dvladim @ May 13 2009, 21:38)  Student Pupkin  А что за осциллограф?  Фирму видите, название модели не знаю. Но не новый. Полоса вроде бы до 200МГц, гигасемплы не помню (да и не запоминал, честно говоря). Есть флопик - картинки на дискету записывать  . А что? Почему интересуетесь?
|
|
|
|
|
May 13 2009, 19:26
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760

|
Цитата(dvladim @ May 13 2009, 22:46)  Ну мало ли. Может брать что-нибудь будем. И анализатор есть. Удобно. А фирму вижу, модель интересна. Потом поищу: какие характеристики, да сколько стоит, отзывы почитаю. Вряд ли... Модель с производства уже сняли (нам покупали лет 7-8 назад). Отзывы, может, и найдете, а купить вряд ли получится. Так что придется выбирать из нынешних. Набор стандартный - 2 аналоговых канала, 16-канальный логический анализатор, цветной дисплей и USB (у нас - монохромный, флопик и LPT-порт). Штука, конечно, дорогущая... Так что удачи в выборе.  Цены для начала на http://www.dipaul.ru гляньте. Они вроде официальный дистрибьютер Agilent Technologies...
Сообщение отредактировал Student Pupkin - May 13 2009, 19:30
|
|
|
|
|
May 13 2009, 20:20
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Суть вопроса была такова: Agilent много чего делает, у Вас были картинки данные логическим анализатором (что обычно и использует много ПЛИС'овиков, не заморачиваясь на осциллограф), а мне показалось, что у Вас именно Mixed Signal Oscilloscopes - поэтому я хотел Вас сподвигнуть поглядеть аналоговый сигнал: т.е. убедиться что конфликтов нет и резисторы подтяжки не мешают... Ну всё-таки сподвиг. Цитата(dvladim @ May 13 2009, 21:46)  Ну мало ли. Может брать что-нибудь будем. И анализатор есть. Удобно. А фирму вижу, модель интересна. Потом поищу: какие характеристики, да сколько стоит, отзывы почитаю. Тогда поглядите на Agilent Technologies 6000 Series Oscilloscopes - мне эти машинки понравились... Сам эксплуатирую MSO6104A с внешним БП. Это машинка из разряда дороно, но клёво.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|