Перейти к содержанию

Радиомодуль с RDA5807M продлевает жизнь старых радиоприёмников


Рекомендуемые сообщения

Александр Павлович Спасибо Вам за предоставленные исходники, но к сожалению мой товарищ "программист" оказался полным разгельдяем, пришлось оставить как есть

IMG_20210112_234832.jpg

IMG_20210112_234329.jpg

IMG_20210112_234254.jpg

IMG_20210112_234225.jpg

7 минут назад, Yuraword сказал:

Усилитель на базе ОМ2.7, хотел чтобы при переключении каналов на диплее высвечивалось их значение, но увы)) 

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

@asvetp Потестил новую прошивку FM_M8_N5110_scan_v8,  функция включения работает нормально, но вот с выключением по длинному нажатию не всё нормально, по крайней мере у меня так получается. Вообщем получается следующее, то выключается при удерживании кнопки (что, наверное, так и задумывалось), то выключается только когда отпустишь кнопку, то при удерживании кнопки уходит в какой-то цикл, при этом то включается, то выключается подсветка экрана. Кнопки пробовал разные и напрямую на общий провод соединял PD5.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

@Vladimir_L Буду искать причину. Странно, что я не обнаруживал этот баг на своём макете. Но на то и нужно тестирование в разных условиях.

Каталог программ FM-радио по сост. на январь 2024 г.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@Vladimir_L Немного изменил программу в части управления кнопками. Проверяйте. У меня всё работает как надо.

 

FM_M8_N5110_scan_v8_1.hex

Каталог программ FM-радио по сост. на январь 2024 г.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@asvetp Попробовал новую прошивку FM_M8_N5110_scan_v8_1, выключение работает заметно стабильнее. Немного не удачно (как по мне) организована работа с длинным нажатием, событие завязанное на длинное нажатие происходит после отпускания кнопки, что не очень удобно (как понять что нажатие достаточно длинное). Удобнее, мне кажется, когда событие по длинному нажатию выполняется ещё при нажатой кнопке, и кнопку отпускаешь когда видишь произошедшее событие ( например, выключение приемника, вход в меню настроек, переход в автопоиск и обратно).   

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@Vladimir_L  Я подумаю над Вашим предложением. Со своей стороны,  прошу измерить потребляемый ток приёмника при отключенном кнопкой питании. 

Изменено пользователем asvetp
исправление

Каталог программ FM-радио по сост. на январь 2024 г.

Ссылка на комментарий
Поделиться на другие сайты

Ух! В какую интересную тему я попал, даже зарегистрировался специально. Ув. asvetp, огромное спасибо Вам, за то, что потратили свое время на такой интересный проект, да еще и не пожадничали выложить исходники первых устройств! Это важно не столько для повторителей конкретный приемников, а больше для людей, изучающих ассемблер в живых примерах! Я например, искал образцы парсинга данных с GPS модулей, которые продают на али, для извлечения из них сверхточного времени на ассемблере и наткнулся случайно на эту тему. Очень много интересного и полезного! В качестве хобби занимаюсь минималистическими проектами на самых дохлых микроконтроллерах вроде attiny13, если будет время, хочется перенести необходимый и достаточный функционал из этого проекта туда, это можно сделать только на ассемблере или в машинных кодах и в этом вся прелесть. Придется сократить весь код, отказаться от внешних процедур,  от всего. Понятно, что есть за ту же цену намного более ногастые контроллеры с большей памятью. Дело не в стоимости, дело в принципе.

Очень не хватает в логическом завершении проекта - главной фишки цифрового радио - RDS. Подозреваю, что Вы ищете в неправильном направлении. Не могу сказать на 100% так как не знаком с данными по этому приемнику, но уверен, что если в даташитах не дается  детальная информация, значит она там и не нужна, все должно делаться намного проще. Например, в отношении RDS - Вы вероятно хотите парсить сигнал и вытаскивать из него названия станций, занося их в память, сталкиваетесь с ошибками, шумами и не знаете как это победить? Это вероятно и не нужно. Это очень простое устройство и там не предусмотрена такая сложная работа с данными RDS, все, что нужно, это прогонять их через МК и тем же самым потоком выводит на экран! ВСЕ!  Конечно, могу ошибаться, но по-моему это не так затратно по усилиям, как пытаться распарсить текст. Сам факт того, что станция сохраняется в памяти и настроен поток RDS через буфер на мк в строку на дисплее достаточен, чтобы не прописывать названия станций. Так сделано на большинстве промышленных приемников и это нормально)

немного сумбурно, извиняюсь. Еще раз спасибо за работу, очень было интересно ознакомиться!

 

Ссылка на комментарий
Поделиться на другие сайты

Так объясните как вытащить правильно данные RDS,а там дело пойдет быстрее!

Сразу скажу-я так и не смог сделать нормальный порядок раскодирования данных-где начало,где конец так и не понял...

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, bulat943 сказал:

///////////////////

Я не сталкивался еще с этим чипом, Вам удалось получить данные RDS хоть в каком то виде? Что они из себя представляют? Подозреваю, там не имеет значение ни начало ни конец, возможно, нужно всего лишь брать поток и менять коды символов в соответствии с кодовой таблицей выводя в цикле на экран и все. Должен быть какой то разделитель, на него ориентироваться.

Изменено пользователем Falconist
Оверквотинг
Ссылка на комментарий
Поделиться на другие сайты

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

Раз уж вы заявляете что 

Цитата

Это очень простое устройство и там не предусмотрена такая сложная работа с данными RDS, все, что нужно, это прогонять их через МК и тем же самым потоком выводит на экран! ВСЕ! 

значит вы знаете как обработать эти сырые данные,так объясните как "прогнать"? и стандарт RDS один и не важно,каким чипом его принимаете

Изменено пользователем bulat943
Ссылка на комментарий
Поделиться на другие сайты

В описание на протокол RDS все есть, там все указывается какой номер символа в строке, что это название станции, радио текст или еще что то. Я уже давал asvetp процедуру декодирования потока RDS, но это не так быстро перенести код с Си на Ассемблер. Да и еще небольшой момент rda5807 декодирует ошибки только в первых двух блоках RDS, что влияет на качество приема данных, эту проблему можно частично решить принимая только максимально сильный уровень RDS (не путать с уровнем RSSI).Мои примеры работы с RDS можно посмотреть здесь https://pichobby.lg.ua/shemu/sound.html

Ссылка на комментарий
Поделиться на другие сайты

@serg123 Пока что, к сожалению, я так и не приступил к изучению Вашего примера работы с RDS. Дело не в том, что сложно перевести код с Си на Ассемблер, с этим у меня особых проблем нет. Всё дело в том, что катастрофически не хватает времени. Например, мне давно хотелось освоить цветные дисплеи, что я и сделал.  Кроме того, я считаю, что сначала нужно как можно лучше отшлифовать существующие проекты. Вот например, как в последней программе. Вроде бы мелочи, но из этих мелочей складывается удобство эксплуатации приёмника.

@booran Из вышесказанного вытекает ответ на Ваше замечание, что я не там ищу. То есть я пока не ищу. Но некоторый опыт в приёме RDS есть, хотя я и не стал выкладывать проекты с RDS, т. к. результат меня не устроил. Исходники я перестал выкладывать по нескольким причинам, в том числе потому, что программы стали громоздкими  и новичку  разбираться в них будет сложно. А для опытных программистов в моих программах нет ничего интересного. Подтверждением этих слов может служить первый пост на этой странице.

@bulat943 Я Вас тоже прошу измерить потребляемый ток  приёмника при отключенном кнопкой питании.  

Каталог программ FM-радио по сост. на январь 2024 г.

Ссылка на комментарий
Поделиться на другие сайты

Так там все есть,это понятно,мне не понятно в какой момент времени обновлять строку RDS на экране

Насчет ошибки я повторю-это без проблем,они идут=0,группа выбрал=4

booran писал-

Цитата

Это очень простое устройство и там не предусмотрена такая сложная работа с данными RDS, все, что нужно, это прогонять их через МК и тем же самым потоком выводит на экран! ВСЕ! 

Если он такой спец,что может "прогонять" их через мк так пусть объяснит как?

В кратце говоря проблема вот в чем-

Полностью текст RDS 8 символов,4 раза передаются позиции и коды двух символов,с этим тоже вроде понятно-приняли 4 раза и вывели на экран,но проблема в том что они прут и прут (позиция и коды символов),бесконечно,повторю что ошибки=0,сигнал отличный,так как понять-когда начата передача текста и когда текст передан и надо его выводить на экран?

В документацию просьба не тыкать носом-я их изучил вдоль и поперек в свое время,исходники на си не понимаю (там вообще изврат,например пишут то одно равно,то два,то три,знак больше не знак больше а сдвиг и т д,темный лес) 

При громкости=0 ток 30 ма,при выключении после отпускания кнопки пару секунд 5,6 ма,потом 0,88 ма до включения

я как то делал отключение,там многое пришлось отключать (ацп помню,может еще чего то)

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, bulat943 сказал:

Если он такой спец,что может "прогонять" их через мк так пусть объяснит как?

Да что ж вы так сразу с наскоку и по голове бьете) Я вроде понятно написал, что это только мои догадки. На самом деле у вас спрашиваю, что из себя представляют данные и пытаюсь понять в чем проблема их обработать? Повторю, я не работал с ними и ни сколько не принижаю ваши способности, просто спрашиваю. Возможно решение есть и оно относительно простое.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, asvetp сказал:

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

Это самое главное, мне с этим хорошо помог  baza3812.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, bulat943 сказал:

проблема в том что они прут и прут (позиция и коды символов),бесконечно

Открыл стандарт, данные передаются группами по 104 бита, у них жесткое время передачи - 87.6мс, интересна только группа #2 в которой передается радиотекст. Текст передается в 7 битной кодировке  ISO/IEC 646, максимально в группе может быть 64 символа. Интересный поток)

Цитата

Алгоритм работы с RDS на RDA5807M

Сопоставим изложенный материал с нашим RDA5807M. Итак, радио включено и настроено на радиостанцию. 

Для работы с RDS мы устанавливаем флаг RDS_EN регистра 02H.

Если радиостанция передает сообщения по стандарту RDS, то приемник начнет принимать их, бит за битом. При этом еще не понятно к какому блоку относится очередной бит и где границы блоков и групп. Поэтому приемник анализирует входящую последовательность в поисках известных ему значений: смещений. Встретив такое значение, становится известно какой это блок. С этого момента RDS декодер синхронизирован. Данный факт отражается установкой флага RDSS регистра 0AH.

Когда принята очередная группа, RDA5807M помещает в регистры 0CH, 0DH, 0EH, 0FH декодированные информационные слова и устанавливает флаг RDSR регистра 0AH. Другие микросхемы данной серии, имеющие дополнительные выводы, позволяют выводить данный флаг на один из своих выводов и использовать его для генерации прерываний микроконтроллера. В RDA5807M таких выводов нет, поэтому нам остается периодически опрашивать флаг RDSR. Здесь встает вопрос как часто его опрашивать. Скорость передачи данных стандартом RDS составляет 1187.5 бит/c, передача одной группы (104 бита) занимает ~87.6мс, данный временной интервал делится примерно поровну на два промежутка, в течение которых RDSR установлен в 1 и сброшен в 0. Таким образом, чтобы не пропустить получение очередной группы, интервал опроса RDSR не должен превышать 40мс.

При передаче сообщений возможны ошибки, поэтому каждый блок дополняется контрольным словом. Декодер использует его для коррекции ошибок. Информация о количестве выявленных декодером ошибок указывается в битах BLERA, BLERB, BLERC, BLERD регистров 0BH и 10H. При числе ошибок более 5 блок считается поврежденным и не может быть использован.

Отследив установку флага RDSR и убедившись в корректности принятых данных, можно выполнять их расшифровку.

https://tsibrov.blogspot.com/2020/01/rda5807m-part2-rds.html

Изменено пользователем booran
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, booran сказал:

Открыл стандарт, данные передаются группами по 104 бита, у них жесткое время передачи - 87.6мс, интересна только группа #2 в которой передается радиотекст. Текст передается в 7 битной кодировке  ISO/IEC 646, максимально в группе может быть 64 символа. Интересный поток)

https://tsibrov.blogspot.com/2020/01/rda5807m-part2-rds.html

Декодирование уже делает сама RDA5807, единственно нужно забрать эти данные и собрать в строку, кроме этого там есть еще и время с датой, но если дата считывается просто, то вот для даты нужна переменная с запятой, а это ой как увеличивает размер кода на мк с малым объёмом памяти.

Ссылка на комментарий
Поделиться на другие сайты

@asvetp Измерил ток потребляемый приёмником при выключении кнопкой (без учёта тока потребления стабилизатора 3,3В, у меня приёмник на макетной плате с питанием от лабораторного источника), получилось - 320мкА при 3.3В.

Изменено пользователем Vladimir_L
Ссылка на комментарий
Поделиться на другие сайты

Спасибо, Vladimir_L.  Думаю, что это многовато. Возможно нужно увеличить резисторы измерительного делителя напряжения (R8. R9). Какие номиналы этих резисторов в Вашей схеме? 

Изменено пользователем asvetp

Каталог программ FM-радио по сост. на январь 2024 г.

Ссылка на комментарий
Поделиться на другие сайты

booran я у вас в третий раз повторяю-КАК ОПРЕДЕЛИТЬ НАЧАЛО И КОНЕЦ ТЕКТСТА?

прием идет замечательно,ваши 104 бита принимаются на ура-я вам это написал ,но это лишь 2 символа,а в тексте их 8

 

Изменено пользователем bulat943
Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, bulat943 сказал:

booran я у вас в третий раз повторяю-КАК ОПРЕДЕЛИТЬ НАЧАЛО И КОНЕЦ ТЕКТСТА?

А я откуда знаю, это вы с RDA работаете несколько лет )) я второй день ее в глаза вижу и то, через даташиты только. Вот и скажите на чем застопорились, алгоритм я привел с blogspot выше. Начало и конец определяется через синхронизацию по нахождению смещений. У вас так?

Изменено пользователем booran
Ссылка на комментарий
Поделиться на другие сайты

Так вы же сами пишете что 

Цитата

Это очень простое устройство и там не предусмотрена такая сложная работа с данными RDS, все, что нужно, это прогонять их через МК и тем же самым потоком выводит на экран! ВСЕ! 

так объясните как их прогнать?

Я ЗАСТОПОРИЛСЯ НА НАЧАЛЕ И КОНЦЕ СТРОКИ РДС,КАК ИХ ОПРЕДЕЛИТЬ Я НЕ ЗНАЮ!!!

еще раз повторю-данные по 2 символа принимаются замечательно (ваши 104 бита),но это только 2 символа из строки рдс

 

Ссылка на комментарий
Поделиться на другие сайты

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

Проблема вот в чем-объясню на пальцах

Допустим стация передает "радио___",потом "шансон__",данные передаются по 2 символа,проще говоря приходит "ра","ди","о_","__","ша","нс","он","__" (нижний прочерк это пробел-для наглядности),мы включили приемник,а станция уже передала первые 2 пары символов,то есть "ра","ди" мы прошляпали,приняли "о_","__"-вот тут надо знать что это конец строки рдс и дальше будет новая строка,это и есть мой затык

если тупо принять первые 4 пары "о_","__","ша","нс" и вывести на экран то получится "о___шанс",еще ситуация осложняется тем,что эти пары одной строки рдс передаются не последовательно как я написал выше("ра","ди","о_","__"),а по странному алгоритму,то есть например сначала идет "ди",потом "__",потом "о_",потом "ра",через круг в совершенно другом порядке,но у каждой пары есть свое положение в строке рдс

Ссылка на комментарий
Поделиться на другие сайты

@asvetp 320мкА это ток потребления контроллера и радио-модуля, напряжение на делитель (10К/10К) измерения напряжения подаётся от другого канала лабораторного блока питания.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   1 пользователь онлайн


×
×
  • Создать...