FPGA & Verilog БлогFPGA chips

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


mcy112 angles 1280

Мы разработали новую FPGA плату MCY112 с чипом ПЛИС Altera Cyclone I EP1C12Q240C8. Мы понимаем, что ПЛИС Cyclone I не самый новый чип на сегодняшний день, но его достоинство - он есть в наличии и он более-менее доступен по цене. И главное - на этой плате очень много пользовательских выводов! Можно много чего подключить!

OrangePi PC2

Сегодня решил провести эксперимент. Можно ли подключить плату MA3128 с ПЛИС Альтеры EPM3128ATC100 не к Raspberry Pi3 или Pi4, как это задумывалось изначально, а к какому нибудь другому микрокомпьютеру. У меня в наличии имеется несколько одноплатников. Попробую на Orange Pi PC2. Интересно испытать нашу MA3128 на совместимость с другими платами, так как цены на оригинальные Raspberry Pi микрокомпьютеры в настоящее время не радуют. Что получится?

ma3128 step motors

В проекте rpi-hat-io я уже подключал шаговый моторчик 28byj-48 к плате MA3128 и заставлял вал моторчика вращаться. Сейчас я хочу сделать проект посложнее. Во-первых, я хочу подключить сразу 4 моторчика и управлять вращением каждого из них независимо. Во-вторых, мне хотелось бы избавиться в программе управления от программных задержек. Программные задержки вещь ненадежная. На микрокомпьютере Raspberry работает обычная десктопная операционная система, которая в принципе не может обеспечить высокую точность программных задержек.

Мне хотелось бы в ПЛИС платы MA3128 реализовать какую-то более сложную логику, чтобы можно было бы подать команду "выполнить шаг на двигателе N". В ПЛИС платы всего 128 логических элементов, как же быть? Попробуем сделать..

ma3128 rpi stepmotor connected 

Второй проект для платы MA3128 будет немного сложнее, чем двоичный счетчик, описанный в предыдущей статье. Теперь я хочу установить нашу плату, как и задумывалось, на микрокомпьютер Raspberry Pi3. И даже подключу к плате шаговый микродвигатель. Плата MA3128 соединяется с Raspberry через 40ка пиновый разъем GPIO.

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

Сделать это не трудно. Нужно только определиться, какие выводы GPIO в Raspberry мы будем применять для этих целей.

Приступим к реализации этой идеи.

К каждой нашей FPGA или CPLD плате мы всегда делаем самый первый проект очень простым. Обычно это что-то вроде двоичного счетчика, отображающего биты на светодиодах платы. Не будет исключением и плата MA3128 на базе CPLD Altera серии MAX3000 EPM3128ATC100. Все-таки начинать изучение чего-то нового, новой платы всегда лучше с чего-то простого.