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.
Приложения
Приложение 1
Структурная схема устройства
Рис. 1
Структурная схема имитатора телефонной линии