|
Поделитесь простой и понятной схемой подключения Cyclone V и/или MAX 10, чтобы в них можно было загружать прошивку с МК по SPI |
|
|
|
Dec 1 2016, 18:08
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Добрый день,
альтеровские плиски еще не разводил, не пинайте, пожалуйста, сильно. Пытался развести латтис (ice40), но с ним и по ресурсам еле-еле, и по LVDS c 100Ohm резисторами как-то разводить очень не удобно получается. Хочу взять FBGA-256 корпус, это который с 1мм шагом, то есть или 5CEBA[2-4]F17C6N циклоны, или 10M[4-50]*F256I6G максы.
В циклонах, убей не понимаю, как без jtag. В макс - вроде можно как-то залить прошивку, которая потом перегрузит вторую прошивку по любому доступному интерфейсу.
Поделитесь, пожалуйста, если у кого есть, ссылки или схемы как подключать и можно ли обойтись без JTAG программатора, я как-то читал-читал, и ничего разумного не вычитал.
Спасибо!
ИИВ
|
|
|
|
|
 |
Ответов
|
Dec 2 2016, 08:37
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133

|
Схема для 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-м, тк судя по документации, ничего не изменилось. Если есть вопросы - спрашивайте.
Сообщение отредактировал bugdesigner - Dec 2 2016, 08:38
|
|
|
|
|
Jun 20 2017, 13:52
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
вдогонку на ту же тему... MSEL=10001, Cyclone 5: 5CEBA2F17C8N Цитата(bugdesigner @ Dec 2 2016, 14:37)  - пин 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 и, с маленькой вероятностью, перегретый кристалл при паянии, или есть еще что-то что можно было попробовать, чтобы установить причину? Спасибо!
|
|
|
|
|
Jun 20 2017, 16:36
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(iiv @ Jun 20 2017, 16:52)  далее залил по SPI содержимое побайтово RBF, который сделал в квартусе, но нога CONF_DONE в 1 не поднялась. Пробовал эту прошивку, пробовал заливать мусор с /dev/urandom, пробовал менять скорость SPI в диапазоне от 16МГц до 2МГц - одинаковое поведение. Удивительно, что nSTATUS в 0 не уходит (если заливать откровенную лажу)! Программный ногодрыг вместо SPI тоже попробовал, не помогло. похвально, что пробовали разное, но мусор лить бессмысленно - от этого точно не стартует, проверял.. более важно вот это: Цитата Настраиваем SPI: LSB First, запись по положителтному фронту клока. - сделали?
|
|
|
|
|
Jun 20 2017, 16:48
|
вопрошающий
    
Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436

|
Цитата(Jury093 @ Jun 20 2017, 21:36)  похвально, что пробовали разное, но мусор лить бессмысленно - от этого точно не стартует, проверял.. проверял все подряд, чтобы если лить мусор, то увидеть nSTATUS=0, его-то я не увидел и как раз возникли подозрения, что где-то ошибка в коммуникации. Цитата(Jury093 @ Jun 20 2017, 21:36)  LSB - сделали? да, в SPI эдисона эта хрень не работает (в софте баг и разработчики так и не исправили и уже не исправят), посему ручками переставлял, но, к сожалению, пока не помогло. Также экспериментировал с ногодрыгом, там вроде ошибиться сложно. Основной вопрос: если я точно понимаю, что лью не то, будет ли уходить nSTATUS в 0, или нет? Если да, то минимум у меня нет коммуникации по SPI, если не так, то возможно еще какая проблема имеется.
|
|
|
|
Сообщений в этой теме
iiv Поделитесь простой и понятной схемой подключения Cyclone V и/или MAX 10 Dec 1 2016, 18:08 Jury093 Цитата(iiv @ Dec 1 2016, 21:08) В циклона... Dec 1 2016, 20:03    Maverick Цитата(iiv @ Jun 20 2017, 19:48) проверял... Jun 20 2017, 19:32 dvladim Цитата(iiv @ Jun 20 2017, 16:52) Скажите,... Jul 1 2017, 10:57 Kuzmi4 2 iiv
помнится был моментс 3м циклоном - после тог... Jul 2 2017, 17:00 Jury093 Цитата(Kuzmi4 @ Jul 2 2017, 20:00) помнит... Jul 2 2017, 17:27  Tiro Цитата(Jury093 @ Jul 2 2017, 20:27) зачем... Jul 2 2017, 18:13   Jury093 Цитата(Tiro @ Jul 2 2017, 21:13) Раньше т... Jul 2 2017, 19:10 Jenya7 Решение для MAX10. Загрузка по SPI.
схемы как тако... Jul 5 2017, 09:37
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|