Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » FM радиоприемник на модуле RDA5807M (PIC16F84A + RDA5807M)
FM радиоприемник на модуле RDA5807M
vsky Дата: Чт, 03.10.2019, 16:29  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2008

Статус: Offline

Цитата Unicorn ()
С Вашей конфигурацией регистров - шум, просто шум хорошо слышимый. С подпрограммами - на некоторых частотах шум пропадает вообще, на некоторых уровень шума не меняется

код рабочий, давайте схему\фото устройства
Unicorn Дата: Чт, 03.10.2019, 18:08  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

сообщение №4 в этой теме (http://www.picbasic.ru/_fr/18/1506836.jpg)
ivan_fd Дата: Чт, 03.10.2019, 19:25  |                                                                                                                Сообщение # 18
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Невезуха, модуль у меня не такой. Мой на TEA. Завтра напишу прогу и дам вам попробовать, может что и получится. Если я правильно понял у вас рабочая станция 92.4? Идет вещание.
Unicorn Дата: Пт, 04.10.2019, 00:08  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

Цитата ivan_fd ()
Если я правильно понял у вас рабочая станция 92.4? Идет вещание.

Да, это радио Маяк. В принципе пойдет любая станция из списка http://www.radiomap.eu/ru/nizhny-novgorod
ivan_fd Дата: Пт, 04.10.2019, 14:45  |                                                                                                                Сообщение # 20
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Unicorn,  что то написал. Прошейте контроллер. Даю, пока, только HEX. Если заработает, дам всё.
Сделано, согласно с вашей схемой, под кварц 4МГц, контроллер PIC16F84A.
Алгоритм:



А антену Вы используете?
Прикрепления: 8913869.jpg (55.7 Kb) · New_Folder.prod.hex (2.9 Kb)
Unicorn Дата: Пт, 04.10.2019, 19:57  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

Спасибо за труды.
Да, антенну я использую, это кусок провода ~1,5 м. закрепленный на окне. Ваш hex меня озадачил.
Вот что услышалось:
0-10сек. вкл. питания, 1,5сек. тихий тонкий писк потом щелчек и шум
10-20сек тишина
20-30сек шум
30-40сек урчание
40-50сек тишина
50-60сек шум, шорох
Провел 20 тестовых включений и практически не увидел повторяемости результатов, больше похоже на хаос, модуль живет своей жизнью, возможно он неисправен или глючен ! Тишина и урчание возникали в разные промежутки времени без какой либо закономерности.
ЯНДЕКС Дата: 04.10.2019
ivan_fd Дата: Сб, 05.10.2019, 08:45  |                                                                                                                Сообщение # 22
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Тут анализатор помог бы увидеть картину. Хотя, может и модуль неисправен.
Unicorn Дата: Сб, 05.10.2019, 16:20  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

Спасибо за помощь. Будем считать, что неисправен сам модуль. Заказал еще две штуки у разных продавцов. Как придут попробую их и отпишусь.
Unicorn Дата: Сб, 26.10.2019, 22:44  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 25
Репутация: 6   ±
Замечания:   ±
На сайте с 27.10.2014

Статус: Offline

Проблема оказалась в микросхеме К1158ЕН3А стабилизатора на 3v питания модуля. Уровень напряжения и его стабильность в норме, но "шум" микросхемы настолько сильный, что полностью блокировал работу RDA5807M. Попытка установки помехоподавляющих конденсаторов к успеху не привела. При этом микросхемы цифровой логики, с этим стабилизатором, работают нормально. Вот такой нюанс.

Для проверки работоспособности модуля использовал программу с исходными данными:
частота выбранной радиостанции 92,4 МГц
частотный диапазон модуля 87-108 МГц
шаг настройки частоты 100 кГц

- - - Вариант 1 последовательная запись в регистры модуля - - -
@ device xt_osc, wtd_off, protect_off, pwrt_off
DEFINE OSC 4

SCL VAR PORTB.4 'шина I2C такт
SDA VAR PORTB.5 'шина I2C данные

TRISB = %00000000
PORTB = %00000000

RG02H VAR BYTE
RG02L VAR BYTE
RG03H VAR BYTE
RG03L VAR BYTE
RG04H VAR BYTE
RG04L VAR BYTE
RG05H VAR BYTE
RG05L VAR BYTE
RG06H VAR BYTE
RG06L VAR BYTE

RG02H = %11000000
RG02L = %00000001 'вкл. модуля
RG03H = %00001101 'задается частота радиостанции 92,4 МГц
RG03L = %10010000 'задается частота радиостанции 92,4 МГц
RG04H = %00000000
RG04L = %00000000
RG05H = %10001000
RG05L = %10001111 'антенна вкл., громкость максимум
RG06H = %00000000
RG06L = %00000000

I2CWRITE SDA,SCL,$20,[RG02H,RG02L,RG03H,RG03L,RG04H,RG04L,RG05H,RG05L,RG06H,RG06L]

END
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Для регистра 03, кодирование частоты радиостанции: 924 - 870 = 54 или в двоичном коде 110110, т.к. регистр кодировки 10 битный, то в старшие разряды дописываем 0, т.е. код для записи в регистр будет 0000110110

- - - Вариант 2 непосредственная запись в регистры - - -
@ device xt_osc, wtd_off, protect_off, pwrt_off
DEFINE OSC 4

SCL VAR PORTB.4 'шина I2C такт
SDA VAR PORTB.5 'шина I2C данные

TRISB = %00000000
PORTB = %00000000

RG02H VAR BYTE
RG02L VAR BYTE
RG03H VAR BYTE
RG03L VAR BYTE
RG04H VAR BYTE
RG04L VAR BYTE
RG05H VAR BYTE
RG05L VAR BYTE
RG06H VAR BYTE
RG06L VAR BYTE

RG02H = %11000000
RG02L = %00000001 'вкл. модуля
RG03H = %00001101 'задается частота радиостанции 92,4 МГц
RG03L = %10010000 'задается частота радиостанции 92,4 МГц
RG04H = %00000000
RG04L = %00000000
RG05H = %10001000
RG05L = %10001111 'антенна вкл., громкость максимум
RG06H = %00000000
RG06L = %00000000

I2CWRITE SDA,SCL,$22,$02,[RG02H,RG02L]
I2CWRITE SDA,SCL,$22,$03,[RG03H,RG03L]
I2CWRITE SDA,SCL,$22,$04,[RG04H,RG04L]
I2CWRITE SDA,SCL,$22,$05,[RG05H,RG05L]
I2CWRITE SDA,SCL,$22,$06,[RG06H,RG06L]

END
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Этот вариант позволяет записывать значения в конкретный регистр не трогая другие.

- - - Вариант 3 - - -
@ device xt_osc, wtd_off, protect_off, pwrt_off
DEFINE OSC 4

SCL VAR PORTB.4 'шина I2C такт
SDA VAR PORTB.5 'шина I2C данные

TRISB = %00000000
PORTB = %00000000

RG02 VAR WORD
RG03 VAR WORD
RG04 VAR WORD
RG05 VAR WORD
RG06 VAR WORD

RG02 = %1100000000000001 'вкл. модуля
RG03 = %0000110110010000 'задается частота радиостанции 92,4 МГц
RG04 = %0000000000000000
RG05 = %1000100010001111 'антенна вкл., громкость максимум
RG06 = %0000000000000000

I2CWRITE SDA,SCL,$20,[RG02,RG03,RG04,RG05,RG06]

'или так
'I2CWRITE SDA,SCL,$22,$02,[RG02]
'I2CWRITE SDA,SCL,$22,$03,[RG03]
'I2CWRITE SDA,SCL,$22,$04,[RG04]
'I2CWRITE SDA,SCL,$22,$05,[RG05]
'I2CWRITE SDA,SCL,$22,$06,[RG06]

END
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Совместное использование регистров 07 и 08 позволяет вручную задать частоту радиостанции с повышенной точностью (по сравнению с регистром 03). В этом случае, кодирование частоты радиостанции: 92400 кГц - 87000 кГц = 5400 или в двоичном коде 1010100011000, т.к. регистр кодировки уже 16 битный, то в старшие разряды дописываем 0, т.е. код для записи в регистр будет 0001010100011000

- - - Вариант 4 ручной ввод частоты радиостанции - - -
@ device xt_osc, wtd_off, protect_off, pwrt_off
DEFINE OSC 4

SCL VAR PORTB.4 'шина I2C такт
SDA VAR PORTB.5 'шина I2C данные

TRISB = %00000000
PORTB = %00000000

RG02 VAR WORD
RG03 VAR WORD
RG04 VAR WORD
RG05 VAR WORD
RG06 VAR WORD

RG02 = %1100000000000001 'вкл. модуля
RG03 = %0000000000010000
RG04 = %0000000000000000
RG05 = %1000100010001111 'антенна вкл., громкость максимум
RG06 = %0000000000000000
RG07 = %0100000000000011 'режим задания частоты вручную
RG08 = %0001010100011000 'частота радиостанции 92,4 МГц

I2CWRITE SDA,SCL,$20,[RG02,RG03,RG04,RG05,RG06,RG07,RG08]

END
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Все варианты программы рабочие, проверены на трех модулях. RDA5708M сохраняет работоспособность с чистым звуком при напряжении питания 1.7 вольта, при 1.6 работоспособность полностью нарушается. Модуль уверенно стартует только от 1.7 вольта. Некоторое описание регистров см. картинку
Прикрепления: 2734076.jpg (124.7 Kb)

Сообщение отредактировал Unicorn - Сб, 26.10.2019, 22:50
Форум Picbasic.ru » Программирование МК » PicBasicPro » FM радиоприемник на модуле RDA5807M (PIC16F84A + RDA5807M)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: