Например TDA7294

Форум РадиоКот • Просмотр темы - Расчет частоты приема для RDA5807M
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 12:06:45

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 217 ]     ... , , , 7, , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вт фев 23, 2016 19:53:11 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Бит TUNE устанавливаете? Только с ним будет производится перестройка частоты.

А вот без этого бита удобно, например, громкость регулировать.

Прямой ввод частоты осуществляется же установкой бита FREQ_MODE (07L) и прямым вводом значения частоты в регистрах 08H,L. Значение указывается в кГц относительно установленного нижнего лимита частоты.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вт фев 23, 2016 21:12:07 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
А у меня другая проблема запускаю авто поиск командой 0x20,0xD2,0x81. Станции находит но не принимает данные из RDA5807 после запроса 0х10,0х0А и запуска чтения, 0х11 приходит 0XFF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Ср фев 24, 2016 10:36:56 
Родился

Зарегистрирован: Пн фев 22, 2016 22:27:52
Сообщений: 4
Рейтинг сообщения: 0
WiseLord писал(а):
Бит TUNE устанавливаете? Только с ним будет производится перестройка частоты.

А вот без этого бита удобно, например, громкость регулировать.

Прямой ввод частоты осуществляется же установкой бита FREQ_MODE (07L) и прямым вводом значения частоты в регистрах 08H,L. Значение указывается в кГц относительно установленного нижнего лимита частоты.


Да, бит TUNE был установлен, но я пробовал вводить частоту в биты CHAN[9:0] регистра 03. Попробую через регистр 08. Кстати, а если частоту нужно устанавливать через регистр 08, то зачем нужны биты CHAN[9:0] регистра 03?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Ср фев 24, 2016 10:49:01 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Регистр 03 - это ввод частоты по сетке. Базовая функциональность, с неё работает и автопоиск (можно автонастроиться и вычитать значение настройки в единицах этой сетки.

Регистр 08 - прямой ввод частоты (грубо говоря, сетка в 1кГц). Тут уже после автонастройки точную частоту вроде никак не узнать.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Ср фев 24, 2016 11:07:17 
Родился

Зарегистрирован: Пн фев 22, 2016 22:27:52
Сообщений: 4
Рейтинг сообщения: 0
Понял, а можно ввести частоту по сетке (регистр 03) и перестроится на нее? Как это сделать. Случайно, не бит DIRECT MODE регистра 03 за это отвечает?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Ср фев 24, 2016 11:25:50 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Можно. Собственно, это и есть основной режим работы.

В принципе, можете глянуть на мою реализацию драйвера для RDA5807. Там, по идее, ничего сложного. У меня подход следующий - сначала нужные данные укладываются в буфер wrBuf[], а потом этот буфер закидывается в микросхему целиком. Аналогично, для чтения - свой буфер rdBuf[].

Константы смотрите в .h-файле.

А бит DIRECT_MODE - это что-то тестовое за рамками даташита.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Ср фев 24, 2016 20:03:45 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Наконец добился авто поиска, как оказалось не работала процедура аппаратного чтения I2C, залил программный I2C и все заработало. Собственно теперь работает перестройка по частоте в ручном режиме, регулировка громкости и собственно авто поиск, также здесь используется LCD NOKIA 5110. Писал программу для PIC16F873A


Вложения:
Radio.asm [42.79 KiB]
Скачиваний: 812
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Чт фев 25, 2016 11:51:50 
Мудрый кот

Карма: 10
Рейтинг сообщений: 272
Зарегистрирован: Пт мар 26, 2010 17:16:52
Сообщений: 1769
Откуда: Kazan
Рейтинг сообщения: 0
111284 Жаль только на асме, как раз надо было для PIC. :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Чт фев 25, 2016 12:25:43 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Привык к нему, а подучить Си времени пока нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 27, 2016 17:04:43 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Оптимизировал свой код, теперь хочу попробовать чтение RDS, но полистав интернет так и не попалась инфа как получать данные текста из прочитанных байт. Народ прошу помощи с этим, если не сложно поделитесь опытом декодирования RDS данных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 27, 2016 17:35:35 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Чуть выше я давал ссылку на свою реализацию RDA5807, там в том числе и поддержка RDS есть.

В двух словах - у RDA5807 периодически (в главном цикле) запрашивается статус, т.е. вызывается функция rda5807ReadStatus(), возвращающая массив данных. Часть этих данных является данными RDS, и если они достаточно корректные (цепочка условий), выполняется rdsSetBlocks() над концом этого массива. Эта функция (её реализация в rds.h/rds.c, идея подсмотрена где-то на просторах интернета) собственно декодирует эти данные и укладывает их в читаемом виде в 8-байтовую строку, которую можно запросить в любой момент функцией rdsGetText().


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 27, 2016 18:57:20 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Да смотрел ваш пример, вот как раз интересует момент загрузки данных в массив и определения символа в строке, к сожалению с Си не очень, цепочка проверки на наличее RDS понятна, а вот что дальше делать не очень.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 27, 2016 19:33:30 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Код:
if (rdsBlock[6] >= 0x20 && rdsBlock[6] < 0xFF)
  rdsText[(rdsBlock[3] & 0x03) * 2] = rdsBlock[6];
if (rdsBlock[7] >= 0x20 && rdsBlock[7] < 0xFF)
  rdsText[(rdsBlock[3] & 0x03) * 2 + 1] = rdsBlock[7];

Вся магия где-то здесь. Я сам где-то в интернете нашёл принцип и сильно не вникал, но можно более-менее разобраться.
rdsText - массив из 8 байтов, куда помещается принимаемый текст. Сам текст (два байта) находится в блоках 6 и 7 (RDS block D). Адрес этого текста - последние два байта rdsBlock[3] (RDS block B).
Вот и выходит, что при приёме сигнала итоговый результат нужно собирать таким образом (все 4 строки передаются в разное время):
Код:
   REG 0x0C      |   REG 0x0D      |   REG 0x0E      |   REG 0x0F
   RDS BLOCK A   |   RDS BLOCK B   |   RDS BLOCK C   |   RDS BLOCK D
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx00 xxxxxxxx xxxxxxxx aaaaaaaa bbbbbbbb
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx01 xxxxxxxx xxxxxxxx cccccccc dddddddd
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx10 xxxxxxxx xxxxxxxx eeeeeeee ffffffff
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx11 xxxxxxxx xxxxxxxx gggggggg hhhhhhhh

В итоге 8 байтов abcdefgh и соберутся в некую строку, передаваемой станцией. Обычно там бывает название радиостанции, или "прокручивается" название песни. Сам протокол позволяет и больше данных передавать, но это нужно разбираться как с протоколом, так и с тем, умеет ли его RDA5807. Возможно, она не все поля умеет принимать. А, возможно, все они тоже укладываются в эту схему, просто адресация у них (block B) будет другая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 27, 2016 20:55:01 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
То есть после проверки статусов, смотрим блок Б и записываем данные из блока Д в регистры соответствующие номеру символа в строке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс фев 28, 2016 05:47:33 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 0
Да, что-то вроде того. И после приёма четырёх разных строк будем в итоговом буфере иметь нужные данные.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс фев 28, 2016 10:33:53 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Не совсем понял насчет четырех строк, это символы в блоке д или номера строк тоже нужно искать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс фев 28, 2016 15:56:04 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4871
Откуда: Минск
Рейтинг сообщения: 1
Станция передаёт только два символа в блоке D. При этом два младших бита блока B говорят о том, какая эта пара.

После приёма четырёх таких пар (четыре строки у меня в цитировании выше) с разным адресом можно сформировать итоговую строчку из 8 символов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс фев 28, 2016 16:42:17 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Значит я все все таки правильно понял, огромное спасибо за помощь буду пробовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пн фев 29, 2016 22:31:29 
Встал на лапы

Зарегистрирован: Сб апр 03, 2010 17:24:43
Сообщений: 139
Рейтинг сообщения: 0
Запустил чтение RDS, но к сожалению как я понял правильность вывода данных зависит от уровня сигнала, так корректный вывод получился при уровни сигнала 24, а так как я живу под бугорком у меня в дневное время сигнал от 16 до 20. Так что пока придется от RDS Отказаться. Да и так же подтверждаю при снижении уровня сигнала снижается громкость.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пн мар 28, 2016 21:08:26 
Первый раз сказал Мяу!

Зарегистрирован: Чт фев 13, 2014 18:38:37
Сообщений: 25
Рейтинг сообщения: 0
Что бы не создавать новую тему, спрошу здесь.

А никто не знает как у rda5807 сделать так, что бы во время перестройки звук не приглушался? Так же будет удобнее, в ручную, станции искать.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 217 ]     ... , , , 7, , , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y