8-900-374-94-44
[email protected]
Slide Image
Меню

Плата марсоход – Плата Марсоход

плата с ПЛИС Cyclone III

Плата Марсоход2 предназначена для изучения технологии ПЛИС и построения устройств средней сложности.

На плате установлены:

  • Микросхема ПЛИС Cyclone III EP3C10E144C8 компании Альтера. Она предоставляет разработчику следующие ресурсы:

       а) Логических элементов - 10320;
       б) Память - 414Кбит;
       с) Встроенных умножителей - 23 (18x18) или 46 (9x9)
       д) Количество PLL - 2.
       Подробная документация на микросхему:

  • Микросхема FTDI FT2232H. Реализует связь платы Марсоход2 и ПЛИС с комьютером через HighSpeed USB 2.0. Микросхема предоставляет 2 независимых интерфейса А и В. Интерфейс А используется для реализации встроенного JTAG программатора MBFTDI. Кроме этого, интерфейс А (JTAG) используется для внутрисхемного захвата и анализа сигналов пользовательских проектов с помощью программы Altera SignalTap. Интерфейс В может использоваться для как виртуальный последовательный порт, скорость передачи 12Мбит/сек.
  • Микросхема SDRAM MT48LC4M16A2-75 компании Micron. ()
    Четыре банка по 1,048,576 шестнадцатиразрядных слова. Итого, 64Мбита (или 8Мбайт, что то же самое).
  • Микросхема аналогово-цифрового преобразователя ADC1175 ().
  • Кварцевый генератор 100Мгц.
  • Две пользовательские кнопки.
  • Четыре пользовательских светодиода.
  • Разъем VGA и цифроаналоговые преобразователи на резисторах R2R, реализующий HIGH-COLOR DAC (5 бит красный, 6 бит - зеленый и 5 бит синий).
  • Разъемы для установки плат расширения. 16 свободных пользовательских контактов.

Питание платы +5В, производится из разъема USB, установленного на плату.

Полную схему платы можно взять вот здесь:


Назначения сигналов:

Для первоначального знакомства с платой можно взять наш самый простой "первый" проект, выполненный в среде Altera Quartus II для платы Марсоход2.

 

marsohod.org

плата с ПЛИС Altera MAX10

Плата

Марсоход3 предназначена для изучения технологии ПЛИС и создания устройств средней сложности.
Эта плата визуально похожа на свою предшественницу, плату Марсоход2, но имеет несколько принципиальных отличий.
Главное отличие - используется не Cyclone III, а микросхемы ПЛИС компании Altera серии MAX10.

Плата Марсоход3 существует в двух вариантах исполнения. На плате Марсоход3bis стоит ПЛИС меньшей емкости - 8 тыс. логических элементов. На плате Марсоход3 стоит ПЛИС большей емкости - примерно 50 тыс. логических элементов. Это наша первая плата в серии "марсоход" с ПЛИС такой большой емкости.

  10M08SAE144C8GES  10M50SAE144C8GES 

Логических элементов

8064 49760

Встроенная память, бит

387072  1677312

Встроенных 9-ти битных умножителей

48 288

Количество PLL

1 1

UFM (User Flash Memory) блок

1 1

Аналогово-Цифровой Преобразователь, ADC блок

1 1

Обзор и описание микросхемы на английском языке на сайте компании Альтера: https://www.altera.com/products/fpga/max-series/max-10/overview.html

Подробная документация на микросхему:  https://www.altera.com/en_US/pdfs/literature/hb/max-10/m10_datasheet.pdf

Кажется, что микросхема 10M08SAE серии MAX10, установленная на плате Марсоход3bis, уступает по параметрам микросхеме EP3C10E серии Cyclone III, установленной на плате Марсоход2: здесь чуть меньше логических элементов, меньше встроенной памяти и всего один PLL. Однако, нужно учитывать, что микросхемы серии MAX10 реализуют некоторые уникальные функции недоступные в Cyclone III. Например, MAX10 имеет встроенный блок ADC, аналого-цифрового преобразователя (работает на частоте 1МГц) - АЦП это уникальная для цифровой микросхемы функция. Кроме этого, MAX10 имеет встроенную память для инициализации ПЛИС и еще ряд других функций.

Марсоход3 с чипом 10M50SAE, как сказано выше - примерно 50 тысяч логических элементов.  

На плате имеется микросхема FTDI FT2232H. Она реализует связь платы Марсоход3 / Марсоход3bis и ПЛИС с компьютером через HighSpeed USB 2.0. Микросхема предоставляет 2 независимых интерфейса А и В. Интерфейс А используется для реализации встроенного JTAG программатора MBFTDI. Кроме этого, интерфейс А (JTAG) используется для внутрисхемного захвата и анализа сигналов пользовательских проектов с помощью программы Altera SignalTap. Интерфейс В может использоваться для как виртуальный последовательный порт, скорость передачи 12Мбит/сек.

В отличие от платы Марсоход2, на платах Марсоход3 и Марсоход3bis возможно использование интерфейса FTDI в режиме синхронного FIFO. Переключить микросхему FTDI в режим синхронного FIFO можно путем программирования микросхемы последовательной флэш памяти конфигурации (чип 93C46) для FTDI FT2232H. Использование режима синхронного FIFO позволит добится высокоскоростной (более 40Мбайт/сек) передачи данных через USB2 в плату или из платы.

Если требуется использовать режим синхронного FIFO микросхемы FTDI FT2232H плат Марсоход3, Марсоход3bis, то использование JTAG интерфейса этой же микросхемы FTDI для программирования ПЛИС становится невозможным. Однако, с помощью блока перемычек (Jumpers) можно переключить плату для использования совместно с внешним программатором (например MBFTDI).

Еще на плате стоят:

Четыре банка по 1,048,576 шестнадцатиразрядных слова. Итого, 64Мбита (или 8Мбайт, что то же самое).

  • Кварцевый генератор 100Мгц.
  • Две пользовательские кнопки.
  • Восемь пользовательских светодиода.
  • Разъем выход видео HDMI. Предполагается реализация видеорежима до 1280x720 True Color, 24 бита на точку.
  • Разъемы для установки плат расширения. 16 свободных пользовательских контактов. Шилды, применяемые для платы Марсоход2, совместимы с платой Марсоход3bis. Сейчас существует 2 шилда: плата дополнительных разъемов и плата Ethernet PHY 100MBit.

Плата подключается к компьютеру USB2 кабелем. 
Питание платы +5В, производится из разъема USB, установленного на плату.

Полную схему платы Марсоход3bis можно взять вот здесь:

Схема платы Марсоход3 

Пожалуйста обратите внимание, что микросхемы 10M50SAE и 10M08SAE не полностью совместимы по выводам. К сожалению, компания Альтера, производитель микросхем, не сделала и совместимыми. Публикуемые на нашем сайте проекты скорее всего будут содержать разные ревизии проектов для разных микросхем.

 

marsohod.org

Проекты Altera Quartus II для платы Марсоход

Астротрекер 18 Август 2018 3196
Новогодняя елка 2017! 29 Декабрь 2016 5521
Фотографирование: пульт дистанционного управления к Canon EOS 650D 28 Сентябрь 2015 11307
Использование скриптов TCL для управления проектами Quartus II 17 Май 2015 17431
Посох Деда Мороза
28 Декабрь 2012
27073
Управлять Марсоходом из браузера 17 Июнь 2012 27020
Подключение платы Марсоход к телефону с ОС Android 09 Июнь 2012 24127
Апгрейд =Подмосковных вечеров= 01 Март 2012 11060
Снеговик 24 Январь 2012 11566
Зажигаем ёлку! 27 Декабрь 2011 11432
Процедурная музыка для Марсохода 20 Декабрь 2011 18304
Управление платой Марсоход через JTAG
28 Октябрь 2011 23011
Фоторамка. Часть3. Фреймбуффер. 14 Сентябрь 2011 27230
Фоторамка. Часть2. TFT-панели с LVDS интерфейсом. 11 Сентябрь 2011 41607
Фоторамка. Часть1. Подключение TFT-панелей. 06 Сентябрь 2011 40790
Техническое зрение 03 Июль 2011 31077
ПЛИС внутри ПЛИС 19 Июнь 2011 32298
Хексовый видеоадаптер 02 Июнь 2011 20489
Использование ультразвукового дальномера 02 Май 2011 27698
Подключение дисплея WH0802 к компьютеру через COM- порт 14 Апрель 2011 23788
Видеоигра Питон 04 Апрель 2011 17246
Умный дом 21 Март 2011 22992
Пять в кубе 07 Март 2011 15189
Видео игра теннис для двоих 27 Февраль 2011 14119
Марсоходы: Начало Клонирования. 22 Февраль 2011 58739
Работа над ошибками. Теннис. 20 Февраль 2011 15784
ИК пульт к компьютеру 09 Февраль 2011 19891
Машинка, управляемая с компьютера через Bluetooth 22 Январь 2011 43341
Улучшенный проект "Частотомер" 12 Январь 2011 21838
С Новым Годом! 2011! 31 Декабрь 2010 12552
USB устройство как последовательный порт (и USB ScratchBoard) 25 Декабрь 2010 26717
Как улучшить проект USB 13 Декабрь 2010 18363
Скоро Новый Год! 11 Декабрь 2010 10695
Часики 30 Ноябрь 2010 22917
Лазерный проектор 10 Ноябрь 2010 50525
Плата Марсоход для Scratch 05 Ноябрь 2010 21460
Частотомер 21 Октябрь 2010 28452
USB устройство из платы Марсоход 18 Октябрь 2010 35660
Последовательный порт 12 Октябрь 2010 29554
Передаем Ethernet-пакет 22 Сентябрь 2010 58663
Катамаран 25 Август 2010 14816
Продуваем форсунки. 24 Август 2010 21953
Индикатор температуры 21 Июль 2010 23026
Летающая тарелка 24 Июнь 2010 22384
Сделаем игру Волк-Коза-Капуста 14 Июнь 2010 26521
(C) Котокормушка 12 Июнь 2010 15409
Тестер обжимного коннектора UTP 04 Июнь 2010 19913
Сделаем простой AVR микроконтроллер 26 Май 2010 58580
Игрушка для кошки 19 Май 2010 18354
Еще один инерциоид 12 Май 2010 31161
Сделаем PS/2 клавиатуру! 22 Апрель 2010 26148
Сделаем САМИ простое (непростое) USB устройство 09 Апрель 2010 39210
Марсополз или Ползун? 31 Март 2010

marsohod.org

Первый проект для платы Марсоход2

Первый проект для платы Марсоход2

Этот проект возможно будет самым простым для нашей платы Марсоход2.
Он реализует несколько несложных функций, с которыми каждый разработчик, даже начинающий, сможет легко разобраться.
Для чего нужен этот проект (проект выполнен в среде Altera Quartus II).

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

Пожалуйста обратите внимание, что некоторые пины в чипе Cyclone III имеют двойное назначение. Чтобы их можно было использовать как обычные I/O нужно поставить соответствующие опции в диалоге Device and Pin Options.

Наоборот - если понадобится специальное применение этих пинов, то нужно менять эти опции.
Например, контакт DCLK может использоваться для конфигурирования ПЛИС из внешней конфигурирующей флеш памяти, или может использоваться, как обычный пин I/O.
Это диалоговое окно можно увидеть через команды меню Assignments => Device. Далее в диалоговом окне - кнопка Device and Pin Options.

Итак, все важные назначения уже сделаны (они хранятся в файле cyclone.qsf). Когда будем создавать новые проекты, будем просто копировать проект этот в новую папку и модифицировать его.

Во-вторых, для начала работы всегда нужен самый простой проект.
Нужно что-то вроде традиционного для языка C проекта "Hello, World!". У нас здесь, конечно не язык C, но первый пример, конечно, должен быть простой.

Так вот, этот проект содержит три весьма простых составных части.

Первая часть - счетчик.

Входной сигнал тактовой частоты CLK100MHZ подается на 32-х битный двоичный счетчик LPM_COUNTER, где происходит деление тактовой частоты. Входные сигналы от двух кнопочек платы KEY0 и KEY1 подаются соответственно на асинхронный сброс aclr и разрешение счета cnt_en счетчика LPM_COUNTER. Только четыре выхода счетчика q[25..22] подаются на выходы LED[3..0] проекта и соответственно на светодиоды платы.

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

Вторая часть проекта - loopback последовательного порта.

На плате Марсоход2 установлен программатор MBFTDI, построенный на микросхеме FTDI FT2232H. Микросхема имеет 2 канала: интерфейс А и интерфейс В. Интерфейс А используется под JTAG, через него идет программирование платы, загрузка проекта в ПЛИС и отладка. Интерфейс В может использоваться различными способами (в зависимости как запрограммирована микросхема FTDI).

Самый простой способ использования - как последовательный порт (виртуальый последовательный порт через USB). В этом случае контакты в нашем проекте FTDI_BD0 и FTDI_BD1 служат сигналами последовательного порта RX и TX. Так вот, в этом простом проекте я просто соединяю их проводом и это все. Все принятые данные тут же отправляются назад.

Когда плата Марсоход2 подключена к компьютеру и драйвера FTDI установлены в диспетчере устройств видны 2 COM порта. Второй COM порт можно открыть с помощью какого нибудь терминала, вроде PUTTY и пробовать набирать к консоли символы. Они будут отправляться в плату и возвращаться из нее назад, появляясь напечатанными уже в консоли терминала.

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

Третья часть - видео синхрогенератор.

Я написал на Verilog простой модуль hvsync, который выдает сигналы синхронизации VGA_HSYNC, VGA_VSYNC для VGA и собственно видео сигналы красный VGA_R, зеленый VGA_G, синий VGA_B, которые рисуют вертикальные цветные полосы на экране.

Параметры видеосигнала соответствуют стандартному видеорежиму 1440x900 60Hz.
Для этого видеорежима нужна специальная тактовая частота 106,5Mhz, которой изначально на плате нет - есть только генератор 100Мгц. К счастью, в FPGA Cyclone III есть специальные встроенные компоненты - PLL (Phase Lock Loop). Их в нашей микросхеме два.

PLL - это управляемый настраиваемый генератор. Он позволяет нам задать для исходной частоты два коэффициента: умножитель и делитель. Так вот, я создал для своего проекта компонент PLL с коэффициентами умножения 213 и деления 200!!! Получилась заветная 106,5Mhz частота, нужная для режима монитора 1440x900 60Hz.

Конечно, такой возможности у нас не было в первой плате Марсоход.
На новой плате возможностей гораздо больше: PLL, встроенные блоки памяти, умножители.

Вот так выглядят полосы на экране монитора:

Преобразование из цифры в аналоговый сигнал делается установленными на плате R2R преобразователями. Для небольшой разрядности преобразователей аналоговый сигнал получается достаточно качественный. Об этом можно судить по плавным переходам вертикальных полос на экране монитора.

Итак, для загрузки откомпилированного проекта в плату ничего на не нужно, кроме самой платы, подключенной к ПК. Программатор MBFTDI у нее уже на борту.

Откомпилированная программа занимает почти ничего в ПЛИС (меньше одного процента!):

Значит у нас еще много осталось места в чипе для творчества.

Весь проект Quartus II для платы Марсоход2 можно скачать:

 

marsohod.org

Плата Марсоход2bis

Плата Марсоход2bis

Подробности
Категория: Разное
Создано 05 Январь 2015
Автор: Николай Ковач
Просмотров: 11651

Наша новая экспериментальная плата Марсоход2bis на базе плис Altera Cyclone IV.

Фактически эта та же самая плата Марсоход2, на той же самой PCB. Печатная плата с самого начала проектировалась для возможного использования с четвертым циклоном. 

Плата с несколькими отличиями: используется другой, менее емкий чип FPGA, 3 светодиода, вместо четырех и одна кнопочка вместо двух. У четвертого циклона на два пользовательских пина меньше, чем у 3-го циклона. Из-за этого теряется светодиод и кнопочка.

Возможно, покажется странным, зачем делать такую плату, но резон здесь исключительно один - это цена. К сожалению последние события показывают, что комплектующие, микросхемы сильно подорожали. Это вынужденная мера - поднять цены на платы и, к сожалению, придется это сделать. Чтобы удержать цену на плату Марсоход2 мы выпускаем вот такую несколько  "усеченную версию".

Ниже представлена сравнительная таблица:

 
  Плата Марсоход2     Плата Марсоход2bis   
Чип  Altera FPGA Cyclone III Cyclone IV
EP3C10E144C8N EP4CE6E22C8N
Логических элементов 10320 6272
Встроенная память 414Кбит 270Кбит
Умножителей 23 (18x18) или 46 (9x9) 15 (18x18) или 30 (9x9)
PLL 2 2
Поддержка Quartus II v13 v14
Проект Amber ARM Да Нет
     

У этой платы Марсоход2bis будет по крайней мере два преимущества:

  • меньшая цена, по сравнению с платой Марсоход2;
  • поддержка чипа Cyclone IV последней версией Altera Quartus II v14 (известно, что 14-й квартус не поддерживает Cyclone III).

К сожалению, некоторые наши проекты для платы Марсоход2 не будут работать в новой плате Марсоход2bis. Например, проект Amber ARM SoC не помещается в ПЛИС меньшей емкости. Пожалуйста учтите этот факт при выборе плат.

Тем не менее, мы надеемся, что этот вариант платы Марсоход2bis найдет своего покупателя.

 

marsohod.org

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *