У RDA5807 есть возможность прямого задания частоты в килогерцах. То есть, при желании можно даже взять нижний предел в 50МГц + возможность задать смещение (шаг) отностиельно этого предела от 0 до 65535кГц. То есть, можно перекрыть диапазон 50.000МГц..115.535МГц с шагом 1кГц. Я проверял, это действительно работает. Но задалбывает крутить валкодер при настройке .
Даже при шаге 10кГц получается слишком долго крутить, для перекрытия всего диапазона, причём посередине пустое место фактически, без станций.
Лично мне, например, этот диапазон неинтересен ввиду отсутствия уникальных станций в нём. У нас в Минске вроде бы всего 4 станции в нём, при этом имеющие свои копии в диапазоне 87..108МГц.
Но если это действительно востребовано, могу что-нибудь придумать. Например, по умолчанию всё остаётся как есть, но при желании определённое значение какого-нибудь байта в EEPROM могло бы включать расширенный диапазон для RDA5807.
Просто мне не нравятся такие "костыли", которые работают только для одного случая, и не работают для других, тогда как я стремлюсь к некоей унификации.
- Диапазон частот (87..108MHz по умолчанию) теперь задаётся в EEPROM.
Пример для диапазона 76..97МГц. Переводим в 16-ричную систему: 7600 = 0x1DB0, 9700 = 25E4. Записываем в eeprom по соответствующим адресам (см. eeprom.h) B01D и E425 (у AVR такой порядок байтов в многобайтных числах).
- Для RDA5807 переход на метод прямого ввода частоты, позволяющего задавать частоты с шагом 10кГц.
В принципе, теоретически RDA5807 позволяет в этом режиме использовать и 1кГц шаг, но особого смысла в этом нет.
- Для RDA5807 включен файл rda5807_fullband.bin, с задействованными диапазоном 50..115МГц с шагом 10кГц.
- Частоты ниже 76МГц отображаются с двумя значащими цифрами после запятой.
Проверено на RDA5807. На других тюнерах диапазон частот тоже можно изменить, и, теоретически, тоже должно работать, с оговоркой про привязку частоты к некоему большему шагу (на TUX032 реальная привязка будет к сетке 50кГц, несмотря на задаваемую частоту, на TEA5767 ситуация лучше, привязка будет привязкой к шагу около 12кГц).
Нет выхода звука. Остальное вроде как работает.
Только при настройке на станцию - нет сотых, при расширенном диапазоне.
При показании они присутствуют.
Проверял расширенный диапазон и 88-108.
Так как у меня RDA5802E, думаю что-то не совмещается.
Пришли с Ebay RDA5807FP, попробую на них, но это не скоро, пока плата, пока ...
Кто проверил откликнитесь.
С прошивкой с 15 стр. от 17 апреля, всё корректно.
Этому тюнеру теперь соответствует ячейка eepromFMTuner (адрес 0x1A) со значением TUNER_RDA5802 (0x04).
Судя по даташитам, RDA5802 не имеет возможности прямого ввода частоты (как умеет RDA5807), позволяющего работать с шагом 10кГц. Поэтому при переходе на прямой ввод частоты её работа и нарушилась.
При указании значения 0x04 в EEPROM тюнер (что RDA5802, что RDA5807) будет работать "по-старому", в сетке 50кГц.
При установке типа приемника:
значение ячейки 0x1A - 04. Громкости нет у обоих типов приёмника.
значение ячейки 0x1A - 02. Громкости нет у RDA5802E. Громкость у RDA5807FP
есть, но звук появляется только на значении громкости 2.
При настройке на станцию нет показаний сотых, при работе есть.
С прошивкой с 15 стр. от 17 апреля обе микросхемы работают,
но громкость у RDA5807FP также появляется с 2.
Может быть не полная программная совместимость RDA5807M и RDA5807FP.
Закажу RDA5807M и проверю с ней, но это будет в начале июля.
Успехов.
Скачивания есть, хоть бы поделились результатами, а то может только у меня странности.
Вы правы не поставил Fuse, забыл про них. Поставил как надо, заработало.
Проверил и на 4 Мгц, работает, но нажатие на кнопки надо чуть удлинять по с равнению с 8 Мгц.
Оставил на 4 Мгц, пусть МК работает не на максимуме.
При настройке и показании сотые видны.
Ну в идеале необходим шаг настройки в диапазоне 87-108 - 50 кгц, а ниже 87 можно и 10кгц и чтобы это переключение происходило автоматически при уменьшении частоты ниже диапазона FM. Индикацию 5 можно подключить на последнию точку.
На данном этапе она показывает режим моно или стерео. Как показала эксплуатация приёмника при слабом сигнале переключение режима ничего не даёт. Думаю прав был WiseLord, когда выбор режима M-S был в EEPROM. Пусть каждый для себя решит что ему нужно.
Звук с RDA5802E не появился и при 02 и при 04, шаг настройки ставил 100 кгц и диапазон 87-108.
С RDA5807FP звук появляется только при 2 и уровень звука похож на 2.
Или программная не совместимость, или бракованная микросхема, или при пайке что-то в ней нарушилось.
Прошу прощения за назойливость WiseLord , ну что то кроме меня никто не пишет о своих конструкциях.
- Исправлены указанные выше проблемы с настройкой.
Теперь должны корректно работать как значения TUNER_RDA5807 (Значение 0x02, возможность работать в диапазоне 50..115МГц с шагом 10кГц), так и TUNER_RDA5802 (Значение 0x04). Спасибо ув. Cheal за тестирование.
- Разный шаг настройки для нижнего (меньше 76МГц) и верхнего (76МГц) диапазонов.
Ячейки в EEPROM с адресами 0x1D (eepromFMStep1) и 0x1E (eepromFMStep2) соответственно. Значение в ячейке - десятки килогерц.
- Несколько изменены принципы индиации частоты (количества разрядов после точки).
Частоты меньше 76МГц отображаются с двумя знаками после точки. Частоты выше 100МГц отображаются с одним десятичным знаком. Частоты между 76МГц и 100МГц отображаются либо с одним знаком (при шаге >= 100кГц), либо с двумя (при меньшем шаге).
При настройке частоты всегда отображаются два десятичных знака. Для частот выше 100МГц при этом не отображается первая единица (сотни МГц). То есть, при настройке частота, например, 102.15МГц будет отображаться как 02.15. При работе - как 102.1.
Всем привет.
Сделал уже два варианта этого приемника с часами. Но один отобрал ребенок и слушает его по утрам. И очень просит будильник. Я думаю что по будильнику стоит просто включать приемник с заданной частотой и громкостью. ПЛС.
RDA5807FP (02):
в расширенном диапазоне всё работает как Вы описываете, почти всё корректно.
Почти - это нет сигнала при уровне громкости 1. Прикладываю данные на RDA5807FP.
Если программно совместимо, значит микросхема.
RDA5802E (04):
громкость регулируется корректно.
нет приёма на частоты выше 100,9. Станция на 100,9 принимается, а на 101,3 нет - только шум, когда нет настройки
на станцию. Частоту приёма показывает.
Думаю, у Вас просто при уровне 1 слишком тихий звук, но он всё же есть. Я у себя наблюдаю такое:при 0 - тишина (ну да, там mute), при 1 - чуть-чуть слышно, при двойке уже слышно заметно.
По поводу RDA5802E и "нет приёма на частоты выше 100,9". Тут всё просто. Эта микросхема не позволяет использовать "тонкую" прямую настройку. Только скачками, в нашем случае 50кГц на шаг.
Для настройки выделяется 10 бит, т.е. 1024 точки настройки, или 1023 шага. Итого, это 1023 * 50 = 51150 кГц.
Сейчас в качестве минимальной частоты установлено 50МГц.
Итого, в диапазоне от 50МГц можно перекрыть участок 50..101.50 МГц.
Тут немножко моя недоработка. Пожалуй, для RDA5802 надо установить минимум на 65МГц. Тогда с шагом 50кГц можно будет перекрыть 65..116.15МГц.
Либо, использовать шаг 100кГц. Тогда теоретически с этим шагом можно будет покрыть 1023 * 100 = 102300МГц, т.е. 50..152,3МГц.
Попробуйте эту прошивку, в ней я для RDA5802 минимальную частоту установил в 65МГц. Надеюсь, что ничего не сломалось (в железе пока проверить не могу).
P.S. А вообще, я тут подумал, что, возможно, стоит для RDA580x переделать настройку в совсем другом ключе. Не привязываться к некоей базовой частоте на весь диапазон, а устанавливать свою базовую частоту в каждом. Так, в 50..65МГц "опираться" на 50, в 65..76 - на 65, в 76..87 - на 76, в 87..108 - на 87. Тогда каждый из диапазонов будет перекрываться любым, даже самым мелким шагом. Тогда на RDA5802 можно будет в идеале перекрыть диапазон 50..138.15МГц с шагом 25кГц, для RDA5807 - диапазон 50..152,53 с шагом 10кГц. Вопрос только, нужны ли кому-то такие возможности на практике.
С RDA5802E и с диапазоном 87-108, шаг 100 кгц нет ни одной станции, только шум эфира.
Не перезаписывая flash а только eeprom - RDA5807 и с диапазоном 65-108, шаг 10 и 50 кгц, всё корректно.
Громкости нет совсем. С прошивкой с 15 стр. от 17 апреля, когда работают оба типа микросхем,
у RDA5802E громкость есть и на 1, а у RDA5807FP нет, будем считать что грех микросхемы.
По поводу шага, для бытового достаточно 10 кгц, 50 кгц, 100кгц.
Возможно кто хочет принимать служебные станции, если они есть, тогда возможно имеет смысл.
Осталось добавить, если есть возможности железа и желание автора, ручной вывод календарной информации.
Просили будильник, но при отключении напряжения он работать не будет.
Большое спасибо за Ваш труд и терпение.
Это пожалуй единственная универсальная и достаточно простая конструкция,
да и по комплектации всё можно купить не напрягаясь.
Stail564 писал(а):Это же часы кто их выключать будет?
Бухой электрик в трансформаторной будке...
Моя реализация отправки частоты. Хотелось бы перед прошивкой и запаиванием tiny2313 узнать мнение экспертов, правильно ли я отправляю частоту радиостанции в микросхему?
Микросхема у меня SOIC, а плата не предусматривает программирования через SPI...
Формула расчёта PLL немного упрощена, но после вычисления этой формулой и из даташита - значения PLL получались одинаковыми.
Значение переменной freq берётся например 1012, что соответствует 101,2МГц или 929 - 92,9МГц.