FM радио - TEA5768HL-LCD3310-Mega32
FM радио - TEA5768HL-LCD3310-Mega32
Доброго всем!
Таки дошли хоть чуть чуть руки до соединения все в кучу и получилось - 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"
Таки дошли хоть чуть чуть руки до соединения все в кучу и получилось - 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"
- Вложения
-
- with_menu.zip
- (9.7 КБ) 1797 скачиваний
-
- lcd.jpg
- в работе (ЖКИ3310)
- (189.38 КБ) 3257 скачиваний
-
- shema.jpg
- (127.37 КБ) 3734 скачивания
-
- FM_TEA5768.zip
- исходники
- (7.21 КБ) 1746 скачиваний
Последний раз редактировалось Kalipso Пн окт 12, 2009 14:09:19, всего редактировалось 4 раза.
Igor_67 писал(а):А у мну ТЕА5757Н зависла...Не могу прикошачить к ней МК. Там протокол обмена немного замудренный. Может кто поможет в написании куска кода на СИ? С меня пиво
Так, в ней судя по даташиту тоже последовательная шина с выводом ЗАП./ЧТ.
Решается путем (сам алгоритм передачи битовой последовательности):
//***********************************************************
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
krolaka писал(а):тоже хочу собрать такой девайс но микрух нету только есть из мобил tea5764hn корпус оч геморный qfn
Да, согласен, тяжко достать микросхему, но я поступил проще (в моем случае - удача), был какой-то старый "убитый" плеер МР3 так в нем платка уже готовая со всей обвязкой и микрой TEA5768HL. Потом еще наковырял несколько модулей с TEA5767, которые ждут своей установочной участи.
- krolaka
- Нашел транзистор. Понюхал.
- Сообщения: 169
- Зарегистрирован: Пн мар 02, 2009 12:23:37
- Контактная информация:
тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1
http://sites.google.com/site/krolakas/k ... ects=0&d=1

Re: FM радио - TEA5768HL-LCD3310-Mega32
To Kalipso
Добрый вечер.А схему можно посмотреть.И в какой среде писали.
Добрый вечер.А схему можно посмотреть.И в какой среде писали.
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: FM радио - TEA5768HL-LCD3310-Mega32
Делал приемник на такой микре, хорошая штука! Только вот мега32 тут явна избыточна, тут и восьмой за глаза хватит.
Where technology meets enjoyment.
Re:
krolaka писал(а):тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1
А такую вещь ктонибудь повторил.Там не демо пршивка.
Дачный сезон начинается, а "без музыки тоска".
Re: Re:
darian писал(а):krolaka писал(а):тоже выкладу всю инфу которую был назбирал на микруху tea5767 куча док + исходники для atmega8+tea5767+lcd nokia3310
http://sites.google.com/site/krolakas/k ... ects=0&d=1
А такую вещь ктонибудь повторил.Там не демо пршивка.
Дачный сезон начинается, а "без музыки тоска".
Собрал эту вещь.Нормальный приемник,можно доже без
дисплея.
Re: FM радио - TEA5768HL-LCD3310-Mega32
В схеме вроде как ошибочка - вывод SCE дисплея, наверное, на землю нада, а не на плюс питания. Или я ошибаюсь? И еще вопрос: в тексте програмы частота кварца указана 3,6864 Мгц, а на схеме кварца нет, поясните пожалуйста как это получается. И если можно - какие FUSE bits выставлены в Вашей схеме?
-
Valera_112
- Родился
- Сообщения: 18
- Зарегистрирован: Чт фев 19, 2009 20:55:10
Re: FM радио - TEA5768HL-LCD3310-Mega32
Привет коты, кто подскажет как этим модулем управлять http://www.remcomplekt.ru/cat_info.php? ... &abk=59958 ? Я собрал макетку с этим модулем и Mega48, организовал I2C, модуль отвечает, но не поет...
Интересуют байты конфигурации, с синтезатором вроде разобрался... Просьба в datasheet мордой не тыкать, т.к. англицким не владею, владел бы, глупых вопросов не задавал...
Да поможет нам всем Google!
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: FM радио - TEA5768HL-LCD3310-Mega32
Вот мой кусок кода
Код: Выделить всё
//---------- 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);
}
Where technology meets enjoyment.
-
Valera_112
- Родился
- Сообщения: 18
- Зарегистрирован: Чт фев 19, 2009 20:55:10
Re: FM радио - TEA5768HL-LCD3310-Mega32
Почему у тебя номерация битов идет с разных цифр в 3-ем и 4-ом байтах? Да, посмотрел внимательней на свой модуль, микросхема SP3767 у меня впаяна, а не tea5767, они отличаются чем?
Да поможет нам всем Google!
- neonix
- Электрический кот
- Сообщения: 1040
- Зарегистрирован: Чт фев 19, 2009 17:46:34
- Контактная информация:
Re: FM радио - TEA5768HL-LCD3310-Mega32
Дак там всё просто
в третьем байте ставиться еденичка в 4м бите,а в четвертом байте в 4, 2 и 1 бите.
Where technology meets enjoyment.
Re: FM радио - TEA5768HL-LCD3310-Mega32
Тема ещё не заглохла?У меня вопрос: собрал я радио с первого поста,есть мелкие недоработки,но главное-не запоминаются станции,только те что нашел автопоиск.Куда копать?

