Имитатор телефонной линии

Техническое задание Разработать устройство, способное использоваться в качестве имитатора телефонной линии для тестирования телефонной техники, например телефонов и модемов. Устройство должно генерировать такие сигналы телефонной линии как “Ответ АТС”, “Занято”, и “Контроль вызова”. Также устройство должно ими-тировать сигнал вызова абонента, поступающий с АТС (путем подачи на выход мощных звонковых импульсов).
Кроме того, устройство должно иметь средства для анализа импульсного набора номера, производимого на телефонном аппарате или модеме, а также средства для его индикации. При проектировании устройства желательно использовать микроконтроллер в качестве составной части. Также в процесс раз-работки необходимо включить написание программы для микро-контроллера. Основные параметры устройства: Напряжение питания на выходе устройства:
60 В Сигнал ответа АТС: 50 Гц, непрерывный, Сигнал “Занято”: 50 Гц, пачки по 0,3 с с паузами 0,3 с. Сигнал “Контроль вызова”: 425 Гц, пачки по 1 с паузы 3 с. Звонковые импульсы: 80 В, пачки по 1 с паузы 3 с. Устройство должно быть рассчитано на работу в следующих внешних условиях: Диапазон температур: 0-40 С; Давление: атмосферное;
Относительная влажность: до 93%. Оформление конструкторской документации должно соответст-вовать требованиям ЕСКД. Документация должна включать в себя разработку схемы и программы, обоснование выбора составных элементов, принципиальную схему устройства, временные диаграммы работы устройства и текст программы. 1. Обзор литературы, методов, схемных решений При ремонте как импортных, так и отечественных телефонных аппаратов и модемов довольно часто возникает необхо-димость подать на аппарат тот или иной сигнал с параметрами, соответствующими стандартным сигналам АТС. Для этого можно воспользоваться следующими нехитрыми способами: например, тем или иным способом замкнуть цепь постоянного тока в цепи связи с АТС и получить готовый сигнал ответа АТС в чистом виде. Однако такой способ перегружает аппаратуру АТС, что чревато отключением вашего номера. Для получения звонковых импульсов часто прибегают к следующему
способу: производится звонок на данный номер с другого телефона или модема. Этот способ требует участия как минимум двух человек, и опять требует наличия рабочей АТС. Однако довольно часто возникают ситуации, в которых неизвестно, вызвано ли нарушение связи неисправностью теле-фонного аппарата, модема или АТС и линии связи. Да и в магазинах и мастерских, работающих с телефонной техникой необходимо “иметь под рукой” сигнал
АТС для работы. Необходимо также учесть случаи, когда телефонная линия отсутствует, или в ней нарушены параметры сигнала, а сигнал нам все-таки нужен. Для того чтобы избежать всех вышеописанных проблем ис-пользуется такой прибор, как имитатор сигнала АТС. Наиболее про-стым решением представляется простейший генератор сигнала переменного тока (или несколько), собранные, например, на дискретных элементах. Примером такого рода имитатора может служить схема, предложенная
в [6]. Эта схема имитирует стандартный сигнал АТС, а также, при нажатии кнопки подает на телефонный аппарат или модем звонковые импульсы. Возможностей такого устройства вполне достаточно, например, для магазина, торгующего телефонными аппаратами. Однако для ремонта и проверки исправности телефонных аппаратов и модемов необходимо, по крайней мере, устройство для проверки правильности набранного номера, плюс устройства для измерения параметров сигнала. Такими свойствами обладает схема, предложенная в [7] . Однако, хотя такая схема обладает более широким спектром возможностей, нежели вышеописанные, при тестировании различ-ной цифровой техники, например, модемов, хотелось бы иметь под рукой весь спектр телефонных сигналов, например, сигнал “занято” и сигнал контроля вызова абонента. Таким образом выяснили, что для выполнения технического задания необходимо синтезировать устройство, генерирующее все сигналы телефонной сети, а также способное контролировать набор номера импульсным
способом. 2. Выбор и обоснование структурной схемы устройства Анализируя техническое задание можно сделать вывод, что разрабатываемое устройство должно представлять собой источник питания на 60 В (каковым является АТС для телефонных аппаратов и модемов). Также устройство должно добавлять к напряжению питания различные сигналы, характерные для телефонной сети, такие, например, как сигнал “занято” и контроль вызова другого абонента.
Также устройство должно посылать на телефонный аппарат или модем мощные звонковые импульсы, для имитации сигналов вызова абонента с АТС. Помимо вышесказанного устройство должно анализировать набор номера, производимый телефонным аппаратом или модемом в импульсном режиме и индицировать цифры набираемого номера. Таким образом, можно придти к следующим выводам, касающимся структуры разрабатываемого устройства: • Для организации генерации различных типов сигналов целесообразно использовать однокристальный микроконтроллер
типа ОВМ 51; • Необходимо предусмотреть блоки ввода информации (для задания режима работы устройства) и вывода информации (для индикации набранных цифр номера); • Предусмотреть согласование ТТЛ-уровня логических выводов микросхемы ОВМ и выходного напряжения устройства; • Разделить линии для подачи сигналов на аппарат, подклю-чаемый к имитатору, и для подачи звонковых импульсов; • Предусмотреть устройство контроля за наличием постоян-ного тока в выходной цепи (для анализа номера, набираемого на ап-парате). Исходя из вышесказанного, можно предложить следующую структурную схему устройства (см. прил.1, рис.1). Таким образом, можно сделать вывод, что дальнейший синтез устройства будет складываться из разработки принципиальной схемы устройства, а также из написания программы для ОВМ, для генерации ею необхо-димых сигналов. 3. Описание принципа действия устройства
Принцип действия разрабатываемого устройства основан на сложении сигналов, генерируемых ОВМ, с постоянным напряжением питания, подаваемым на телефонный аппарат, и рав-ным 60 В. Устройство работает следующим образом: Микроконтроллер на основе ОВМ 51 выполняет циклическую программу, состоящую из подпрограмм опроса клавиатуры, обслуживания схем индикации и собственно работы с телефонными сигналами.
В начале каждого цикла микроконтроллер анализирует состояние клавиатуры, и в зависимости от него переходит в тот или иной режим генерации сигнала. Сигнал, вы-рабатываемый микроконтроллером, складывается с напряжением 60 В, и подается на выход устройства. Для подачи на выход устройства мощных звонковых импульсов предусмотрена отдельная линия. При возникновении кратковременного (до 0,6 с) разрыва в цепи постоянного тока микроконтроллер переходит в режим набора номера, в котором подсчитывает число разрывов в цепи, и делает вывод о набранной
цифре. Если же разрыв в цепи по длительности превышает предельный (более 0,6 с), то контроллер делает вывод о том, что трубка на аппарате положена, и цикл работы устройства начинается сначала. В каждом цикле отведено время на обслуживание порта индикации набранного номера. Индикаторы работают в дина-мическом режиме, что дает возможность выводить сразу несколько цифр номера, набранного абонентом. Генерируемый микроконтроллером сигнал задается с помощью клавиш “Занято”, “Вызов”, “Контроль вызова”. Таким образом, опираясь на вышеизложенный принцип действия можно приступить к написанию программы для микроконтроллера, и синтезу принципиальной схемы устройства. 4. Описание программы для микроконтроллера Разрабатываемая для микроконтроллера программа предназначена для обеспечения реализации всех функций разрабатываемого устройства. Программа должна содержать в себе следующие подпрограммы: подпрограмму анализа состояния клавиатуры,
подпрограмму индикации ячеек памяти, связанных с набираемым номером, а также подпрограмму генерации сигналов АТС, которая и будет являться основной для разрабатываемого уст-ройства. Также, целесообразно будет реализовать программу в виде бесконечного цикла, состоящего из вызова вышеописанных подпрограмм. Таким образом, можно предложить следующую блок-схему для разрабатываемой программы: Рис. 1. Блок-схема программы для имитатора сигнала
АТС Приведенная блок-схема является укрупненной и не дает понятия о принципе работы программы. Поэтому разумным будет привести также блок-схему работы основной подпрограммы mainwork разрабатываемой программы. Данная подпрограмма является основной, так как именно она организует выполнение алгоритма работы устройства. Рис.2. Блок-схема работы подпрограммы mainwork Словами же пояснить работу подпрограммы можно следующим образом.
В начале своей работы программа проверяет, лежит ли трубка телефонного аппарата (по сигналу от схемы анализа цепи постоянного тока). Если трубка положена, то проверя-ется, нажата ли кнопка “Вызов”, и если нажата, то контроллер начинает посылать импульсы 50 Гц пачками (пачка 1 с, пауза 3 с) по линии подачи звонковых импульсов. Если не нажата, то делается вывод о разрыве, вызванном импульсным набором номера, и вызывается соответствующая подпрограмма обслуживания этого набора (которая в случае длительного разрыва сделает вывод о положенной трубке и завершит очередной цикл). Если же трубка снята, то устройство переходит в один из режимов генерации сигнала, который зависит от состояния клавиш “занято” и “контроль”. В случае нажатия клавиши “занято” программа вызывает подпрограмму busy_sig, которая имитирует сигнал “занято” АТС (50 Гц, пачка и пауза – 0,3 с). Если же нажата клавиша “Контроль вызова”, то вызывается
подпрограмма ctrl_call, имитирующая контрольный сигнал вызова другого абонента (425 Гц, пачка 1 с, пауза 3 с). В случае если не нажата ни одна из этих кнопок (или нажаты обе), вызовом подпрограммы gene_50hz_1 генерируется обычный сигнал ответа АТС (50 Гц, непрерывный). После этого работа подпрограммы заканчивается, и начинается новый цикл работы программы. Остальные подпрограммы (обслуживание клавиатуры, индикации) являются стандартными, и приводить
их описание не имеет особого смысла. Спецификации на подпрограммы приведены ниже: Подпрограмма Ring_in Назначение: генерация звонковых импульсов и подача их на соответствующую линию; Входные параметры: отсутствуют; Выходные параметры: сигнал на линии P3.1; Вызывается подпрограммой Mainwork; Подпрограмма Busy_sig Назначение: генерация сигнала АТС “Занято” и подача его на выходную линию;
Входные параметры: отсутствуют; Выходные параметры: сигнал на линии P3.0; Вызывается подпрограммой Mainwork; Подпрограмма Load50_1 Назначение: “заряжать” таймер T0 на период 10 мс; Входные параметры: отсутствуют; Выходные параметры: измененное значение регистров TL0, TH0; Вызывается подпрограммой Gene_50hz_1; Подпрограмма
Gene_50hz_1 Назначение: генерация одного импульса длительностью 10 мс и подача его на вывод 3.0; Входные параметры: отсутствуют; Выходные параметры: сигнал на линии P3.0; Вызывается подпрограммой Mainwork Подпрограмма Ctrl_call Назначение: имитация сигнала “Контроль вызова” и подача его на соответствующий вывод; Входные параметры: отсутствуют; Выходные параметры: сигнал на линии P3.0; Вызывается подпрограммой Mainwork Подпрограмма Load425_1 Назначение: “заряжать” таймер T0 на период 1,17 мс; Входные параметры: отсутствуют; Выходные параметры: измененное значение регистров TL0, TH0; Вызывается подпрограммой Gene_425hz_1; Подпрограмма Gene_425hz_1 Назначение: генерация одного импульса длительностью 10 мс и подача его на вывод 3.0;
Входные параметры: отсутствуют; Выходные параметры: сигнал на линии P3.0; Вызывается подпрограммой Ctrl_call; Подпрограмма Indication_fig Назначение: вывод в порт индикатора цифры, находящейся в заданной ячейке памяти, с одновременным включением необходи-мого знакоместа; Входные параметры: цифра, предназначенная для вывода и номер ячейки индикации; Выходные параметры: код цифры на выходах
P0.0-P0.4, а также высокий уровень на одном из выводов P1.0-P1.7; Вызывается подпрограммой Indicate_all; Подпрограмма Indicate_all Назначение: Вывод информации о введенном номере на набор индикаторов; Входные параметры: значения ячеек хранения цифр номера и число цифр номера; Выходные параметры: телефонный номер, выведенный на набор индикаторов;
Вызывается подпрограммой Mainwork; Подпрограмма Counter Назначение: подсчет числа кратковременных разрывов в цепи постоянного тока; Входные параметры: сигнал на входе P3.2; Выходные параметры: число разрывов в цепи постоянного тока, помещенное в стек; Вызывается подпрограммой Pulse_connect; Подпрограмма Pulse_connect Назначение: анализ импульсного набора номера и занесение его цифр в соответствующие
ячейки памяти; Входные параметры: отсутствуют; Выходные параметры: цифры номера, занесенные в стек; Вызывается подпрограммой Mainwork; Подпрограмма Keyb_scan Назначение: сканирование линейки клавиатуры и устранение дребезга; Входные параметры: отсутствуют; Выходные параметры: значение переменных, показывающих состояние клавиатуры; Вызывается подпрограммой Mainwork; Для ввода и вывода сигналов микроконтроллера используются следующие порты: • порт P0 – вывод информации на семисегментные индика-торы; • порт P1–стробирующие выводы для динамической индика-ции; • порт P2 – обслуживание клавиатуры; • порт P3 – вывод сигналов и звонковых импульсов, а также контроль за наличием тока в цепи. Модульную структуру программы можно изобразить следующим образом: Рис. 3. Схема межмодульных связей программы Разработанная по вышеизложенной спецификации программа
для микроконтроллера приведена в приложении 3 настоящей работы и может служить для выполнения задачи, поставленной в техническом задании. 5. Временные диаграммы работы устройства 6. Описание составных элементов схемы Выбор элементов для составления принципиальной схемы устройства будет заключаться в выборе микроконтроллера, микро-схем для индикации номера, а также микросхем для обслуживания линий подачи сигналов и анализа наличия постоянного тока в вы-ходной цепи.
В качестве микроконтроллера для работы в устройстве можно использовать однокристальную вычислительную машину ОВМ 51. Она обладает приемлемой ценой и производительностью и вполне может быть использована в качестве микроконтроллера в разрабатываемом устройстве. Кроме того, у разработчика имеется возможность протестировать программу именно для этой ОВМ с использованием персонального компьютера, при помощи эмулятора
AVSim51, для устранения синтаксических и некоторых логических ошибок возникших в процессе написания программы. Номиналы резисторов R1-R3 выберем равными 1,5 КОм, для ограничения входного тока на вход микроконтроллера. В качестве задающего кварцевого генератора для ОВМ будем использовать кварцевый генератор на 12 МГц ( для обеспече-ния такта в 1 мкс) Схему индикации разумно выполнить следующим образом. Для индикации восьми разрядов номера необходимо использование динамического способа индикации. Поэтому используем для вывода двоичного кода цифры четыре первых разряда порта P0, а для ука-зания знакоместа – все выводы порта P1. При таком построении ин-дикации остаются неиспользованными четыре линии порта P0. Их можно считать зарезервированными для последующей модерниза-ции устройства.
Для преобразования двоичного кода на выходе ОВМ в код семисегментного индикатора необходима установка спе-циального дешифратора. В качестве подобного дешифратора можно использовать микросхему КР514ИД1. данный дешифратор содержит внутренние токоограничивающие резисторы (IВЫХ=5 мА), что позволяет подключать индикаторы с общим катодом АЛ304А непосредственно к выходам дешифратора [1]. Данные микросхемы и будем использовать для обслуживания индикации в разрабаты-ваемом устройстве.
Рассмотрим теперь линии, подающие различные сигналы на выход устройства. Это линия подачи питания для телефонного аппарата, а также линии подачи сигналов АТС и подачи звонковых импульсов. На выходе устройства все эти линии объединяются в од-ну, которая и является линией, имитирующей линию АТС. Напряжение питания 60 В должно подаваться на выход устройства постоянно, поэтому эту линию можно подключить к выходу устройства
напрямую. Напряжение с сигнальной линии может включаться последовательно с напряжением питания (напряжение будет суммироваться с напряжением питания). Импульсы напряжения, подаваемые на выход устройства должны быть достаточно мощными, поэтому для их подачи выделяется отдельная линия, в которую ставится инвертор сигнала с открытым коллектором на выходе, а также транзистор КТ502Е. Номиналы резисторов выберем равными R4=7КОм, R5=1 КОм, выбор осуществим исходя из условия, что транзистор должен находится в режиме насыщения в открытом состоянии и в режиме отсечки в закрытом. Такое построение выходных линий позволяет получить на выходе устройства сигналы идентичные по своим параметрам сигналам телефонной линии. Для анализа наличия тока в выходной цепи целесообразно будет использовать резистор 0,5 КОм (номинал выбран исходя из уровня напряжения на входе порогового устройства), установлен-ный в выходную
цепь, а также пороговое устройство (для увеличе-ния помехозащищенности устройства). В качестве порогового уст-ройства можно использовать микросхему КР100ВИ6. Сигнал с вы-хода этой микросхемы подадим на вход P3.2 микроконтроллера. Таким образом, всегда, когда в выходной цепи устройства есть ток, на этот вывод микросхемы будет подан высокий уровень напря-жения.
Исходя из вышеизложенного описания узлов, можно составить принципиальную схему устройства (см. прил.2) , которую и принять, в совокупности с программой (см. прил.3) в качестве реа-лизации технического задания на курсовую работу. 7. Описание процесса работы устройства Сразу после включения питания микроконтроллер получает команду Reset, и сразу начинает выполнение микропрограммы.
Микропрограмма начинается с вызова подпрограммы опроса кла-виатуры. Комбинация нажатых клавиш заносится в соответствующие ячейки памяти контроллера, и управление передается основной программе. После этого происходит вызов подпрограммы обслуживания порта индикации. Данная подпрограмма производит последовательное подключение индикаторов DD.3-DD.11 через порт P1, с одновременным выставлением кода соответствующей цифры.
Этот код поступает на вход дешифратора DD.2, где преобразуется в коды семисегментного индикатора, и поступает затем на соответствующие входы индикаторов DD.3-DD.11. После обслуживания клавиатуры и индикации программа передает управление основной подпрограмме, которая и выполняет роль генератора сигналов. Вначале данная подпрограмма проверяет наличие тока в выходной цепи устройства. Сигнал поступает на вход P3.2 микроконтроллера с порогового устройства DD.13, которое переключается под действием падения напряжения на резисторе R6. Если тока нет, то делается предположение о том, что разрыв вызван тоновым набором номера. Запускается соответствующая программа обслуживания набора номера. Если длительность разрыва превы-шает 0,6 с. то делается вывод, что разрыв вызван тем, что трубка лежит на аппарате, и управление передается основной программе.
Если же длительность разрыва меньше, то программа переходит в режим анализа набора номера (сигналы в этом режиме не генерируются) и считается число разрывов, с последующим занесением этого числа в соответствующие ячейки памяти. Если трубка положена, то делается проверка на нажатие кнопки “Звонок”, и если она нажата, то микроконтроллер генерирует импульсы звонковой частоты соответствующими пачками и делает это, пока не поднимется трубка на аппарате, или не будет отпущена кнопка звонка.
Данные импульсы поступают на инвертор DD.12.1. с открытым коллектором, а затем на усили-тельный транзистор VT1, складываясь затем с напряжением пи-тания. Если же кнопка не нажата, то программа возвращается к своему началу. Если же трубка снята, то программа проверяет состояние кнопок “Вызов” и “Контроль вызова”. И в зависимости от состояния этих кнопок генерируется сигнал, выдаваемый в линию P3.2. Это или непрерывный гудок, либо короткие гудки (сигнал “занято”), либо длинные гудки (сигнал “контроль
вызова”). Непрерывный гудок генерируется следующим образом. Каж-дый цикл основной программы генерируется импульс длительностью 10 мс. Все вычисления и обслуживания портов программа проводит в момент паузы. Остальные сигналы генерируются пачками, и программа не меняет своего режима до конца пачки. На выходные клеммы устройства подано постоянное напря-жение 60 В. С ним и складываются сигналы, поступающие от микроконтроллера по сигнальной и звонковой линии. Суммарный сигнал и поступает на выходные клеммы устройства, генерируя, таким образом, спектр сигналов АТС. Таким образом, данная схема в совокупности с разработанной программой может быть представлена в качестве курсовой работы, а именно имитатора АТС для тестирования модемов и телефонных аппаратов. 8. Описание тестирования устройства В техническом задании на курсовую работу целью работы ставилась
разработка принципиальной схемы устройства, а также программы для микроконтроллера. Задачи физического построения устройства поставлено не было. Ввиду этого протестировать разработку, так сказать “вживую” возможности не было. Однако можно было проверить модель принципиальной схемы с помощью программных средств, а также протестировать программу для микроконтроллера с помощью симуляторов, что и было проделано.
Проверка принципиальной схемы устройства была осуществлена с помощью программы Electronics Workbench 4.0, фирмы Interactive Image Technologies Ltd. В элементной базе данной программы отсутствует такой элемент, как микроконтроллер, поэтому тестирование проводилось следующим образом: собирались на имеющихся элементах функциональные части устройства и затем снимались их параметры. В качестве сигналов с микроконтроллера использовались
универсальные генераторы сигналов, входящие в состав элементной базы программы. В результате тестирования принципиальной схемы устройства было установлено, что устройство выполняет функции, поставленные в техническом задании, а именно способно являться имитатором сигналов АТС, для тестирования телефонных аппаратов и модемов. Тестирование программы для ОВМ производилось с помощью симулятора AVSim51. С помощью этой программы были устранены все синтаксические ошибки программы, а также часть логических, связанных, например, с неправильным заданием пе-ременных и неверной адресацией. Тестирование показало, что программа без ошибок переводится в машинный код и готова к ра-боте. Таким образом, в результате тестирования было установлено, что программная и аппаратная части разработки работают удовле-творительно, и можно при необходимости приступить к физическому построению устройства.
9. Заключение. Выводы В результате проделанной работы было спроектировано устройство, представляющее собой имитатор телефонной линии для тестирования телефонов и модемов. Разработанное устройство отвечает требованиям технического задания. Оформление конструк-торской документации соответствует требованиям ЕСКД. Документация содержит в себе описание принципа действия уст-ройства, структурную и полную принципиальную
схему устройства, программу для микроконтроллера и временные диаграммы работы устройства. Разработанное устройство представляет собой источник питания 60 В, а также способно генерировать сигналы, идентичные по своим параметрам сигналам АТС. Также устройство способно производить подсчет кратковременных разрывов в цепи постоянного тока, с целью анализа импульсного набора номера. Устройство также производит индикацию набранного номера.
Таким образом, данное устройство может быть использовано в качестве имитатора телефонной линии для тестирования телефонов и модемов. Данное устройство может быть использовано в различных мастерских по ремонту телефонной техники, а также в домашних условиях для тестирования телефонов или модемов. Рассмотрев проделанную работу можно придти к выводу, что задача, поставленная в техническом задании, выполнена. 10. Список литературы 1. Кизлюк А.И. Справочник по устройству и ремонту телефонных аппаратов зарубежного и отечественного производства, М Радио и связь, 1995 г. 2. Корякин-Черняк С.Л Котенко Л.Я Телефонные сети и аппараты, Киев, BHV, 1999 г. 3. Полупроводниковые приборы. Транзисторы, справочник под общей ред. Н.Н. Горюнова, М 1987 г. 4. Цифровые и аналоговые интегральные микросхемы, справочник, под ред. В.В. Якубовского, М Радио и связь, 1989 г. 5. Сташин
В.В Урусов А.В Мологонцева Е.К. Проектирование устройств на однокристальных микроконтроллерах, М Энергоатомиздат, 1990 г. 6. Волгин В. Имитатор сигнала АТС. – Радиолюбитель, 1994 . №9. 7. Брускин В. Имитатор телефонной линии. – Радиолюби-тель, 1998 . №6.