Расчет частоты приема для RDA5807M

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Расчет частоты приема для RDA5807M

Сообщение SergSV »

Делаю часы на RGB индикаторах с FM приемником на RDA5807M . Сначала поставил модуль TEA5767. С ним проблем не было все работает , но не устроила чувствительность. Находил всего 3 станции. Поставил модуль RDA5807M. В автоматическом режиме находит около 12 станций. Хочу записывать в него принудительно частоту станции. Но не получается.

По даташиту такая формула Frequency = Channel Spacing (kHz) x CHAN+ 87.0 MHz. CHAN=0:9

Записывается частота в регистры 03H и 03L (6 и 7 бит ) . У меня частота сканирования Channel Spacing=100 кНz. допустим мне надо станцию на частоте 105,4мГц . Получаем 100*4+105 = 1054 в .Пишем в 03H 10000011 в 03L 11хххххх и нет результата. Пишу на ассемблере. Подскажите где я ошибся или что-то нужно еще модулю дослать в регистры ?
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Как то вы странно считаете...
При сетке частот 100kHz и диапазоне 87–108 MHz (US/Europe):
Канал 0 - это 87.0MHz, 1 - 87.1MHz и т.д.
Частота 105,4MHz = канал 184d.
Согласны?
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

Наверно так. Я думал что номер канала может быть только от 0 до 9. Вот по этому затык был. А это получается 18 канал и 4 это дробная часть канала.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Всё проще:
Считать надо в одних величинах:
Nch = [Fприёма (в MHz) - 87(MHz)] / 0.1(сетка частот в MHz)
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

я уже так и понял что так надо считать 105-87=18 и в конце дробная часть. Спасибо за помощь.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Правильнее (105,4-87)/0,1=184 (номер канала).
Номер канала всегда 10бит и записывается по адресу 03H в биты с 15-го по 6-ой. 6-ой бит соответствует биту 0 в номере канала.
P.S.
А в программе проще считать, если частоты изначально умножены на 10 (точку на индикаторе поставить не сложно). К примеру, для вычисления номера канала: 1054-870=184 . Для вычисления частоты по номеру канала 184+870=1054 (частота приёма).
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

Сейчас на работе немного по другому пишу процедуру для вычисления канала по примеру (105-87)*10+дробь. т.к у меня целая и дробная часть содержаться в разных регистрах. Так мне кажется немного проще чем с 16 битными числами работать.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Да, пёс его знает, что кому проще...
Я хранил бы в памяти настроек станций номера каналов (один байт (два старших бита будете "доставлять нулями" для сетки частот 100kHz) + возможно, текстовое название канала), а при выводе частоты на индикатор пересчитывал бы канал>частота и "работал" бы с цифрами частот, умноженными на 10.
Если бы была "на борту" клавиатура для ввода частоты - десятичный ввод с клавиатуры с пересчётом в номер канала после подтверждения ввода. Т.Е., "основное число" - номер канала.
Но, это уже "как кому удобнее".
Лично я, ненавижу "лишние" операции умножение/деление когда можно обойтись без них.
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

Путем эксперементов выяснил , что в регистры 03L и 03H записывается частота с которой начинается поиск или вверх или вниз по диапазону. Если сигнал нормальный то включиться на записанном диапазоне, а если чуть слабее то нет и ведется поиск следующей станции. Не хочется возвращаться на TEA5767 из-за чувствительности. Т.к радио будет использоваться в качестве будильника в часах хотелось бы ,что бы включалась определенная станция. Какие есть FM микросхемы которые поддерживают прямую запись в них нужной станции ?
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Скорее всего, в регистре 02H вы разрешаете поиск.
Проверьте.
P.S.
Поиск разрешён "по умолчанию".
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

да там включен поиск, но если его не включить то просто шипение и все.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

То есть, если я вас правильно понял, при выключенном поиске (Seek) вы не можете настроиться на станцию?
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

именно так.
вот код принудительной записи.
так находит но на станцию ниже
rcall IIC_Start
ldi temp,0b00100000 ;адрес FM модуля с битом записи
rcall IIC_Send
ldi temp,0b11010011 ;02H байт
rcall IIC_Send
ldi temp,0b00000101 ;02L байт
rcall IIC_Send
ldi temp,0b10100010 ;103,2 настраивается на 101.5
rcall IIC_Send
ldi temp,0b01000000 ;03L байт
rcall IIC_Send
rcall IIC_Stop

а так не настраивается:
rcall IIC_Start
ldi temp,0b00100000 ;адрес FM модуля с битом записи
rcall IIC_Send
ldi temp,0b11010010 ;02H байт
rcall IIC_Send
ldi temp,0b00000101 ;02L байт
rcall IIC_Send
ldi temp,0b10100010 ;
rcall IIC_Send
ldi temp,0b01000000 ;03L байт
rcall IIC_Send
rcall IIC_Stop
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Мы смотрим один и тот же pdf?

Код: Выделить всё

ldi temp,0b10100010 ;103,2 настраивается на 101.5
rcall IIC_Send
ldi temp,0b01000000 ;03L байт
rcall IIC_Send

Почему номер канала 1010001001b = 649d???
Это частота приёма 151,9MHz
----------
P.S.
Понял :)))
Вы забыли, что номер канала не 8, а 10бит.
Младший бит номера канала отметил красным цветом.

Спойлер
ldi temp,0b10100010 ;103,2 настраивается на 101.5
rcall IIC_Send
ldi temp,0b01000000 ;03L байт
rcall IIC_Send
Вложения
RDA5807M_datasheet_v1.pdf
(756.73 КБ) 1052 скачивания
Последний раз редактировалось Albert_V Сб янв 31, 2015 15:48:49, всего редактировалось 1 раз.
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

PDF смотрим один и тот же. Я этот бит пробовал и в 0 устанавливал и в 1. Результата никакого.

PS: в pdf ошибка там нет регистров 04L и 06L если записывать конфигурацию кристала без этих регистров то приемник не работает. Приходится в них записывать нули.
Последний раз редактировалось SergSV Сб янв 31, 2015 22:34:12, всего редактировалось 1 раз.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

Номер канала - 10-ти битовое число!!!!!!!!!
Изображение
На картинке, в таблице, номера битов.
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

на счет 0Ah бит1 ошибся . он равен 0 при настройке, так же ка и бит0. Данные с этих регистров вывожу в двоичном коде на светодиодную матрицу, и не стой стороны считал начало 0 бита.
Да и станцию записывал я не правильно. Допустим частота 107.9 надо было записывать как в 03H=00110100 03L=01 , а я записывал в 03H=11010001 03L=00. После записи установил бит точной настройки и сбросил бит настройки и все заработало.
Albert_V спасибо за терпение и помощь.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

Код для радио дописал. Единственное звук в самый минимум не уходит. При записи в регистр 05L в бит 3:0 значения 0000 звук по мануалу должен выключиться , а на деле не выключается.
Все модули для будущих часов отлаживаю на Atmega8A. Кнопки для изменения диапазона подключены в порт в бит 4 и 5. I2C стандартные выводы Atmega8A.

Может кому пригодится код на ассемблере для RDA5807M. RDS пока не делал. файл во вложении
Вложения
RDA5807M.txt
код
(7.06 КБ) 868 скачиваний
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Расчет частоты приема для RDA5807M

Сообщение Albert_V »

SergSV писал(а):....При записи в регистр 05L в бит 3:0 значения 0000 звук по мануалу должен выключиться , а на деле не выключается....

К выходам LOUT/ROUT RDA5807M у вас подключены наушники или усилитель?
С Уважением, Альберт (Albert_V).
SergSV
Прорезались зубы
Сообщения: 230
Зарегистрирован: Вс янв 26, 2014 22:40:17
Откуда: Рязань
Контактная информация:

Re: Расчет частоты приема для RDA5807M

Сообщение SergSV »

подключен усилитель.
Последняя прошивка для часов на RGB матрицах на 21 странице в теме https://www.radiokot.ru/forum/viewtopic ... &start=400
Ответить

Вернуться в «Периферия»