Отладочная плата на основе ПЛИС FPGA Cyсlone EP2C5T144

Posted on 2017-03-17 22:11:32

Решил побаловать себя отладочной платой с ПЛИС на борту. К тому же у меня в планах было использоать ПЛИС в своем SDR проекте, так что покупка отладочной платы - лишь вопрос времени. 

В процессе выбора отладочной платы нужно было решить несколько вопросов. Какого производителя выбрать? Xilinx или Altera ? Я выбрал второй. Так как именно ПЛИС альтеры мы использовали для обучения в университете. Я знаком с семейством ПЛИС этой компании, работал в ихней среде разработки Quartus. Про Xilinx мои познания заканчиваются на том, что это конкурент альтеры). Да и так сложилось, что в постсоветском пространстве Altera намного популярнее. Второй вопрос, это FPGA или CPLD? Однозначно FPGA, так как CPLD годится лишь для очень маленьких проектов. Кроме того, насколько я помню из документации, у CPLD крайне малое число циклов записи прошивки в flash (около ста), так что для обучения она не подходит. Ну и последний вопрос, это какого размера нужна FPGA? От этого зависит итоговая цена. Если вы раньше не использовали ПЛИС, думаю будет достаточно самой младшей FPGA. В итоге я выбрал Cyсlone 2 EP2C5T144 Minimum System Learning Development Board. До кучи еще нам нужен программатор - Altera Blaster, если мы хотим сразу же приступить к разработке, а не паять программатор самостоятельно.

А вот и вид самой платы сверху:

Снизу:

За все отдал что то около 12$. Микросхема ПЛИС Altera EP2C5T144C8 Cyclone II FPGA относится к устареввшим, и вполне возможно что в недалеком будущем ее производство прекратится. Но мы же обучаемся, а не подбираем номенклатуру для производства девайсов?  Данная FPGA имеет 4068 логических элементов,  26 блоков RAM 4k, дающих в общей сложности 119 898 бит, 13 умножителей, два PLL и 89 функциональных GPIO. Максимальная тактовая частота составляет 300 МГц. Плата оснащена микросхемой флэш - памяти EPCS4 для конфигурации ПЛИС, тактовым генератором на 50МГц, три светодиода и кнопка. 

Ссылка на pdf файл схемы отладочной платы тут

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

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

Andoid SDR Application - whats next?

Posted on 2017-03-17 20:23:12

Andoid SDR Application - OpenHPSDR, RF Analyzer, glSDR, SDRTouch, SDRoid, UnoSDR. What's next?

Andoid SDR Application - whats next?

 

Подключение RTLSDR через локальную сеть, интернет или быстрый старт UnoSDR с RTL2832

Posted on 2017-03-10 21:10:51

Сегодня мы поговорим о подключении к RTLSDR через локальную сеть или интернет. Данный способ подключения можно исользовать, даже если сервер RTL2832 и клиент находятся на одном компьютере - частая ситуация с UnoSDR. 

В качестве сервера используется rtl_tcp от Osmocom. Существуют порты под windows, linux, и даже android, правда держать сервер на андроид не вижу смысла, если только клиент не находится там же. Так работает, например SDRoid.

И так. Подключаем наш свисток RTLSDR к компьютеру. Запускаем сервер. Сервер для Windows уже находится в дистрибутиве UnoSDR. Когда вы установили UnoSDR, на рабочем столе должно появится дополнительно три ярлыка - сервер для звуковой карты, сервер для RTL2832 и собственно сама программа. Запускаем сервер двойным щелчком мыши. Так же сервер можно запустить из консоли, если вам при запуске нужно указать некие параметры. Описывать их все не вижу смысла, так как настройки свистка доступны из программы UnoSDR в графическом режиме. Единственное что может понадобится, это сменить дефолтный номер порта - 1234 "-p номер_порта" или задать конкретно, к какому донглу подключатся (если у вас их несколько подсоединено к компьютеру) "-d номер устройства (по умолчанию - 0)".

Все готово, теперь можно запустить UnoSDR и подключится к серверу. IP адрес сервера можно узнасть, набрав в консоли команду "" для windows. Для linux команда следующая -  "ifconfig".

rtlsdr rtl_tcp get ip server

Есди вы используете linux для сервера, вам придется скомпилировать rtl_tcp. Как это сделать, я описал тут Компиляция RTLSDR библиотеки на Ubuntu 14.04 64 bit. После компиляции у вас должен появится бинарник rtl_tcp. Запускать его нужно под правами суперпользователя.  При первом запуске сервера может появится ошибка:

Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.

Лечится выполнением команды

sudo rmmod dvb_usb_rtl28xxu rtl2832

 

Публикация Qt приложения в Google Play

Posted on 2017-03-08 17:50:29

Сегодня я опишу небольшой туториал - как скомпилировать валидный для google play apk файл. Когда я впервые столкнулся с этой задачей, оказалось, что в интернете годных туториалов то и нет. Кстати, если вы собираетесь серьезно занятся разработкой android приложений на Qt, готовьтесь, что выше описанная ситуация будет повторятся достаточно часто.

И так, начнем. Для того, что бы разместить свое приложение в google play, естественно нужно иметь там аккаунт, который не бесплатный, а стоил на момент моей регистрации порядка 20 - ти долларов. Если вы подумаете что это много, в apple нужно отдать порядка ста долларов. Описывать процесс регистрации не стану, так как эта информация быстро устаревает.  К тому же есть множество руководств как в письменном виде, так и в формате видео. 

Сборка Qt Android приложения для Google Play

Для того что бы у нас получился правильный apk файл, переключаем в Qt Creator сборку в релизный (Release) режим. Как это сделать поймет любой, кто уже использовал Qt Creator. Далее открываем окно "Проекты" (Ctrl + 5). Вы должны увидеть что то наподобие этого:

публикация Qt приложения для Android

Нажимаем на "Подробнее" напротив "Собрать Android APK"

deplot Qt android application for google play

Идем по порядку. "Подписывание приложения" - Вы должны подписать свое приложение, аналогично как вы делали это в android studio. Если у вас уже есть файл ключей, указываете к нему путь, выбираете алиас. Сначала нужно будет ввести мастер - пароль. Когда вы нажмене на старт процесса компиляции, нужно будет ввести пароль алиаса. Если у вас нет файла ключей, создайте его, нажав на кнопку "Создать..." Появится следующее окно:

Деплой Qt android приложения в Google Play

Все поля ввода интуитивно подписаны, так что я не знаю что еще добавить). Вводим нужные данные, сохраняем.

Далее следует обратить внимание на поле "Установка Qt". "Устанавливать Qt во временный каталог" не работает. Этот пункт не следует выбирать. Остаются "Использовать Ministro для установки Qt" и "Внедрять библиотеки At в APK". Если выбрать ministro, то размер итогового apk файла будет меньше, чем если выбрать второй вариант, но при первом запуске приложение должно подгрузить нужные библиотеки через интернет. Я обычно выбираю второй вариант, так как это исключает точку отказа, а на размер файла пользователи обычно не обращают внимания.

Для создания файла манифеста нужно нажать на кнопку "Создать шаблоны"

Публикация Qt-приложения для Android

Переключение между xml исходником и Qt Creator редактором осуществляется с помощью кнопок "Основное/Исходник XML". В файле манифеста нужно указать имя пакета, версию приложения, минимальный, целевой SDK. Загружаем значки приложения, выставляем нужные разрешения. Кстати, нужно быть осторожным с разрешениями. Один раз я выставил слишком много разрешений, и мне потом пришло письмо "Warning of Google Play Developer policy violation: Action Required", с которым я не знал что делать. Если ничего не делать, то по происшествии недели Google обещал удалить мое приложение с Google Play ). С приложениями, разработанными нативными средствами таких проблем не было. После компиляции у нас должен получится валидный apk файл, который подойдет для загрузки в Google Play.

Дальнейшие шаги работы с Google Play я рассказывать не буду, так как данной информации в интернете достаточно. Правда может возникнуть один нюанс при загрузке apk в google developer console в виде ошибки: "Прежде чем опубликовать APK-файл в Google Play, запретите его отладку". Дело в том, что Qt Cteator не сохраняется состояние галочки "Подписывание пакета". Поэтому при каждом открытии проекта, когда вы собираетесь собирать приложение, нужно ставить эту галочку.

 

 

First Previous 1 2 3 4 5 6 7 8 9 Last