ОК, выкладываю последние на сегодняшний день прошивки и варианты. Информацию ниже модератор может добавить и в первый пост темы.
Добавил http://radiokot.ru/forum/viewtopic.php?f=25&t=98758
kоyodza
Все прошивки на данный момент поддерживают (жирным выделены варианты для которых у меня нет железа и их работа не проверена мною):
а) Аудиопроцессоры:
- TDA7439;
- TDA7313 (PT2313);
-
TDA7318;
б) Тюнеры:
- FM-модули на базе TEA5767;
- FM-модули на базе RDA5807M;
- тюнеры на базе синтезатора частоты LM7001;
-
тюнеры TUX032 из разного рода автомагнитол ф. Sony;
в) Регулировку яркости подсветки дисплея.
Основной прошивкой на текущий момент является вариант на ATmega32 с кадровым буфером (
исходний код). Он поддерживает графические дисплеи 128x64:
а) на базе KS0108:
- тип А (прямые лог. уровни на входах CS1/CS2) (
схема подключения);
- тип Б (обратные лог. уровни на CS1/CS2), с другой распиновкой (
схема подключения);
б) на базе контроллера ST7920, с распиновкой совпадающей с с KS0108A (
схема подключения).
Данный вариант прошивки наиболее предпочтителен ввиду наибольшей функциональности:
- Поддержка режима обучения кнопкам любого пульта стандарта RC5 без необходимости ручной правки EEPROM в hex-редакторе
- Управление вентиляторами охлаждения усилителя мощности на базе данных от термодатчиков типа DS18B20 (функциональность лично мною проверена только в эмуляторе, не в железе)
- Высокая скорость обновления дисплея за счёт кадрового буфера
- Графические значки для регулируемых функций.
Именно этот вариант прошивки будет расширяться функционально в будущем.
Также этот вариант прошивки может быть легко перекомпилирован под любой другой контроллер AVR с достаточным объёмом RAM(2kB)/Flash(32kB)/EEPROM(1кБ). Потребуется лишь перенастроить таймеры и источник внешнего прерывания для обработки сигнала с пульта ДУ и описать подключение ножек в отдельном файле
pins.h. В частности,
исходники под ATmega64.
Чуть менее функционален вариант на ATmega16 (
исходный код). Его также можно собрать и под ATmega32 без правки исходников, изменив соответственно переменную MCU в Makefile.
Достоинства этого варианта:
- поддержка символьных дисплеев 16x2 (
схема подключения).
- поддержка графических дисплеев LS020 из телефонов Siemens *65 (мною вариант проверялся только в эмуляторе, по поводу схемы подключения интересуйтесь у форумчан или по файлу
ls020.h
Недостатки:
- заметно медленнее работает дисплей ST7920
- нет режима обучения пульту (только отображение кодов нажимаемых кнопок, которые можно записать на бумажку и потом руками внести в EEPROM)
- нет поддержки термодатчиков для управления вентиляторами.
Данный вариант функционально больше расширяться не будет (некуда - памяти не осталось), разве что будут исправляться находимые ошибки.
Также есть "дешёвый" вариант на ATmega8 (
исходный код), поддерживающий только символьные дисплеи 16x2 (
схема). Его достоинство - легко перекомпилировать под другое расположение ножек (править файл
pins.h).