iiv 14 1 декабря, 2016 Опубликовано 1 декабря, 2016 · Жалоба Добрый день, альтеровские плиски еще не разводил, не пинайте, пожалуйста, сильно. Пытался развести латтис (ice40), но с ним и по ресурсам еле-еле, и по LVDS c 100Ohm резисторами как-то разводить очень не удобно получается. Хочу взять FBGA-256 корпус, это который с 1мм шагом, то есть или 5CEBA[2-4]F17C6N циклоны, или 10M[4-50]*F256I6G максы. В циклонах, убей не понимаю, как без jtag. В макс - вроде можно как-то залить прошивку, которая потом перегрузит вторую прошивку по любому доступному интерфейсу. Поделитесь, пожалуйста, если у кого есть, ссылки или схемы как подключать и можно ли обойтись без JTAG программатора, я как-то читал-читал, и ничего разумного не вычитал. Спасибо! ИИВ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 1 декабря, 2016 Опубликовано 1 декабря, 2016 · Жалоба В циклонах, убей не понимаю, как без jtag. В макс - вроде можно как-то залить прошивку, которая потом перегрузит вторую прошивку по любому доступному интерфейсу. Поделитесь, пожалуйста, если у кого есть, ссылки или схемы как подключать и можно ли обойтись без JTAG программатора, я как-то читал-читал, и ничего разумного не вычитал. ищите на Альтере документ google->"cyclone passive serial", типа https://www.altera.com/content/dam/altera-w.../cyc_c51013.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bugdesigner 0 2 декабря, 2016 Опубликовано 2 декабря, 2016 (изменено) · Жалоба Схема для Cyclone следующая - пины MSEL[x] нужно установить согласно документации в режим Passive Serial Programming - пин DATA0 - последовательные данные (MOSI) - пин DCLK - клок данных (SCLK) - пин nCONFIG - вход управления режимом конфигурирования - поключите к любому GPIO MK в режиме выхода - пины nSTATUS и CONF_DONE - выходные сигналы - подключите к входам MK. Эти сигналы требуют подтяжки к VCCIO. Алгоритм следующий: Настраиваем SPI: LSB First, запись по положителтному фронту клока. Я использую частоту клока 10МГц, хотя можно и выше (см. документацию). Можно соорудить и программный SPI - "ногодрыгом". DCLK = 0; nCONFIG = 0; Delay(1uS); nCONFIG = 1; // начало конфигурирования читаем nSTATUS и ждем пока он не станет =1, теперь можно посылать данные заливаем данные через SPI ( используем данные файла в формате .rbf ) время от времени проверяем nSTATUS - если он стал=0 - это ошибка, конфигурирование нужно начать с начала. когда все данные будут отправлены, проверяем CONF_DONE - если он =1, значит все прошло успешно, если нет - произошла ошибка. Этот алгоритм использовался мной многократно на циклонах 1,3 и 4. Должен работать и на 5-м, тк судя по документации, ничего не изменилось. Если есть вопросы - спрашивайте. Изменено 2 декабря, 2016 пользователем bugdesigner Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 14 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба вдогонку на ту же тему... MSEL=10001, Cyclone 5: 5CEBA2F17C8N - пин DATA0 - последовательные данные (MOSI) - пин DCLK - клок данных (SCLK) - пин nCONFIG - вход управления режимом конфигурирования - поключите к любому GPIO MK в режиме выхода - пины nSTATUS и CONF_DONE - выходные сигналы - подключите к входам MK. Эти сигналы требуют подтяжки к VCCIO. nSTATUS=1, CONF_DONE=1 // начал работать nSTATUS=1, CONF_DONE=1 // nCONFIG<-1 nSTATUS=0, CONF_DONE=0 // nCONFIG<-0 nSTATUS=0, CONF_DONE=0 // nCONFIG<-1 nSTATUS=1, CONF_DONE=0 // nCONFIG<-1 далее залил по SPI содержимое побайтово RBF, который сделал в квартусе, но нога CONF_DONE в 1 не поднялась. Пробовал эту прошивку, пробовал заливать мусор с /dev/urandom, пробовал менять скорость SPI в диапазоне от 16МГц до 2МГц - одинаковое поведение. Удивительно, что nSTATUS в 0 не уходит (если заливать откровенную лажу)! Программный ногодрыг вместо SPI тоже попробовал, не помогло. Доступа щупом до ноги DATA0 и DCLK к сожалению нет, так как умудрился так плату развести, что все под корпусом проходит и некуда без перепаивания подсоединиться. Потребление десятки милиампер. Питание ядра 1.1В, все остальное 2.5В. Скажите, пожалуйста, правильно ли я понимаю, что баг однозначно в ногах SPI и, с маленькой вероятностью, перегретый кристалл при паянии, или есть еще что-то что можно было попробовать, чтобы установить причину? Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба далее залил по SPI содержимое побайтово RBF, который сделал в квартусе, но нога CONF_DONE в 1 не поднялась. Пробовал эту прошивку, пробовал заливать мусор с /dev/urandom, пробовал менять скорость SPI в диапазоне от 16МГц до 2МГц - одинаковое поведение. Удивительно, что nSTATUS в 0 не уходит (если заливать откровенную лажу)! Программный ногодрыг вместо SPI тоже попробовал, не помогло. похвально, что пробовали разное, но мусор лить бессмысленно - от этого точно не стартует, проверял.. более важно вот это: Настраиваем SPI: LSB First, запись по положителтному фронту клока. - сделали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 14 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба похвально, что пробовали разное, но мусор лить бессмысленно - от этого точно не стартует, проверял.. проверял все подряд, чтобы если лить мусор, то увидеть nSTATUS=0, его-то я не увидел и как раз возникли подозрения, что где-то ошибка в коммуникации. LSB - сделали? да, в SPI эдисона эта хрень не работает (в софте баг и разработчики так и не исправили и уже не исправят), посему ручками переставлял, но, к сожалению, пока не помогло. Также экспериментировал с ногодрыгом, там вроде ошибиться сложно. Основной вопрос: если я точно понимаю, что лью не то, будет ли уходить nSTATUS в 0, или нет? Если да, то минимум у меня нет коммуникации по SPI, если не так, то возможно еще какая проблема имеется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 20 июня, 2017 Опубликовано 20 июня, 2017 · Жалоба проверял все подряд, чтобы если лить мусор, то увидеть nSTATUS=0, его-то я не увидел и как раз возникли подозрения, что где-то ошибка в коммуникации. да, в SPI эдисона эта хрень не работает (в софте баг и разработчики так и не исправили и уже не исправят), посему ручками переставлял, но, к сожалению, пока не помогло. Также экспериментировал с ногодрыгом, там вроде ошибиться сложно. Основной вопрос: если я точно понимаю, что лью не то, будет ли уходить nSTATUS в 0, или нет? Если да, то минимум у меня нет коммуникации по SPI, если не так, то возможно еще какая проблема имеется. посмотрите это и это общее для MAX10 + когда-то давно собрал материал... там в папке альтера сохраненная вебстраница - обратите внимание... link Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 1 июля, 2017 Опубликовано 1 июля, 2017 · Жалоба Скажите, пожалуйста, правильно ли я понимаю, что баг однозначно в ногах SPI и, с маленькой вероятностью, перегретый кристалл при паянии, или есть еще что-то что можно было попробовать, чтобы установить причину? MSEL должны стоять в режиме PS (ваше значение не проверял), данные захватываются ПЛИС по переднему фронту, т.е. изменять их желательно по заднему фронту DCLK. На один фронт клока должен быть один бит данных, т.е. никаких стартовых бит, битов четности и т.п. nCE дожен быть в 0. Проверьте LSB/MSB в байте rbf. Основной вопрос: если я точно понимаю, что лью не то, будет ли уходить nSTATUS в 0, или нет? Если да, то минимум у меня нет коммуникации по SPI, если не так, то возможно еще какая проблема имеется. Не обязательно. Для начала в данных должен быть идентификатор начала. Если ПЛИС его не видит, то и дальнейшие данные не воспринимает. Иногда в данных может случайно встретиться идентификатор начала прошивки, тогда nSTATUS упадет в 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 2 июля, 2017 Опубликовано 2 июля, 2017 · Жалоба 2 iiv помнится был моментс 3м циклоном - после того как залили все данные из RBF надо наклокать ещё сколько-то тактов тупо любых данных, и только потом взводилась CONF_DONE лапа. Предупреждая сл. вопрос - во внутренней структуре RBF есть поле которое указывает длинну "мяса" :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 2 июля, 2017 Опубликовано 2 июля, 2017 · Жалоба помнится был моментс 3м циклоном - после того как залили все данные из RBF надо наклокать ещё сколько-то тактов тупо любых данных, и только потом взводилась CONF_DONE лапа. Предупреждая сл. вопрос - во внутренней структуре RBF есть поле которое указывает длинну "мяса" :laughing: вопрос чуть в сторону - про "тактов тупо любых данных" есть какая-то официальная дока или ссылка? дело в том, что я подключал загрузку по spi в линуксе, что Cyclone3, что Aria (или что там на дочке стояло).. команда dd вроде передает ровно столько сколько надо, камни успешно стартовали.. зачем избыточно клокать? а может это из вашем практики, тогда любопытно - при каких условиях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tiro 0 2 июля, 2017 Опубликовано 2 июля, 2017 · Жалоба зачем избыточно клокать? а может это из вашем практики, тогда любопытно - при каких условиях? Раньше требовалось. В хендбуке на 5 циклон явное указание, что лишние такты не нужны, у него свой генератор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 2 июля, 2017 Опубликовано 2 июля, 2017 · Жалоба Раньше требовалось. В хендбуке на 5 циклон явное указание, что лишние такты не нужны, у него свой генератор. из любопытства позже посмотрю в доку к Cyclone3 - я то ведь как-то грузил.. загрузку Cyc5 по SPI я не использовал, т.к. достаточно простейших реализаций - хоть через uboot, хоть в /dev/fpga Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 5 июля, 2017 Опубликовано 5 июля, 2017 (изменено) · Жалоба Решение для MAX10. Загрузка по SPI. схемы как таковой нет. флеш находиться внутри. GCP_DE10.rar Изменено 5 июля, 2017 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться