logo
Разработка и моделирование сервисного устройства выборочного ограничения исходящей междугородной связи

3.2 Схемотехническое моделирование в программной среде Proteus 7.4 SP3

Смоделируем макет данного устройства в программной среде Proteus 7.4. Общая принципиальная схема для данной среды представлена на рис. 25.

Рис. 25 - Принципиальная схема устройства в среде Proteus 7.4 SP3 (экранная копия)

Так как в среде Proteus отсутствует библиотека декодера DTMF, применим альтернативное задание двоичного четырёхразрядного кода с выхода декодера DTMF, набором переключателей и кнопки, имитирующей формирование сигнала DSO. Фрагмент альтернативного варианта показан на рис. 26.

Рис. 26 - Аналог части схемы формирования двоичного кода декодером (экранная копия)

Для наглядного отображения осциллограмм используем встроенный в среду Proteus осциллограф. Его изображение показано на рис. 27.

Рис. 27 - Осциллограф в среде Proteus (экранная копия)

Рассмотрим процессы, происходящие в макете устройства. При подаче питающего напряжения (кнопка запуска моделирования процесса) внутри микроконтроллера, происходит первоначальная инициализация LCD-модуля. Это приводит к установке сигнала «RS» в состояние низкого уровня и формировании сигнала строба «E». Продемонстрируем это на рис. 28.

Рис 28 - Формирование управляющих сигналов для LCD-модуля (экранная копия)

Жёлтым цветом обозначен сигнал «RS», а синим строб «E». Когда завершается программа инициализации, происходит переход сигнала RS в состояние высокого уровня, для того чтобы LCD-модуль перешел в режим чтения данных. Далее происходит проверка того, был ли какой-либо номер телефона введён ранее в EEPROM устройства. Предположим, что нам требуется очистить всю память номеров устройства и ввести другие телефонные номера. Для этого, при включении устройства удерживаем около одной секунды кнопку SB3, согласно схеме на рис. 17. При этом происходит очистка всей «памяти номеров». Это показано на рис. 29.

Рис. 29 - Фрагмент очистки EEPROM макета устройства (экранная копия)

Очистка EEPROM происходит около 3-х секунд и сразу после этого устройство переходит к началу следующей программы. В течении некоторого времени выводится информация о изготовителе устройства и учебном заведении, группе и дате представления макета. Это видно из рис. 30.

Рис. 30 - Демонстрационный промежуточный режим LCD-модуля (экранная копия)

Далее микроконтроллер переходит к непосредственному режиму работы. Предлагается ввести телефонный номер к запрету для набора. Следует заметить, что количество цифр в номере не ограничено. Это может быть всего одна цифра «8» для блокировки всех междугородних звонков или цифра «9» для блокировки выхода на городскую АТС с внутренней АТС предприятия, так и длинный междугородний номер. В данной реализации ограничение составляет 20 цифр в номере, чтобы это удобно отображалось на LCD-модуле.

Ввод номера происходит по последовательному 2-х кнопочному интерфейсу. Первоначально предполагалось использование плёночно - матричной клавиатуры для набора номера. Но из-за её дороговизны по сравнению с двумя кнопками, решено было использовать последовательный интерфейс. Это также положительно сказалось на конечном размере устройства, в сторону его уменьшения.

Вводимые цифры номера сразу отображаются на экране LCD-модуля. Это видно на рис. 31.

Рис. 31 - Ввод междугороднего телефонного номера к запрету (экранная копия)

Увеличение значения каждой цифры в одном знакоместе происходит при каждом очередном нажатии кнопки SB1. Переход к вводу следующей цифры номера, производится нажатием кнопки SB2. Когда все необходимые цифры номера набраны, нужно нажать кнопку SB3. При этом макет устройства переходит к следующему циклу работы программы и переключается в режим анализа телефонной линии. Это показано на рис. 32.

Рис. 32 - Режим анализа данных с линии (экранная копия)

Устройство определяет уровень напряжения в телефонной линии и если трубка положена на базу, ждёт её поднятия. При поднятии трубки происходит падение напряжения в телефонной линии с 30 В до 8 В. При этом в точке соединения резисторов R1 и R2 согласно рис. 17, происходит падение напряжения с 2,2 В до 0,7 В. Это показано на рис. 33 верхней (жёлтой) линией. При этом спустя один такт работы микроконтроллера формируется сигнал с выхода внутреннего компаратора, обозначенный на том же рис. 33 нижней (синей) линией.

Рис. 33 - Формирование сигналов снятия трубки (экранная копия)

После того как трубка снята и абонент начинает набор первых цифр номера, в телефонной линии появляются посылки DTMF кода, соответствующего каждой набранной цифре. Форма сигнала посылок DTMF кода видна на рис. 34.

Рис. 34 - Форма сигналов посылок DTMF кода

При посылке каждого DTMF сигнала в линию, декодер DTMF производит распознавание посылки и затем, когда сигнал будет равен 40 мс, он подаётся на выход в виде двоичного четырёхразрядного кода. Сразу после правильного распознавания сигнала формируется сигнал готовности DSO, как управляющий сигнал для микроконтроллера. Это продемонстрировано верхней (жёлтой) линией на рис. 35.

Рис. 35 - Формирование сигнала управления DSO (экранная копия)

Непосредственно в процессе моделирования, имитация декодера DTMF в среде Proteus, согласно рис. 26, осуществляется набором блока переключателей DSW2. Им набирают двоичный код, а кнопкой SB4 формируется сигнал управления DSO. При совпадении набранного номера и номера телефона, находящегося в памяти макета устройства, формируется сигнал сброса, который поступает на коммутатор, осуществляющий временный сброс линии согласно рис. 17, а в среде Proteus порт PB2 микроконтроллера формирует секундный сигнал сброса и тем самым включает светодиод D1. Все последующие наборы различных номеров будут приводить либо к срабатыванию того же сигнала сброса на порту PB2, если номер опять совпадёт или устройство никак не будет влиять на набор номеров, не совпадающих с заданным по условиям алгоритма.

Сервисные возможности устройства расширяются за счёт его опциональной возможности связи с компьютером. В среде Proteus предусмотрен виртуальный терминал последовательного интерфейса. При каждом набранном номере, в соответствии с протоколом передачи RS232 формируется байтовая посылка данных вместе со стартовым битом и стоп-битом. Сигнал TxD, формируемый на выходе микроконтроллера U1, показан на рис. 36 верхней (синей) линией. Преобразователь интерфейса RS232 U2, непосредственно связанный с микроконтроллером ATmega8, получая сигнал RxD, преобразует и инвертирует его из сигналов ТТЛ логики в уровни напряжений COM порта, т. е. в +10 В и минус 10 В. Это показано на рис. 36 нижней (жёлтой) линией.

Рис. 36 - Сигналы интерфейса RS232 (экранная копия)

Сам терминал RS232 при моделировании процесса отображает окно, через которое возможно как просматривать выводимую информацию, так и осуществлять ввод. Мы используем только режим приёма данных на терминал. Окно терминала показано на рис. 37.

Рис. 37 - Окно терминала (экранная копия)

Перейдём к моделированию программного обеспечения микроконтроллера.