Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Чт окт 13, 2016 20:19:59

Не должно быть, да и в принципе не может быть никакой метки о передаче слова. Станция не знает, принял ли приемник все слово, или только последнюю пару символов. Станция просто транслирует их по очереди. По стандарту - всегда одни и те же 4 пары.
Можно просто их сразу выводить на экран по мере приема, что приведет к такому эффекту. А можно дожижаться четвертой пары (чем этот номер не признак конца слова?) и только затем выводить.

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

Пт окт 14, 2016 13:18:23

короче решил отказаться от рдс,в итоге получилось так-
приемник собран в корпусе-,бокс для 4*ааа батареек с выключателем(пергородки и выключатель удалены)
управляющий контроллер атмега168,дисплей нокиа 5110,4 кнопки,кварц 32768 гц (используется в часах на атмега168),аккумулятор от сотового (сониэриссон),зарядка на LTC4054 c USB-разьемом,стабилизатор питания 3,3 в на LP2981_3.3
кнопки + - меню on
в дежурном режиме потребление 0,5 ма,на экране время и напряжение батареи....
при нажатии on включается радио,кнопками - + регулируем громкость,кнопка on-откл радио,коротким нажатием меню переключаем каналы(по кругу)
---------- МЕНЮ----------------------------------
кнопка меню имеет 3 варианта нажатия(ее состояние высвечивается в верхнем правом углу экрана):
1)нажатие менее 0,5 сек(в углу справа наверху CH+) -переключение частот из памяти
2)нажатие более 0,5 сек и менее 2 сек(в углу справа наверху SKAN+) -автопоиск вверх,как станция будет найдена-стоп поиска
3)нажатие более 2 сек(в углу справа наверху MENU)-вход в меню настроек,которое имеет 5 пунктов
---------- МЕНЮ---------------------------------
>автопоиск
ручной поиск
удаление канала
автоотключение
установка времени

если кому интересно-скину архив(потеус,нех,плата),исходники пока дать не могу

Добавлено after 3 hours 56 minutes 31 second:
https://www.youtube.com/watch?v=clVid3s ... e=youtu.be

Добавлено after 3 hours 10 minutes:
вот протеус,нех,плата
(если кого заинтересует-открою новую тему)
Вложения
rda5807 at168 n5110.zip
протеус,нех,плата в SL6
(80.63 KiB) Скачиваний: 572
Безымянный.jpg
(129.99 KiB) Скачиваний: 905

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

Вт авг 01, 2017 13:56:32

Уважаемые форумчане, помогите разобраться, пожалуйста. Сам я не особо силен в программировании, хочу сделать нормальное радио на stm32f100, взял отладочную плату, Keil, написал программу, используя библиотеку вот от этого примера к видео https://www.youtube.com/watch?v=HGBqD09_n0M. Все казалось бы работает, но ручного задания частоты нет ни в какую ((( Может кто поможет исправить текущую библиотеку или у кого есть готовая для stm32 keil?

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

Вт авг 01, 2017 14:35:08

Беглый взгляд на исходник показывает, что у текущей библиотеки уже есть функция ручного задания частоты (void rda5807_SetFreq_In100Khz(uint16_t Freq100kHz)), так что не совсем понятно, что Вы там хотите исправить.

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

Ср авг 02, 2017 05:43:46

Беглый взгляд на исходник показывает, что у текущей библиотеки уже есть функция ручного задания частоты (void rda5807_SetFreq_In100Khz(uint16_t Freq100kHz)), так что не совсем понятно, что Вы там хотите исправить.


Да, но она не задает частоту, и функция чтения текущей частоты читает что то совершенно не то. При этом автопоиск работает великолепно :cry: :cry:
----------

Проблема решилась, библиотека более чем рабочая, под stm32f100rbt6 работает идеально.

Косяк был в настройках компилятора, была задрана частота под 24 МГц, выставил 8 и все заработало

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

Чт авг 10, 2017 12:22:56

Kotto, в чем проблема посмотреть в дебуггере и ЛА ? Да и поиск готовых либ удел ардуинщика...

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

Вт дек 19, 2017 20:47:33

А никто не знает как у rda5807 сделать так, что бы во время перестройки звук не приглушался? Так же будет удобнее, в ручную, станции искать.

Действительно, как так сделать? При последовательной записи сразу во все регистры приемник издает адские хлопки, при перестройке по частоте, звук пропадает на каждом шаге энкодера. Будет ли щелкать при записи частоты отдельно в регистры 03H:03L?

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

Вт дек 19, 2017 22:09:35

Насколько я изучил этот вопрос, звук приглашается всегда, когда активируется бит TUNE регистра 03.

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

Ср дек 20, 2017 10:16:57

Другими словами при загрузке младших бит номера канала (частоты) в регистр 03L мы всегда будем тревожить бит TUNE устанавливая его в 1 и будем иметь приглушение звука?

P.S. Из добытых в интернете материалов неясно, есть ли у RDA5807M режим загрузки данных в отдельные регистры? Конкретно с индексом "M" в конце. Пишут что по адресу чипа 0x22 можно работать с каждым регистром по отдельности, но у меня по адресу 0x22 чип не отвечает, ACK не устанавливается.

Нормально работает только по адресу 0x10 указанному в даташите, и плюс к тому откликается по адресу, если не путаю, 0x60. Что там по 0x60 я хз, наверное режим совместимости с TEA. Пробовал адреса 0x20, 0x22, 0x12, все глухо как в танке, чип не отвечает подтверждением приема данных.

P.P.S. ЦУК!!! Только сейчас понял, что ардуинщики в этих наших интернетах додумались писать адрес чипа на шине I2C вместе со значением бита приема-передачи по I2C...
Значит адрес прямой записи в отдельные регистры будет 0x11. Чип отвечает по этому hex адресу 11 с нулем на месте бита приема-передачи выставляя ASK на шине. Дальше буду пробовать.

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

Ср дек 20, 2017 12:20:02

Значит адрес прямой записи в отдельные регистры будет 0x11. Чип отвечает по этому hex адресу 11 с нулем на месте бита приема-передачи выставляя ASK на шине. Дальше буду пробовать.

Да, у меня в текущих исходниках все операции с чипом производятся по адресу 0x11.

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

Ср дек 20, 2017 13:07:57

Да, у ардуинщиков адреса в диапазоне 0..127, а READ/WRITE идёт уже отдельной сущностью. В их интерпретации адреса будут 0x10 (последовательный доступ) и 0x11 (порегистровый). Ну и 0x60 в режиме совместимости с TEA5711.

Ну а в другой интерпретации это будут, соответственно, адреса 0x20(0x21), 0x22(0x23) и 0xC0(0xC1).

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

Ср дек 20, 2017 14:17:02

Что-то не получается у меня загрузить данные в конкретный регистр чипа 03H:03L. Вероятно совершаю такую ошибку: сначала загружаю последовательно данные сразу во все регистры, потом начинаю новую передачу по I2C и записываю номер канала в отдельный регистр 0x03. Есть у меня подозрение, что нужно выбирать один из вариантов, либо грузить данные сразу во все регистры, либо адресно в каждый регистр, но опять же во все начиная с регистра 0x02 и заканчивая регистром 0x07. Я прав?

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

Ср дек 20, 2017 16:22:58

нужно выбирать один из вариантов, либо грузить данные сразу во все регистры, либо адресно в каждый регистр, но опять же во все начиная с регистра 0x02 и заканчивая регистром 0x07. Я прав?

Ничего не понял..... :shock:
Обращаться к чипу можно как по адресу последовательного доступа (0x10), так и по адресу произвольного доступа (0x11). Вперемежку. Всё работает.

PS: Да - и адресов регистров всего не 2...7, а 2...15.

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

Ср дек 20, 2017 17:11:53

Вперемежку

Спасибо, с этим теперь все ясно. А то я сомневался.
адресов регистров всего не 2...7, а 2...15.

Вот здесь непонятно. Там же вроде 6 16-разрядных регистров, по два байта в регистре. Адрес указывается для регистра от 2 до 7 и по каждому адресу последовательно загружаются 2 байта. Или я чего-то не догоняю?
P.S. Я имею ввиду количество регистров для записи управляющих байтов в чип. Регистры для чтения пока не рассматривал.

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

Ср дек 20, 2017 18:31:03

P.S. Я имею ввиду количество регистров для записи управляющих байтов в чип. Регистры для чтения пока не рассматривал.

Регистры для записи: 2...9; для чтения: 10...15.
Да - 2-байтовые все.

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

Ср дек 20, 2017 18:47:19

Что-то не получается у меня загрузить данные в конкретный регистр чипа 03H:03L

Перезагрузил комп, передернул PICkit3, перекомпилировал и перепрошил, и заработала адресная загрузка данных в регистры. Глюки были. Но, от щелчков и пропадания звука при перестройке это мне не помогло. Долго настройка устаканивается при каждом шаге. Попробую напрямую управлять синтезатором, может так удастся избавится от неприятных эффектов. Непрерывным вращением ручки энкодера вообще невозможно нормально настроиться. Проворачиваешь на один щелчок и ждешь появления звука, потом еще шаг и снова ждать. Если крутить быстро, звук вообще не появляется, даже шипения нет.

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

Ср дек 20, 2017 20:04:00

Долго настройка устаканивается при каждом шаге. Попробую напрямую управлять синтезатором, может так удастся избавится от неприятных эффектов. Непрерывным вращением ручки энкодера вообще невозможно нормально настроиться. Проворачиваешь на один щелчок и ждешь появления звука, потом еще шаг и снова ждать. Если крутить быстро, звук вообще не появляется, даже шипения нет.

Эта опция (автоматическое отключение звука при скане) где-то в регистрах отключается. Я уже точно не помню где, но у меня раньше тоже так было.
Сейчас у меня и скан частот и ручная перестройка частоты делается без гашения звука.
Там был какой-то битик, поищите. Если не найдёте, то я потом пороюсь в исходниках - вспомню где.
Скан, перестройка частоты или канала - тоже у меня всё чётко - без артефактов. Это возможно ;)

PS: Насколько помню по памяти, там есть какой-то битик, который разрешает автоматическое кратковременное гашение звука при любой операции записи в регистры.
Мне это сначала тоже очень мешало - невозможно было даже громкость выставить. Но потом я его нашёл и выключил.
Возможно, что это бит softMuteEna в регистре 4.

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

Ср дек 20, 2017 22:57:15

Если писать только громкость (порегистровая запись), то звук не глушится. Глушится он только когда тюнер настраивается на задаваемую частоту. И, если не ошибаюсь, SOFTMUTE бит не влияет на это.

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

Пт дек 22, 2017 20:58:05

Нет, бит SOFTMUTE тут не при делах, походу. Как я понял, это мягкое приглушение звука. В отличие от DMUTE отключающего звук полностью, SOFTMUTE только снижает громкость раза в два.

Назрел еще один вопрос. Работает ли БШН при ручной настройке частоты? В режиме поиска шума во время настройки не было, а с установленным битом TUNE шумит во всю при перестройке. Бит SOFTBLEND_EN устанавливал, в биты TH_SOFRBLEND загонял все возможные значения. Но подавления шума в отсутствии сигнала так и не добился.

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

Вс янв 14, 2018 19:01:49

При ручной установке частоты приглушается звук,как это исправить?
пару страниц спрашивал pooh007 но внятного ответа не нашел,SOFTMUTE_EN и SOFTBLEND_EN в ноле
Ответить