МАРСОХОД

Open Source Hardware Project

Магазин FPGA плат

ПЛИС Altera MAX II, Cyclone III, Cyclone IV, MAX10...

Купить плату!

FPGA проекты

Serial, USB, VGA, HDMI, ARM, NIOS, CPU, SDRAM, Ethernet, IR, Bluetooth, Radio, ADC

Смотреть..

Уроки Verilog HDL

Язык описания аппаратуры: краткое изложение и рекомендации

Читать..

САПР Altera Quartus Prime

Основы проектирования для ПЛИС Altera

Изучать..

FPGA & CPLD Блог

КИХ фильтр на Verilog

title img

В этой статье я хочу рассказать о своих экспериментах по созданию простого параметрического цифрового КИХ фильтра на Verilog HDL. До сегодняшнего дня я старался избегать тем цифровой обработки сигналов на нашем сайте: все таки это довольно сложно. Ну а когда сложно, то приходится много времени тратить просто на самостоятельное изучение вопроса. Вот сейчас только неделю читал сайт http://www.dsplib.ru/content/filters/ch10/ch10.html - очень интересный ресурс, где все довольно лаконично и понятно. После прочтения нескольких статей с сайта dsplib.ru я понял, что теорию мне лучше не писать. А вот свое понимание и свою реализацию фильтра на Verilog я пожалуй смогу предложить.

Итак, цифровые фильтры - это устройства цифровой обработки сигналов.

Отрисовка спектра сигнала в программе на Python

scipy

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

Но нет. Мне Alexandr говорит, что нужно найти периодичность, спектр, автокорреляцию и только потом что-то утверждать. Чтобы хоть как-то оправдаться, решил хотя бы найти и показать спектр шумового сигнала, полученного из моего генератора LFSR.

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

Теперь к делу..

Простой генератор псевдослучайных чисел

lfsr, Регистр сдвига с линейной обратной связью
Давно ничего не писал в блоге Марсохода - много всякого навалилось, всякие дела, командировка, встречи..
Вот решил восполнить пробел и сделать очень простой проект. Простые проекты ведь тоже нужны, особенно тем, кто только начинает изучать ПЛИС. Это проект выходного дня. Собственно я его в воскресенье и сделал, а вот описать его - это то же работа требующая времени и внимания.

Очень простой генератор случайных чисел. Такой простой, что я его даже и не придумывал, а просто взял описание в википедии: Регистр сдвига с линейной обратной связью. В англоязычной литературе такой метод генерации псевдослучайных чисел называется linear feedback shift register, LFSR.

Берется сдвиговый регистр и по каждому такту сдвигается вправо, а новый, вычисленный бит задвигается в регистр слева. Вычисление нового бита ведется операцией исключающего ИЛИ (XOR).

Немного самолетов.

Шереметьево

Текущие проекты (да-да, проект marsohod.org - не единственный наш проект) иногда требуют жертв. Вот пришлось ехать в командировку на неделю. Всего каких-то 15 часов пути и три самолета в Европу..

Вот несколько фоток. Вверху - Москва, аэропорт Шереметьево, Терминал D.

Демонстрация работы USB хоста для платы Марсоход3bis

Компьютерный хаос на столе

В предыдущей статье я рассказывал, как делал USB хост, как симулировал его с помощью тестбенча. Сейчас я встроил его уже в реальный проект квартуса. Сделал интеграцию verilog модуля usb11ctrl.v в свой проект USBTerm для среды Altera Quartus.

Это фото показывает весь ужас разработки USB11 хоста на плате Марсоход3bis.

  • сама плата Марсоход3bis подключена к ноутбуку кабелем USB2 для скоростной передачи данных в плату (отрисовка изображений на экране и команды в USB11 хост) и передачи данных из платы в ноутбук (результат исполнения USB команд на шине);
  • так же, к плате подсоединен программатор MBFTDI для программирования ПЛИС и отладки проектов в среде Quartus SignalTap;
  • к плате, через разъем HDMI, подключен монитор (на самом деле телевизор) для отображения изображений переданных из ноутбука в плату;
  • на плату Марсоход3bis установлен шилд разъемов для подключения USB мыши и (в будущем) клавиатуры;
  • для контроля и отладки контроллера USB используется аппаратный USB анализатор - устройство подслушивающее весь USB трафик и показывающей его на ноутбуке; подключается по третьему кабелю USB к ноутбуку.

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