Страница 1 из 14

FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Чт окт 08, 2009 16:43:43
Kalipso
Доброго всем!
Таки дошли хоть чуть чуть руки до соединения все в кучу и получилось - FM радио на основе TEA5768HL-Nokia 3310 LCD-Mega32. Код программы не ахти правильный по всем канонам Си, не судите строго. Ваялось за два дня. До основательной "железки" пока руки не дошли. В планах добавить регулятор тембра по i2c и усилок какой-нить. Понимаю, что таких конструкций пруд пруди, но захотелось сделать чтоб и автопоиск был и автопамять, и еще четко автоматически настраивался (вверх/вниз) на принимаемую станцию, что в принципе и получилось.
Кратко суть подхода при автопоиске - при переборе частоты вверх/вниз анализируются сигнал об уровне принимаемого сигнала (все что выше условной единицы - 8 ) и счетчик ПЧ (ворота 0x36 < if_count < 0x3F)(см. листинг test.c - стр.289, 355 и 374)). Ну и небольшая обвязка с ЖКИ 3310 и кнопочек. (при желании интерфейс и красота меняются на свою фантазию). Схема: TEA5768HL - в стандартном типовом включении (см. даташит) общается по программной i2c ATMega32. ЖКИ 3310 - не привязан к шине SPI AVRMega32, шина релизована программно, т.е. можно использовать любые 4 вывода любого порта I/O Mega32. В принципе, схема включения понятна по листингу "test.c".
Главное - при первом включении после прошивки нажать кнопочку на выводе PIND.0 - автопоиск станций с автоматической записью в ячейки памяти, поиск не остановится пока не найдет 20 любых станций , вот здесь засада!!!! - а вдруг вообще никаких станций нет!!!! будем в цикле бесконечно. Но так как у нас в городе их навалом (19 штук) то поиск хоть что-то да найдет.
Итог - скорость настройки, четкой и строго на частоту станции - очень быстрая, качество принимаемого сигнала для такого миниатюрного решения отличное, даже в режиме стерео. Вдобавок куча настроек в самой TEA5768HL (опять же см. даташит). Если что-то непонятно пишите, помогу (долго я TEA5768 мучил ну и как итог - намучил).

Да, чуть не забыл - все настройки сохраняются в EEPROM.

Как допишу и проверю, выложу прошивку с реализацией меню на основе finite state machine, основа - меню, реализованное в AVR Butterfly.
Как и обещал - выкладываю прошивку с меню, схема прежняя, изменилась только прошивка (опять же не судите строго, стиль программирования, каюсь, не соблюдаю). Все нужные исходники для прошивки с меню лежат в архиве "with_menu.zip"

Добавлено: Чт окт 08, 2009 20:14:56
hawkman
это все конечно хорошо, но где схема этого шедевра? :wink: или я чего то не понял.....

Добавлено: Чт окт 08, 2009 20:32:37
OBIVAN
Дайте схему заценить , давно на этой микрухе хотелось собрать приемничек. :music:

Добавлено: Пт окт 09, 2009 10:03:22
Igor_67
А у мну ТЕА5757Н зависла... :( Не могу прикошачить к ней МК. Там протокол обмена немного замудренный. Может кто поможет в написании куска кода на СИ? С меня пиво :beer:

Добавлено: Пт окт 09, 2009 12:06:04
krolaka
тоже хочу собрать такой девайс но микрух нету только есть из мобил tea5764hn корпус оч геморный qfn

Добавлено: Пт окт 09, 2009 12:49:24
Kalipso
Igor_67 писал(а):А у мну ТЕА5757Н зависла... :( Не могу прикошачить к ней МК. Там протокол обмена немного замудренный. Может кто поможет в написании куска кода на СИ? С меня пиво :beer:


Так, в ней судя по даташиту тоже последовательная шина с выводом ЗАП./ЧТ.
Решается путем (сам алгоритм передачи битовой последовательности):

//***********************************************************
void TEA_write(char data_in)
{
W_R = 1; //
TEA_clockdata(data_in); // Clock in data bits.
}
//***********************************************************
void TEA_clockdata(char bits_in)
{
int bitcnt;
for (bitcnt=8; bitcnt>0; bitcnt--)
{
SCK = 0; // Set Clock Idle level LOW.
if ((bits_in&0x80)==0x80) {SDIO=1;} // TEA clocks in the MSb first.
else {SDIO=0;}
SCK = 1; // Data is clocked on the rising edge of SCK.
bits_in=bits_in<<1; // Logical shift data by 1 bit left.
}
}
W_R - вывод запись/чтение
SCK - вывод тактирования
SDIO - вход/выход данных
И пинаем ему на вход заранее подготовленные данные в количестве 25 бит настроек.
Где-то примерно так, по моему вразумению

П.С. Данный алгоритм применен и в мной представленной прошивке в библиотеке 3310.lib

Добавлено: Пт окт 09, 2009 12:54:58
Kalipso
krolaka писал(а):тоже хочу собрать такой девайс но микрух нету только есть из мобил tea5764hn корпус оч геморный qfn


Да, согласен, тяжко достать микросхему, но я поступил проще (в моем случае - удача), был какой-то старый "убитый" плеер МР3 так в нем платка уже готовая со всей обвязкой и микрой TEA5768HL. Потом еще наковырял несколько модулей с TEA5767, которые ждут своей установочной участи.

Добавлено: Вс окт 11, 2009 18:23:05
Igor_67
To Kalipso .. Спасибо, похоже на правду :))) Буду пробовать...

Добавлено: Вс ноя 01, 2009 22:37:17
krolaka
тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1 :)

Добавлено: Вт мар 02, 2010 10:32:54
Robinkzn
Ребята подскажите, что и как прошивать.

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Сб апр 17, 2010 16:26:15
darian
To Kalipso
Добрый вечер.А схему можно посмотреть.И в какой среде писали.

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Сб апр 17, 2010 18:09:15
neonix
Делал приемник на такой микре, хорошая штука! Только вот мега32 тут явна избыточна, тут и восьмой за глаза хватит.

Re:

Добавлено: Сб апр 17, 2010 18:42:43
darian
krolaka писал(а):тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1 :)

А такую вещь ктонибудь повторил.Там не демо пршивка.
Дачный сезон начинается, а "без музыки тоска".

Re: Re:

Добавлено: Чт апр 22, 2010 16:15:29
darian
darian писал(а):
krolaka писал(а):тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1 :)

А такую вещь ктонибудь повторил.Там не демо пршивка.
Дачный сезон начинается, а "без музыки тоска".

Собрал эту вещь.Нормальный приемник,можно доже без
дисплея.

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Пт июн 04, 2010 21:33:34
Hustas
В схеме вроде как ошибочка - вывод SCE дисплея, наверное, на землю нада, а не на плюс питания. Или я ошибаюсь? И еще вопрос: в тексте програмы частота кварца указана 3,6864 Мгц, а на схеме кварца нет, поясните пожалуйста как это получается. И если можно - какие FUSE bits выставлены в Вашей схеме?

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Чт июн 17, 2010 21:27:56
Valera_112
Привет коты, кто подскажет как этим модулем управлять http://www.remcomplekt.ru/cat_info.php? ... &abk=59958 ? Я собрал макетку с этим модулем и Mega48, организовал I2C, модуль отвечает, но не поет... :shock: Интересуют байты конфигурации, с синтезатором вроде разобрался... Просьба в datasheet мордой не тыкать, т.к. англицким не владею, владел бы, глупых вопросов не задавал...

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Пт июн 18, 2010 12:07:05
neonix
Вот мой кусок кода

Код: Выделить всё

//---------- 3rd byte-------------//
#define  SUD    7
#define  SSL1    6
#define  SSL2    5
#define  HLSI   4
#define  MS     3
#define  MR     2
#define  ML     1
//---------- 4rd byte-------------//
#define  STBY   6
#define  BL   5
#define  XTAL   4
#define  SMUTE   3
#define  HCC     2
#define  SNC     1
#define  SI     0
//---------- 5rd byte---------------//
#define  PLLREF    7
#define  DTC    6
//----------//

//i2c write
 for (i = 0; i < writeBufferSize; i++)
   {
   i2c_write(TEA_wbuffer[i]);
     }
//i2cwrite

void TEA5767_Init()
{
 unsigned int PLLFreq = 0;


   PLLFreq = (4 * (10380 + 22.5)) / (3.2768); //tune 103.80 MHz
   TEA_wbuffer[0] = 0xC0;
   TEA_wbuffer[1] = ((PLLFreq & 0x00003F00)) >> 8; //1st data byte
   TEA_wbuffer[2] = (PLLFreq & 0x000000FF);        //2nd data byte
   TEA_wbuffer[3] |= _BV(HLSI); //3rd data byte
   TEA_wbuffer[4] |= _BV(XTAL) | _BV(HCC) | _BV(SNC); //4th data byte
   TEA_wbuffer[5] = 0x00; //5th data byte


 I2CWrite(TEA_wbuffer, 6);
}




Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Пт июн 18, 2010 22:35:43
Valera_112
Почему у тебя номерация битов идет с разных цифр в 3-ем и 4-ом байтах? Да, посмотрел внимательней на свой модуль, микросхема SP3767 у меня впаяна, а не tea5767, они отличаются чем?

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Вс июн 20, 2010 13:45:38
neonix
Дак там всё просто :) в третьем байте ставиться еденичка в 4м бите,а в четвертом байте в 4, 2 и 1 бите.

Re: FM радио - TEA5768HL-LCD3310-Mega32

Добавлено: Вс апр 03, 2011 13:08:59
demadsv
Тема ещё не заглохла?У меня вопрос: собрал я радио с первого поста,есть мелкие недоработки,но главное-не запоминаются станции,только те что нашел автопоиск.Куда копать?