Работа с SDR-свистками на C# (RTL2832)

Было время, когда стала очень популярна тема SDR (цифровая обработка радиосигналов) на всяких дешёвых китайских радиосвистках, и многие их купили. Посмотрели, наверняка, в программках спектры всяких радиостанций и убрали на полку. Но если заниматься проектами, где используются субгигагерцовые передатчики или какие-то внешние сигналы, то свисток может ещё послужить с пользой — проверить какие-то частоты, посмотреть, что на них сидит или даже декодировать сигнал, если частота выборки позволяет, и известны алгоритмы кодирования.

Меж тем, подключить свисток к программе на C# достаточно просто.


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

Mодуль AVR ATmega8A (TQFP32) для Pinboard II

Чем он отличается от уже имеющегося модуля?
  • наличие двух дополнительных входов ADC6 и ADC7 (только для TQFP32).
  • возможность джампером подключить AREF к AVCC или конденсатору.
  • возможность джампером подключить pull-up резисторы шины I2C.
  • возможность джамперами подключить одновременно восемь линий портов PB и/или PD к светодиодам для отладки программы.
При этом модуль менее универсален т. к. контроллер незаменяемый.


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

Радиомодуль nRF24L01+ быстрый старт.

Попался ко мне в руки вот такой радио модуль nRF24L01+, вот отсюда.



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

i2c (slave) расширитель на ATMega

AVR
Потребовалось тут из основной задачи на ARM-e под Linux дрыгоножество неспешное, а ног под GPIO сконфигурировано всего 3 шт! Разумеется, можно пересобрать ядро соответствующим образом, но поскольку в данном вопросе пока слаб, решил поставить расширитель i2c. Когда понял, что в городе я микросхем не найду, и посмотрел цены — понял, что ATMega весьма неплохое решение в данном случае! Попутно выяснил параметры для AVRDUDE, чтобы шить через Arduino бутлоадер.
Очень сильно помог этот материал в разборках с TWI, он же «квадратная шина» i2c.
Возникла заминка — как получить доступ не только регистрам PORTB, но и к остальным, а в идеале — ко всей периферии? Если делать в лоб — сравнивать адрес, потом обратиться к нужному регистру — много кода, ненаглядно, и никакой гибкости. Подумал, поспрашивал на форумах — на местном камрады почти готовое решение дали — используем указатель, значение которого вычисляется, и уже через него читаем-пишем в нужный порт.
В общем, кому надо — пользуйтесь. Мега прикидывается 24cXX, адресация начинается с PINB, дальше — по даташиту. Кому хочется адресации по даташиту — поправьте строку
#define BASEPORT PORTB-2

на такую:
#define BASEPORT PORTB-5

В этом случае адреса будут соответствовать описанию от Atmel.
Ещё момент — не уверен, что будет доступна периферия в верхних адресах, например — UART.
Скриншот терминала с проверкой ниже.

i2c-tools
  • 0
  • 20 августа 2013, 06:47
  • Hoksmur
  • 1

Бюджетная радиосвязь для микроконтроллеров AVR

AVR
Здравствуйте. Задался я недавно целью организовать радиосвязь между контроллерами AVR, бюджет был очень ограничен и поэтому в качестве контроллеров для теста были выбраны два Atmega8 давно валявшиеся без дела. Когда же начался поиск подопытного трансивера я был неприятно удивлен ценами на готовые радио модули, короче на те деньги что я рассчитывал в Украине можно было купить только пару «плата приемника — плата передатчика» на 433 мгц (такая китайская там еще катушки проволочные на плате). Но хотелось то полноценный двусторонний линк и поэтому я начал искать в инете подходящий вариант. Им оказался радиомодуль на 2,4 Ггц. NRF24L01 привлек конечно ценой.

В базовой версии без усилителя и с антенной выполненной на печатной плате. На момент написания статьи пару таких модулей на ebay можно было купить по $3.23


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

SWITCH-технология для МК. Пример реализации на AVR.

AVR

SWITCH-технология для МК. Пример реализации на AVR.


Disclaimer
Цель написания данной заметки исключительно простая — поделится собственным опытом и наработками применения так называемой SWITCH-технологии при разработке программного обеспечения для МК. В данной заметке приведено краткое описание реализации UART LCD дисплея на ATmega8 и символьный дисплей 2Х16 символов (исходники прилагаются).

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

Приём-отправка данных между МК и программой на ПК (RS-232)

После того, как вдоволь намигался светодиодом stm32 и посмотрев температуру с LM75, решил погонять данные между компом и демоплатой.
Что именно за данные?
1) Отправка — по тыканью на кнопку в программе зажигаем светодиоды;
2) Прием — в программу сливаем данные с АЦП.
Демоплата — STM32VL-Discovery + CooCox IDE
Для ПК пишу с использованием Qt, который можно выкачать отсюда http://qt.nokia.com/downloads

Disclaimer: я не профессиональный программист, и впервые познакомился с ООП. Да и вообще это моя первая статья. Так что баги/фичи/наставления приветствуются пирожком и конфеткой :)


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

USB для AVR. Часть 2. HID Class на V-USB



Здравствуйте, в данной статье попытаюсь доступным языком описать USB HID Class устройство на микроконтроллере AVR, а также как общаться с таким девайсом программе написанной на Borland C++ Builder 6 под Windows. Рассмотрим основные настройки V-USB, откомпилируем прошивку для микроконтроллера, напишем простенькую программу пример для ПК, весь код хорошо комментирован. В качестве подопытного микроконтроллера — ATmega8 (можно смело брать любой другой, завалялась просто у меня старая ;) макетка Trashduino, эх ностальджи...) Также для ознакомления можно почитать: USB для AVR. Часть 1. Вводная


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

USB для AVR. Часть 1. Вводная


Здравствуйте, решился я испытать свои творческие таланты :) Речь пойдет об популярном интерфейсе USB, а именно как заюзать этот самый USB на простых микроконтроллерах AVR. Планирую написать несколько топиков с примерами кода и разъяснениями как со стороны микроконтроллера, так и со стороны компьютера. Конечно на просторах интернета полно всяческих примеров на данную тематику, но как писал DI HALT в правилах конкурса: «в лучшем случае это исходник в котором сам черт ногу сломит, да краткое, на страничку, его описание.»


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