Такой код получился. можно както упростить? по функциям надо только чтоб работал при подаче питания сразу на 110.5мгц с возможностью перестраиваться по частоте на 1мгц вверх и вниз с шагом в 50кгц. Пока работает на 110.55 при нажатие кнопок частота скидывается и возвращается обратно на 110.55. но косяк при включение не всегда включатся, приходится нажать любую кнопку.
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
Кто-нибудь измерял сколько потребляет эта микросхема при напряжении питания 1,8-2 вольта? Вопрос возник в ходе обсуждения с коллегой одного проекта, но как назло как раз сейчас нет под рукой модуля с микросхемой чтобы проверить потребление при низком напряжении питания. Возможно, кто-то проводил измерения и располагает результатами?
P.S. Добрался сегодня до модуля и тестера. При 2 вольтах питания микросхема потребляет 21 миллиампер с отключенными наушниками.
Возникла необходимость принимать частоту 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 и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Возвращаясь к вопросу питания - RDA5807M вполне сносно работает при напряжении 1,6 вольта. Принимает слово управления, настраивается, принимает. Даже при 1,5 вольтах продолжает чего-то принимать, но уже с заметными шумами. Правда, при 1,5 вольтах нечем загнать в нее управляющие слова, а при 1,6 вольта некоторые экземпляры PIC16F1829 еще в состоянии дергать ногами.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
В поисках способа избавится от приглушения звука докатился до "прямой" загрузки частоты синтезатор микросхемы RDA5807M. Не помогло, звук все равно глохнет после каждого шага 1 кГц, хотя бит TUNE при этом не затрагивается. Видимо, нет способа заставить нормально работать эту микросхему. Сделать настройку энкодером нет возможности, при вращении его с нормальной для ручной настройки скоростью звук вообще не появляется, настроится можно только на известные заранее частоты контролируя частоту настройки по дисплею. Похоже, придется эту RDA топку. Настройка кнопками, это несерьезно...
Приветствую. Написал прошивку на arduino nano, радиоприемник ожил: автопоиск вверх и вниз работает отлично, регулировка громкости тоже работает, фиксированный канал тоже настраивается в общем вроде бы все работает, но есть одно но: не могу получить выод текущей частоты. По регистру 0x0A считываю старший и младший бит. Индикатор стерео работает ( плохой сигнал 0, когда хороший 1), индикатор настройки тоже работает (при настройке 0, как только нашел 1), а вот частота при включении питания 0x1FF, как только настраиваю либо вниз, либо вверх постоянно число 0xFF и ни при каких обстоятельствах не меняется. Кстати адреса по I2C сканеру у меня нашел 0x20, 0x21, 0x22, 0xC0, 0xC1, 0xC2. Конкретно на запись адрес у меня сейчас 0x22, на чтение 0x21. (пробывал все остальные. Итог либо вообще не работает, либо тоже самое). Модулей 2 у меня, работают идентично. Вопрос может я что то упускаю, что он мне шлет постоянно 0xFF.
"Спасибо" всем откликнувшимся, разобрался сам. Если вдруг кто-то столкнется с такой же проблемой, то вот мое решение: вместо адреса частоты в адресе 0x0A я считал значение в адресе 0x03. Частоту теперь показывает, но с небольшой погрешностью +-0.2МГц.
Здравствуйте, собираю тоже приемник на RDA5807, в общем то все работает, единственное RDS адекватно только при хорошем уровне сигнала. Как я понял нужна коррекция ошибок, в общем научился раскладывать полученные 4 блока данных на 26 бит, инет помог, а что дальше делать х...его знает. Очень буду признателен за помощь.
Возможно, вам поможет документация, которую я выкладывал в этом посте (под спойлером). Не столь важно, для какой микросхемы документация, после того как вы считали блоки RDS.
RDA5807 уже сама аппаратно раскладывает данные на 4 блока по 26 бит, делает коррекцию ошибок и отдаёт в 4 регистра готовый результат в виде четырёх 16-битных регистров.
Не знаю, где Вы умудрились эти 26 бит выкопать в RDA5807.
Два одинаковых вопроса задал на разных форумах,ладно. Вроде как слово смещения каждого блока для коррекции ошибки рассчитывается из полученных 16 бит блока.
Добавлено after 55 minutes 14 seconds: В общем спасибо за разъяснение данного вопроса.
По пдф: 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М. Раздражает только глушение -> следует без ручного режима, но это терпимо А вот автоматический поиск станций, на удивление, хорошо работает
Здравствуйте.Объясните мне пожалуйста: вот код принудительной записи в 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 унас в городе вещания нет. Как такое происходит или расчет чатоты неверный?Заранее спасибо.
Добрый день. Спасибо за ответ. Есть ли разница между чипами 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 Заранее благодарен.
Добрый день! Прошил адрес 11, с ним вообще не работает. Заметил еще одну особенность, если по старшим адресам 03H заносить другие значения, то все равно принимается одна и та же станция. Пробывал другой чип - так же. Ничего уже не понимаю. Извините.
Ваш микроконтроллер какой? Ваше управление для 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 модуль есть. Так будем проверять Ваш модуль-радио работает или нет.
Потом напишете код для Вашего микроконтролера и на Вашем любимом языке программирования.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения