Например TDA7294

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





Текущее время: Вт апр 16, 2024 18:17:35

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


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



Начать новую тему Ответить на тему  [ Сообщений: 217 ]     ... , , , 10,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс янв 14, 2018 19:41:02 
Друг Кота
Аватар пользователя

Карма: 35
Рейтинг сообщений: 82
Зарегистрирован: Чт окт 08, 2009 00:43:16
Сообщений: 3284
Рейтинг сообщения: 0
SOFTMUTE_EN и SOFTBLEND_EN в ноле

Я кажется пробовал, и вроде не помогало. Завтра попробую еще раз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Чт янв 18, 2018 10:29:51 
Родился

Зарегистрирован: Вт дек 08, 2009 23:20:34
Сообщений: 2
Рейтинг сообщения: 0
Такой код получился. можно както упростить? по функциям надо только чтоб работал при подаче питания сразу на 110.5мгц с возможностью перестраиваться по частоте на 1мгц вверх и вниз с шагом в 50кгц.
Пока работает на 110.55 при нажатие кнопок частота скидывается и возвращается обратно на 110.55. но косяк при включение не всегда включатся, приходится нажать любую кнопку.

Спойлер#define F_CPU 8000000L
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <avr/eeprom.h>

#include "i2c.h"

#define FQ_UP (PINC & (1<<0))
#define FQ_DN (PINC & (1<<1))
#define ST_UP (PINC & (1<<2))
#define ST_DN (PINC & (1<<3))

unsigned int f; // частота

unsigned char station=1;
uint8_t station_ee EEMEM ;

static uint8_t writeBuf[9];

// запись I2C
void I2C_write (void) {

i2c_start_cond();
i2c_send_byte(0x20);
i2c_send_byte(writeBuf[0]);
i2c_send_byte(writeBuf[1]);
i2c_send_byte(writeBuf[2]);
i2c_send_byte(writeBuf[3]);
i2c_send_byte(writeBuf[4]);
i2c_send_byte(writeBuf[5]);
i2c_send_byte(writeBuf[6]);
i2c_send_byte(writeBuf[7]);
i2c_send_byte(writeBuf[8]);
i2c_send_byte(writeBuf[9]);
i2c_send_byte(writeBuf[10]);
i2c_send_byte(writeBuf[11]);
i2c_send_byte(writeBuf[12]);
i2c_send_byte(writeBuf[13]);
i2c_stop_cond();
}
// инициализация, конфигурация
void FM__init (void) {
writeBuf[0] = 0b11110010;
writeBuf[1] = 0b10000101;
writeBuf[2] = 0;
writeBuf[3] = 0;
writeBuf[4] = 0b00000010;
writeBuf[5] = 0b00000000;
writeBuf[6] = 0b00001000;
writeBuf[7] = 0b10001111;
writeBuf[8] = 0;
writeBuf[9] = 0;
writeBuf[10] = 0;
writeBuf[11] = 0b00000011;
writeBuf[12] = 0b01011011;
writeBuf[13] = 0b11111110;

I2C_write();
return;
}

// задать частоту радиостанции
// частота в формате 101.2 FM пишем как 1012 (например)
// шаг 0.1 МГц
void SetFreq (uint16_t freq) {
freq -= 1104;
writeBuf[2] = freq>>2; // смаршие 8 бит
writeBuf[3] = freq<<6 | (1<<4); //Tune enable (1)
I2C_write();
return;
}
//************************************
void set_station (uint8_t st) {
if (st==1) {f=1104; SetFreq(f); }
if (st==1) {f=1105; SetFreq(f); }
eeprom_write_byte(&station_ee, st);
}
// =============
int main (void)
{
DDRC &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3));//Настройка кнопок
PORTC|=(1<<0)|(1<<1)|(1<<2)|(1<<3);

i2c_init();
FM__init();

sei();// глобально разрешить прерывания


station=eeprom_read_byte(&station_ee);
set_station(station);

while(1)
{
if (!FQ_UP) {f++; if (f>1106) {f=1104;} SetFreq(f); _delay_ms(200);}
if (!FQ_DN) {f--; if (f<1104) {f=1106;} SetFreq(f); _delay_ms(200);}
if (!ST_UP) {station++; if (station>15) {station=1;} set_station(station); _delay_ms(200);}
if (!ST_DN) {station--; if (station<1) {station=15;} set_station(station); _delay_ms(200);}
} // end while(1)
} // end main


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

Карма: 35
Рейтинг сообщений: 82
Зарегистрирован: Чт окт 08, 2009 00:43:16
Сообщений: 3284
Рейтинг сообщения: 0
Кто-нибудь измерял сколько потребляет эта микросхема при напряжении питания 1,8-2 вольта? Вопрос возник в ходе обсуждения с коллегой одного проекта, но как назло как раз сейчас нет под рукой модуля с микросхемой чтобы проверить потребление при низком напряжении питания. Возможно, кто-то проводил измерения и располагает результатами?

P.S. Добрался сегодня до модуля и тестера. При 2 вольтах питания микросхема потребляет 21 миллиампер с отключенными наушниками.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Сб фев 24, 2018 22:00:17 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1395
Откуда: Мелеуз
Рейтинг сообщения: 0
Возникла необходимость принимать частоту 64,7 МГц,в принципе понятно-
BAND[1:0] =11 (0x03H_bit<3:2>)
65M_50M MODE =0
но как считать частоту?
для 87-108- Frequency =Channel Spacing (kHz) x CHAN+ 87.0 MHz
для 76–91 и 76-108- Frequency =Channel Spacing (kHz) x CHAN + 76.0 MHz
для 65 –76- Frequency =Channel Spacing (kHz) x CHAN + 65.0 MHz
а как для 50-65MHz?

Добавлено after 13 minutes 16 seconds:
Разобрался,для 50-76 Frequency =Channel Spacing (kHz) x CHAN + 50.0 MHz,,,,


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

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

Карма: 35
Рейтинг сообщений: 82
Зарегистрирован: Чт окт 08, 2009 00:43:16
Сообщений: 3284
Рейтинг сообщения: 0
Возвращаясь к вопросу питания - RDA5807M вполне сносно работает при напряжении 1,6 вольта. Принимает слово управления, настраивается, принимает. Даже при 1,5 вольтах продолжает чего-то принимать, но уже с заметными шумами. Правда, при 1,5 вольтах нечем загнать в нее управляющие слова, а при 1,6 вольта некоторые экземпляры PIC16F1829 еще в состоянии дергать ногами.


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

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

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

Карма: 35
Рейтинг сообщений: 82
Зарегистрирован: Чт окт 08, 2009 00:43:16
Сообщений: 3284
Рейтинг сообщения: 0
В поисках способа избавится от приглушения звука докатился до "прямой" загрузки частоты синтезатор микросхемы RDA5807M. Не помогло, звук все равно глохнет после каждого шага 1 кГц, хотя бит TUNE при этом не затрагивается. Видимо, нет способа заставить нормально работать эту микросхему. Сделать настройку энкодером нет возможности, при вращении его с нормальной для ручной настройки скоростью звук вообще не появляется, настроится можно только на известные заранее частоты контролируя частоту настройки по дисплею. Похоже, придется эту RDA топку. Настройка кнопками, это несерьезно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс май 27, 2018 12:31:30 
Родился

Зарегистрирован: Пт ноя 04, 2011 15:44:39
Сообщений: 6
Рейтинг сообщения: 0
Приветствую. Написал прошивку на arduino nano, радиоприемник ожил: автопоиск вверх и вниз работает отлично, регулировка громкости тоже работает, фиксированный канал тоже настраивается в общем вроде бы все работает, но есть одно но: не могу получить выод текущей частоты. По регистру 0x0A считываю старший и младший бит. Индикатор стерео работает ( плохой сигнал 0, когда хороший 1), индикатор настройки тоже работает (при настройке 0, как только нашел 1), а вот частота при включении питания 0x1FF, как только настраиваю либо вниз, либо вверх постоянно число 0xFF и ни при каких обстоятельствах не меняется. Кстати адреса по I2C сканеру у меня нашел 0x20, 0x21, 0x22, 0xC0, 0xC1, 0xC2. Конкретно на запись адрес у меня сейчас 0x22, на чтение 0x21. (пробывал все остальные. Итог либо вообще не работает, либо тоже самое). Модулей 2 у меня, работают идентично.
Вопрос может я что то упускаю, что он мне шлет постоянно 0xFF.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вт май 29, 2018 21:41:47 
Родился

Зарегистрирован: Пт ноя 04, 2011 15:44:39
Сообщений: 6
Рейтинг сообщения: 0
"Спасибо" всем откликнувшимся, разобрался сам. Если вдруг кто-то столкнется с такой же проблемой, то вот мое решение: вместо адреса частоты в адресе 0x0A я считал значение в адресе 0x03. Частоту теперь показывает, но с небольшой погрешностью +-0.2МГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вт сен 18, 2018 07:14:15 
Встал на лапы

Карма: 3
Рейтинг сообщений: 14
Зарегистрирован: Сб сен 15, 2018 19:04:00
Сообщений: 133
Рейтинг сообщения: 0
Здравствуйте, собираю тоже приемник на RDA5807, в общем то все работает, единственное RDS адекватно только при хорошем уровне сигнала. Как я понял нужна коррекция ошибок, в общем научился раскладывать полученные 4 блока данных на 26 бит, инет помог, а что дальше делать х...его знает. Очень буду признателен за помощь.


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

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Возможно, вам поможет документация, которую я выкладывал в этом посте (под спойлером).
Не столь важно, для какой микросхемы документация, после того как вы считали блоки RDS.


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

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

Не знаю, где Вы умудрились эти 26 бит выкопать в RDA5807.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вт сен 18, 2018 10:29:14 
Встал на лапы

Карма: 3
Рейтинг сообщений: 14
Зарегистрирован: Сб сен 15, 2018 19:04:00
Сообщений: 133
Рейтинг сообщения: 0
Два одинаковых вопроса задал на разных форумах,ладно. Вроде как слово смещения каждого блока для коррекции ошибки рассчитывается из полученных 16 бит блока.

Добавлено after 55 minutes 14 seconds:
В общем спасибо за разъяснение данного вопроса.


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

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Сколько реальное изменение RSSI у RDA5807М?

По пдф: 7 bit (или max 128):
reg 0BH, 15:9, RSSI[6:0]

Мне необходимо для машабирования (примерно за подобие S-meter на max 7..9 шагов).

На моего радио-модуль на столе:
с ок. 1м проводник для антенны - на самой сильной станции: 74
без антенна: ок. 10

Для Si4702/03:
RSSI is measured units of dBμV in 1 dB increments with a maximum of approximately 75 dBμV. Si4702/03-C19 does not report RSSI levels greater than 75 dBuV.

Это верхний предел и для RDA5807М?
---
Чтобы декодировать RDS без ошибок, я бы попытался проверка FM TRUE true, RDSR true, RDSS true и RSSI выше 60..62.
Получение A и B дважды не очень помогает. Я убрал - дает задержку только.
Из-за меняющихся station_name мне пришлось добавить два буфера - для "зарядки букв" и для "печат".
Работает лучше чем без. Но иногда есть еще ошибки и я не понимаю почему есть, а BLERA и BLERB в 0.
Есть еще что проверить?

Мне нравится работа модуля RDA5807М. Раздражает только глушение -> следует без ручного режима, но это терпимо :)
А вот автоматический поиск станций, на удивление, хорошо работает :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Вс авг 18, 2019 19:37:29 
Родился

Зарегистрирован: Вс авг 18, 2019 19:09:58
Сообщений: 4
Рейтинг сообщения: 0
Здравствуйте.Объясните мне пожалуйста:
вот код принудительной записи в rda5807
так находит но на станцию ниже
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
частота получается 151,9 мГц
Приемник принимает Юмор-FM
транслирующийся на частоте 88,9 мГц
На 151,9 унас в городе вещания нет.
Как такое происходит или расчет чатоты
неверный?Заранее спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пт авг 23, 2019 15:39:01 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
reg_3 = (freq - 870) << 6, где freq - частота в MHz (* 10)

напр. для 88,9 MHz:
reg_3 = (889 - 870) << 6 = 19 << 6 = 0b10011 << 6 = 0b0000010011000000

или:
03H: 0b00000100
03L: 0b11000000

DIRECT MODE = 0, TUNE = 1, BAND = 00, SPACE = 00, сл.
03H: 0b00000100
03L: 0b11010000
----------
При:
03H = 0b10100010, 03L = 0b01000000 => reg_3 = 0b1010001001000000 >> 6 = 0b1010001001 = 649, сл.
(649 + 870) / 10 = 151,9 MHz,

то частота вне раб. диапазона:
The RDA5807M series support frequency range is from 50MHz to 115MHz.

Что принимает RDA5807M на 151,9 MHz, то это непредсказуемо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пн авг 26, 2019 08:48:53 
Родился

Зарегистрирован: Вс авг 18, 2019 19:09:58
Сообщений: 4
Рейтинг сообщения: 0
Добрый день.
Спасибо за ответ.
Есть ли разница между чипами 5807.....?
У меня чип 5809м, надпись на плате RRD-102 Ver:2.0
При вводе данных
ldi temp,0b0b10100010 ;03H
rcall IIC_Send
ldi temp,0b01000000 ;03L
поет Юмор - 88,9 мГц? а
при вводе
ldi temp,0b00000100 ;03H
rcall IIC_Send
ldi temp,0b11010000 ;03L
тишина, даже шумов нет.
Объясните мне пожалуйста, что я делаю не так,
а то я совсем запутался.
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,0b00000100 ;03H
rcall IIC_Send
ldi temp,0b11010000 ;03L
rcall IIC_Send
rcall IIC_Stop
Заранее благодарен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пн авг 26, 2019 10:43:38 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Попробуйте через адрес 0x11 (random access).
Напр. тест работает у меня, 90.3 MHz, код для Arduino:

Wire.beginTransmission(0x11);
Wire.write(0x02); // reg 0x02
Wire.write(0xC0);
Wire.write(0x0D);
Wire.endTransmission();

delay(50);

Wire.beginTransmission(0x11);
Wire.write(0x03); // reg 0x03
Wire.write(0x08); // [15:8] - frequencyH 90,3 MHz
Wire.write(0x50); // [7..0] - frequencyL 90,3 MHz + TUNE bit
Wire.endTransmission();

RDA5807M и управление: 3,3V (подключил I2C через резистори 10k).
Можно и без delay(ms).


Последний раз редактировалось veso74 Пн авг 26, 2019 19:02:35, всего редактировалось 3 раз(а).

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

Зарегистрирован: Вс авг 18, 2019 19:09:58
Сообщений: 4
Рейтинг сообщения: 0
Огромное спасибо.
Макетка лежит на работе,
через день попробую.
Еще раз спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пт авг 30, 2019 10:43:32 
Родился

Зарегистрирован: Вс авг 18, 2019 19:09:58
Сообщений: 4
Рейтинг сообщения: 0
Добрый день!
Прошил адрес 11,
с ним вообще не работает.
Заметил еще одну особенность, если
по старшим адресам 03H заносить
другие значения, то все равно
принимается одна и та же станция.
Пробывал другой чип - так же.
Ничего уже не понимаю. Извините.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Расчет частоты приема для RDA5807M
СообщениеДобавлено: Пт авг 30, 2019 12:59:46 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Ваш микроконтроллер какой?
Ваше управление для I2C bus коректно работает?
Какая скорост I2C?

Проверяли соединения SDA/SCL, проверяли через I2C Scanner RDA отвечает или нет и на какой адрес?
Мой модуль отвечает на 3 адреса:
0x10 (sequential)
0x11 (random)
0x60 (emulate TEA5767)

Ниже: код для Arduino, модуль RDA5807M, работает на 90,3 MHz, super-bass on и de-emphasis 50 ms.
Попробуйте, если Arduino модуль есть. Так будем проверять Ваш модуль-радио работает или нет.

Потом напишете код для Вашего микроконтролера и на Вашем любимом языке программирования.

Не сдавайся так легко, все поправимо :).


Вложения:
rda_05a.zip [6.73 KiB]
Скачиваний: 246


Последний раз редактировалось veso74 Пт авг 30, 2019 13:22:17, всего редактировалось 1 раз.
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 217 ]     ... , , , 10,  

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


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

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


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

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


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