МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

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


Программатор MBFTDI для Altera Quartus Prime, работающего в Ubuntu Linux

Теперь (впервые!!!) программатор MBFTDI может быть полноценно использован из САПР Altera Quartus II или Quartus Prime в ОС Linux Ubuntu 16.0 LTS. На этом видео видно, как программируется плата Марсоход3bis из Quartus в Ubuntu. 

Здесь рассказывается, как устанавливать и как использовать.

Загрузка ПЛИС из Raspberry PI3

raspberry pi3 loads altera fpga max10 over JTAG

Раздобыл себе плату Raspberry PI3 для опытов.

Подключил плату Марсоход3bis к Raspberry USB кабелем.
Первая мысль, которая пришла в голову: "Можно ли из Linux на raspberry pi3 загрузить проект в ПЛИС платы Марсоход2 или Марсоход3?"

Альтера выпустила Quartus Prime v16

qprime16

Компания Альтера выпустила новую, 16-ю версию своего САПР Quartus Prime для ПЛИС.
Скачать можно на сайте альтеры.

Здесь, как и в предыдущей версии Quartus Prime, существует три вида квартуса: Lite Edition, Standard Edition, Pro Edition. В зависимости от типа редакции САПР поддерживает разные наборы микросхем и разный набор дополнительных возможностей. Конкретные отличия разных редакций квартусов можно посмотреть вот здесь на сайте альтеры.

Меня интересует бесплатная версия Quartus Prime Lite Edition: она поддерживает ПЛИС серии MAX II, MAX V, MAX10, Cyclone IV, Cyclone V, Arria II. Это значит, что мы сможем использовать это ПО с нашими платами Марсоход (MAX II), Марсоход2bis (Cyclone IV), Марсоход3 и Марсоход3bis (MAX10).

К сожалению, для FPGA Cyclone III и платы Марсоход2 нужно использовать отдельную версию Altera Quartus II v13.1.

Что нового в последней 16-й версии? Ну можно почитать вот здесь: https://www.altera.com/products/design-software/fpga-design/quartus-prime/what-s-new.html - как обычно обещают прирост производительности и небывалую оптимизацию. Впрочем, не уверен, что мы это заметим... Вероятно все эти улучшения становятся сильно заметными в очень сложных проектах для очень больших ПЛИС типа Stratix или Arria. Нужно будет поработать с этим квартусом какое-то время, чтобы понять, что стало лучше, удобней (или хуже)..

Я установил себе 16-ю версию, чтобы откомпилировать наш проект "моргаем светодиодами" для Марсоход3 и проверить как загружается проект в ПЛИС через наш программатор MBFTDI. Проверил - успешно откомпилировал и успешно загрузил SOF файл в плату Марсоход3. Работает.

 

Расчет коэффициентов компенсационного FIR фильтра в GNU Octave.

cic fir filters

Во многих примерах проектов SDR радиоприемников для ПЛИС, которые я рассматривал, используется связка из двух фильтров. Идут последовательно CIC фильтр и потом FIR фильтр. Свой SDR приемник, мы сделали так же используя два фильтра последовательно.

CIC фильтр — это интегрально гребенчатый фильтр (cascaded integral-comb filter).

FIR фильтр – фильтр с конечной импульсной характеристикой (finite impulse response filter).

Говорят, что CIC фильтр хорош в реализации, для него требуется не много вычислительных ресурсов и он хорош для использования в задачах передискретизации. Проще говоря, CIC фильтры используются для снижения частоты дискретизации в десятки и сотни раз. Однако, у CIC фильтра есть недостаток — пологая АЧХ. А хотелось бы, чтобы перед ресамплером стоял фильтр с более прямоугольной Амплитудно Частотной Характеристикой.

Поэтому после CIC фильтра ставят второй фильтр, который должен как-то компенсировать пологость АЧХ CIC фильтра. Как его рассчитать?

Структура библиотеки Winrad DLL для SDR радио

vs logo

Программа радиоприемника HDSDR может взаимодействовать с аппаратными SDR приемниками разных производителей. Чтобы добавить поддержку нашей платы Марсоход2 как SDR приемника придется написать интерфейсную DLL со специальным набором экспортируемых функций. Этот набор функций — Winrad API.

На самом деле, Winrad API довольно хорошо описано http://www.winrad.org/bin/Winrad_Extio.pdf , там в PDF даже есть фрагмент кода.

Имеющийся код мне придется адаптировать под прием и передачу через последовательный порт и под протокол передачи, который мы сами себе придумали (5-ти байтные пакеты).

Вкратце расскажу, что же такое эта Winrad DLL. Winrad DLL - это динамически загружаемая библиотека, которая предоставляет программе HDSDR интерфейс для работы с аппаратным приемником. Библиотека Winrad DLL обязана предоставить некоторый минимальный набор функций.


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