Простой цифровой радиоприёмник

Решил-таки и я разразиться статьей на тему, которая интересна мне. Тема: цифровое радио, причем это не то псевдо радио, которое передается по сети интернет или вещание в цифровом формате, а нормальное (тру) коротковолновое радио (хотя ничто не мешает работать и с УКВ), только вот весь тракт самого радиоприемника реализован математическим путем.

Весь принцип в нескольких словах чтобы было понятнее: взяли антенну и подключили ее к АЦП, а дальше преобразование, детектирование, усиление, фильтрацию выполнили математическим путем и с помощью ЦАП-а или ШИМ вывели сигнал на динамик… и… слушали и радовались: о).

Зачем вообще это надо, паяли бы себе все как раньше аналоговым способом и не парили бы мозг? Ну, во-первых, это круто, во вторых за этим будущее (и даже уже давно настоящее). Ну а в третьих, как бы ни казалось странным, это схемотехническая простота, возможность нахерачить таких приемников внутри хоть десятки и с одной антенны принимать все сразу одновременно, видеть спектр, как участка, так и всего принимаемого диапазона в реальном времени. Фильтровать и декодировать сигналы, так, как аналоговым способом никогда не получиться и прочее, прочее, прочее… Ну что? Интересно? Если да, то поехали дальше…


Читать дальше

STM32 ADC+DMA+ITC+Усреднение

Происходит плановая доработка железяки и разборки с АЦП в STM32, хочется использовать DMA и написать простой код. А также имеет место импульсное питание и собственно показания скачут, т.е. нужно все усреднять желательно по нескольким десяткам значений на каждое измерение.


Читать дальше

GUI для встраиваемых систем

Предыстория

Техника не стоит на месте, пользователей не впечатляют 7-сегменные и текстовые индикаторы, в двух проектах понадобились простенькие экраны цветные 320х240. Время было ограничено, основная плата сделана, отлажена, а для пользовательского интерфейса в первый десяток устройств пошли китайские demoboard ebay. В качестве GUI — либа от STM.
Изделие удачно прошло промышленное тестирование, но вот пользовательский интерфейс вызывал некоторые нарекания, ибо топорен и жрал ресурсы. Кроме того — избыточность демоплаты, непредсказуемость качества самой платы, экранов, времени жизни, проблемы с белой закупкой, гарантией и т.д. Т.е. то что годится для дома, никак в промустановке. Соответственно, была разработана плата с экраном, под проект.

Читать дальше
  • +26
  • 13 января 2013, 13:25
  • AVF

Криптография для эмбеддера. Введение в ассиметричные алгоритмы.



У меня в черновиках «завалялась» небольшая статья по ассиметричной криптографии. Статья коллеги a9d приводит пример использования «модульной арифметики», (правда в другом ключе) но не объясняет «как это работает». Т. к. коллега запретил комментарии к своей статье (ИМХО, зря, в комментариях самое вкусное), я позволю себе опубликовать данную недоработанную статью.


В последнее время в сообществе возрос интерес к вопросам криптографической защиты информации и я решил написать небольшую статью (вернее продолжить предыдущую).



Читать дальше

Применение printf в stm32f4

PRE SCRIPT:
Те, для кого английский не проблема, могут прочесть статью здесь
Там все по теме принтф гораздо лучше чем у меня. Жаль, я поздно ее обнаружил.Рекомендую!

Так долго боролся с printf на stm32f4 discovery, что решил оставить заметку на память. От печки начинать не буду — предполагается что среда разработки уже функционирует.
Итак, у меня имеется плата stm32f4 discovery, воткнутая в usb, Archlinux с пакетами stlink-git,gcc-arm-none-eabi. Библиотека STM32F4xx_DSP_StdPeriph_Lib_V1.0.1 скачана, makefile взят здесь же — we.easyelectronics.ru/storm_ua/esche-odin-shablon-proekta-pod-stm32-na-gcc.html(спасибо коллеге storm_ua) и слегка подкорректирован. Для пробы написан helloword — лампочки мигают. Дальше собственно борьба с printf. Просто добавить include <stdio.h> и sprintf ( о printf пока не говорим — куда выводить? но sprintf вроде должен работать) не получилось. Масса сообщений о ненайденных функциях _sbrk_r, _exit и тому подобных. Добавляем, как рекомендуется файл syscalls.c. В нем должны быть прописаны реализации системных функций применительно к конкретному процессору. Либо просто пустые заглушки к этим фукциям.


Читать дальше

IR + USB HID = очередной пульт для компа (часть 4)


Краткое содержание предыдущих серий:
Захват и декодирование IR протокола
Теория USB HID
Код для STM32

В этой части я расскажу про программы-полезняшки. Куда уж без них.


Читать дальше

Модифицируем OSAL.

Только хардкор



Читать дальше
  • +1
  • 26 ноября 2012, 07:54
  • a9d
  • 1

IR + USB HID = очередной пульт для компа (часть 3)


В первых двух частях (часть 1 и часть 2) мы разобрали теоретические моменты. В этой части мы перейдем к практике — создадим рабочий код.


Читать дальше

IR + USB HID = очередной пульт для компа (часть 2)


Напоминаю про наличие первой части статьи. В этой части мы разберем на составляющие USB-HID устройство и подготовимся к написанию минимального кода, который по нажатию кнопок на пульте рулит громкостью и проигрывателем.
Поехали…


Читать дальше

IR + USB HID = очередной пульт для компа (часть 1)



Цель данной статьи — продолжение изучения семейства STM32. Поэтому все возражения на тему «а нафига такой мощный проц для такой задачи, я в лихих 90-х делал это на тиньке» или «а в Китае такие по пять рублей пучок» сразу же идут лесом. Тем более, что заглавная картинка взята с ebay, где такой комплект продается за 4-6 баксов.
Статья разделена на три части:
1. Захват и декодирование IR-протокола (таймеры)
2. Создание HID-устройства для выполнения действий на компе без драйверов (USB-HID библиотека)
3. Программа на компе для настройки параметров
4. (опционально, если руки дойдут) Реализация устройства в железе, разводка платы и пайка

Итак, часть первая…


Читать дальше