МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

САПР Altera Quartus II / Quartus Prime, язык Verilog HDL, ПЛИС Cyclone III, Cyclone IV, MAX II, MAX10.
Платы разработчика серии Марсоход, Марсоход2, Марсоход3.


Verilog State Machine Framework

FSM, Finite State Machine

Рискну предложить почтенной публике мое новейшее "изобретение": VSMF, Verilog State Machine Framework.
Я делаю его для одного из наших внутренних проектов. Пока это не полностью завершенная работа, но скорее демонстрация идеи.

VSMF - это такая даже не библиотека, а набор макросов для упрощенного описания машин состояния на языке Verilog HDL.

Не знаю кому как, но мне бывает трудно описать машину состояния (FSM, Finite State Machine), если состояний много и много разных условий переходов. Хоть я и поклонник Verilog, но здесь на мой взгляд он не очень удобен.

Думаю Вы и сами без труда можете нагуглить статьи типа How to write FSM in Verilog? или Verilog HDL Templates for State Machines

Информации по машинам состояния в интернете много. Примеров много. Но писать FSM все равно не легко.
Если логика у машины состояния сложная, то зачастую у разработчика возникает мысль: "а не вставить ли в ПЛИС какой нибудь софт процессор, чтоб потом на нормальном языке всю логику описать".

Другие идут еще дальше - делают транслятор с традиционных языков типа C/C++ в Verilog или VHDL.
Не плохая мысль, кстати.

Я довольно долго работал над этим вопросом и вот придумал VSMF.

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

CycloneIV

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

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

Фотографирование: пульт дистанционного управления к Canon EOS 650D

star tracks
Мое фото: Canon EOS 650D: f/4, 18 мм, 949 сек, ISO-200 (10 км от города и небо сильно засвечено).

Захотелось мне пофотографировать звезды на длинных выдержках. Так, чтобы оставить фотоаппарат неподвижным хотя бы минут на 10-15 и увидеть, как поворачиваются звезды вокруг Полярной звезды. Опыта у меня особо никакого нет, что я точно знаю - хорошо бы фотоаппарат во время съемки не трогать руками, чтобы он не дрожал во время нажатия кнопки. Поэтому нужен штатив для фотоаппарата и пульт дистанционного управления.

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

Использование встроенного в Altera MAX10 АЦП

altera max10 adc block
Микросхемы ПЛИС серии MAX10 компании Альтера имеют встроенный Аналогово-Цифровой Преобразователь, АЦП. Это довольно интересно, так как совместить в микросхеме цифровую и аналоговые части не очень просто. С другой стороны, получившееся техническое решение лично мне кажется каким-то немного странным, не совсем продуманным и не очень логичным. Взять хотя бы такой факт, что макcимальная частота оцифровки для MAX10 составляет всего 1МГц. Вот казалось бы - ПЛИС - это технология предназначенная для обработки больших массивов данных, скоростных потоков информации. Но что такое 1МГц для ПЛИС? Как-то маловато будет. Вот было бы 50МГц или 100МГц - вот было бы круто.. Но видимо сделать это совсем не просто.. Так что имеем то, что имеем - 1МГц.

Попробуем все же посмотреть, как можно использовать АЦП в нашей плате Марсоход3 / Марсоход3bis..

Проект скоростной передачи данных в ПЛИС платы Марсоход3

m3 ftdi

На плате Марсоход3 есть ПЛИС Altera MAX10 и чип FTDI FT2232H. 

Для скоростной передачи данных в ПЛИС платы Марсоход3 будем использовать режим синхронного FIFO микросхемы FTDI.

Вся подготовительная работа для этого проекта описана в моей предыдущей статье. Там есть описание, как запрограммировать микросхему памяти EEPROM на плате, с тем, чтобы перевести FT2232H в режим синхронного ФИФО и там есть описание, как поставить перемычки (jumpers) и подключить второй программатор для загрузки проекта в ПЛИС и для отладки проекта.

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


GitHub YouTube Twitter
Вы здесь: Начало