FM приёмник с RDS на RDA5807

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Cheal
Грызет канифоль
Сообщения: 265
Зарегистрирован: Пн окт 31, 2011 12:35:59
Откуда: Родился в Сибири

Re: FM приёмник с RDS на RDA5807

Сообщение Cheal »

Здравствуйте.

Halex, как дела с изучением QN8035 или всё идёт и едут.

Интересно.

Успехов.
Реклама
Аватара пользователя
|_|_|урик
Мучитель микросхем
Сообщения: 463
Зарегистрирован: Ср апр 25, 2012 22:27:46
Откуда: Донецк

Re: FM приёмник с RDS на RDA5807

Сообщение |_|_|урик »

Приветствую, Владимир! Заказывал партию таких модулей для Ампконтрола (5 шт.), три осталось. Хочу бате сделать приемник. Не мог бы ты поправить программу под такой дисплей? https://ru.aliexpress.com/item/2-4-2-4- ... ff3511082b
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

МК его не особо потянет - где-то 5 кадров в секунду. Хотя с этим дисплеем я знаком - он у меня в проекте велокомпьютера задействован.

В принципе, тут большой скорости обновления экрана не нужно. Но я пока отвлекаться на это не хочу - в свободное время занят больше портированием ampcontrol на stm32.
Аватара пользователя
|_|_|урик
Мучитель микросхем
Сообщения: 463
Зарегистрирован: Ср апр 25, 2012 22:27:46
Откуда: Донецк

Re: FM приёмник с RDS на RDA5807

Сообщение |_|_|урик »

Да, я в курсе. Слежу за ходом работ на форуме. Хотя скорее всего переделывать уже не буду. Но все же ,если захочется отвлечься, буду очень благодарен) Спасибо за твой труд
Реклама
Эиком - электронные компоненты и радиодетали
aleksey_1184
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Сб сен 15, 2018 19:04:00

Re: FM приёмник с RDS на RDA5807

Сообщение aleksey_1184 »

Здравствуйте, собираю тоже приемник на RDA5807, в общем то все работает, единственное RDS адекватно только при хорошем уровне сигнала. Как я понял нужна коррекция ошибок, в общем научился раскладывать полученные 4 блока данных на 26 бит, инет помог, а что дальше делать х...его знает. Очень буду признателен за помощь.
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

То есть, микросхема аппаратно приняла 4 блока по 26 бит (16 + 10) данных, произвела коррекцию ошибок, разложила результат в виде 4 блоков по 16 бит данных по регистрам и выставила флажок готовности RDS.

А Вы зачем-то взяли эти 4 блока готовых данных, как-то слепили из них 26 бит слово, и что-то пытаетесь из полученного битового мусора сделать.

Зачем? Просто обрабатывайте уже готовые данные. Извлекайте из этого набора в 4*16бит, например, 2 символа текста, ждите следующего, и т.д. Рано или поздно нужное слово из 8 байт будет сформировано.

Смотрите исходники. Там того кода RDS на 50 строк.
Реклама
aleksey_1184
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Сб сен 15, 2018 19:04:00

Re: FM приёмник с RDS на RDA5807

Сообщение aleksey_1184 »

Я в общемто так и делал, но блин RDS корректно читается при уровне сигнала за 60, название станций просто выводить не интересно, а вот уже вывод RT сообщений или индикация времени куда лучше, да судя по описанию на RDA5807, может только определить наличие ошибок в первых двух блоках. Может я ошибаюсь поправьте.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

В RDA5807 нет доступа к полным данным RDS. Я говорю о тех 26 битах на блок, кои 16 бит данных + 10 бит коррекции.

RDA5807 сама делает коррекцию, помещает готовый результат в регистр (всего их 4 получается для 104 бит всей посылки) и отдельно сообщает об уровне обнаруженных ошибок в отдельных (всего лишь двух) блоках. Ничего с этим поделать больше нельзя.

Выхода MPX у RDA5807 тоже нет, так что внешний декодер подцепить тоже не получится.

Ещё я игрался с Si4703 - там регистры похожие, но там есть эти регистры с уровнем ошибки для всех четырёх блоков. Но тоже - всё проделывает сам контроллер тюнера, пользователь об изначальных 26 битах не знает ничего.
aleksey_1184
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Сб сен 15, 2018 19:04:00

Re: FM приёмник с RDS на RDA5807

Сообщение aleksey_1184 »

Спасибо помогли разобраться наконец, весь мозг себе измучил, тоже глядел в сторону SI4703 но была уже RDA5807. В общем огромное спасибо.
Аватара пользователя
Andrew Martin
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Вт июн 25, 2013 18:45:07

Re: FM приёмник с RDS на RDA5807

Сообщение Andrew Martin »

Может быть немного не в тему, но всё равно спрошу.
У меня непонятки по поводу общения с RDA5807M. По даташиту она поддерживает только последовательный доступ. Запись идёт нормально, а вот с чтением затык - читает только старший байт регистра 0xA, то есть первый байт из последовательности. Вместо остальных выводятся нули - проверено цифровым осциллографом.
Попробовал недокументированный random доступ - почти та же канитель. Из любого запрашиваемого регистра читается только старший байт, идущий первым, а далее только нули:
- МК выставляет старт
- МК выдаёт адрес (0x11 для рандомного доступа) и бит R/W = 0
- 5807М выдаёт АСК (понимает значится)
- МК засылает адрес регистра
- 5807М выдаёт АСК
- МК выдаёт стоп
- МК выдаёт старт
- МК засылает адрес и R/W = 1
- МК читает старший байт (здесь всё ОК)
- МК выдаёт АСК
- МК читает младший байт (а здесь почему-то нули!)
- МК выдаёт неАСК
- МК выдаёт стоп

Использую ATTINY13A + AVR300 в качестве софтового и2ц.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

100% проблема с некорректным ACK со стороны МК.
В случае с последовательным чтением (читать лучше именно так - банально быстрее выходит, а вот писать можно и порегистрово):
- МК выставляет старт
- МК выдаёт адрес (0x20 | 0x01)
- 5807М выдаёт АСК (0)

- 5807М выдаёт старшие 8 бит регистра 0A
- МК выдаёт ACK (0)
- 5807М выдаёт младшие 8 бит регистра 0A
- МК выдаёт АСК (0)

- 5807М выдаёт старшие 8 бит регистра 0B
- МК выдаёт ACK (0)
- 5807М выдаёт младшие 8 бит регистра 0B
- МК выдаёт АСК (0)
...
- 5807М выдаёт старшие 8 бит регистра 0F
- МК выдаёт ACK (0)
- 5807М выдаёт младшие 8 бит регистра 0F
- МК выдаёт nАСК (1)
- МК выдаёт стоп

Такую последовательность удобно делать периодически (скажем, два раза в секунду), вычитывая в какой-нибудь массив. И уже из этого массива в любой момент можно забирать нужные данные (уровень сигнала, индикацию стереоприёма, RDS данные и т.п.).
Аватара пользователя
Andrew Martin
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Вт июн 25, 2013 18:45:07

Re: FM приёмник с RDS на RDA5807

Сообщение Andrew Martin »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3465204#p3465204"]100% проблема с некорректным ACK со стороны МК.[/uquote]

На осциллограмме отчетливо видно, как после вычитки первых восьми бит данных (старший байт 0xA) 5807М отпускает линию данных, готовясь принять АСК, а МК тут же её прибивает к земле (видно единичную "иголку"). И дальше МК отпускает линию и принимает байт нулей. После этого байта 5807М уже не отпускает линию данных, никаких иголок не видно.

Я сначала и сделал последовательную вычитку в полном соответствии с описанным Вами алгоритмом, только укоротил до двух регистров, поскольку мне не требуется RDS. Ладно, буду ковырять дальше.

Нашел! 8) Это баг в AVR300, из-за него МК после постановки первого АСК не отпускал линию данных для приёма последующих байт. То есть таки да, проблема с некорректным АСК со стороны МК. Теперь всё заработало, спасибо за наводку. :)
Аватара пользователя
Andrew Martin
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Вт июн 25, 2013 18:45:07

Re: FM приёмник с RDS на RDA5807

Сообщение Andrew Martin »

Почему-то во многих примерах на просторах интернета при инициализации 5807М проставляется флаг SOFTMUTE_EN. Из китайского даташита непонятно его назначение. Хочу сказать что он очень сильно уменьшает громкость приёма, поэтому наверное имеет смысл его не устанавливать.
Непонятно что такое SOFTBLEND_EN :dont_know:
А ещё устанавливают биты LNA_PORT_SEL, даже в модификации с буквой М, хотя прямо в даташите их нет.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

LNA_PORT_SEL можно не устанавливать, если не трогать соответствующий регистр вообще. Если же что-то в него пишется, он обязательно должен быть установлен в определённое значение, иначе играть не будет (внутренне будет выбран другой "пустой" вход вместо FM.
Аватара пользователя
Andrew Martin
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Вт июн 25, 2013 18:45:07

Re: FM приёмник с RDS на RDA5807

Сообщение Andrew Martin »

LNA_PORT_SEL нельзя не тронуть - оно в регистре 0x5, где и биты регулировки громкости. Сейчас нули в LNA_PORT_SEL, приём есть, может быть из-за близости передающего центра (просачивается через паразитные ёмкости с антенны). Хотя чувствительность вообще никакая, заявленными микровольтами и не пахнет :dont_know:
Шум на фоне приёма, в паузах.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник с RDS на RDA5807

Сообщение WiseLord »

Andrew Martin писал(а):LNA_PORT_SEL нельзя не тронуть
Прочитайте дефолтное значение, а уже затем меняйте биты громкости, не трогая остальные. Там точно не нули должны быть, а, как минимум, 0x80 | volume

https://github.com/WiseLord/fm7segm/blo ... 580x.c#L19
https://github.com/WiseLord/fm7segm/blo ... 580x.h#L86
Urry79
Родился
Сообщения: 2
Зарегистрирован: Пн май 06, 2019 15:24:12

Re: FM приёмник с RDS на RDA5807

Сообщение Urry79 »

Здравствуйте.

Вопрос к Halex, насколько удачен эксперимент с QN8035?
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6189
Зарегистрирован: Сб янв 28, 2006 22:47:24

Re: FM приёмник с RDS на RDA5807

Сообщение Asmodey »

Раз уж зашел разговор про QN80xx, может у кого есть полный даташит на QN8075?
Астролябия-сама меряет, было бы что мерять!!!
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: FM приёмник с RDS на RDA5807

Сообщение shonty »

Даташиты на QN8075 и RDA5807 под грифом "confidicial" и цена за десяток как за одну si4703.
Ни чего не хочу утверждать - просто мысли вслух.
Urry79
Родился
Сообщения: 2
Зарегистрирован: Пн май 06, 2019 15:24:12

Re: FM приёмник с RDS на RDA5807

Сообщение Urry79 »

Вот и непонятно, qn микрушка копеечная и функционал неплох, а наработок по ней ни у кого нет.
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»