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

При наличии вызова и лежащей на рычаге трубке (присутствием благоприятного сигнала считается уровень логической единицы, а не выполнением условия – логический ноль) (см. Табл. 1) происходит подсоединение автоответчика к телефонной линии. Далее идет воспроизведение приветствия через ЦАП из памяти автоответчика. После окончания данного процесса идет проверка наличия соединения, то есть, положил звонящий трубку или нет. Затем управление передается первому контроллеру для записи поступающего сообщения, однако при этом запись может быть прервана (снят сигнал передачи управления) в любой момент, согласно указанным ранее условиям (время записи контролируется в специальном цикле). Так же второй контролей отвечает за воспроизведение поступивших сообщений. То есть по нажатию кнопки запускается подпрограмма управления ЦАП и считывания из памяти поступивших сообщений. При этом новые поступающие после прослушивания сообщения, как уже указывалось выше, записываются поверх старых, так как в момент начала воспроизведения и после него устанавливается первый адрес памяти.

Что касается первого контролера, то основная часть его работы сводится к управлению АЦП и памятью автоответчика. Прежде всего, по нажатию кнопки «очистка» он должен сбросить все хранящиеся в памяти сообщения, но не запись приветствия. Обновление записи приветствия происходит при нажатии соответствующей кнопки, что влечет за собой не только сброс памяти, где храниться приветствие, но и памяти с поступившими к этому моменту сообщениями. Далее, все время пока держится пальцем кнопка перезаписи, включен встроенный в корпус автоответчика микрофон и идет новая запись. Как только будет записаны данные в последний адрес памяти приветствия, загорится индикатор, свидетельствующий о том, что хозяин не уложился в своей речи в отведенный лимит времени и сообщение надо переписать. То есть длительность приветствия должна быть несколько меньше, чем можно поместить в отведенную под него часть памяти.

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

Во всех случаях записи и воспроизведения звука запускается подпрограмма, определяющая время его дискретизации (запуск внутреннего таймера на определенный промежуток времени), то есть частоту, с которой должен оцифровывать сигнал АЦП и преобразовывать из цифрового формата ЦАП.  Для выбора режима работы, в программах реализуется цикл постоянного опрашивания сигналов от всех запускающих устройств. Настройка и инициализация портов идет в соответствии с их функциями. Полная схема алгоритмов работы контроллеров приведена в Приложении 1 и 2, а тексты программ в Приложении 3 и 4.

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

Таблица 1

Выводы микроконтроллеров для подключения к элементам схемы