МАРСОХОД

Open Source Hardware Project

Марсоход2bis: как программировать?

CycloneIV

Почему-то на нашем сайте не было подробной информации, как все же программировать Cyclone IV платы Марсоход2bis. Вся информация всегда касалась только платы Марсоход2, на которой стоит Cyclone III.

Попробую внести ясность..

На самом деле сами печатные платы Марсоход2 и Марсоход2bis абсолютно одинаковые. А что разное - так это тип установленной ПЛИС. На плате Марсоход2 стоит Cyclone III EP3C10E144C8, а на плате Марсоход2bis стоит EP4CE6E22C8. Микросхемы совместимые по типу корпуса и даже по назначениям.

Проведем вот такой эксперимент.

Скачаем первый проект для Марсоход2: icon Первый проект для платы Марсоход2 (16.35 Кбайт)

Его схема, схема топ модуля проекта выглядит вот так:

 before

Откомпилируем проект как есть. 

Подсоединяем плату Марсоход2bis кабелем USB к нашему компьютеру.

Запустим из меню Quartus II программатор Tools => Programmer. Если драйвер программатора MBFTDI уже установлен, то с помощью кнопки Hardware Setup можно будет выбрать для использования "MBFTDI-Blaster".

Теперь можно попробовать загрузить только что откомпилированный проект в плату несмотря на то, что у нас другая микросхема ПЛИС.
Зашиваем и... ничего не происходит...

Действительно так и должно быть. Несмотря на то, что микросхемы FPGA EP3C10E144C8 и EP4CE6E22C8 совместимы, во второй микросхеме нет двух IO выводов - для наших плат эти выводы попадают на KEY1 и LED[3].

Исправим схему проекта вот так:

after  

Теперь счетчик не будет сбрасываться по нажатию кнопки платы, но будет считать, пока разрешен счет. Счет будет останавливаться по нажатию KEY0. Так же я сократил количество выводов на LED. Теперь на светодиоды выводится только три бита q[25..23] со счетчика.

Компилирую, запускаю программатор и опять, не взирая на то, что у меня ПЛИС Cyclone IV, загружаю проект от Cyclone III.

Теперь светодиоды моргают! Проект работает!

Не будем на этом останавливаться. Это не совсем здоровый путь компилировать для одного типа микросхем, а загружать в другой тип микросхем. Так я думаю еще будет работать пока размер проекта мал. Для больших проектов скорее всего программатор будет выдавать ошибку.

Сменим в нашем проекте тип микросхемы. Для этого идем в меню Quartus II пункт Assignment => Device.

Выбираем другое семейство ПЛИС, а именно Cyclone IV E. Сразу же квартус говорит, что хорошо бы удалить все ранее существовавшие назначения расположения пинов в проекте:

say no

На это предложение твердо отвечаем "No".

Теперь выбираем именно нашу микросхему EP4CE6E22C8:

say no2

И опять квартус просит разрешения удалить все назначения в проекте. Опять отвечаем "No".

Теперь "OK" и компилируем проект.

Во время компиляции проекта в предупреждениях можно увидеть вот такое сообщение:

warn

Это предупреждение как раз о том, что назначены два лишних пина, но они будут проигнорированы. Их просто нет в нашем четвертом циклоне.

Зато теперь отчет о компиляции выглядит правильно, для Cyclone IV E:

report 

Можно звпускать программатор и с чистой совестью загружать наш проект для Cyclone IV в плату Марсоход2bis с Cyclone IV:

progr

Надеюсь эта статья внесла ясность по поводу того, как программировать плату Марсоход2bis.

 

Комментарии  

0 #2 Dmitrius 30.10.2015 09:01
Спасибо! Очень актуальная для меня статья!!! Сейчас буду разбираться, ибо так и не смог самостоятельно адаптировать проекты с 3-ей под 4-ю...
0 #1 bachva 02.10.2015 08:50
Все стало ясно, спасибо!

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Статьи о разном Марсоход2bis: как программировать?