Управляющая программа для а/м - своими силами на примере 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