- PVSM.RU - https://www.pvsm.ru -
Недавно я прочитал статью [1], в которой автор пророчит нам веселое, но светлое будущее. Кроме всего прочего, он говорит дословно следующее: «Если мы ничего не можем поделать с тем, что государство следит за нами, мы должны иметь право следить за ним».
Замечательный тезис! Даешь гонку радио-вооружений!
В правовых вопросах мне предложить нечего, а вот в плане техники можно внести свою малую толику. Дело, конечно, не только в радио. Есть много других информационных и технических средств, которыми надо обладать для такой слежки. Я сосредоточусь на радио-технических, так как это мне ближе по профессии.
Вы, возможно, уже читали про демонов [2] и про робингудов [3]. Продолжая работу в этом направлении, хочу рассказать о новой плате SDR-приемника.
Она построена на всем известных однокристальном трансивере AD9363(4) и USB3-контроллере CYUSB3014.
Кто-нибудь обязательно захочет забросать меня камнями за изобретение велосипедов. Если дочитаете до конца, то — милости просим.
Цель разработки платы — создать приемник со следующими свойствами:
Первые три пункта стали возможными благодаря способности CYUSB принимать данные от сложных источников. Таким образом, мы можем избавиться от FPGA на выходном интерфейсе микросхемы трансивера. AD9364 с режиме Dual Port Full Duplex выдает данные, клок и сигнал FRAME, по которому синхронизируются квадратурные составляющие выходного цифрового сигнала.
Временные диаграммы:
К счастью, интерфейс GPIFII микросхемы CYUSB3014 при определенной настройке может опираться на сигнал типа FRAME для синхронизации квадратурных составляющих. Надо лишь завести его в схему GPIFII и заставить ее ждать первого фронта FRAME и потом уже не обращать на него внимания. В диаграмме состояний GPIFII это выглядит так:
Передающий тракт трансивера выключаем, нам нужен только приемник. Его и нельзя завести напрямую в CYUSB, так как в контроллере есть баг, который проявляется только при работе на передачу и который можно исправить только с помощью FPGA.
Схема вот такая, очень простая:
Четвертый пункт, широкий диапазон частот, обеспечивает сам трансивер. И мы ему не мешаем — не ставим там никакого трансформатора. Чудно, но таким образом мы получаем возможность подключить симметричную антенну прямо ко входу приемника. Всегда можно, пожертвовав характеристиками, поставить в одно плечо 50 Ом и подключить обычную антенну.
Большая полоса приема обеспечивается интерфейсом USB3. Контроллер CYUSB3014 достигает скорости передачи данных 400 МБайт/с, что соответствует 100 МГц полосы 16-ти разрядного квадратурного сигнала. Это даже больше, чем может выдать приемник.
Разъемы внешней опоры и синхронизации сделаны сбоку, на переднем крае не поместились. Разъем внешней синхронизации понадобится для местоопределения помех, за которыми надо следить.
Ну и поддержка GNURadio обеспечивается руками и головой программиста. Ну и немножко задницей, конечно. Софт смотрите здесь [4] и здесь [5].
По первой ссылке C++ библиотека, работающая с платой через libusb и дающая интерфейс для управления настройками AD9364 и ввода отсчетов. Библиотека реализует загрузку firmware, передачу команд в регистры AD9364 и получение отсчетов сигнала.
По второй ссылке форк GR-OSMOSDR, который упрощает включение новых плат в GNURadio. Здесь был добавлен блок Source для новой платы.
В результате получаются некоторые картинки спектра:
Теперь можно воткнуть плату в планшет и вот так красиво мониторить эфир.
P.S.
На основе схемотехники этой платы сейчас разработан SDR-модуль для Jetson TX2. В следующий раз напишу про него.
Автор: itsar
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/284029
Ссылки в тексте:
[1] статью: https://www.rbc.ru/technology_and_media/03/05/2018/5ae303db9a79476a10cd49e3?from=center_13
[2] демонов: https://habr.com/post/337608/
[3] робингудов: https://habr.com/post/344860/
[4] здесь: https://github.com/amungo/libadsdr
[5] здесь: https://github.com/amungo/gr-osmosdr
[6] Источник: https://habr.com/post/415033/?utm_campaign=415033
Нажмите здесь для печати.