Управляющая программа для а/м - своими силами на примере BECKER BE0778
Работаю я
регулировщиком РЭА и Пр. на
одном из предприятий нашей так называемой оборонки, а также
в свободное от основной работы время занимаюсь ремонтом бытовой
РЭА. Давненько, лет 5-6 назад попалась мне а/м BECKER, исправная,
но с так называемым кодом. Долго тогда я с ней мучался, но одолеть
не смог. Только в результате моих экспериментов сдох микроконтроллер
(далее по тексту м/к). Долго эта магнитола пролежала в моих загашниках,
и вот совсем недавно у меня возникла мысль её оживить, путём установки
в неё какого-либо подходящего м/к с самостоятельно написанной
прошивкой. Поводом к тому послужило наличие на рынке в настоящее время
недорогих
многократно перепрограммируемых м/к, наличие доступного Интернета для
скачивания описаний к используемым м/c, а также желание попробовать
свои силы и наличие свободного времени. Учитывая стоявший в BECKERе м/к
типа 8049,
наиболее подходящей заменой ему я выбрал м/к AT89S8252 изсемейства
совместимых с MCS-51 . У него достаточное число ног, а главное большой
запас стираний/записи (по описанию – не менее 1000),
достаточный объём РПЗУ (8 кб) и невысокая стоимость ( в MITRAKONE
3.45$, на Митинском рынке купил за 70р). Cкачав из Интернета так
называемые даташиты, оказалось
нетрудно составить структурную
схему BECKERа:

и
выяснить назначение всех выводов прежнего м/к. На основе полученных
данных была составлена схема переходной платы:
Переходная плата потребовалась, т.
к. цоколёвка AT89S8252, немного не совпадает с 8049. В качестве
программатора наиболее подошел так называемый “жгучий
кабель”, собранный также самостоятельно. Он прост в сборке,
не содержит дорогих комплектующих, а самое главное позволяет
программировать кристалл прямо в схеме, что весьма удобно для
начинающего программиста. Также весьма удобным оказалось то, что в этом
программаторе COM порт используется по прямому назначению, что дало
возможность, установив на плате программатора дополнительный
переключатель, использовать встроенный в AT89S8252 COM порт для
отладочной печати.В качестве среды для написания
“прошивки” я выбрал PROVIEW производства Franklin
Software Inc. Обладает понятным интерфейсом, хорошим HELPом и имеется
встроенный отладчик.В среде PROVIEW возможно написание программ на
ASSEMBLERE или СИ. Написав несколько cтрок на ASM, я понял, что для
меня в данном случае ASM плохо подходит. Так в качестве языка был
выбран СИ. Теперь о написании прошивки. Начал с
примеров, имеющихся в PROVIEW. Потом поморгал лампочкой
“DK”. Написал регулятор громкости и т.д. Принцип
работы вполне понятен из исходного текста и комментариев в нём.Немного
о работе с магнитолой. Учитывая больший объём памяти нового м/к, а
также наличие на кристалле EEPROM, в состав магнитолы были введены
новые функции – 30 каналов памяти UW, 30 каналов памяти MW и
ДУ. Запрос кода не поддерживается, также в ввиду отсутствия в нашей
стране службы VWF (German 'Verkehrs Warnfunk') не обрабатываются
сигналы декодера VWF. Сразу после включения магнитола переходит в режим
работы с каналами памяти, на индикаторе отображается
“СHXX” где “XX” - номер
текущего канала. Для переключения каналов используется ручка настройки.
Для перехода в режим ручной настройки надо нажать и удерживать клавишу
“DK”. Режим ручной настройки аналогичен работе с
оригинальным BECRERом. Для записи выбранной частоты в память надо ещё
раз нажать и удерживать клавишу “DK”, при этом
загорится лампочка “DK” и будет предложено выбрать
канал номер канала для записи, на индикаторе будет отображаться
“CHXX”. Длительным нажатием клавиши
“DK” можно записать частоту в выбранный канал
памяти, для отказа от записи в память надо нажать
“DK” кратковременно. Для перехода обратно в режим
работы с каналами также нажать “DK” кратковременно.
В качестве системы ДУ выбрана широкораспостраннённая RC500 фирмы
Phlilips. В качестве пульта ДУ используется пульт от телевизора
“Horizont”. Поддерживается регулировка громкости,
перебор каналов по кольцу и прямой выбор первых 9-ти каналов (c 1-го по
9-ый).
Используемые
материалы и литература:
Описания на большинство микросхем можно найти на сайте ALL DATASHEET
1. Краткие описания на м/c, используемые в BECKERе:
TDA1062 - м/c для УКВ блока, отечественный аналог К174ХА15.
TDA4200 - УПЧ, частотный детектор..
TDA1001 - шумоподавитель.
TCA4500 - стереодекодер системы с пилот-тоном.
TDA1579 - декодер системы VWF .
LA2904 - просто ОУ.
TDA4001 - однокристальный радиоприёмник..
SAA1057 - PLL синтезатор частоты.
TDA1029 - аналоговый двухканальный переключатель на четыре входа и один
выход в каждом канале, отечественный аналог К174КП1.
TDA 1524 - электронный регулятор громкости стереобаланса и тембра.
TDA2005 - УНЧ. Описания не потребовалось.
HEF4094 - 8-ми разрядный регистр сдвига с последовательной загрузкой и
параллельным выходом. Используется совместно с резисторным ЦАП и
TDA1524 как регулятор громкости.
HEF4014 - 8-ми разрядный регистр сдвига с параллельной загрузкой и
последовательным выходом. Используется для опроса клавиш памяти (в
других моделях BECKERa), клавиши U/M, и “AUTOMATIC”.
PCF2112 - контроллер индикатора.
2 . Описание на AT89S8252 имеется на
ATMEL (РУССКИЙ
СЕРВЕР) там же
можно найти и описание и схему жгучего кабеля.
Также
много полезной информации можно найти в справочнике: Бродин В.Б.,
Шагурин М.И. “МИКРОКОНТРОЛЛЕРЫ архитектура, программирование,
интерфейс. Описание и схема жгучего
кабеля” имеется также и на Разное.
Там же можно найти и схему
программатора для AT90S1200.
3. PROVIEW демонстрационную версию (ограничение памяти 8кб) можно
скачать здесь.
А также найти на диске “Современные
микроконтроллеры”, выпускаемом фирмой
Телесистемы”. Много интересного для начинающих по
микроконтроллерам можно найти на EMBEDDED FAQ Микроконтроллеры
4. В качестве справочника по языку СИ использовалась книга: Б.И.
Березин, C.Б. Березин “Начальный курс С и С++”
5. Структурная схема BECKERa, схема переходника, а также схема
расположения сегментов индикатора находится здесь Curcuits.zip
.Исходный текст прошивки, сама прошивка, а также список частот УКВ
станций для EEPROM находятся здесь Prog.zip .
Все иллюстрации подготовлены с использованием ORCADа.
Сайт создан в системе
uCoz