Автор Тема: FM - радио  (Прочитано 2841 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Catcatcat

  • Администратор
  • Пользователь
  • *****
  • Сообщений: 62
  • Карма: 0
  • Пол: Мужской
FM - радио
« : 04 Сентябрь 2013, 09:55:39 »
Приемник нового поколения, однокристальный, с полностью интегрированным синтезатором, IF избирательностью, RDS/RBDS и MPX декодер -FM радио тюнер, стерео. Тюнер изготовлен по  CMOS технологии, поддерждерживает цифровой интерфейс I2S Audio Data Interface и требует минимального количества внешних компонентов. В корпусе SOP16. Полностью без внешних регулировок. Все это делает его очень привлекательным для портативных устройств. RDA5807FP имеет мощный цифровой аудиопроцессор, это дает возможность получить оптимальный звук высокого качества в различных условиях приема.

Оффлайн shtela

  • Новичок
  • *
  • Сообщений: 8
  • Карма: 1
  • Пол: Мужской
Re: FM - радио
« Ответ #1 : 28 Май 2014, 02:15:45 »
Привет!
Можешь подсказать по работе RDA-шки. Вроде бы работает, но как-то странно:
1) Задаёшь команду поиска:
Register_02H:=%11000011;
Register_02L:=%00000101;
Register_03H:=%00000000;
Register_03L:=%00001000;
Register_04H:=%01000010;
Register_04L:=%00010000;

Находит в Запорожье каналы, но в такой странной последовательности, МГц: 76.6 -> 109.9 -> 102.2 -> 106.6 -> 102.2 -> 106.6 -> 101.1 -> 102.2 -> 76.6 -> 109.9 -> 106.6 -> 101.1

В общем бред какой-то без логики.

2) Не работает формула определения частоты из datasheet:

BAND = 1 or 2
Frequency   =   Channel   Spacing   (kHz)   x READCHAN[9:0]+ 76.0 MHz

Зато работает так и частоту определяет правильно: Frequency   =   READCHAN[9:0]+ 76.0 MHz

Считывание регистров сделал так:
Procedure RDA5807FP_read();
Begin
SREG_I_bit:=0;
TWI_Init(50000);         // initialize TWI communication
TWI_Start();
TWI_Write(%00100001);
Register_0AH:=TWI_Read(1);
Register_0AL:=TWI_Read(1);
Register_0BH:=TWI_Read(1);
Register_0BL:=TWI_Read(0);
TWI_Stop();
TWI_Close();
SREG_I_bit:=1;
end;

Определение частоты:

tmp:=Register_0AL;
if Register_0AH.0=1 then tmp:=tmp+256;
if Register_0AH.1=1 then tmp:=tmp+512;

tmp:=760+tmp;

FREQ:=tmp;

Если не трудно, подскажи, пожалуйста

Оффлайн валентинкатинка

  • Новичок
  • *
  • Сообщений: 0
  • Карма: 0
  • Пол: Женский
Re: FM - радио
« Ответ #2 : 13 Ноябрь 2014, 11:23:03 »
ух ты....наверное мощная штучка :)

Оффлайн shtela

  • Новичок
  • *
  • Сообщений: 8
  • Карма: 1
  • Пол: Мужской
Re: FM - радио
« Ответ #3 : 14 Ноябрь 2014, 03:51:19 »