FM радио RDA5807M

RDA5807M можно встретить как отдельно микросхемой, так и в виде готового модуля. Такой модуль ничем особым не отличается, эта же микросхема распаянная на небольшой платке, рядом с которой есть уже кварц на 32,768 кГц и пара конденсаторов, вот и весь модуль, но использовать уже на порядок удобнее.

FM радио модуль RDA5807M

Характеристики:

  • Полоса частот от 50 МГц до 115 МГц
  • Настраиваемый шаг между каналами – 200 кГц, 100 кГц, 50 кГц, 25 кГц
  • Поддерживает RDS/RBDS
  • Высококачественный АЦП
  • Синтезатор частот полностью встроен в микросхему
  • Автоматическая регулировка усиления
  • Цифровое адаптивное подавление шума
  • Поддержка выхода звука как в моно, так и в стерео
  • Индикатор уровня сигнала (Receive signal strength indicator — RSSI) и SNR
  • Усилитель низких частот
  • Регулировка звука и функция mute
  • Нагрузка на выходе звукового канала 32 Ом (выход для наушников)

Электрические параметры:

  • Напряжение питания — 3 вольта (от 1,8 до 3,3 вольт)
  • Ток потребления в рабочем режиме — до 21 мА
  • Ток потребления в спящем режиме – 5 мкА
  • Коэффициент нелинейных искажений – 0,15 – 0,2 %
  • Цифровой интерфейс I2C
  • Максимальная частота I2C – 400 кГц

Функционально, все это выглядит вот так:

RDA5807M это современный однокристальный приемник FM stereo, в который интегрирован синтезатор частоты, с преселекцией по промежуточной частоте, кроме того присутствует декодер RDS/RBDS и MPX. Благодаря этому RDA5807M идеально подходит для портативных устройств (смартфоны, MP3/MP4 плееры, маленькие радиоприемники). И там он и применяется, а кроме того, этот «приемник» интересен для радиолюбителей. И еще, RDA5807M по данным даташита, поддерживает диапазон частот приема 50 .. 115 МГц, однако встречалась мне публикация об удачных экспериментах использования этого приемника на частотах до 145МГц. Дело в том, что синтезатор использует в качестве опорной частоту часового кварца 32.768 кГц. Частота синтезатора определяется управляющими битами в диапазоне 50 .. 115 МГц и теоретически это можно подкорректировать. Но к сожалению на сегодняшний день я этой публикации найти не могу, возможно это были фантазии автора… Если у кого-то из вас есть подобная информация, буду рад, хотелось бы повторить.

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

Параметры интерфейса:

ПараметрСимв.MINtypMAXЕд.
Частота SCLKfscl0400кГц
Время лог. 1 SCLKthigh0.6мкс
Время лог. 0 SCLKtlow1.3
Время установки сигнала STARTtsu:sta0.6
Время удержания сигнала STARTthd:sta0.6
Время установки сигнала STOPtsu:sto0.6
Время установки данных на входе SDIO при ↑ перепаде SCLKtsu:dat100нс
Время удержания данных на входе SDIO при перепаде ↓ SCLKthd:dat0900
Время между STOP и STARTtbuf1.3мкс
Время спада уровня на выходе SDIOtf:out20+0.1Cb250нс
Время спада/нарастания на входе SDIO, сигнала SCLKtr:in / tf:in20+0.1Cb300
Подавление иголок на входеtsp50
Емкостная нагрузка сигналов SCLK, SDIOCb50пФ
Емкость ножки цифрового входа   5

Регистры RDA5807M:

Рег.БитыИмяФункцияПо умолч.
00H15:8CHIPID[7:0]Идентификатор микросхемы (Chip ID)0x58
02H15DHIZAudio Output High-Z Disable (запрет работы звуковых выходов). 0 высокое сопротивление, 1 нормальное функционирование.0
14DMUTEMute Disable (запрет функции заглушения звука). 0 Mute (звука на выходе нет), 1 нормальное функционирование.0
13MONOВыбор режима моно. 0 Stereo, 1 принудительно включить Mono.0
12BASSBass Boost (повышение уровня басов). 0 функция запрещена, 1 усиление басов разрешено.0
11RCLK NON-CALIBRATE MODE0 частота тактов RCLK предоставляется всегда, 1 когда работает FM, такты RCLK предоставляются не всегда (когда 1, RDA5807M не может непосредственно поддерживать диапазон температур -20℃ .. +70℃. Поддерживается только лишь смещение температуры ±20℃ относительно температуры, когда происходила настройка).0
10RCLK DIRECT INPUT MODE1 используется прямой ввод тактовой частоты со входа RCLK.0
9SEEKUPНаправление сканирования частоты диапазона FM. 0 вниз (Seek Down), 1 вверх (Seek Up).0
8SEEKСканирование (автопоиск станций). 0 запрет / остановка сканирования, 1 разрешить начать сканирование в направлении, заданном битом SEEKUP, при этом остановка сканирования произойдет либо в момент нахождения радиостанции, либо при достижении конца диапазона. Бит SEEK устанавливается в лог. 0 и бит STC устанавливается в лог. 1, когда операция сканирования завершена.0
7SKMODESeek Mode (режим сканирования диапазона). 0 перескочить через верхний или нижний предел диапазона и продолжить сканирование в выбранном направлении, 1 сканирование остановится на верхнем или нижнем пределе диапазона.0
6:4CLK_MODE[2:0]Выбор частоты внешнего кварцевого резонатора.

000: 32.768 кГц
001: 12 МГц
101: 24 МГц
010: 13 МГц
110: 26 МГц
011: 19.2 МГц
111: 38.4 МГц
000
3RDS_ENРазрешить декодировать RDS/RBDS (если 1).0
2NEW_METHODРазрешить использование нового метода демодуляции, что может улучшить чувствительность примерно на 1 dB.0
1SOFT_RESETПрограммный сброс. 0: нет сброса, 1 сброс.0
0ENABLEРазрешение включения питания. 0 запрещено, 1 разрешено.0
03H15:6CHAN[9:0]Выбор канала. Функция зависит от значения BAND.

BAND = 0: частота = интервал между каналами (кГц) * CHAN + 87.0 МГц.
BAND = 1 или 2: частота = интервал между каналами (кГц) * CHAN + 76.0 МГц.
BAND = 3: частота = интервал между каналами (кГц) * CHAN + 65.0 МГц.

Значение CHAN обновится после операции сканирования диапазона (Seek).
00H
5DIRECT MODEDirectly Control Mode (режим прямого управления), используется только при тестировании.0
4TUNEНастройка. 0 запрещено, 1 разрешено. Операция настройки начинается, когда бит TUNE установлен в лог. 1. Бит STC установится, когда операция настройки завершится. Бит настройки TUNE сбросится в лог. 0 автоматически, когда завершится операция настройки.0
3:2BAND[1:0]Выбор диапазона частот FM.

00: 87 .. 108 МГц (США/Европа)
01: 76 .. 91 МГц (Япония)
10: 76 .. 108 МГц (весь мир)
11(1): 65 .. 76 МГц Восточная Европа, СССР) или 50 .. 65 МГц
00
1:0SPACE[1:0]Интервал между частотными каналами (шаг перестройки приемника).

00: 100 кГц
01: 200 кГц
10: 50 кГц
11: 25 кГц
00
04H15RSVD1Зарезервировано0
13:12RSVD2Зарезервировано00
11DEDe-emphasis. 0: 75 мкс, 1: 50 мкс.0
10RSVD3Зарезервировано 
9SOFTMUTE_ENЕсли 1, то разрешено softmute (приглушенное звучание).1
8AFCDЗапрет AFC. 0 AFC работает, 1 AFC запрещена.0
05H15INT _MODEЕсли 0, то генерируется прерывание 5 мс. Если 1, то происходит последнее прерывание, пока не будет прочитан регистр 0CH.1
14:12RSVD4Зарезервировано000
11:8SEEKTH[3:0](2)Пороговое значение SNR для системы автопоиска станций (Seek SNR threshold value).1000
5:4RSVD5Зарезервировано00
3:0VOLUME[3:0]Биты управления усилением ЦАП (громкость). 0000 минимальная громкость, 1111 максимальная громкость. Закон изменения громкости логарифмический. Когда 0000, глушение звука очень сильное, и выходное сопротивление очень большое.1111
06H15RSVD6Зарезервировано0
14:13OPEN_MODE[1:0]Режим открытия зарезервированных регистров. 11: функция открытия на запись пространства за регистрами. Все другие значения: функция открытия только чтения за регистрами.00
07H15RSVD7Зарезервировано0
14:10TH_SOFRBLEND[5:0]Порог для мягкого заглушения шума в единицах 2 dB.10000
965M_50M MODEУстановка этих бит действует, когда BAND[1:0] = 2’b11 (биты 3:2 регистра 03H).

1: 65 — 76 МГц
0: 50 — 76 МГц
1
8RSVD8Зарезервировано0
7:2SEEK_TH_OLD(3)Порог сканирования поиска станций старого режима, действует только когда Seek_Mode = 001.000000
1SOFTBLEND_ENЕсли 1, то разрешен Softblend.1
0FREQ_MODEЕсли 1, то установка частоты изменена. Freq = 76000 (или 87000) кГц + freq_direct (08H) кГц.0
0AH15RDSRГотовность RDS. 0 неготовность группы RDS/RBDS, 1 готова новая группа RDS/RBDS.0
14STCSeek/Tune Complete. 0 функция поиска станции/настройки не завершена, 1 завершена. Флаг STC установится, когда завершится операция автопоиска (автонастройки) на станцию.0
13SFSeek Fail. 0 функция сканирование/поиска станции завершилась успешно, 1 произошла ошибка сканирования. Флаг SF установится, когда автопоиск завершился неудачей, т. е. не была найдена радиостанция с уровнем RSSI больше SEEKTH[5:0].0
12RDSSСинхронизация RDS. 0 декодер RDS не синхронизирован (по умолчанию), 1 декодер RDS синхронизирован.0
11BLK_EКогда RDS разрешен: 1 найден Block E, 0 Block E не найден.0
10STИндикатор стереосигнала. 0 Mono, 1 Stereo.1
9:0READCHAN[9:0]Чтение канала.

BAND = 0: частота = интервал между каналами (кГц) * READCHAN + 87.0 МГц.
BAND = 1 или 2: частота = интервал между каналами (кГц) * READCHAN + 76.0 МГц.
BAND = 3: частота = интервал между каналами (кГц) * CHAN + 65.0 МГц.

Значение READCHAN обновится после операции сканирования диапазона (Seek).
 
0BH15:9RSSI[6:0]Индикатор уровня сигнала. 0000000: минимум, 1111111: максимум. Закон отображения уровня логарифмический.0
8FM TRUE1 текущий канал настроен на радиостанцию, 0 текущий канал не радиостанция.0
7FM_READY1 состояние готовности, 0 состояние неготовности.0
6:5RSVD9Зарезервировано0
4ABCD_E1 идентификатор блока E для регистров 0CH, 0DH, 0EH, 0FH.
0 идентификаторы блока A, B, C, D для регистров 0CH, 0DH, 0EH, 0FH.
 
3:2BLERA[1:0]Уровень ошибки блока RDS_DATA_0, и всегда считывается как уровень ошибок RDS BLOCK A (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).

00: 0 ошибок, коррекция не требуется.
01: 1..2 ошибки, требуется коррекция.
10: 3..5 ошибок, требуется коррекция.
11: 6+ ошибок или ошибка в проверочном слове, коррекция невозможна.

Битовое поле BLERA работает только в подробном режиме RDS (RDS Verbose mode).
 
1:0BLERB[1:0]Уровень ошибки блока RDS_DATA_1, и всегда считывается как уровень ошибок RDS BLOCK B (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).

00: 0 ошибок, коррекция не требуется.
01: 1..2 ошибки, требуется коррекция.
10: 3..5 ошибок, требуется коррекция.
11: 6+ ошибок или ошибка в проверочном слове, коррекция невозможна.

Битовое поле BLERB работает только в подробном режиме RDS (RDS Verbose mode).
 
0CH15:0RDSA[15:0]BLOCK A (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).16’h5803
0DH15:0RDSB[15:0]BLOCK B (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).16’h5804
0EH15:0RDSC[15:0]BLOCK C (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).16’h5808
0FH15:0RDSD[15:0]BLOCK D (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1).16’h5804

Примечания:

(1) Если бит 9 регистра 07H (band) = 1, то 65-76 МГц; если = 0, то 50-76 МГц.
(2) Это поле бит определяет порог SNR, применяемый для поиска станций. Значение по умолчанию 1000 соответствует примерно 32dB SNR.
(3) Поле бит 14:12 регистра 20H, Seek_Mode. Значение по умолчанию 000. Когда = 001, будет добавлен режим поиска 5802E.

Описание выводов:

Таблица 7-1. Описание выводов RDA5807M.

Симв.Описание
1, 3, 8GNDЗемля, общий провод сигналов и минус питания. Подключается к заливке медью печатной платы.
2FMINВход LNA.
4SCLKТактовый сигнал шины управления I2C (SCL).
5SDIOДанные шины управления I2C (SDA).
6RCLKВход для подключения кварцевого резонатора 32.768 кГц или подачи внешнего тактового сигнала.
7VDDПлюс источника питания.
9ROUTВыход правого канала звука.
10LOUTВыход левого канала звука.

Схемы включения (из даташита):

Схема включения RDA5807m

Обозначения и сокращения:

  • ADC Analog-to-Digital Converter, аналого-цифровой преобразователь, АЦП.
  • AFC Automatic Frequency Control, автоматическая подстройка частоты.
  • AGC Automatic Gain Correction, автоматическая регулировка усиления, АРУ.
  • DAC Digital-to-Analog Converter, цифро-аналоговый преобразователь, ЦАП.
  • FM Frequency Modulation, частотная модуляция.
  • IF Intermediate Frequency, промежуточная частота.
  • MPX протокол кодирование стереосигнала в FM-радиовещании. Аббревиатура MPX произошла от MultpPleXing, т. е. мультиплексирование, коммутация (подробнее описание кодирования см. в Википедии).
  • RDS Radio Data System, стандарт передачи информационных данных по радио.
  • RBDS Radio Broadcast Data System, система передачи информационных данных в широковещательном диапазоне FM, развитие стандарта RDS.
  • RF Radio Frequency, радиочастота.
  • RSSI Receive Signal Strength Indicator, индикатор уровня принимаемого сигнала.
  • VCO Voltage Controlled Oscillator, управляемый напряжением генератор.

Радиоприемник на этой микросхеме представляет современный тип приемников, с минимальным или полным отсутствием моточных (индуктивных) элементов в схеме и минимальным количеством радиодеталей обвеса — все преобразования и фильтры разработаны и работают на цифровом уровне обработки сигнала, при этом чувствительность приемника, построенного на такой микросхеме, очень хороша. Однако есть у RDA5807M и недостатки, по крайней мере один — для управления этой микросхемой нужен микропроцессор, потому, что кроме управления по шине I2C, других команд она не понимает. Это недостаток конечно условный, даже если вам не хочется изучать программирование и архитектуру микропроцессоров, в сети огромное множество готовых схем. А глядя на перечень возможностей, такой приемник стоит повторить))) Кроме того на Али есть конструкторы на RDA5807M, не нужно ничего программировать или прошивать, все уже сделано до нас. Такой приемник из конструктора действительно хорош, но к сожалению он не раскрывает всех возможностей этой микросхемы.