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

 
 
> Поделитесь простой и понятной схемой подключения Cyclone V и/или MAX 10, чтобы в них можно было загружать прошивку с МК по SPI
iiv
сообщение Dec 1 2016, 18:08
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Добрый день,

альтеровские плиски еще не разводил, не пинайте, пожалуйста, сильно. Пытался развести латтис (ice40), но с ним и по ресурсам еле-еле, и по LVDS c 100Ohm резисторами как-то разводить очень не удобно получается. Хочу взять FBGA-256 корпус, это который с 1мм шагом, то есть или
5CEBA[2-4]F17C6N циклоны, или
10M[4-50]*F256I6G максы.

В циклонах, убей не понимаю, как без jtag. В макс - вроде можно как-то залить прошивку, которая потом перегрузит вторую прошивку по любому доступному интерфейсу.

Поделитесь, пожалуйста, если у кого есть, ссылки или схемы как подключать и можно ли обойтись без JTAG программатора, я как-то читал-читал, и ничего разумного не вычитал.

Спасибо!

ИИВ


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bugdesigner
сообщение Dec 2 2016, 08:37
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
iiv
сообщение Jun 20 2017, 13:52
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 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 и, с маленькой вероятностью, перегретый кристалл при паянии, или есть еще что-то что можно было попробовать, чтобы установить причину?

Спасибо!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:55
Рейтинг@Mail.ru


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