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.
Параметры интерфейса:
Параметр | Симв. | MIN | typ | MAX | Ед. |
Частота SCLK | fscl | 0 | — | 400 | кГц |
Время лог. 1 SCLK | thigh | 0.6 | — | — | мкс |
Время лог. 0 SCLK | tlow | 1.3 | — | — | |
Время установки сигнала START | tsu:sta | 0.6 | — | — | |
Время удержания сигнала START | thd:sta | 0.6 | — | — | |
Время установки сигнала STOP | tsu:sto | 0.6 | — | — | |
Время установки данных на входе SDIO при ↑ перепаде SCLK | tsu:dat | 100 | — | — | нс |
Время удержания данных на входе SDIO при перепаде ↓ SCLK | thd:dat | 0 | — | 900 | |
Время между STOP и START | tbuf | 1.3 | — | — | мкс |
Время спада уровня на выходе SDIO | tf:out | 20+0.1Cb | — | 250 | нс |
Время спада/нарастания на входе SDIO, сигнала SCLK | tr:in / tf:in | 20+0.1Cb | — | 300 | |
Подавление иголок на входе | tsp | — | — | 50 | |
Емкостная нагрузка сигналов SCLK, SDIO | Cb | — | — | 50 | пФ |
Емкость ножки цифрового входа | 5 |
Регистры RDA5807M:
Рег. | Биты | Имя | Функция | По умолч. |
00H | 15:8 | CHIPID[7:0] | Идентификатор микросхемы (Chip ID) | 0x58 |
02H | 15 | DHIZ | Audio Output High-Z Disable (запрет работы звуковых выходов). 0 высокое сопротивление, 1 нормальное функционирование. | 0 |
14 | DMUTE | Mute Disable (запрет функции заглушения звука). 0 Mute (звука на выходе нет), 1 нормальное функционирование. | 0 | |
13 | MONO | Выбор режима моно. 0 Stereo, 1 принудительно включить Mono. | 0 | |
12 | BASS | Bass Boost (повышение уровня басов). 0 функция запрещена, 1 усиление басов разрешено. | 0 | |
11 | RCLK NON-CALIBRATE MODE | 0 частота тактов RCLK предоставляется всегда, 1 когда работает FM, такты RCLK предоставляются не всегда (когда 1, RDA5807M не может непосредственно поддерживать диапазон температур -20℃ .. +70℃. Поддерживается только лишь смещение температуры ±20℃ относительно температуры, когда происходила настройка). | 0 | |
10 | RCLK DIRECT INPUT MODE | 1 используется прямой ввод тактовой частоты со входа RCLK. | 0 | |
9 | SEEKUP | Направление сканирования частоты диапазона FM. 0 вниз (Seek Down), 1 вверх (Seek Up). | 0 | |
8 | SEEK | Сканирование (автопоиск станций). 0 запрет / остановка сканирования, 1 разрешить начать сканирование в направлении, заданном битом SEEKUP, при этом остановка сканирования произойдет либо в момент нахождения радиостанции, либо при достижении конца диапазона. Бит SEEK устанавливается в лог. 0 и бит STC устанавливается в лог. 1, когда операция сканирования завершена. | 0 | |
7 | SKMODE | Seek Mode (режим сканирования диапазона). 0 перескочить через верхний или нижний предел диапазона и продолжить сканирование в выбранном направлении, 1 сканирование остановится на верхнем или нижнем пределе диапазона. | 0 | |
6:4 | CLK_MODE[2:0] | Выбор частоты внешнего кварцевого резонатора. 000: 32.768 кГц 001: 12 МГц 101: 24 МГц 010: 13 МГц 110: 26 МГц 011: 19.2 МГц 111: 38.4 МГц | 000 | |
3 | RDS_EN | Разрешить декодировать RDS/RBDS (если 1). | 0 | |
2 | NEW_METHOD | Разрешить использование нового метода демодуляции, что может улучшить чувствительность примерно на 1 dB. | 0 | |
1 | SOFT_RESET | Программный сброс. 0: нет сброса, 1 сброс. | 0 | |
0 | ENABLE | Разрешение включения питания. 0 запрещено, 1 разрешено. | 0 | |
03H | 15:6 | CHAN[9:0] | Выбор канала. Функция зависит от значения BAND. BAND = 0: частота = интервал между каналами (кГц) * CHAN + 87.0 МГц. BAND = 1 или 2: частота = интервал между каналами (кГц) * CHAN + 76.0 МГц. BAND = 3: частота = интервал между каналами (кГц) * CHAN + 65.0 МГц. Значение CHAN обновится после операции сканирования диапазона (Seek). | 00H |
5 | DIRECT MODE | Directly Control Mode (режим прямого управления), используется только при тестировании. | 0 | |
4 | TUNE | Настройка. 0 запрещено, 1 разрешено. Операция настройки начинается, когда бит TUNE установлен в лог. 1. Бит STC установится, когда операция настройки завершится. Бит настройки TUNE сбросится в лог. 0 автоматически, когда завершится операция настройки. | 0 | |
3:2 | BAND[1:0] | Выбор диапазона частот FM. 00: 87 .. 108 МГц (США/Европа) 01: 76 .. 91 МГц (Япония) 10: 76 .. 108 МГц (весь мир) 11(1): 65 .. 76 МГц Восточная Европа, СССР) или 50 .. 65 МГц | 00 | |
1:0 | SPACE[1:0] | Интервал между частотными каналами (шаг перестройки приемника). 00: 100 кГц 01: 200 кГц 10: 50 кГц 11: 25 кГц | 00 | |
04H | 15 | RSVD1 | Зарезервировано | 0 |
13:12 | RSVD2 | Зарезервировано | 00 | |
11 | DE | De-emphasis. 0: 75 мкс, 1: 50 мкс. | 0 | |
10 | RSVD3 | Зарезервировано | ||
9 | SOFTMUTE_EN | Если 1, то разрешено softmute (приглушенное звучание). | 1 | |
8 | AFCD | Запрет AFC. 0 AFC работает, 1 AFC запрещена. | 0 | |
05H | 15 | INT _MODE | Если 0, то генерируется прерывание 5 мс. Если 1, то происходит последнее прерывание, пока не будет прочитан регистр 0CH. | 1 |
14:12 | RSVD4 | Зарезервировано | 000 | |
11:8 | SEEKTH[3:0](2) | Пороговое значение SNR для системы автопоиска станций (Seek SNR threshold value). | 1000 | |
5:4 | RSVD5 | Зарезервировано | 00 | |
3:0 | VOLUME[3:0] | Биты управления усилением ЦАП (громкость). 0000 минимальная громкость, 1111 максимальная громкость. Закон изменения громкости логарифмический. Когда 0000, глушение звука очень сильное, и выходное сопротивление очень большое. | 1111 | |
06H | 15 | RSVD6 | Зарезервировано | 0 |
14:13 | OPEN_MODE[1:0] | Режим открытия зарезервированных регистров. 11: функция открытия на запись пространства за регистрами. Все другие значения: функция открытия только чтения за регистрами. | 00 | |
07H | 15 | RSVD7 | Зарезервировано | 0 |
14:10 | TH_SOFRBLEND[5:0] | Порог для мягкого заглушения шума в единицах 2 dB. | 10000 | |
9 | 65M_50M MODE | Установка этих бит действует, когда BAND[1:0] = 2’b11 (биты 3:2 регистра 03H). 1: 65 — 76 МГц 0: 50 — 76 МГц | 1 | |
8 | RSVD8 | Зарезервировано | 0 | |
7:2 | SEEK_TH_OLD(3) | Порог сканирования поиска станций старого режима, действует только когда Seek_Mode = 001. | 000000 | |
1 | SOFTBLEND_EN | Если 1, то разрешен Softblend. | 1 | |
0 | FREQ_MODE | Если 1, то установка частоты изменена. Freq = 76000 (или 87000) кГц + freq_direct (08H) кГц. | 0 | |
0AH | 15 | RDSR | Готовность RDS. 0 неготовность группы RDS/RBDS, 1 готова новая группа RDS/RBDS. | 0 |
14 | STC | Seek/Tune Complete. 0 функция поиска станции/настройки не завершена, 1 завершена. Флаг STC установится, когда завершится операция автопоиска (автонастройки) на станцию. | 0 | |
13 | SF | Seek Fail. 0 функция сканирование/поиска станции завершилась успешно, 1 произошла ошибка сканирования. Флаг SF установится, когда автопоиск завершился неудачей, т. е. не была найдена радиостанция с уровнем RSSI больше SEEKTH[5:0]. | 0 | |
12 | RDSS | Синхронизация RDS. 0 декодер RDS не синхронизирован (по умолчанию), 1 декодер RDS синхронизирован. | 0 | |
11 | BLK_E | Когда RDS разрешен: 1 найден Block E, 0 Block E не найден. | 0 | |
10 | ST | Индикатор стереосигнала. 0 Mono, 1 Stereo. | 1 | |
9:0 | READCHAN[9:0] | Чтение канала. BAND = 0: частота = интервал между каналами (кГц) * READCHAN + 87.0 МГц. BAND = 1 или 2: частота = интервал между каналами (кГц) * READCHAN + 76.0 МГц. BAND = 3: частота = интервал между каналами (кГц) * CHAN + 65.0 МГц. Значение READCHAN обновится после операции сканирования диапазона (Seek). | ||
0BH | 15:9 | RSSI[6:0] | Индикатор уровня сигнала. 0000000: минимум, 1111111: максимум. Закон отображения уровня логарифмический. | 0 |
8 | FM TRUE | 1 текущий канал настроен на радиостанцию, 0 текущий канал не радиостанция. | 0 | |
7 | FM_READY | 1 состояние готовности, 0 состояние неготовности. | 0 | |
6:5 | RSVD9 | Зарезервировано | 0 | |
4 | ABCD_E | 1 идентификатор блока E для регистров 0CH, 0DH, 0EH, 0FH. 0 идентификаторы блока A, B, C, D для регистров 0CH, 0DH, 0EH, 0FH. | ||
3:2 | BLERA[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:0 | BLERB[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). | ||
0CH | 15:0 | RDSA[15:0] | BLOCK A (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1). | 16’h5803 |
0DH | 15:0 | RDSB[15:0] | BLOCK B (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1). | 16’h5804 |
0EH | 15:0 | RDSC[15:0] | BLOCK C (в режиме RDS) или BLOCK E (в режиме RBDS, когда флаг ABCD_E в лог. 1). | 16’h5808 |
0FH | 15:0 | RDSD[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, 8 | GND | Земля, общий провод сигналов и минус питания. Подключается к заливке медью печатной платы. |
2 | FMIN | Вход LNA. |
4 | SCLK | Тактовый сигнал шины управления I2C (SCL). |
5 | SDIO | Данные шины управления I2C (SDA). |
6 | RCLK | Вход для подключения кварцевого резонатора 32.768 кГц или подачи внешнего тактового сигнала. |
7 | VDD | Плюс источника питания. |
9 | ROUT | Выход правого канала звука. |
10 | LOUT | Выход левого канала звука. |
Схемы включения (из даташита):
Схема включения 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, не нужно ничего программировать или прошивать, все уже сделано до нас. Такой приемник из конструктора действительно хорош, но к сожалению он не раскрывает всех возможностей этой микросхемы.
Добрый день!
Просматривая информацию по 5807М наткнулся на вашу статью. И вот, что интересно.
Мне в руки попал радиоприемник с функцией оповещения при ЧС Лира РП 248-1 / https://www.irz.ru/products/19/183.htm /
Уникальность радиоприемника заключается в объединении УКВ приемника и специализированного приемника диспетчерской радиосвязи в единое устройство. В данном устройстве установлен дополнительный канал связи — приемный тракт на частотах 146—174 МГц, 403—430 МГц, 430—450 МГц и 450—470 МГц.
И в данном экземпляре Лиры приёмная часть реализована на RDA 5807M, УНЧ на LM4871M
Как это они умудрились совместить?
К сожалению фото тут не могу вставить платы приемника
Это в части вашей ремарки:
И еще, RDA5807M по данным даташита, поддерживает диапазон частот приема 50 .. 115 МГц, однако встречалась мне публикация об удачных экспериментах использования этого приемника на частотах до 145МГц. Дело в том, что синтезатор использует в качестве опорной частоту часового кварца 32.768 кГц. Частота синтезатора определяется управляющими битами в диапазоне 50 .. 115 МГц и теоретически это можно подкорректировать. Но к сожалению на сегодняшний день я этой публикации найти не могу, возможно это были фантазии автора… Если у кого-то из вас есть подобная информация, буду рад, хотелось бы повторить.
Т.е. у 5807М получается есть недокументированные возможности
С уважением Виктор