МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

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


SDR радио приемник.

7-го мая мы будем отмечать день Радио. К этому празднику мы подготовили проект — SDR радио приемник из платы Марсоход2. Теперь наше радио работает!

На видео демонстрации выше видно, что к ноутбуку кабелем USB подключена плата Марсоход2. К плате Марсоход2 подключен просто кусок провода примерно 5 метров, он вывешен на удочке на улицу в окно нашей лаборатории. На ноутбуке запущена программа HDSDR с помощью которой можно перестраивать приемник и слушать радио трансляции. Мы не делали никаких предварительных активных усилителей или фильтров (да, мы знаем, что это не очень правильно), но вот так — просто прием на кусок провода, подключенный к АЦП платы. Несколько станций в принципе ловятся: некоторые на английском языке, некоторые неизвестных нам языках, может китайский или вьетнамский. Довольно сильный сигнал от http://russian.cri.cn/ – международное радио Китая, на русском языке — как раз на видео ролике вверху мы его и ловим.

Вот еще одна видео демонстрация:

Может быть эта демонстрация даже чем-то еще интересней. Здесь одна плата Марсоход2 выступает в роли АМ передатчика и транслирует музыку в эфир на антенну — кусок провода свернутый в колечко. У нас был проект АМ радио передатчика — вот его и используем (правда немного модифицированный проект, здесь несущая частота 7МГц). Ну а вторая плата Марсоход2 выступает в роли SDR радиоприемника. Одной платой передаем радиосигнал, а второй ловим и слушаем. Ну да, дистанция не большая — всего-то метр, но все равно интересно.

Игра Жизнь 64x32

Игра "жизнь". Классика жанра.

Для платы Марсоход2 мы ее уже делали, но там была проблемка - маленькое игровое поле.
Поскольку в плате Марсоход3 с ПЛИС MAX10 у нас есть 50 тысяч логических элементов, то теперь здесь можно значительно расширить игровое поле. Теперь в этом проекте доступно 64x32 клетки. Проект для платы Марсоход3 фактически повторяет проект платы Марсоход2, но есть и отличия - вместо VGA монитора теперь подключается HDMI монитор.

Весь проект можно взять на гитхабе: https://github.com/marsohod4you/FPGA_game_life

 

КИХ фильтр на 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).


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