| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Расчет частоты приема для RDA5807M https://radiokot.ru/forum/viewtopic.php?f=61&t=112746 |
Страница 1 из 11 |
| Автор: | SergSV [ Пт янв 30, 2015 09:55:34 ] |
| Заголовок сообщения: | Расчет частоты приема для RDA5807M |
Делаю часы на 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хххххх и нет результата. Пишу на ассемблере. Подскажите где я ошибся или что-то нужно еще модулю дослать в регистры ? |
|
| Автор: | Albert_V [ Пт янв 30, 2015 10:15:17 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Как то вы странно считаете... При сетке частот 100kHz и диапазоне 87–108 MHz (US/Europe): Канал 0 - это 87.0MHz, 1 - 87.1MHz и т.д. Частота 105,4MHz = канал 184d. Согласны? |
|
| Автор: | SergSV [ Пт янв 30, 2015 10:52:06 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Наверно так. Я думал что номер канала может быть только от 0 до 9. Вот по этому затык был. А это получается 18 канал и 4 это дробная часть канала. |
|
| Автор: | Albert_V [ Пт янв 30, 2015 10:56:13 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Всё проще: Считать надо в одних величинах: Nch = [Fприёма (в MHz) - 87(MHz)] / 0.1(сетка частот в MHz) |
|
| Автор: | SergSV [ Пт янв 30, 2015 11:00:23 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
я уже так и понял что так надо считать 105-87=18 и в конце дробная часть. Спасибо за помощь. |
|
| Автор: | Albert_V [ Пт янв 30, 2015 11:04:08 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Правильнее (105,4-87)/0,1=184 (номер канала). Номер канала всегда 10бит и записывается по адресу 03H в биты с 15-го по 6-ой. 6-ой бит соответствует биту 0 в номере канала. P.S. А в программе проще считать, если частоты изначально умножены на 10 (точку на индикаторе поставить не сложно). К примеру, для вычисления номера канала: 1054-870=184 . Для вычисления частоты по номеру канала 184+870=1054 (частота приёма). |
|
| Автор: | SergSV [ Пт янв 30, 2015 11:36:34 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Сейчас на работе немного по другому пишу процедуру для вычисления канала по примеру (105-87)*10+дробь. т.к у меня целая и дробная часть содержаться в разных регистрах. Так мне кажется немного проще чем с 16 битными числами работать. |
|
| Автор: | Albert_V [ Пт янв 30, 2015 16:27:26 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Да, пёс его знает, что кому проще... Я хранил бы в памяти настроек станций номера каналов (один байт (два старших бита будете "доставлять нулями" для сетки частот 100kHz) + возможно, текстовое название канала), а при выводе частоты на индикатор пересчитывал бы канал>частота и "работал" бы с цифрами частот, умноженными на 10. Если бы была "на борту" клавиатура для ввода частоты - десятичный ввод с клавиатуры с пересчётом в номер канала после подтверждения ввода. Т.Е., "основное число" - номер канала. Но, это уже "как кому удобнее". Лично я, ненавижу "лишние" операции умножение/деление когда можно обойтись без них. |
|
| Автор: | SergSV [ Пт янв 30, 2015 23:42:00 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Путем эксперементов выяснил , что в регистры 03L и 03H записывается частота с которой начинается поиск или вверх или вниз по диапазону. Если сигнал нормальный то включиться на записанном диапазоне, а если чуть слабее то нет и ведется поиск следующей станции. Не хочется возвращаться на TEA5767 из-за чувствительности. Т.к радио будет использоваться в качестве будильника в часах хотелось бы ,что бы включалась определенная станция. Какие есть FM микросхемы которые поддерживают прямую запись в них нужной станции ? |
|
| Автор: | Albert_V [ Пт янв 30, 2015 23:50:02 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Скорее всего, в регистре 02H вы разрешаете поиск. Проверьте. P.S. Поиск разрешён "по умолчанию". |
|
| Автор: | SergSV [ Сб янв 31, 2015 08:35:56 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
да там включен поиск, но если его не включить то просто шипение и все. |
|
| Автор: | Albert_V [ Сб янв 31, 2015 08:39:27 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
То есть, если я вас правильно понял, при выключенном поиске (Seek) вы не можете настроиться на станцию? |
|
| Автор: | SergSV [ Сб янв 31, 2015 09:14:02 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
именно так. вот код принудительной записи. так находит но на станцию ниже 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 |
|
| Автор: | Albert_V [ Сб янв 31, 2015 10:30:11 ] | ||
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M | ||
Мы смотрим один и тот же 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
|
|||
| Автор: | SergSV [ Сб янв 31, 2015 15:48:20 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
PDF смотрим один и тот же. Я этот бит пробовал и в 0 устанавливал и в 1. Результата никакого. PS: в pdf ошибка там нет регистров 04L и 06L если записывать конфигурацию кристала без этих регистров то приемник не работает. Приходится в них записывать нули. |
|
| Автор: | Albert_V [ Сб янв 31, 2015 16:12:42 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
Номер канала - 10-ти битовое число!!!!!!!!! На картинке, в таблице, номера битов. |
|
| Автор: | SergSV [ Сб янв 31, 2015 17:05:21 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
на счет 0Ah бит1 ошибся . он равен 0 при настройке, так же ка и бит0. Данные с этих регистров вывожу в двоичном коде на светодиодную матрицу, и не стой стороны считал начало 0 бита. Да и станцию записывал я не правильно. Допустим частота 107.9 надо было записывать как в 03H=00110100 03L=01 , а я записывал в 03H=11010001 03L=00. После записи установил бит точной настройки и сбросил бит настройки и все заработало. Albert_V спасибо за терпение и помощь. |
|
| Автор: | SergSV [ Сб янв 31, 2015 23:40:22 ] | ||
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M | ||
Код для радио дописал. Единственное звук в самый минимум не уходит. При записи в регистр 05L в бит 3:0 значения 0000 звук по мануалу должен выключиться , а на деле не выключается. Все модули для будущих часов отлаживаю на Atmega8A. Кнопки для изменения диапазона подключены в порт в бит 4 и 5. I2C стандартные выводы Atmega8A. Может кому пригодится код на ассемблере для RDA5807M. RDS пока не делал. файл во вложении
|
|||
| Автор: | Albert_V [ Вс фев 01, 2015 04:01:24 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
SergSV писал(а): ....При записи в регистр 05L в бит 3:0 значения 0000 звук по мануалу должен выключиться , а на деле не выключается.... К выходам LOUT/ROUT RDA5807M у вас подключены наушники или усилитель? |
|
| Автор: | SergSV [ Вс фев 01, 2015 14:02:14 ] |
| Заголовок сообщения: | Re: Расчет частоты приема для RDA5807M |
подключен усилитель. |
|
| Страница 1 из 11 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


