www.diagram.com.ua
www.diagram.com.ua

Русский: Русская версия English: English version

Translate it!

+ Поиск по всему сайту
+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по каталогу схем
+ Поиск по схемам СССР
+ Поиск по Библиотеке

ВСЕ СТАТЬИ А-Я

БЕСПЛАТНАЯ БИБЛИОТЕКА
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ
СПРАВОЧНИК
АРХИВ СТАТЕЙ

НОВОСТИ НАУКИ И ТЕХНИКИ, НОВИНКИ ЭЛЕКТРОНИКИ

ФОРУМЫ
ВАШИ ИСТОРИИ ИЗ ЖИЗНИ
ОБРАТНАЯ СВЯЗЬ
ОТЗЫВЫ О САЙТЕ

КАРТА САЙТА

Бесплатная техническая библиотека РАЗДЕЛЫ БЕСПЛАТНОЙ ТЕХНИЧЕСКОЙ БИБЛИОТЕКИ:
Архив и лента новостей
Книги и сборники
Технические журналы
Архив статей и поиск
Схемы и сервис-мануалы
Электронные справочники
Русские инструкции
Радиоэлектронные и электротехнические устройства

СКАЧАЙТЕ БЕСПЛАТНО:

ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ БЕСПЛАТНО:
Автомобиль
Автомобильные электронные устройства
Аккумуляторы, зарядные устройства
Акустические системы
Альтернативные источники энергии
Антенны
Антенны КВ
Антенны телевизионные
Антенны УКВ
Антенные усилители
Аудио и видеонаблюдение
Аудиотехника
Блоки питания
Бытовая электроника
Бытовые электроприборы
Видеотехника
ВЧ усилители мощности
Галогенные лампы
Генераторы, гетеродины
Гирлянды
Гражданская радиосвязь
Детекторы напряженности поля
Дозиметры
Дом, приусадебное хозяйство, хобби
Зажигание автомобиля
Заземление и зануление
Зарядные устройства, аккумуляторы, батарейки
Защита электроаппаратуры
Звонки и аудио-имитаторы
Измерения, настройка, согласование антенн
Измерительная техника
Индикаторы, датчики, детекторы
Инструмент электрика
Инфракрасная техника
Кварцевые фильтры
Компьютерные интерфейсы
Компьютерные устройства
Компьютерный модинг
Компьютеры
Личная безопасность
Люминесцентные лампы
Медицина
Металлоискатели
Микроконтроллеры
Микрофоны, радиомикрофоны
Мобильная связь
Модернизация радиостанций
Модуляторы
Молниезащита
Музыканту
Начинающему радиолюбителю
Ограничители сигнала, компрессоры
Освещение
Освещение. Схемы управления
Охрана и безопасность
Охрана и сигнализация автомобиля
Охрана и сигнализация через мобильную связь
Охранные устройства и сигнализация объектов
Переговорные устройства
Передатчики
Передача данных
Предварительные усилители
Преобразователи напряжения, выпрямители, инверторы
Применение микросхем
Пускорегулирующие аппараты люминесцентных ламп
Работа с CAD-программами
Радиолюбительские расчеты
Радиолюбителю-конструктору
Радиоприем
Радиостанции портативные
Радиостанции, трансиверы
Радиоуправление
Разная бытовая электроника
Разные компьютерные устройства
Разные узлы радиолюбительской техники
Разные устройства гражданской радиосвязи
Разные электронные устройства
Разные электроустройства
Регуляторы мощности, термометры, термостабилизаторы
Регуляторы тембра, громкости
Регуляторы тока, напряжения, мощности
Сварочное оборудование
Светодиоды
Синтезаторы частоты
Смесители, преобразователи частоты
Спидометры и тахометры
Справочник электрика
Справочные материалы
Стабилизаторы напряжения
Студенту на заметку
Телевидение
Телефония
Теория антенн
Техника QRP
Технологии радиолюбителя
Технология антенн
Трансвертеры
Узлы радиолюбительской техники
Усилители мощности
Усилители мощности автомобильные
Усилители мощности ламповые
Усилители мощности транзисторные
Усилители низкой частоты
Устройства защитного отключения
Фильтры и согласующие устройства
Цветомузыкальные установки
Цифровая техника
Часы, таймеры, реле, коммутаторы нагрузки
Электрику
Электрику. ПТЭ
Электрику. ПУЭ
Электрические схемы автомобилей
Электрические счетчики
Электричество для начинающих
Электробезопасность, пожаробезопасность
Электродвигатели
Электромонтажные работы
Электронный впрыск топлива
Электропитание
Электроснабжение
Электротехнические материалы

СТАТЬИ БЕСПЛАТНО:
Батарейки и аккумуляторы
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому - простые рецепты
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель
Конспекты лекций, шпаргалки
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Мобильные телефоны
Моделирование
Опыты по физике
Опыты по химии
Нормативная документация по охране труда
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Параметры, аналоги, маркировка радиодеталей
Радио - начинающим
Секреты ремонта
Советы радиолюбителям
Строителю, домашнему мастеру
Справочная информация
Типовые инструкции по охране труда (ТОИ)
Функциональный состав импортных ТВ
Функциональный состав, пульты, шасси, эквиваленты импортных телевизоров
Чудеса природы. Увлекательное путешествие вокруг земного шара
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

ЖУРНАЛЫ БЕСПЛАТНО:
Блокнот Радиоаматора
Домашний компьютер
Домашний ПК
КВ журнал
КВ и УКВ
Квант
Компьютерра
Конструктор
Левша
Моделист-конструктор
М-Хобби
Наука и жизнь
Новости электроники
Новый Радиоежегодник
Популярная механика
Радио
Радио Телевизия Електроника
Радиоаматор
Радиодело
Радиодизайн
Радиокомпоненты
Радиоконструктор
Радиолюбитель
Радиомир
Радиосхема
Радиохобби
Ремонт и сервис
Ремонт электронной техники
Сам
Сервисный центр
Силовые машины
Схемотехника
Техника - молодежи
Химия и жизнь
ЭКиС
Электрик
Электроника
Юный техник
Юный техник для умелых рук
Я - электрик
A Radio. Prakticka Elektronika
Amaterske Radio
Chip
Circuit Cellar
Electronique et Loisirs
Electronique Pratique
Elektor Electronics
Elektronika dla Wszystkich
Elektronika Praktyczna
Everyday Practical Electronics
Evil Genius
Funkamateur
Nuts And Volts
QEX
QST
Radiotechnika Evkonyve
Servo
Stereophile

КНИГИ СЕРИЙНЫЕ БЕСПЛАТНО:
Библиотека по автоматике
Библиотека электромонтера
Библиотечка Квант
Библиотечка электротехника
Знай и умей
Массовая радиобиблиотека

КНИГИ ПО РАДИОТЕХНИКЕ И ЭЛЕКТРОНИКЕ БЕСПЛАТНО:
Автомобиль
Аппаратура СВЧ
Запись и воспроизведение звука
Ламповая аппаратура
Начинающему радиолюбителю
Охрана и безопасность
Радиолокация, навигация
Радиотехнические технологии
Радиоуправление, моделизм
Робототехника
Схемотехника
Теоретическая электроника, радиотехника
Усилители
Цифровая обработка сигналов
Электроника в быту
Электроника в медицине
Электроника в науке
Электроника для музыканта

КНИГИ ПО РЕМОНТУ БЕСПЛАТНО:
Ремонт аудиотехники
Ремонт бытовая техники
Ремонт видеотехники
Ремонт телевизоров ламповых
Ремонт телевизоров полупроводниковых
Ремонт мониторов
Ремонт оргтехники
Ремонт радиоприемников
Ремонт телефонов и факсов
Спутниковое телевидение
Теория телевидения
Теория ремонта электроники

КНИГИ ПО ИЗМЕРЕНИЯМ БЕСПЛАТНО:
Измерения и метрология
Измерительная аппаратура
Измерительная техника. Схемы и описания

КНИГИ ПО СВЯЗИ БЕСПЛАТНО:
Антенны
Аппаратура любительской радиосвязи
Линии связи, передача данных
Мобильные телефоны
Теория и практика радиосвязи

КНИГИ ПО ЭЛЕКТРИКЕ БЕСПЛАТНО:
Автоматика, автоматизация, управление
Аккумуляторы, элементы питания, зарядные устройства
Альтернативные источники энергии
Источники питания, стабилизаторы, преобразователи
Молниезащита
Осветительная аппаратура
Охрана труда, электробезопасность, пожаробезопасность
Релейная защита
Сварка, сварочное оборудование
Теория электротехники
Устройства телемеханики
Электрику, электромонтажнику, электромеханику
Электрические сети, воздушные и кабельные линии
Электродвигатели
Электрооборудование
Электропривод
Электростанции, подстанции
Электротехнические справочники
Энергетика, электроснабжение

СБОРНИКИ БЕСПЛАТНО:
В помощь радиолюбителю
Радиоаматор-лучшее
Радиоежегодник

СПРАВОЧНИКИ БЕСПЛАТНО:
Зарубежные микросхемы и транзисторы
Измерительная техника. Схемы и описания
Медицинская аппаратура
Механизмы импортной аудио и видеоаппаратуры
Прошивки зарубежной аппаратуры
Пульты ДУ импортных телевизоров
Радиокомпоненты Atmel
Радиокомпоненты Cirrus Logic
Радиокомпоненты Maxim
Радиокомпоненты Microchip
Радиокомпоненты Mitsubishi
Радиокомпоненты Motorola
Радиокомпоненты National Semiconductor
Радиокомпоненты Panasonic
Радиокомпоненты Philips
Радиокомпоненты Rohm
Радиокомпоненты Samsung
Радиокомпоненты Sharp
Радиокомпоненты Sony
Радиокомпоненты Toshiba
Соответствие моделей и шасси телевизоров
Строчные трансформаторы HR
Строчные трансформаторы Konig

СХЕМЫ И СЕРВИС-МАНУАЛЫ БЕСПЛАТНО:
Бытовая техника Beko
Бытовая техника Braun
Бытовая техника Candy
Бытовая техника Elenberg
Бытовая техника Elica
Бытовая техника Gorenje
Бытовая техника Hansa
Бытовая техника Merloni
Бытовая техника SEB
Бытовая техника Snaige
Бытовая техника Stinol
Бытовая техника Universal
Бытовая техника Whirpool

Зарубежные DVD-плееры
Зарубежные автомагнитолы
Зарубежная аудиоаппаратура
Зарубежные видеокамеры
Зарубежные видеомагнитофоны и видеоплееры
Зарубежные мониторы
Зарубежные моноблоки
Зарубежные телевизоры
Зарубежные телефоны
Зарубежные факсы

Мобильники Benq-Siemens
Мобильники Eastcom
Мобильники Ericsson
Мобильники Fly Bird
Мобильники LG
Мобильники Maxon
Мобильники Mitsubishi
Мобильники Motorola
Мобильники Nokia
Мобильники Panasonic
Мобильники Pantech
Мобильники Samsung
Мобильники Sharp
Мобильники Siemens
Мобильники Sony-Ericsson
Мобильники TCL
Мобильники Voxtel

Отечественные телевизоры
Отечественная аудиоаппаратура

Справочники по вхождению в режим сервиса

Схемы блоков питания импортных телевизоров и видеотехники

Телевизоры Avest
Телевизоры Beko
Телевизоры, аудио, видеотехника Elenberg, Cameron, Cortland
Телевизоры Erisson
Телевизоры Rainford
Телевизоры Roadstar
Телевизоры Rolsen
Телевизоры Vestel
Телевизоры Витязь
Телевизоры Горизонт
Телевизоры Рекорд
Телевизоры Рубин

Станки металлообрабатывающие
Электроинструмент Bocsh
Электроинструмент Makita

БЕСПЛАТНЫЙ АРХИВ СТАТЕЙ
(150000 статей в Архиве)

АЛФАВИТНЫЙ УКАЗАТЕЛЬ СТАТЕЙ:
Библиотечка Квант указатель
Библиотека по автоматике указатель
Библиотека электромонтера указатель
Библиотечка электротехника указатель
Блокнот Радиоаматора указатель
В помощь радиолюбителю указатель
Знай и умей указатель
Массовая радиобиблиотека указатель
КВ и УКВ указатель
КВ журнал указатель
Квант указатель
Конструктор указатель
Моделист-конструктор указатель
Наука и жизнь указатель
Новости электроники указатель
Новый Радиоежегодник указатель
Популярная механика указатель
Радио указатель
Радиоаматор указатель
Радиоаматор-лучшее указатель
Радиоежегодник указатель
Радиодело указатель
Радиодизайн указатель
Радиокомпоненты указатель
Радиоконструктор указатель
Радиолюбитель указатель
Радиомир указатель
Радиосхема указатель
Радиохобби указатель
Ремонт и сервис указатель
Ремонт электронной техники указатель
Сам указатель
Сервисный центр указатель
Силовая электроника указатель
Схемотехника указатель
Техника - молодежи указатель
Химия и жизнь указатель
ЭКиС (Электронные компоненты и системы) указатель
Электрик указатель
Электроника указатель
Юный техник указатель
Я - электрик указатель

СПРАВОЧНИК БЕСПЛАТНО

ПАРАМЕТРЫ РАДИОДЕТАЛЕЙ БЕСПЛАТНО

ДАТАШИТЫ БЕСПЛАТНО

ПРОШИВКИ БЕСПЛАТНО

РУССКИЕ ИНСТРУКЦИИ БЕСПЛАТНО


Стол заказов СТОЛ ЗАКАЗОВ:

СХЕМЫ ПОД ЗАКАЗ:
Импортные DVD
Импортные автоаудио
Импортные аудио
Импортные видеокамеры
Импортные видеомагнитофоны
Импортные кондиционеры
Импортные мониторы
Импортные моноблоки
Импортные проекторы
Импортные СВЧ-печи
Импортная спутниковая аппаратура
Импортные стиральные машины
Импортные телевизоры
Импортные телефоны
Импортные факсы
Импортные фотоаппараты
Импортные холодильники

Отечественные автоаудио
Отечественные видеомагнитофоны
Отечественные магнитофоны
Отечественные мониторы
Отечественные приборы
Отечественные радиолы
Отечественные радиоприемники
Отечественные усилители
Отечественные цветные телевизоры
Отечественные черно-белые телевизоры
Отечественные электрофоны


Бонусы БОНУСЫ:

НА ДОСУГЕ:
Интерактивные флеш-игры
Игры он-лайн
Ваши истории
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика

ИСТОРИИ ИЗ ЖИЗНИ

ССЫЛКИ

ДОБАВИТЬ В ЗАКЛАДКИ

Оставить отзыв о сайте

ДИАГРАММА
© 2000-2017

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на http://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека Как скачивать файлы с сайта? Как скачивать файлы с сайта? Добавить в закладки, оставить отзывДобавить в закладки, оставить отзыв

Энциклопедия радиоэлектроники и электротехники. Большая подборка статей со схемами, иллюстрациями, комментариями Энциклопедия радиоэлектроники и электротехники

Бесплатная библиотека / Схемы радиоэлектронных и электротехнических устройств

Разработка телефонных приставок на PIC-контроллерах

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

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

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

Для желающих самостоятельно сконструировать устройство с применением PIC-контроллера рано или поздно встает вопрос о разработке собственной программы. Методы написания программ для приставок к телефонной линии и рассмотрены в настоящей статье. Под "приставками" понимаются относительно несложные устройства типа блокираторов, кодовых замков. микро-АТС и т. д., питающиеся только от телефонной линии и работающие с импульсными номеронабирателями.

Автор предполагает, что читатель хотя бы в общих чертах знаком с архитектурой Р/С-контроллеров и набором команд. Следует лишь еще раз напомнить: на все устройства, подключаемые к телефонным сетям общего пользования, обязательно должен быть получен сертификат.

В наиболее общем виде любая телефонная приставка представляет собой устройство, которое контролирует состояние телефонной линии и. в зависимости от изменения ее параметров, предпринимает те или иные действия. Обычно оно отслеживает напряжение в линии и по его изменению судит о снятии трубки, наборе номера или о поступлении сигнала входящего вызова.

Рассмотрим подробнее, как это происходит. При свободной линии, т. е. когда трубка телефонного аппарата уложена, напряжение на линии должно быть в пределах 48...60 В. При снятии трубки через аппарат будет протекать ток порядка 30 мА и напряжение упадет до 5...10 В Если подать это напряжение через делитель, изображенный на рис. 1, на вход PIC-контроллера, можно зарегистрировать момент снятия трубки или считать цифры набираемого номера. Порог срабатывания Р1С-кон-троллера при питании 4 В находится в пределах 1,3... 1,4 В (имеется в виду вход без триггера Шмитта). Поэтому при уложенной трубке на контроллер будет подан высокий уровень, а при снятой - низкий.

Разработка телефонных приставок на PIC-контроллерах

Если к телефонной линии подключено одновременно несколько телефонных аппаратов, то по напряжению в ней невозможно судить о том, какой именно аппарат активен. В том случае, когда необходимо контролировать состояние конкретного телефона, можно воспользоваться схемой, показанной на рис. 2,а. При опущенной трубке транзистор VT1 закрыт и на его коллекторе высокий уровень. При снятии трубки через резистор R1 начинает течь ток. транзистор VT1 открывается и на его коллекторе возникает низкий уровень. Диод VD1 нужен для разрядки конденсатора телефона во время вызова.

Разработка телефонных приставок на PIC-контроллерах

На рис. 2,б показан еще один узел контроля протекания тока в телефоне. Работает он аналогично, однако вместо транзистора использован оптрон. Этот узел отличается тем. что его можно подключать к линии без соблюдения полярности.

При разработке узлов контроля по току необходимо учитывать несколько моментов. Во-первых, ток в телефоне может протекать и при опущенной трубке. Иногда он бывает достаточно большим - свыше 0.5 мА. определенных по ГОСТ 7153-85 (см. [11]). На этот ток устройства срабатывать не должны. Во-вторых, при сигнале вызова на выходах этих устройств будут импульсы с частотой 25 Гц и неопределенной скважностью. Поэтому обрабатывающая программа должна это учитывать, чтобы не принять сигнал вызова за снятие трубки телефона.

И третий неприятный момент заключается в том, что на некоторых телефонных линиях старых АТС иногда происходит кратковременное уменьшение тока во всей линии, что может восприниматься процессором как укладывание трубки на телефон или как набор цифры "1". Обычно это бывает при установлении соединения или разрыве связи. Для избежания ошибки в этом случае, желательно после обнаружения уменьшения тока в телефоне проверить напряжение на линии в целом. Если ток в телефоне исчез, а напряжение в линии не увеличилось, то можно считать, что с телефоном никаких действий не производилось.

Помимо отслеживания процессов занятия линии или набора номера телефона, часто бывает необходимо регистрировать сигнал входящего вызова. Обычно он представляет собой синусоиду частотой 25 Гц и амплитудой от пика до пика 100... 150 В. при сохранении постоянной составляющей, или меандр порядка 60 В. В простейшем случае определить появление этого сигнала можно аналогично тому, как производится контроль напряжения линии, т. е. с помощью обычного резистивного делителя (см. рис. 1). резистор R2 при этом должен иметь сопротивление 27 кОм.

Напряжение свыше 100 В может появиться в линии не только во время сигнала вызова, но и в момент набора номера или укладывания трубки. Это бывает при эксплуатации некоторых типов старых АТС и обусловлено индуктивностью реле станции. Поэтому программа должна "уметь" отличать ложные импульсы от сигнала вызова. На рис. 3 показана схема датчика вызывного сигнала, выделяющего переменную составляющую. Этот датчик предпочтительнее применяв, когда напряжение линии и вызывного сигнала заранее неизвестны.

Разработка телефонных приставок на PIC-контроллерах

В большинстве случаев описанных методов контроля достаточно для создания вполне современной приставки к телефонной линии. Обычно в таких устройствах контроллер управляет токовыми ключами КР10Т4КТ1В или им подобными, через которые коммутируются телефонные аппараты или некоторые другие элементы.

Особо следует рассказать об узле питания контроллера (рис. 4). При подключении его к линии напряжение питания контроллера будет нарастать относительно медленно (порядка 1 ...2 с), что не позволяет произвести сброс процессора его штатными средствами. Это означает, что исполнение программы может начаться (во всяком случае теоретически) с любого адреса ПЗУ. При неудачном построении программы будут отмечаться "зависания" во время включения устройства, даже если включен сторожевой таймер. Поэтому алгоритм программы необходимо разрабатывать таким образом, чтобы при определенных начальных воздействиях на входы процессора (например, при опущенных трубках и при отсутствии сигнала вызова) программа смогла бы вернуться в некую начальную точку и произвести самоинициализацию независимо от тех значений, которые находятся в регистрах ОЗУ.

Разработка телефонных приставок на PIC-контроллерах

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

Маломощное питание накладывает ограничение на тактовую частоту контроллера. Стабилизатор тока КЖ101В может выдать до 160 мкА. Это означает, что тактовая частота контроллера должна быть такой, чтобы этого тока хватило для его нормальной работы. Обычно используется либо "часовой" кварцевый резонатор на частоту 32768 Гц. либо RC-генератор с частотой около 50 кГц. В том случае, если требуется большая тактовая частота, например, 4 МГц. процессор можно использовать в режиме sleep, выходя из него только для определенных действий.

Теперь перейдем к программированию. Напишем небольшую программу для устройства, схема которого показана на рис. 5. Это устройство большого практического значения не имеет, однако на его примере можно проследить основные методы программирования телефонных приставок. В устройстве использован наиболее популярный контроллер PIC16F84. который лучше всего подходит для отладки простых программ благодаря электрически перепрограммируемому ПЗУ. Большинство его возможностей, таких как прерывания, таймер, сторожевой таймер, режим sleep, задействованы не будут.

Разработка телефонных приставок на PIC-контроллерах

Устройство контролирует напряжение в линии (обозначим этот сигнал Uline) и ток через телефон (Itel). Выход RB2 контроллера DD1 управляет токовым ключом К1, которым можно замкнуть линию на резистор R3. Устройство может считывать набираемые на телефонном аппарате цифры, осуществлять кодовый доступ к междугородной связи и блокировать набор номера с любого аппарата, подключенного непосредственно к линии (режим "антипират"). Код доступа к межгороду для простоты будет состоять из одной цифры, которую необходимо набрать после цифры выхода на межгород.

Примем некоторые обозначения, применяемые в тексте программы. Названия регистров ОЗУ и названия подпрограмм будем обозначать строчными буквами с прописной в начале слова, константы - прописными буквами, метки - строчными, предваряя их символом подчеркивания Если обозначение состоит из нескольких слов, также разделим их символом подчеркивания. В качестве заголовочного будем использовать стандартный файл с описанием регистров контроллера p16f84.inc. Этот файл поставляется вместе со средой разработки для PIC-контроллеров MPLAB.

Определим константы для инициализации портов (регистров TRVS) и регистров OPTION и INTCON с помощью директивы equ и зададим цифру пароля для выхода на межгород, пусть это будет цифра "3" (табл. 1).

Разработка телефонных приставок на PIC-контроллерах

Далее определим регистры ОЗУ, которые будут использоваться в программе. Это можно сделать, присвоив каждому символьному имени регистра свой собственный адрес (например, REG1 equ ОхОС), однако удобнее воспользоваться директивами cblock и endc. С их помощью можно задать единственный начальный адрес для блока используемых регистров, а ассемблер при ассемблировании расположит все регистры в порядке возрастания. Единственное, за чем необходимо следить. - чтобы общее число задаваемых имен не превысило число физически существующих регистров контроллера. Фрагмент программы, где задаются имена регистров, показан в табл. 2.

Разработка телефонных приставок на PIC-контроллерах

Зададим директивой #define символьные имена для используемых линий ввода/вывода и названия флагов (табл. 3).

Разработка телефонных приставок на PIC-контроллерах

В табл. 4 показана подпрограмма инициализации.

Разработка телефонных приставок на PIC-контроллерах

Теперь создадим так называемый цикл ожидания, т. е. тот код. который исполняется программой при уложенных трубках и при отсутствии сигнала вызова. Обычно задачей этого цикла является проведение инициализаций и мониторинг каких-либо входов. Применительно к нашей задаче программе необходимо отслеживать напряжение в линии, ожидая его падения при снятии трубки. Также необходимо сбросить все флаги, обнулить регистры Figure и Number_of_Figure и подать низкий уровень на вход С ключа К1. чтобы не замкнуть линию через резистор R3 (табл. 5).

Разработка телефонных приставок на PIC-контроллерах

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

Если на Uline будет обнаружен низкий уровень, необходимо определить, действительно ли снята трубка или по линии передается сигнал вызова. Во время сигнала вызова на вход Uline будут поступать импульсы с частотой 25 Гц. Чтобы различить их, нужно убедиться, что в течение какого-то времени, большего нескольких периодов вызывного сигнала, на Uline подан низкий уровень. Согласно [1] "поднятием трубки" на телефоне считается замыкание линии на время более 250 мс. Напишем фрагмент программы, который отслеживает в течение 300 мс низкое напряжение на линии (табл. 6).

Разработка телефонных приставок на PIC-контроллерах

Этот фрагмент должен следовать непосредственно за предыдущим фрагментом.

Если на линии в течение 300 мс присутствует низкое напряжение, значит, снята трубка с какого-то телефона. Затем нужно проверить наличие низкого уровня на входе Itel , т. е. распознать, снята трубка с телефона, подключенного через устройство, или с аппарата, подключенного непосредственно к линии. Когда задействован "свой" телефон, программа должна перейти в режим считывания набираемого на нем номера, в противном случае набор номера следует заблокировать. Поэтому добавим к программе две строки:

btfsc Itel

call Block

Подпрограмма Block выполняет функцию блокировки набора номера. В наиболее простом виде алгоритм ее работы может выглядеть так: на выход Key выставляется высокий уровень и линия замыкается на резистор R3. Через какое-то время, например, через 1 с. на Key выставляется низкий уровень и через небольшую задержку (порядка 20 мс) проверяется. не уложена ли трубка. Если трубка не уложена, то опять на Key подается высокий уровень, и этот цикл повторяется. В противном случае выполняется оператор goto_begin, и программа начинает свою работу заново. Ассемблерный текст этой подпрограммы рассматривать не будем, так как она достаточно проста и особых комментариев не требует.

Далее считывают набираемый на телефонном аппарате номер. Как уже отмечалось выше, набор номера представляет собой серию импульсов, которые требуется пересчитать. Считывание набора номера будем производить по входу Itel, хотя можно и по Uline. Ассемблерный код этой части программы показан в табл. 7.

Разработка телефонных приставок на PIC-контроллерах

В цикле с меткой _dial_01 программа ожидает начала набора цифры. При этом она постоянно вызывает подпрограмму инициализации lnit и выставляет низкий уровень на затвор ключа К1. Это необходимо для избежания зависаний при запуске устройства или при сбоях от внешних помех. Если не обнулять выход Key, то может получиться так. что на нем окажется высокий уровень, линия замкнется на R3 и напряжение в ней упадет. В результате программа никогда не выйдет из этого цикла. Если не инициализировать регистр TRISB (что делается в подпрограмме lnit), то в результате сбоя линия Key может быть запрограммирована как вход, и ключ К1 откроется накопившимся зарядом на затворе, что опять приведет к зависанию программы. Чтобы избежать этого, подключают резистор сопротивлением порядка 200 кОм между затвором К1 и общим проводом.

После того, как на Itel появится высокий уровень, обнуляется счетчик принятых импульсов. Далее, при сброшенном флаге Supress, назначение которого будет пояснено ниже, вызывается подпрограмма Delay10 выполняющая задержку на 10 мс. Текст этой подпрограммы здесь не приводится, так как она достаточно проста. Это же касается и аналогичной подпрограммы задержки на 80 мс.

Затем проверим, выросло ли напряжение в линии. Если нет, то считается, что падение тока в телефоне вызвано падением тока в линии, а не работой номеронабирателя, и программа возвращается к метке _dial_0l. Иначе инициализируется счетчик, состоящий из регистров Counterl о и CounterHi, на время 400 мс. Если за это время высокий уровень на Itel не исчезнет, то можно считать, что трубку на телефоне уложили, и управление будет передано на начало, т. е. на метку _begin.

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

Далее необходимо обработать принятую цифру. В нашем примере требуется запретить доступ к междугородной связи паролем. Предполагается, что на междугородную связь можно выйти набором цифры "8" сразу после снятия трубки. Фрагмент программы для этого случая показан в табл. 8.

Разработка телефонных приставок на PIC-контроллерах

Если флаги Supress и Parol сброшены, а после снятия трубки и набора первой цифры это действительно так. то программа проверяет набранную цифру на равенство восьмерке. В случае выполнения этого равенства флаги Supress и Parol устанавливаются. Установка флага Supress приводит к тому, что в момент размыкания линии номеронабирателем, к ней на 80 мс подключается резистор R3, в результате чего набор цифры в линию не пропускается. Однако у программы остается возможность пересчитывать импульсы набора после отключения резистора R3 от линии.

При совпадении введенной цифры пароля с заданной оба этих флага сбрасываются и контроллер перестает блокировать набор цифр. Если пароль набран неправильно, то сбрасывается только флаг Parol, а набор продолжает блокироваться до тех пор. пока не будет положена трубка телефона.

Диаграмма напряжения в телефонной линии при блокировке набора цифры "2" показана на рис. 6.

Разработка телефонных приставок на PIC-контроллерах

В момент t происходит размыкание линии номеронабирателем. Затем на временном интервале t0 -t1 напряжение растет до тех пор, пока его не обнаружит контроллер. Далее, в момент t1. подключается резистор R3. В момент t2 импульс набора заканчивается, а в момент U отключается резистор R3.

Таким образом, в линию будут пропущены только короткие импульсы с момента размыкания линии до включения резистора R3. На большинство АТС эти импульсы влияния не окажут, однако на некоторых электронных телефонных станциях они могут восприниматься как набор номера. Для того чтобы избавиться от этих импульсов, можно блокировать набор не резистором, а стабилитроном. При этом алгоритм работы программы необходимо изменить так, чтобы стабилитрон подключался не на 80 мс. как резистор R3. а постоянно. В этом случае при разрыве линии во время набора ток будет течь через стабилитрон, а при замыкании - через телефон. Такой способ блокировки набора номера использован в коммутаторе, описанном в [2].

Рассмотрим теперь работу устройства, схема которого показана на рис. 7. Оно представляет собой блокиратор параллельного телефона с некоторым набором дополнительных сервисных функций. Блокиратор предназначен для подключения к одной линии двух телефонных аппаратов (ТА) с возможностью приоритета при снятии трубки на первом телефоне.

Разработка телефонных приставок на PIC-контроллерах

Приоритет для ТА 1 позволяет передать освобожденную линию этому телефону даже в том случае, если она занята другим телефонным аппаратом. При этом перед отключением абоненту ТА2 будет выдан предупреждающий сигнал и предоставлено время порядка 6...7 с для окончания разговора. Эта функция позволяет сделать максимально незаметным наличие второго телефона для владельца первого. Ее можно включить или отключить тумблером SA1. Тумблером SA2 можно задать такой режим работы ТА2 при входящем звонке, когда он начинает звонить после третьей посылки вызова.

Блокиратор выполнен на дешевом и имеющем минимальные габариты контроллере PIC12C508-04/P.

Оба телефонных аппарата подключены через токовые ключи VT1 и VT2. Каждый из телефонов контролируется по току с помощью оптопар U1.1 и U1.2. Сигнал входящего вызова отслеживается через делитель R4R5.

Тумблеры SA1 и SA2 включены таким образом, что их положение можно определить, подав на затворы транзисторов VT1 и VT2 низкий уровень. При этом на выходе системы контроля тока телефона при замкнутом тумблере будет низкий уровень, а при разомкнутом - высокий. Такое включение не требует отдельных выводов процессора и позволяет обойтись всего пятью имеющимися в наличии линиями контроллера на весь блокиратор.

Однако есть одна особенность, которая вызвала применение резисторов R9 и R10. При их отсутствии (т. е. при подаче сигналов непосредственно с коллекторов транзисторов оптопар на входы контроллера) в момент подключения устройства может возникнуть такая ситуация, когда, например, выводы GP2 и GP3 будут запрограммированы как выходы с сигналами нуля и единицы на каждом соответственно. Если при этом тумблер SA1 будет замкнут, то через диод VD3 потечет ток, который вследствие малой мощности источника питания не даст напряжению питания достигнуть требуемого уровня. Тактовый генератор не сможет запуститься, и устройство работать не будет. Этот ток должен быть ограничен, для чего и служат эти резисторы.

Программа блокиратора построена аналогично рассмотренной выше. В начальном цикле происходят инициализация и установка высокого уровня на затворы транзисторов VT1 и VT2. В этом цикле контролируется также состояние телефонов и проверяется наличие сигнала входящего вызова. После снятия трубки оба телефона отключаются на короткое время и определяется положение тумблеров SA1 и SA2. Их состояние запоминается в соответствующих флагах программы.

Затем программа входит в режим ожидания набора номера. При этом, если трубка снята с ТА2 и при замкнутом тумблере SA1. через небольшой интервал времени первый телефон подключается к линии. Это позволяет обеспечить функцию приоритета. В случае начала набора номера на ТА2 первый телефон будет опять отключен, чтобы избежать "подзвякивания" при наборе номера. После окончания набора последней цифры он будет подключен снова.

Если тумблер SA1 разомкнут, то ТА1 не подключится к линии и устройство будет работать как обычный блокиратор параллельного телефона.

В случае снятия трубки на ТА1 во время разговора по второму телефону устройство выдает короткий предупредительный сигнал подачей напряжения звуковой частоты на затвор VT2. Происходит отключение ТА1 и формируется задержка на 6...7 с, чтобы предоставить абоненту ТА2 возможность закончить разговор. После этого опять подается сигнал, ТА2 отключается и через 1 с линия передается первому телефону. Таким образом реализуется функция приоритета для первого телефона.

Входящий вызов обрабатывается программой следующим образом. При появлении высокого уровня на резисторе R5 программа считывает состояние тумблеров SA1. SA2 и при замкнутом SA2 отключает ТА2 от линии. Далее контроллер пересчитывает число периодов в посылке вызова. Если это число меньше заданного в одной из констант программы, то считается, что по линии прошла помеха, а не посылка вызова. Тогда выполнение программы начинается заново. Иначе содержимое счетчика посылок увеличивается, и программа ожидает снятия трубки с одного из телефонов или появления новой посылки вызова. Это происходит примерно в течение 8 с. Если за это время трубку не сняли и не поступила очередная посылка, то можно считать, что сигнал вызова закончен и исполнение программы начинается заново.

При обнаружении следующей посылки и когда число периодов в ней больше или равно заданному в константе программы, инкрементируется счетчик посылок. По достижении этим счетчиком состояния 3 (это число задается в разделе констант программы и может быть изменено) к линии подключается ТА2. в результате чего он тоже с каждой следующей посылкой будет выдавать сигнал вызова.

Цепь R13C2 задает частоту внутреннего генератора контроллера. При указанных на схеме номиналах она составляет 50 кГц ± 10 %. Светодиоды HL1 и HL2 индицируют занятый телефон, а с помощью HL3 можно определить полярность линии при подключении.

Блокиратор собран на печатной плате из одностороннего фольгированного стеклотекстолита (рис. 8).

Разработка телефонных приставок на PIC-контроллерах

При пропайке контроллера сторожевой таймер необходимо отключить.

Текст программы для устройства на рис. 7

Литература

  1. Киалюк А. И. Справочник по устройству и ремонту телефонных аппаратов зарубежного и отечественного производства. - М.; Антелком. 1999.
  2. Кулаков В. Телефонный микропроцессорный коммутатор 1x5 - Радио. 1999. № 10. с 30-32.

Автор: В.Кулаков, г.Ростов-на-Дону

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

сборник В помощь радиолюбителю №70 (1980 г)

журналы Техника - молодежи 1945 (архив за год)

книга Активные РС-фильтры на операционных усилителях., 1974

книга Обратная связь в радиоприемниках. Баркан В.Ф., 1959

статья Опыт с нагретым стаканом

статья Усовершенствование освежителя воздуха Air Wick

справочник Вхождение в режим сервиса зарубежных телевизоров. Книга №40

Оставьте свой комментарий к этой статье:

Имя:

E-mail (не обязательно):

Комментарий:

[lol][;)][roll][oops][cry][up][down][!][?]