Найти в Дзене
Владимир Чебанов

Arduino Nano + FM модуль RDA5807M

Мысль сделать домашнее радио появилась после появления, после долго отсутствия, в нашем городе любимого радио "Наше радио". Но! Зачем все это, скажете Вы? все просто! Радио в городе появилось, да, но на частоте 73,76мГц. А это забытый УКВ диапазон, который большая часть встроенных радио уже не понимает. Вариант покупать какой то новый бумбокс с УКВ диапазоном даже не рассматривался, поэтому и начал гуглить какие модули умеют "слушать" УКВ. Вот и нашел такой модуль, им оказался достаточно интересный модуль RDA5807. Модуль интересен тем, что "с коробки" он полный заменитель FM модуля TEA5767, который очень широко распространен в простых аудиосистемах (бубмоксы, музыкальные центры и т.д.). Но как только вызываешь его по другому адресу подключения, он превращается в модуль RDA5807 в котором уже появляется возможность принимать УКВ диапазон, читать RDS текст и многое другое, что нету в TEA5767. Модуль есть в нескольких "упаковках", но все чипы для поверхностного монтажа. Коренное отличие,

Мысль сделать домашнее радио появилась после появления, после долго отсутствия, в нашем городе любимого радио "Наше радио". Но! Зачем все это, скажете Вы? все просто! Радио в городе появилось, да, но на частоте 73,76мГц. А это забытый УКВ диапазон, который большая часть встроенных радио уже не понимает. Вариант покупать какой то новый бумбокс с УКВ диапазоном даже не рассматривался, поэтому и начал гуглить какие модули умеют "слушать" УКВ.

Вот и нашел такой модуль, им оказался достаточно интересный модуль RDA5807. Модуль интересен тем, что "с коробки" он полный заменитель FM модуля TEA5767, который очень широко распространен в простых аудиосистемах (бубмоксы, музыкальные центры и т.д.). Но как только вызываешь его по другому адресу подключения, он превращается в модуль RDA5807 в котором уже появляется возможность принимать УКВ диапазон, читать RDS текст и многое другое, что нету в TEA5767.

Модуль есть в нескольких "упаковках", но все чипы для поверхностного монтажа.

RDA5807M (в поиске модуль идет RRD-102 v2.0)
RDA5807M (в поиске модуль идет RRD-102 v2.0)
И сам чип RDA5807FP
И сам чип RDA5807FP

Коренное отличие, кроме количества ножек это то, что чип с индексом FP дополнительно умеет передавать звук по шине i2s.

5 лет назад, когда я разбирался с этим чипом, информации о нем было практически не было. Несколько даташитов, причем большая часть из них "кривые", да пару упоминаний на радио форумах. Но суть в другом, показать что еще можно делать на Arduino.

-3

И так, чип RDA5807M дал мне основы понимая достаточно интересной шины передачи данных i2c (Inter-Integrated Circuit) по которой он и управляется контроллером. Потом уже был селектор входов с регулированием тембров и громкости на микросхеме TDA7313, но это уже другая история.

Сама шина 8-битная, сообщение с настройками в шину уходят последовательно от 1 регистра к последнему. Сами регистры (адреса 8-ми битных ячеек, грубо говоря) делятся на младший и старший, таким образом регистр в целом принимает 16-бит, т.е. 16 "1" или "0", пережовывая эту последовательность цифр чип и понимает что ему надо сделать или как настроиться.

include <wire.h>
void setup()
{
Wire.begin();
SetFreq();
}
void loop()
{
}
void SetFreq()
{
Wire.beginTransmission(0x10); // Адрес чипа RDA5807M
Wire.write(0b11010000); // 02H
Wire.write(0b00000101); // 02L 0-бит команда включения приемника
Wire.write(0b01010111); // 03H указание частоты настройки 8бит
Wire.write(0b10011111); // 03L частота настроки биты 7-5, 3-2 биты выбор
диапазона, 1-0 биты выбор шага
Wire.write(0b00000010); // 04H
Wire.write(0x00); // 04L
Wire.write(0b10001000); // 05H
Wire.write(0b10001111); // 05L 0-3 биты громкость, 7бит включение антенны!
Wire.write(0x00); // 06H
Wire.write(0x00); // 06L
Wire.write(0b01000010); // 07H
Wire.write(0b00000010); // 07L
Wire.endTransmission();
}

Ну примерно так. набор выключателей ))))

Во время разбирательств с чипом и самой шиной, разобрался еще и с регистром 08L и 08H - регистры точной ручной настройки частоты. Вот именно с их помощью и удалось настроить чип на частоту 73,76МГц, чтобы послушать Наше радио.

Теперь немного о самом модуле RDA5807M - модуль достаточно хорошо звучит для столь дешевой микросхемы, имеет высокоомный выход на борту, что позволяет включать в него наушники напрямую, и заводится от куска провода вместо антенны. Собранный под одну частоту, играл достаточно долго, ардуина была заменена на attiny85, чтобы зря не задействовать Nano. А вот перевести это все на чип RDA5807FP и взять с него звук по шине i2s так руки и не дошли ))) Видимо это перспектива )))

Все запчасти куплены у наших друзей здесь Aliexpress