Views: 6445
Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка…
Для понимания функций интегрального приемника RDA5807FP читайте описание http://catcatcat.d-lan.dp.ua/shemotehnika/integralnyie-radiopriemniki/
Фото прототипа, на плате только контроллер и приемник, часы потом прилеплю, сейчас интерес, это получить индикацию и RDS.
Сразу выписал станции Днепропетровска, чтобы смотреть что реально я нахожу…
| Частота, Мгц | Название радиостанции | Сообщение | RDS | RSSI | BLOCK_A (HEX) | Информациолнный стиль |
| г. Днепропетровск | ||||||
| Последнее название на 2013 год. | без антенны | |||||
| 88.1 | Лаудж FM | 64 | ||||
| 88.5 | Радио Релакс | 68 | Easy Listening | |||
| 89.7 | Ретро FM | 64 | Oldies | |||
| 90.1 | Радио Мелодия | 67 | AC | |||
| 90.5 | Radio ROKS | 62 | Rock | |||
| 90.9 | Стильное радио Перец FM | 47* | Top 40 | |||
| 91.4 | Эра FM | 61 | News/Talk | |||
| 100.5 | Люкс FM | LUX FM | Да | 58 | 1047 | Hot AC |
| 101.1 | Русское Радио Украина | PYCCKOE | Да | 61 | 1896 | Russian Top 40 |
| 101.5 | Super Radio | 65 | Hot AC | |||
| 102.0 | Хит FM | HIT FM | Да | 58 | 1895 | Hot AC/AC |
| 102.5 | Europa Plus | Europa Plus Reclama 32-33-33 |
Да | 51 | CHR | |
| 102.9 | Наше Радио | 53 | AC | |||
| 103.3 | Радио Ренессанс | PEHECAHC | 56 | Contemporary Jazz | ||
| 104.0 | Радио Шарманка | 54 | CHR/Top 40 | |||
| 104.8 | Авторадио Украина | 58 | AC | |||
| 105.3 | Радио Шансон | SHANSON | 56 | Шансон | ||
| 105.8 | Просто Радио | 105.8 | 61 | AAA/Hot AC | ||
| 106.4 | Гала Радио | 60 | Hot AC | |||
| 106.8 | Kiss FM | KISS FM | Да | 59 | 1894 | Dance |
| 107.3 | Radio Mix | In T3 | 35* | Hot AC/CHR | ||
| 107.7 | Радио 24 | RADIO 24 107.7 790-5353 |
Да | 59 | 1021 | AC |
Скорректировал таблицу на наличие RDS…
* – станции со слабым сигналом.
Анализ регистров чтения на получения текстовой информации с радиостанции.
| Регистры чтения | ||||
| Байт | Описание | Назначение | Описание | |
| 0x0A | 0 | |||
| 1 | ||||
| 0x0B | 2 | |||
| 3 | ||||
| 0x0C | 4 | BLOCK A или BLOCK E | PI code | |
| 5 | ||||
| 0x0D | 6 | BLOCK B или BLOCK E | PTY | |
| 7 | *-полубайт указатель расположения символов текстовой строке | |||
| 0x0E | 8 | BLOCK C или BLOCK E | 0xE0 | Код указывающий, что следующие два байта текстовое сообщение |
| 9 | 0xCD | |||
| 10 | BLOCK D или BLOCK E | |||
| 11 | ||||
BLOCK A
| Байт чтения 4 | Байт чтения 5 | ||||||||||||||
| PI code | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
| Идентификатор страны | Код Зона покрытия | Код радиостанции как шестнадцатеричное число. Programme Reference Number. |
|||||||||||||
Блок А всегда один и то же для радио станции.
BLOCK B
| Байт чтения 6 | Байт чтения 7 | ||||||||||||||
| B | TP | PTY Code | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
| Тип группы | Версия 0=version A 1=version B |
Traffic prog. code |
Тип передаваемой программы радиостанции |
Адрес передаваемых данных | |||||||||||
Описание групп блока Б.
| Тип группы Версия (A/B) |
Описание, назначение |
| 0 A | Основные настройки и только информационные переключения |
| 0 B | Basic tuning and switching information only |
| 1 A | Program Item Number and slow labeling codes only |
| 1 B | Program Item Number |
| 2 A | Только радиотекст |
| 2 B | Radiotext only |
| 3 A | Applications Identification for ODA only |
| 3 B | Open Data Applications |
| 4 A | Clock-time and date only |
| 4 B | Open Data Applications |
| 5 A | Transparent Data Channels (32 channels) or ODA |
| 5 B | Transparent Data Channels (32 channels) or ODA |
| 6 A | In House applications or ODA |
| 6 B | In House applications or ODA |
| 7 A | Radio Paging or ODA |
| 7 B | Open Data Applications |
| 8 A | Traffic Message Channel or ODA |
| 8 B | Open Data Applications |
| 9 A | Emergency Warning System or ODA |
| 9 B | Open Data Applications |
| 10 A | Program Type Name |
| 10 B | Open Data Applications |
| 11 A | Open Data Applications |
| 11 B | Open Data Applications |
| 12 A | Open Data Applications |
| 12 B | Open Data Applications |
| 13 A | Enhanced Radio Paging or ODA |
| 13 B | Open Data Applications |
| 14 A | Enhanced Other Networks information only |
| 14 B | Enhanced Other Networks information only |
| 15 A | Undefined2 |
| 15 B | Fast switching information only |
Код 0A – говорит, что передается информация о названии станции. Условие поиска данных текста может служить условие (Байт6 & 0b11111000). Если обнаружено в старших 5 битах 0, значить это передача текстовых данных. Для передачи Названия у наших Радиостанций используется только 2 бита данных. Т.е. это всего 8 символов в Байт чтения 7!
| PTY Code | RDS Program type | RBDS Program type |
| 0 | No program type or undefined | No program type or undefined |
| 1 | News | News |
| 2 | Current Affairs | Information |
| 3 | Information | Sports |
| 4 | Sport | Talk |
| 5 | Education | Rock |
| 6 | Drama | Classic Rock |
| 7 | Culture | Adult Hits |
| 8 | Science | Soft Rock |
| 9 | Varied | Top 40 |
| 10 | Pop Music | Country |
| 11 | Rock Music | Oldies |
| 12 | M.O.R. Music | Soft |
| 13 | Light classical | Nostalgia |
| 14 | Serious classical | Jazz |
| 15 | Other Music | Classical |
| 16 | Weather | Rhythm and Blues |
| 17 | Finance | Soft Rhythm and Blues |
| 18 | Children’s programs | Language |
| 19 | Social Affairs | Religious Music |
| 20 | Religion | Religious Talk |
| 21 | Phone In | Personality |
| 22 | Travel | Public |
| 23 | Leisure | College |
| 24 | Jazz Music | Unassigned |
| 25 | Country Music | Unassigned |
| 26 | National Music | Unassigned |
| 27 | Oldies Music | Unassigned |
| 28 | Folk Music | Unassigned |
| 29 | Documentary | Weather |
| 30 | Alarm Test | Emergency Test |
| 31 | Alarm | Emergency |
Этапы разработки …
Обсуждение проекта проводиться в клубе Musiccolor
Схема для Бета тестирования.
Прошивка для этапа тестирования v 0.1.
На этом этапе реализовано, вывод названия радиостанции не в синхронном режиме. Индикация наличия RDS, СТЕРЕО, уровня сигнала, функции кнопок выбор станции и громкость.
Декодирование названия станции и готовности сообщения. Передают не только имя, но и дополнительно, частоту, телефон… В этом варианте будут выделяться только коды сообщения 0A. Декодирование не идеально, но нигде пока не нашел принцип, но в этом варианте меньше всего ошибок.
| Байт чтения 7 | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Бит готовности 1 | Бит готовности 0 | Адрес передаваемых пары байт сообщения. | |||||
Принцип получения данных названия станций.
- Контроллер постоянно читает 12 байт данных.
- Если обнаруживается установка бита RDSS и отсутствие ошибок BLERA и BLERB = 0. Производиться запись полученных байт (BLOCK D) Байт 10 и Байт 11 , в массив по адресу по 2 младшим битам байта 7 если код сообщения 0A.
- Если это условие не соблюдается массив очищается.
- Когда указатель переходит на 0 данные выводятся для индикации.
if(dataread[0]&0b00010000 && !(dataread[3]&0b00001111))
{
if((dataread[6]&0b11111000)==0 && dataread[0]&0b00010000 )
{
test=(dataread[7]&0b00000011);//получения номера байт для строки
if(baitzag==test)// сравниваем полученный номер равен текущему искомому
{
//извлечение символов
if(dataread[10]>=0x20 && dataread[10]<=0x7A) datatext[test*2]=dataread[10];
if(dataread[11]>=0x20 && dataread[11]<=0x7A) datatext[test*2+1]=dataread[11];
if(++baitzag>3)baitzag=0; // изменение указателя получаемого символа
}
}
}
else if (!(dataread[0]&0b00010000)) // если не RDS станция стирание буфера
{
for (a=0;a<8;a++)datatext[a]=' ';// стирание надписи если нет синхронизации
}
if(!baitzag)// условие перезаписи сообщения baitzag == 0
{
// индикаци сообщения
OledCurcor (30,0);
for (a=0;a<8;a++)OledSymbol (datatext[a],0,0,1,1);
}
Версия Бета 1.01, версия для тестирования… 4 кнопки управления выбор канала, регулировки громкости. Индикация частоты, названия станции, громкости, уровня сигнала, RDS, режима стерео.
Для упрощенной модели управление делается на тактовых кнопках (хотя контроллер легко может выполнить обработку сенсоров). Назначение кнопок управление следующая:
| Номер | Описание функций |
| Кнопка 1 | Кнопка функция, предназначена для переключение окон индикации. Основное окно/Окно настройки функций. |
| Кнопка 2 | Функции основного окна: Выбор регулировка громкости/выбор канала. По умолчанию установлено выбор станции. Нажатие – переход к регулировки громкости. Через 3 секунды возвращается функция на переключение станций. Функции окон настройки параметров: Переключение параметр – задаваемое значение. |
| Кнопка 3 | Увеличить выбранный параметр |
| Кнопка 4 | Уменьшить выбранный параметр |
Следующая промежуточная версия для тестирования v 1.05 [wpdm_file id=249 template=”link-template-calltoaction3.php”]
Видео работы
Изменены функции кнопок, изображение перевернуто на 180 градусов, изменена графика…
Следующий этап, привязка часов реального времени, и возможно придется добавить функцию ДУ, для удобства, это для тех кто пожелает сделать стационарный вариант.
Добавлена индикация времени и календаря в нижней строке дисплея, индикация состояния будильника, и функция авто возврата функции кнопок из регулировки громкости в функции выбора каналов. Время авто возврата выбрана 3 секунды, после последнего нажатия кнопок. авто выход из функциональных окон.
Версия бета 1.10.
УКВ – радиоприем, часть 2 - прошивка - beta1.10 9.87 KB 446 downloads
УКВ – радиоприем, часть 2 - прошивка - beta1.10, изменена...Слушаю радио, но тактовые кнопки сильно жесткие попались, поэтому прикрутил ДУ.
Схема обновленная.
Для управления можно использовать любой пульт с кодировкой RC5, стрелки верх вниз выбор канала, влево в право регулировка громкости. Думаю наличие пульта, только будет интереснее тем кто собирается делать стационарный или переносной вариант.
Версия 1.20
УКВ – радиоприем, часть 2 - прошивка 1.20 бета 10.24 KB 531 downloads
УКВ – радиоприем, часть 2 - прошивка 1.20 бета, добавлено...Схема в PDF
УКВ – радиоприем, часть 2 - схема версия 2 21.25 KB 1078 downloads
УКВ – радиоприем, часть 2 - схема версия 2, добавлен...Непосредственный ввод частоты станции.
Для задания непосредственной частоты станции необходимо загрузить канал (частоту) в регистры Байт 02 (биты CHAN) и Байт 03 (биты CHAN). Выполнить это можно так:
freg = 145;//137
Control02.upr=freg>>2; // старшие бит
Control03.CHAN=freg; // 7-6 младшие биты
Но этого недостаточно, чтобы синтезатор перестроился, дополнительно необходимо включить режим точной настройки и запустить поиск:
Control03.TUNE=1; // точная настройка на заданной частоте
Control00.SEEK=1; // включить настройку
RDA5807FP_UP (); // загрузка данных в приемник
Control03.TUNE=0; // сбросить биты в маске
Control00.SEEK=0; //
Версия 1.30 – использует функцию восстановления последней радиостанции, при подаче питания. Запоминание происходит в момент выключения по кнопки пульта ВЫКЛ (код 12).
УКВ – радиоприем, часть 2 - прошивка v1.30 10.77 KB 674 downloads
УКВ – радиоприем, часть 2 - прошивка v1.30 ...УКВ – радиоприем, часть 2 626.13 KB 260 downloads
Проект, радиоприемника с часами реального времени,...Это может быть интересно
MPLAB X IDE – управление проектамиViews: 1213 Среда MPLAB X IDE позволяет оперативно работать с несколькими проектами, например, если у вас в работе несколько проектов: Для того чтобы переключиться достаточно выбрать другой проект: Для выбора …
NS108-5050-16bit от NewstarViews: 722 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
Analog-to-Digital Converter with Computation Technical BriefViews: 1517 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …
Дифференциальный терморегуляторViews: 4164 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
Стабилизатор тока для светодиодов SN3350Views: 2813 SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V драйвер светодиодов с внутренним ключом SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или …
Проект с использованием MCC часть 04Views: 1357 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
Контроллер управления светодиодным освещением с дистанционным управлениемViews: 2077 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще …
Ultrasonic Level Meters – ULM –53LViews: 806 Измерение расстояния при помощи ультра звукового датчика ULM–53L–10. Диапазон измерения от 0,5 м до 10 м, полностью пластмассовый излучатель PVDF, механическое соединение фланцем из полиэтилена HDPE (исполнение “N”) Характеристики …
Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Views: 730 September 2023 component base update. Release updates V. – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
Индикатор температурыViews: 2857 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …











Комментарии