Например TDA7294

 Форум РадиоКот • Просмотр темы - Приемник на si4735
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт окт 19, 2018 16:19:14



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Приемник на si4735
СообщениеДобавлено: Чт фев 26, 2015 10:44:28 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
Всем привет.
Дошли руки до этой замечательной микросхемы. Но возникла проблема - не могу считать с неё состояние. Для обмена использую I2C.
Не могу понять где загвоздка.
Отсылка команды происходит так:
Код:
      i2c_start(); 
      i2c_write(0xC6);      //адрес микросхемы si4735
      i2c_write(0x01);
      i2c_write(0x10);
      i2c_write(0x05);
      i2c_stop();   
      delay_ms(200);

то же самое в даташите:
Изображение

это включение микросхемы в фм диапазоне... этот код работает.

считывать состояние пытаюсь так:
Код:
    unsigned int freq;
    unsigned char R1, R2, R3, R4, R5, R6, R7, status;
    i2c_start();
    i2c_write(0xC6);
    i2c_write(0x22);
    i2c_write(0x03);
    i2c_stop();
    i2c_start();
    i2c_write(0x23);
    status=i2c_read(1);
    R1=i2c_read(1);
    R2=i2c_read(1);
    R3=i2c_read(1);
    R4=i2c_read(1);
    R5=i2c_read(1);
    R6=i2c_read(1);
    R7=i2c_read(0);
    i2c_stop();
    freq=R2*256;
    freq=freq+R3;


в даташите:

Изображение

на выходе во всех R - 255...

программу управления пишу в CodeVisionAVR... Как отлаживать - ума не приложу. Микросхемы приемника нету в протеусе. Кто нить пробовал работать с si47xx?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пт фев 27, 2015 09:39:20 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
Хух.. разобрался... :roll:

Правильный код такой:
Код:
    unsigned int freq;
    unsigned char R1, R2, R3, R4, R5, R6, R7, status;
    i2c_start();
    i2c_write(0xC6);
    i2c_write(0x22);
    i2c_write(0x01);
    i2c_stop();
    i2c_start();
    i2c_write(0xC7);      //адрес откуда читать при SEN=1
    status=i2c_read(1);
    R1=i2c_read(1);
    R2=i2c_read(1);
    R3=i2c_read(1);
    R4=i2c_read(1);
    R5=i2c_read(1);
    R6=i2c_read(1);
    R7=i2c_read(0);
    i2c_stop();
    freq=R2*256;
    freq=freq+R3;
    return freq;



оказалось что в начале блока считывания надо подать адрес микросхемы si4735 увеличенный на 1. В моем случае это 0xC7. На это я убил 3 дня :)))

Вообще микросхема хитрая...
Изображение

Выбор типа интерфейса осуществляется с помощью вывода GPO1. Если в момент подачи питания (вернее сразу после сброса) на этом выводе будет 1 - режим обмена данных будет двухпроводной (i2c), а если в этот момент на ноге GPO1 будет 0 () - 3-х проводной.

При интерфейсе i2c, адрес устройства задается выводом SEN. Если там 1 - адрес 0xC6 - на передачу команд в микросхему и 0хС7 - на чтение состояния, а если там 0 - адрес 0х22 - на запись и 0х23 на чтение.

мой девайс для отладки 8) :
Изображение

Микроконтроллер atmega8... si4735 спаяна на переходнике из-за того что сильно мелкая... Программа на микроконтроллер пока очень сырая. Просто две кнопки +/- частота. Десятичную точку на пока индикатор не вывожу, потом придумаю как. Сейчас ФМ диапазон и частота настройки 102,5 МГц.


Вернуться наверх
 Профиль  
 
JLCPCB, 10 прототипов ПП всего за $2 и 2 дня доставка!

Крупнейший производитель печатных плат в Китае, 300,000+ заказчиков, 10,000+ он-лайн заказов в день.

Рассчитайте цену онлайн:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Чт мар 05, 2015 09:24:40 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0

Вроде бы более менее заработало. Сделал :solder: "магнитную антенну" намотав 100 витков на край ферритового стержня. Амплитудную модуляцию возле компа и моей светодиодной лампы трудно ловить, все забивает помехами, а ФМ вполне прилично работает.


Вернуться наверх
 Профиль  
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Второй конкурс по дизайну печатных плат от PCBWay!
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Чт мар 05, 2015 09:48:16 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
Схема микроконтроллерной части:
Изображение

текст программы:


Вернуться наверх
 Профиль  
 
Более 10 000 000 оригинальных новых компонентов

Поставка электронных компонентов под ваш проект

Комплексные решения поставки электронных компонентов

Сэкономьте $30 при первом заказе на сумму боле $200 (только для посетителей нашего форума)
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пн мар 09, 2015 16:33:04 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
а это схема радиоприемной части.

Изображение

магнитная антенна L1 имеет 100 витков на ферритовом стержне длинной 200 мм от какого-то советского приемника.

наверное с входными цепями нужно что-то делать... сильно уж просто...


Вернуться наверх
 Профиль  
 


Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Чт мар 12, 2015 21:00:42 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
Возник вопрос по существу... А какую тактовую частоту микроконтроллера лучше выбрать что бы было меньше помех радиоприему. Сейчас работает на частоте 1 МГц и как раз посредине средневолнового диапазона хорошая такая несущая... Есть вариант без сложностей выбрать 1, 2, 4 и 8 МГц. Что посоветуете?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Чт мар 12, 2015 21:21:10 
Собутыльник Кота
Аватар пользователя

Карма: 65
Зарегистрирован: Ср дек 24, 2008 10:58:58
Сообщений: 2970
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Интересный у Вас проект! Контроллер при приёме сигнала приемником должен быть погружен в сон с отключенным тактовым генератором. Чтобы уменьшить помехи радиоприему в короткое время работы МК следует продумать монтаж. Если соберете на печатке с короткими проводниками, в том числе и к ЖКИ, то будет лучше. Пока на мекетке в длинными проводами от помех приему на АМ избавиться будет сложно.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Вт апр 14, 2015 22:25:13 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
А у Вас на АМ как настройка работает? Перестраиваю частоту шагами по килогерцу, звук на мгновение проваливается после каждого шага. Никак не поборю.

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Чт апр 16, 2015 23:56:37 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
Посмотрел/послушал Ваш ролик, заметил - у Вас та же байда при перестройке частоты на УКВ (думаю что и на АМ тоже). Видимо что-то надо настроить в камне, чтобы этого не было, ведь в промышленных приемниках, сделанных на этой микросхеме, такого нет. Ковыряюсь с настройками AVC и SOFT_MUTE, пока безрезультатно.

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пт июл 17, 2015 13:36:52 
Родился

Зарегистрирован: Чт фев 13, 2014 19:38:37
Сообщений: 13
Рейтинг сообщения: 0
dadigor писал(а):
Посмотрел/послушал Ваш ролик, заметил - у Вас та же байда при перестройке частоты на УКВ (думаю что и на АМ тоже). Видимо что-то надо настроить в камне, чтобы этого не было, ведь в промышленных приемниках, сделанных на этой микросхеме, такого нет. Ковыряюсь с настройками AVC и SOFT_MUTE, пока безрезультатно.

Да, на АМ очень сильно затихает в момент перестройки. На FM более менее нормально (станции слышно и во время перестройки). Не знаю как это побороть. На АМ вообще приходится ждать пока "выпиливает" усиление с после установки частоты.
У вас ничего не получилось?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Ср окт 07, 2015 01:05:54 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
Я с весны не возвращался к макетику, но скоро займусь. Промышленные радиоприемники на этой схеме вроде бы не имеют такого свойства, видимо надо играться с настройками АРУ и шумоподавителя.

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Вс авг 28, 2016 20:54:37 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 27, 2008 16:41:29
Сообщений: 25
Рейтинг сообщения: 0
Извиняюсь, что поднимаю мертвую тему.
Приобрел на Али модуль с микросхемой Si4730.
При подаче команды Power Up возвращает татус 0х40, то бишь ошибка. Это еще полбеды. При установке частоты в режиме FM не устанавливается бит STCINT в регистре статуса.
Если просто читать статус, выдает 0х80, то есть норма. Версию чипа так же читает.
Где подвох?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пт сен 09, 2016 22:08:13 
Родился

Зарегистрирован: Пт сен 09, 2016 19:27:15
Сообщений: 5
Рейтинг сообщения: 0
Странные ныне пошли разработчики . Код писать умеют , а обычные буквари читать не хотят . Совсем читать не хотят . Силабовский чип - это по сути ФАПЧ прямого преобразования . У любого ФАПЧа - будь он цифровой или аналоговый ВСЕГДА будет " хрюк " при перестройке - для этого и нужно блокировать выход приемника . А в режиме АМ нужно еще время , чтобы эту самую АРУ правильно выставить .

Кому не нравятся слова ФАПЧ или даже УКВ - можете смело заМЯУнять на PLL и FM.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Ср сен 28, 2016 23:13:55 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
Т.е. величина Хрюка постоянная и не регулируемая и сделать его менее заметным никак нельзя? И все настройки, предоставляемые разработчиками микросхемы бесполезны в этом деле?
Кстати, интересно, как идёт перестройка частоты при малых приращениях - неужели происходит огромное переколебание в контуре ФАПЧ при перестройке частоты скажем с 5000 кГц до 5001 кГц (именно так я шагаю по диапазону). Я считал, что это должен быть достаточно незаметный Хрюк и если придавить АРУ, можно будет добиться приемлемымых результатов, когда перепад уровней будет зависеть только от самого сигнала, а не от действия АРУ.
Видимо я был не прав, не понимая сути работы этой микросхемы. Жаль, придётся отказаться от её применения.

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Ср окт 05, 2016 14:19:35 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
henx
Вы решили проблему? Если нет, опишите поподробнее, или в кодах, что и как подаете.

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Сб окт 22, 2016 19:39:12 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 27, 2008 16:41:29
Сообщений: 25
Рейтинг сообщения: 0
Инициализация
Код:
        si47xx_reset();       
        cmd[0] = POWER_UP;         
      // The device is being powered up in FM RX mode.       
        cmd[1] = POWER_UP_IN_CTSIEN|POWER_UP_IN_FUNC_FMRX|0x10 ;   
        // The opmode needs to be set to analog mode
        cmd[2] = POWER_UP_IN_OPMODE_RX_ANALOG;       
        // Powerup the device       
       while(!si47xx_waitForCTS());      
        i2c_Restart();
        i2c_SendByte(0xc6);
        if(i2c_ReadAcknowledge()) return;             
        i2c_PutString(cmd,3);       
        i2c_Stop();
        while(!si47xx_waitForCTS());
       
       // If the calling function would like to have results then read them.
           
        DelayMs(POWERUP_TIME);               // wait for si47xx to powerup       
        DelayMs(200);
        DelayMs(200);
       
        si47xx_getPartInformation();   
         
        si47xx_set_property(GPO_IEN, GPO_IEN_STCIEN_MASK);
        si47xx_waitForCTS();
        si47xx_set_property(DIGITAL_OUTPUT_FORMAT, 0x0);
        si47xx_waitForCTS();
        si47xx_set_property(RX_HARD_MUTE, 0);
        si47xx_waitForCTS();
        si47xx_set_property(FM_SEEK_TUNE_SNR_THRESHOLD, 3);
        si47xx_waitForCTS();
        si47xx_set_property(FM_SEEK_TUNE_RSSI_THRESHOLD, 20);
   
       while(!si47xx_waitForCTS());
   
        si47xx_set_property(FM_RDS_CONFIG, 0);
        si47xx_waitForCTS();
        si47xx_set_property(FM_DEEMPHASIS, FM_DEEMPH_50US); // Deemphasis
        // Band is already set to 87.5-107.9MHz (Europe)
        si47xx_waitForCTS();
        si47xx_set_property(FM_SEEK_FREQ_SPACING, 10);      // 100 kHz Spacing
         
        si47xx_set_property(REFCLK_FREQ, REFCLK_FREQ);
   
        si47xx_waitForCTS();
        si47xx_set_property(REFCLK_PRESCALE, 1);
   
        while(!si47xx_waitForCTS());
       


Зависание происходит во время ожидания бита STCINT.
Код:
 frequency =10200;
          fmTuneFreq(frequency);   
          DelayMs(100);
          xerr=0;
     
    while(!(xerr&STCINT))
    {      si47xx_command(1, GET_INT_STATUS,0, 0);
        si47xx_waitForCTS();
        xerr=si47xx_readStatus();
    }      


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Вс окт 23, 2016 01:03:24 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
а что делает
fmTuneFreq(frequency);
раскройте. Насколько я понял, посылается команда 0x20 FM_TUNE_FREQ ?

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Вс окт 23, 2016 16:57:41 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 27, 2008 16:41:29
Сообщений: 25
Рейтинг сообщения: 0
Короче, разобрался, дело было в параметре REFCLK_FREQ, вместо значения ещё раз передавался адрес REFCLK_FREQ.
Записал значение по умолчанию, 0x8000, Прерывания появились.
Да, команда fmTuneFreq(frequency) это команда 0x20


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пн окт 24, 2016 22:43:05 
Потрогал лапой паяльник
Аватар пользователя

Карма: 6
Зарегистрирован: Пт дек 26, 2014 21:33:38
Сообщений: 361
Откуда: Из самой большой деревни.
Рейтинг сообщения: 0
henx, написал вам в личку

_________________
О технике чего спорить-то, давайте попробуем.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Приемник на si4735
СообщениеДобавлено: Пт апр 06, 2018 07:47:24 
Собутыльник Кота
Аватар пользователя

Карма: 35
Зарегистрирован: Чт окт 08, 2009 01:43:16
Сообщений: 2572
Рейтинг сообщения: 0
Силабовский чип - это по сути ФАПЧ прямого преобразования . У любого ФАПЧа - будь он цифровой или аналоговый ВСЕГДА будет " хрюк " при перестройке - для этого и нужно блокировать выход приемника

Чириканье прослушивается тогда, когда неправильно выбраны параметры ФНЧ в петле ФАПЧ. Правильно сконструированный синтезатор издает настолько короткое "чик-чирик", что ничего приглушать не нужно.

У меня вопрос к pooh007 и dadigor. Как ведет себя SI4735 при расстройке на 50-100 килогерц от частоты FM радиостанции, то есть при неточной настройке на частоту? Прослушивается ли громкий скрежет, хрипы, скрипы? Смакетировал я себе DSP приемник на китайской микросхеме схожей с SI4735, уж больной она скрипит когда настраиваешься, аж уши отваливаются. При точной настройке все нормально, а чуть в стороне по частоте жутко верещит.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y