Rds приемник своими руками

Схема FM RDS-декодера

RDS — что это такое.

RDS ( Radio Data System ) — радиовещательная система для передачи на ультракоротких волнах вместе со звуковым сигналом небольшого количества цифровой информации.

Эта система была разработана в Германии в начале 90-х годов и, фактически, является развитием первой системы информационной радиослужбы для водителей — ARI (тоже немецкой). RDS применяется в Европе, США (

50% радиостанций), ЮАР (до 70%). Начато развёртывание сетей RDS в Австралии, Южной Корее и Китае. В Японии применяется немного друга система радиоданных, разработанна японцами специально для внутреннего применения. Дело в том, что в RDS едва ли удастся применить какой либо другой алфавит, кроме латинского.

Для передачи информации используется специальна поднесущая частота 57 кГц — треть гармоника пилот-тона 19 кГц, что делает RDS несовместимой с полярной стереосистемой. Вне зоны уверенного приёма, если не горит индикатор «стерео» RDS работать не будет. Если сигнал слабый — информация может обновляться реже, частично пропадать. На частотно-модулированной поднесущей переда-тся несколько потоков двоичной информации, каждый из которых соответствует определенному режиму.

Режимы RDS

Основным функциональным режимом системы RDS является PI (Program Identification).
В этом режиме радиоприемник принимает информацию о том, что радиостанция использует систему RDS. Далее следует режим PS (Program Service), в котором принимается название станции в 8-ми разрядном коде. Вместо названия может идти некоторая информация, разбитая на слова или фразы по 8 символов.

Режим TA (Traffic Announcement), он же TI — Traffic Information. ан ещё в системе ARI. Будучи активированным, он заставляет автомагнитолу, музыкальный центр или усилитель, связанный с тюнером по системе LINK, переключаться с воспроизведени кассеты или компакт-диска на приём радиостанции, передающей в этот момент информацию для водителей. Уровень громкости при этом увеличивается. По окончании специальной передачи магнитола возвращается в исходное состояние. Если несколько радиостанций объединены общей системой RDS, то приёмник также будет временно переключаться на приём станции, передающей Traffic Announcement (режим EON). Впрочем, можно заставить приемник сканнировать весь диапазон в поисках TA.

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

Система RDS обеспечивает также возможность приёма информации о виде транслируемой программы — режим PTY (Program Type). Стандартом предусмотрено 16 основных типов программ, которые можно оперативно менять, в зависимости от содержани передачи. Например, Ностальжи установила у себя идентификатор POP MUSIC, Серебряный Дождь — LIGHT MUSIC, а Престиж-Радио — OTHER MUSIC. Устанавливать, например, во врем передачи новостей идентификатор NEWS никто в Москве не пробовал, хотя это одна из наиболее удобных возможностей системы. Дело в том, что в дорогих моделях радиоаппаратуры есть функция, заставляющая приемник просканнировать весь диапазон (незаметно для слушателя) в поисках указанного идентификатора, и, если он обнаружен, переключиться на эту частоту. Поиск идентификаторов TA, NEWS или INFO можно сделать постоянным (режим EON), тогда приёмник, обнаружив появление одного из этих идентификаторов на какой-либо RDS-станции, переключитс на её частоту.

Читайте также:  Гараж инструмент приспособления своими руками

Из других возможностей RDS можно отметить передачу текущего времени Clock Time с точностью до минуты и Radio Text — бегущую строку, как правило, повторяющегося содержания. Эти режимы считаются дополнительными и автоматически не включаются.

RDS в Москве

Первые попытки применения этой системы в Москве, судя по всему, начались только в январе 1997 года. Сигнал RDS был зафиксирован на частотах трёх радиостанций:
103,0 МГц — Радио РОКС; 100,1 МГц —Серебряный Дождь и 101,7 — Престиж-Радио. В мае этого года идентификатор RDS появился также у Ностальжи (100,5 МГц) и Русского Радио (105,7). На восьмиразрядном дисплее приемника их названия отображались соответственно как:
* ROKS *, SIL*RAIN, PRESTIGE, NOSTALGI, PYCCKOE.
Однако, Радио РОКС приостановило вещание в начале марта, а в конце июня исчез идентификатор RDS на частотах Престиж-Радио и Ностальжи.

Некоторые особенности национальной RDS.

Нужно всегда помнить, что эта система разработана в Германии и исходит из германских реалий. Наиболее эффективна она при совместной работе нескольких RDS-станций в общей сети. К примеру, в Германии имеется 5 государственных радиопрограмм, достаточно специализированных. И дорожную информацию передаёт одна из них — третья. В момент начала такой передачи остальные программы дружно транслируют RDS-сигнал, извещающий об этом факте. Независимым коммерческим станциям в Москве будет очень трудно договориться о таком взаимодействии.
Зато есть иные соблазны. Так, существует идентификатор ALARM, предназначенный дл правительственных и экстренных сообщений. Он имеет приоритетный статус по отношению к остальным и удерживает приёмник на частоте передающей его станции (немецкий менталитет). Отечественна коммерческая станция вполне может использовать его просто дл привлечения к себе внимания (что пару раз уже имело место на Серебряном Дожде) или ещё хуже — в рекламных целях. Такие действи можно однозначно квалифицировать как радиохулиганство.

Принципиальная схема декодера

Принять RDS-сигнал можно с помощью несложной приставки. В качестве основы применена микросхема TDA 7330, реализующая основные функции RDS-декодера.

Вариант 1 — с применением микроконтроллера PIC16F84 с выводом текстовой информации на ЖК-экран:

При сборке конструкции следует обратить внимание на то, чтобы соединительные провода до индикатора должны быть как можно короче (не более 5 мм, это при монтаже платы «к спине» индикатора вторым этажом), плюс сам корпус индикатора д.б. очень хорошо заземлен (как и весь декодер, лучше расположить его в глухой жестянке).

Вариант 2 — с применением программного декодера:

Несложная программа для декодирования RDS-сигналов, которую следует подключать с COM-порту компьютера:

Источник

Радиоконструктор: FM радио на базе Atmega328-P и RDA5807M

Добрый день, уважаемые хабражители!

Меня зовут Михаил Матвеев, и я хотел бы представить Вашему вниманию проект современного «радиоконструктора», основанного на МК Atmega328 и чипе RDA5807M.

Предыстория

Я думаю, многие из вас не только слышали, но и непосредственно сталкивались с такой платформой, как Arduino. И как показывает моя личная статистика, очень немногие заходят дальше, чем поморгать светодиодами. Когда я познакомился с Arduino в первый раз, меня останавливало то, что не было идей, как именно я бы мог использовать все возможности того же UNO на «полную катушку». Хватило только на сборку простенького робота на двух колёсах и сигнализации. Вместе с тем, хотелось сделать что-то более основательное.

Читайте также:  Есенин плакат своими руками

Тогда я вспомнил о своем детстве, в котором были так называемые «радиоконструкторы». Суровый советский DIY Kit, который при правильной сборке и грамотной пайке даже начинал работать, и ловил радиостанции в различных диапазонах: Юность, Электрон-М и другие.

Ни один из таких Kit’ов мне не достался, зато достался ЭКОН-1:

Основной «фишкой» этого конструктора было то, что с его помощью можно было быстро и просто собрать большое количество различных устройств, от простых «пищалок» до вполне полноценного радиоприемника.
ЭКОН-1 — одна из многих причин, по которой я вообще оказался в сфере IT. И мне пришло в голову, что было бы неплохо создать современную версию подобного конструктора, чтобы все желающие могли получить удовольствие от только что собранного своими руками девайса.

Прототип на монтажной плате

Мой друг, талантливый инженер Константин Томаревский, поддержал идею, и мы начали думать о том, как сделать первый прототип.

Идея была в том, чтобы создать FM приемник, которым можно было бы управлять через МК.
Первый прототип был собран на монтажке, и стало понятно, что это работает 🙂

Для самой первой версии были выбраны следующие компоненты:

1. МК Atmega328P-PU
2. RDA5807M
3. Дисплей Nokia 5110

Такой микроконтроллер используется в Arduino UNO, соответственно, наше устройство совместимо с UNO на аппаратном уровне.

RDA5807M — «сердце» нашего конструктора. Этот тюнер имеет следующие возможности:

— Технология КМОП
— Монолитный корпус, не требует внешних компонентов (почти)
— Полоса частот: 50-115 МГц
— Шаг между каналами – от 200 до 25 кГц
— RDS/RBDS
— АЦП и встроенный синтезатор частот
— Адаптивное подавление шума
— Цифровой интерфейс (I2C)
— Уровень сигнала (RSSI)
— Усилитель
— Регулировка громкости звука

Дисплей Nokia — черно-белый, 84х48 пикселей. Он очень прост в подключении и управлении.

После пайки на монтажной плате получилось как-то так:

Было решено использовать Bootloader от Arduino, это позволило сохранить совместимость со всеми многочисленными библиотеками и существенно снизить порог вхождения для тех, кто уже имел какой-либо опыт работы с платформой.
Интерфейс взаимодействия с пользователем реализован следующим образом. Три кнопки, подключенные к аналоговому входу МК через резисторы, используются для переключения режимов и управления приемником. Еще одна кнопка служит для перезагрузки МК. Экран, соответственно, отображает информацию о громкости, станции и т.д.

ЛУТ, фоторезист и отладка

После успешных испытаний на монтажной плате мы решили создать ещё несколько прототипов методом ЛУТ (а в дальнейшем — фоторезистом). Также мы решили усовершенствовать приемник, добавив туда ещё один усилитель звука для подключения не только наушников, но и внешнего динамика. Выбор пал на PAM8403, это простой и недорогой усилитель, который требует питания 5В.

Первый прототип, изготовленный методом ЛУТ, выглядел следующим образом:

ЛУТ — хорошая штука для относительно быстрого прототипирования в домашних условиях, но когда дело доходит до двухсторонних плат, начинаются сложности. Количество компонентов на плате увеличивалось — например, мы решили разместить на плате разъем для программатора, чтобы не было необходимости каждый раз извлекать МК для перепрошивки. Так, последующий прототип стал двухсторонним, был изготовлен методом фоторезиста и стал выглядеть намного приятнее:

Читайте также:  Как сделать сарай для овец своими руками

Следующим шагом был отказ от «навесных» компонентов, которые мы размещали на плате при помощи однорядных PINов. Так, было принято заменить усилитель на LM386N, установить преобразователь уровней CD4050BE. Всё это усложнило конструкцию, но устройство стало выглядеть намного лучше.

Итоговый прототип, изготовленный нами в домашних условиях, выглядел так:

Заказ печатных плат

В Китае можно заказать печатные платы, выполненные промышленным способом. Стоимость выходит относительно небольшой даже при малых тиражах, а время ожидания (включая доставку) как правило не превышает 2-3 недель.

Первую «партию» плат заказали на PCBWay. Так она выглядела:

Одна из проблем, с которой мы по неопытности столкнулись: металлизация «съедает» значительную часть размера самого отверстия, поэтому некоторые компоненты с трудом «влезали» в нужные отверстия. При проектировании схемы необходимо учитывать этот момент.

По результатам тестирования мы ещё немного доработали конструкцию, добавив несколько конденсаторов для более стабильной работы устройства. Собрали ещё один прототип:

Разъём USB используется для питания приёмника. Питание также подаётся при подключении программатора.

Прошивка

Отдельно стоит остановиться на прошивке. Она написана на C++ и мы распространяем её по лицензии GPLv3: https://github.com/xtremespb/fm_receiver.Я практически не разрабатывал на C/C++, поэтому (вероятно) код далёк от идеала и может содержать ошибки, но GPL на то и GPL, чтобы можно было его дорабатывать сообществом 🙂

Текущие возможности прошивки включат в себя:

— Ручную и автоматическую настройку станций
— RDS
— Управление громкостью
— Включение режима усиленных басов
— Включение и отключение подсветки дисплея
— Отображение и динамическая визуализация уровня сигнала

В следующей, четвёртой по счёту ревизии, мы сделаем ещё несколько полезных «фишек»: подключим левый и правый каналы к аналоговым входам на МК, что позволить «визуализировать» поступающий аудиосигнал.

Кстати, возможности устройства не ограничиваются радио! Никто не мешает, например, написать какую-нибудь игру (интереса ради я сделал старый добрый Arkanoid) или другую программу, использующую возможности платы.

Production

Разработка устройства от идеи до реализации заняла около 6 месяцев, что, с практически полным отсутствием опыта в данной области, не так уж и плохо.

На данный момент у нас есть около 10 полностью собранных комплектов, которые включают в себя всё необходимое для сборки своего собственного устройства:

— МК Atmega328P-PU
— Преобразователь уровня CD4050BE
— Дисплей Nokia 5110
— Приемник RDA5807M
— Программатор USBasp
— Операционный усилитель LM386N
— Разъемы под МК и программатор
— USB B, Audio Jack 3.5, три кнопки, провода, однорядные коннекторы
— 11 резисторов и 12 конденсаторов, 4 индуктивности, кварц, стабилитрон и светодиод
— Динамик
— Печатная плата

Для сборки понадобится припой, флюс и паяльник, больше ничего не нужно.
Все комплектующие упакованы в небольшую коробку из «крафтового» картона:

Исходники прошивки уже выложены на Github; Gerber-файл, принципиальная схема и инструкция по сборке будут также опубликованы позднее.

Источник

Оцените статью