FPGA chips

Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика  FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.


Внимание!
Этот проект можно повторить используя более современные технологии. Мы разработали шасси для Марсохода и его можно напечатать на 3D принтере. И можно использовать распространённые шаговые двигатели 28BYJ-48. Читайте подробнее о более современной реализации проекта вот здесь.

Сделаем машинку.

Прежде чем Вы приступите к чтению этой статьи, возможно, Вам нужно познакомиться с двумя предыдущими статьями. Одна из них про шаговые двигатели, а вторая про управление IR пультом.

    После того, как файл для установки 91_quartus_free.exe выкачан, мы можем пристапать к установки пакета на наш компьютер. Для этого просто запустим этот исполняемый файл.
    Не бойтесь, того, что программа англоязычная. Далеко не все в ней мы будем использовать, а то, что будем, быстро запомнится. Так что – вперед!
    Первое, что мы увидим при запуске программы установки – это окно приветствия. Здесь написано что-то вроде этого: «Добро пожаловать, Мастер установит QuartusII 9.1 Web Edition на Ваш компьютер. Чтобы продолжить нажмите кнопку Next».

Здесь, как и во многих следующих диалогах мы будем просто нажимать кнопку «Next» - тоесть «Далее» или «Продолжить».
На следущем экране программа установки показывает лицензионное соглашение.

Как известно, русские обладают самой высокой скоростью чтения. Это было многократно доказано путем измерения временного интервала от момента показа лицензионного соглашения до того момента, когда они нажимают кнопку «Далее». Возможно здесь Вам даже удастся побить рекорд по скорочтению. Нужно отметить пункт «I accept the terms of license agreement», что можно перевести как «Я принимаю условия лицензионного соглашения» и смело нажимайте кнопку «Next». На самом деле лицензионно все чисто, ведь мы устанавливаем «Web Edition». Это несколько ограниченная, но вполне функциональная версия программы. Она подхдит и для небольших проектов и для обучения. Эта версия имеет ограничение по сроку. Но это не страшно. Новую лицензию для «Web Edition» всегда можно получить на сайте Альтеры.
Следующий диалог – это имя пользователя и название компании, где Вы работаете.



Здесь можно набрать традиционное «кыры-пыры» Smile, а можно и набрать Ваше реальное имя, а в графе «Company Name» набрать «нет». Это все равно. Просто жмите «Next».
В следующем диалоге нужно выбрать папку для установки. Пожалуйста учтите, что на диске должно быть около 4-х гигабайт свободного места.
После выбора папки для установки нажмите кнопку «Next».

Следующий диалог – несущественный:

Просто нажмите кнопку «Next».
Теперь можно выбрать тип установки – полная или выборочная. Конечно выбрав выборочную установку можно было бы сэкономить место на диске, но оно нам надо? Предлагаю не думать и выбрать полную установку.

Так что выбирайте пункт «Complete» и нажмите кнопку «Next».
Слудущий диалог просто информационный. Он показывает что и куда будет устанавливаться.

Так что опять кнопка «Next».
Теперь осталось совсем чуть-чуть. Программа установки начала копировать файлы и нужно немного подождать.

После того, как все файлы скопированы появляется очередное окно диалога. И, свершилось чудо! Каким-то образом появился вопрос с двумя кнопками на русском языке! Нам предлагают создать иконку на рабочем столе.

Нажимаем кнопку «Да»!
Еще один странный диалог. Программа спрашивает можно ли компании Альтера получать от вас «ограниченные сведения».

Ну не знаю... Как хотите. Лично я выключил функцию «TalkBack» убрав галочку. Ну и нажал кнопку «OK».
Вот мы и добрались до последнего экрана:

Примите мои поздравления! Вы только что установили программу QuartusII 9.1 Web Edition! Теперь Вы сможете открывать наши проекты, программировать ПЛАТУ, исправлять наши проекты и создавать свои! Tongue out

Нам нужно выкачать с сайта www.altera.com программу QuartusII Web Edition Software v9.1. Ссылка на страницу скачивания должна быть такой: https://www.altera.com/support/software/download/altera_design/quartus_we/dnl-quartus_we.jsp (Хотя, конечно, с течением времени эта ссылка может устареть).
Перейдя по этой ссылке Вы увидите примерно такую страницу:

Я обвел кнопку, которую нужно нажать красным овалом – так что не промахнетесь Smile
Мы выкачиваем 32-битную версию программы для Windows Vista или Windows 7 или Windows XP. Размер выкачиваемого файла примерно 1,4 гигабайта.
Дальше Вам будет предложено создать учетную запись на сайте Altera. Делать это совсем не обязательно. Можно просто получить однократный доступ к выкачиваемому файлу. Поэтому сделайте так, как показано ниже. На нужной нам кнопке написано «Get One-Time Access», что и означает «получить однократный доступ».

Если закачка не началась, то скорее всего в настройках Вашего обозревателя интернета запрещены всплывающие окна. Нужно разрешить всплывающие окна по крайней мере для сайта компании Altera. Вот так:

Дальше появится диалог о запуске менеджера загрузки от издателя Akamai Technologies Inc. Нужно согласиться с его запуском нажав кнопку «Run».

Если все идет успешно, то увидим следующий диалог, который спрашивает куда положить выкачиваемый файл 91_quartus_free.exe. Выбирите папку, какая Вам нравится, но помните, что на диске должно быть место.

После этого, уж точно, должна начаться загрузка! Вы должны увидеть примерно такую картину:

Здесь Вы можете видеть и текущую скорость загрузки файла «Transfer Rate» и сколько примерно осталось времени до конца загрузки «Time Left». Теперь осталось просто подождать! Smile

Когда загрузка будет завершена, Вы сможете перейти к установке программы QuartusII.




 

     На плате «Марсоход» используется микросхема компании Альтера EPM240T100C5. Изначально эта микросхема «пустая» и не может выполнять никакой функции. Чтобы микросхема начала делать то, что нам нужно, мы должны создать проект для нее в программе Altera QuartusII, нарисовать желаемую логическую схему, откомпилировать ее и получившийся файл «зашить» в микросхему. Только после этого микросхема типа CPLD становится функциональной – начинает работать.

     Для прошивки подобных микросхем компания Альтера предлагает специальный кабель - это либо ByteBlaster либо UsbBlaster. Мы предлагаем трейтий вариант - наш собственный программатор MBFTDI.

Есть конечно и другие варианты. Однако – все по порядку.

     Существуют кабели нескольких видов. Самые распространенные – это ByteBlaster и UsbBlaster. Оригинальные кабели компании Альтера выглядят следующим образом:

pl-byteblaster2n_s PL-USB-BLASTER-RCN_s

Слева на картинке – ByteBlaster. Он подключается к параллельному порту компьютера. Справа на картинке – UsbBlaster. Он подключается, естественно, к USB порту компьютера. Описание этих кабелей можно легко найти на сайте Альтеры. Вот соответствующие ссылки в интернете: http://www.altera.com/literature/ug/ug_bbii.pdf и http://www.altera.com/literature/ug/ug_usb_blstr.pdf. В интернет магазине Альтеры даже можно купить один из кабелей, если у Вас есть кредитная карта. Однако цена на такой кабель там весьма высока. Гораздо выгоднее приобрести такой кабель в российских представительствах компании Альтера. Например в компании ЭФО http://efo.ru/, которая имеет филиалы во многих городах России. Есть и другие поставщики компонентов. Мы, например, уже долго успешно сотрудничаем с компанией «Гамма» из Выборга http://www.icgamma.ru/

    Использовать фирменный кабель конечно хорошо, но возможно, нетерпеливый читатель, приобретя плату «Марсоход», не сможет ждать, пока ему почтой доставят кабель. И выход есть!

    Можно сделать кабель (почти бесплатно) самому, потратив совсем немного времени. Это мы и предлагаем Вам сделать. Если Вы поищите в интернете слово ByteBlaster, то легко найдете много статей про него. Вот что я нашел в yandex:

http://www.msevm.com/main/prog/bblaster.htm

http://ra4hmf.narod.ru/SCHEMES/BYTEBLASTER/byteblaster.html

http://amursat.ru/dir.php?id=142

http://www.cqham.ru/bb_smd.html и многие другие...

   Это несколько схем, фактически примерно одинаковых, но видимо нарисованых разными людьми.

sch_bblaster1

Следущая схема:

sch_bblaster2

И вот еще:

sch_bblaster3

   Несмотря на такое обилие опубликованых схем, мы рискнем предложить свою – еще проще, чем описаные выше. Микросхема 74HC244 это просто буфер, которым можно «пожертвовать». Мы его убираем из схемы и получается вот что:

sch_bblaster.PNG

    В этой нашей схеме ByteBlaster совсем нет деталей – только два разъема и провода. Мы опробовали его – ОН РАБОТАЕТ! Вы сможете легко его повторить и использовать для программирования платы Марсоход. Вот он - наш кабель:

bb_cable

Разъемчик кабеля JTAG, который будет вставляться на плату вот такой:

bb_conn

    Правда остается еще один тонкий момент. Прежде чем делать ByteBlaster пожалуйста убедитесь, что в Вашем компьютере все еще есть параллельный порт, к которому должен подключаться наш кабель. Современная тенденция такова, что многие современные компьютеры могут не иметь параллельного порта. Что тут можно посоветовать? Ну, например, можно в любом компьютерном магазине попробовать купить PCI плату параллельного порта. Она может называться «Контроллер PCI, Multi I/O, 1xLPT25F»

Стоит такая плата не очень дорого, около 400 рублей.

В любом случае, похоже, что сделать кабель самому и купить контролер LPT может быть дешевле, чем купить готовый UsbBlaster.

Есть еще один вариант. На материнской плате может не быть внешнего разъема LPT, но разъемчик к нему может быть на самой материнской плате. Например материнская плата ASRock G31M-GS имеет такой разъем. Тогда кабель можно подключить прамо к материнской плате вот так:

  mb_install

Если у Вас другая материнская плата, то нужно проверить, как расположены контакты в разъеме LPT на плате. Почитайте в инструкции к материнской плате. Для ASRock G31M-GS расположение контактов в колодке вот такое:

mb_sock

Надеюсь эта статья поможет Вам в изготовлении своего кабеля ByteBlaster для программирования платы Марсоход.

 

 Итак, мы решили «разработать свой чип» на базе микросхем фирмы Альтера. Для программирования микросхем фирмы Altera, вполне естественно, нам нужно и программное обеспечение фирмы Altera. Сразу возникают для вопроса: «Где взять и как дорого стоит эта программа?». Вопросы эти понятные, но не сложные. Мы скачаем бесплатную программу для разработчиков прямо с сайта компании Альтера. Нужная нам программа называется QuartusII v9.0 Web Edition.

Тут нужно сделать небольшое отступление:

  • Инструкция по скачиванию и установке программы, приведенная в этом описании, может со временем устареть. Это вполне естественно, так как компания Altera вправе менять свой сайт когда и как захочет. И меня они естественно не спрашивают. Smile
  • Я использую в качестве операционной системы Microsoft Windows 7, а мой интернет браузер – Mozilla Firefox. Если у Вас Windows XP и Explorer, то, конечно, ничего страшного, но диалоги могут выглядеть по другому. Вы даже можете использовать Red Hat Linux или CentOS или SUSE Linux. Тогда Вам нужно выкачивать другой инсталяционный файл. Честно скажу – я никогда не пробовал устанавливать под Linux.
  • Размер программы для скачивания довольно большой ~1,4 гигабайта. При скорости интернета 1Мбит/секунду время скачивания будет около 4-х часов. Пожалуйста учтите это обстоятельство. Если у Вас безлимитный интернет, то 4 часа это не очень много – можно даже оставить на ночь. Но если у Вас оплата за выкачанные мегабайты, то возможно, выгоднее поискать иные способы выкачать QuartusII. Осторожно! Если у Вас оплата например 1рубль за мегабайт, то стоимость выкачивания может быть более 1500 рублей!
  • Я хочу сделать очень подробную инструкцию по скачиванию и установке пограммы QuartusII. Может кому-то это описание покажется занудным, но причин для такой подробной инструкции две. Во-первых, мне хотелось бы заинтересовать программированием микросхем даже школьников. Во-вторых, и сайт www.altera.com и сама программа QuartusII англоязычны. Пояснения на русском языке, я думаю, будут не лишними. Мне говорят, что это слишком сложно для школьников. Не верю!!! Smile Мы на нашем сайте пытаемся сделать все как можно проще. Будет желание – и даже у школьника все получится! Не боги горшки обжигают!


Итак, приступим.
Наши следующие шаги:
1. Скачивание программы QuartusII с сайта Альтеры.
2. Установка QuartusII.
3. Первый запуск.

Еще на нашем сайте появились статьи "пошаговые инструкции" для Quartus II:

  1. Создание первого проекта, компиляция и прошивка платы Марсоход.
  2. Создание проекта двухбитного "сумматора" для платы Марсоход. 
  3. Симуляция проекта в среде Quartus II.