Алгоритм работы микроконтроллера, управляющего воспроизведением сообщений, страница 3

Для адресации памяти и автоматической записи в нее данных хорошо бы подошел контроллер прямого доступа к памяти, но так как не удалось найти подробного описания таких микросхем, можно организовать адресацию с помощью обычного счетчика, разрядность которого равна разрядности адреса микросхем памяти. Были выбраны микросхемы К155ИЕ7 (четырех разрядные программируемые счетчики) и соединены по схеме для увеличения разрядности [5].

По сигналу перезаписи приветствия или записи поступающего сообщения автоответчик должен подключать к АЦП или микрофон, или же телефонную линию. Для этих целей выберем переключатель в виде электромагнитного реле, который будет подсоединять по сигналу с контролера одну из линий. Электромагнитное реле так же необходимо использовать и при подключении после принятия сигнала вызова аппарата к телефонной линии (естественно, что это реле будет срабатывать от другого сигнала и контролера), коммутации динамика с ЦАП или телефонной линией и включения или отключения питания к микросхемам ОЗУ (сброс памяти). Таким образом, выберем два электромагнитных реле: два - типа РЭС10 и одно - РЭС22.

В итоге, подбор всех необходимых для реализации устройства датчиков, радиоэлементов и исполнительных устройств можно считать законченным.

РАЗРАБОТКА АЛГОРИТМА РАБОТЫ УСТРОЙСТВА

Необходимо разработать цифровое устройство управления телефонным автоответчиком. Автоответчик должен реализовывать перечисленные ниже функции.

Во-первых, при поступлении сигнала вызова должно происходить подключение автоответчика к телефонной линии, далее должно воспроизводится голосовое приветствие, записанное хозяином аппарата. Запись приветствия производится с помощью встроенного в корпус микрофона и при нажатии соответствующей кнопки, при этом происходит полный сброс всей системы. После окончания воспроизведения приветствия аппарат должен проверить наличие абонента на другом конце провода, в случае если звонящий не пожелает оставлять сообщение. При отсутствии связи автоответчик отключается и вновь переходит в ждущий режим. Если же звонящий все еще занимает линию, то происходит переключение в режим записи поступающего сообщения.  Запись продолжается до тех пор, пока не будет прервана связь (опущена трубка звонящим), поднята трубка хозяином автоответчика, переполнена память автоответчика или закончено время записи. При окончании звонка автоответчик выходит из режима записи и переходит в ждущий режим. В случае если запись прекратилась от переполнения памяти, то автоответчик так же выходит в ждущий режим, но уже не реагирует на поступающие вызовы до тех пор, пока сообщения не будут прослушаны или стерты. Прослушивание сообщений происходит при нажатии соответствующей кнопки и после него запись новых идет поверх старых с самого начала. Стирание сообщений можно осуществить так же нажатием предназначенной для этого кнопки управления до или после их прослушивания.

Для конкретной реализации данного алгоритма надо, прежде всего, определить число используемых контроллеров. Очевидно, что оно не может быть меньше двух (дабы слишком не усложнять коммутацию и работу схемы):

-  первый из них должен управлять АЦП и всеми связанными с ним функциями, то есть запись приветствия или поступающих сообщений, а так же коммутация или с линией, или с микрофоном;

-   второй контролер должен управлять ЦАП, а так же коммутировать аппарат с телефонной линией по первому вызову, воспроизводить приветствие по линии или же поступившие сообщения с помощью динамика.

Следовательно, контроллером, который должен реагировать на вызов, будет именно второй из перечисленных. Опишем так же остальное распределение функций между контроллерами.