Определитель номера стандарта FSK

Определитель номера стандарта FSK

В этой статье будет описан протокол CLIP стандарта FSK и АОН-приставка, работающая в этом стандарте.

В настоящее время с внедрением современных цифровых АТС сервис определения номера вызывающего абонента CLIP становится все более доступным. Наибольшую распространенность получает сервис CLIP в стандарте FSK (частотная модуляция), позволяющий передать абоненту не только номер вызывающего абонента, но и другую информацию. Здесь в сжатой форме будет описан расширенный вариант этого стандарта Multiple Data Message Format (MDMF). Более подробную информацию можно получить в документах ETS300659-1 и ETS300659-2 Европейского института по стандартизации в области телекоммуникаций (ETSI).

В стандарте FSK данные передаются со скоростью 1200 бит/с. Логическая единица (MARK) кодируется частотой 1300 Гц, логический ноль (SPACE) — 2100 Гц. Информация передается побайтно, каждый байт начинается стартовым битом SPACE и заканчивается стоповым битом MARK. До десяти стоповых битов может быть добавлено между байтами. Обобщенная временная диаграмма передачи показана на рис. 1.



Информация передается между первым и вторым вызывными сигналами, длительность паузы Т1 составляет 500...2000 мс, длительность паузы Т2 — не менее 200 мс. Передаче сообщения предшествует сигнал CHANNEL SEIZURE (захват канала), представляющий собой последовательность из 300 чередующихся битов 0, 1...0, 1 или 30 байт 55Н. Длительность этого сигнала 250 мс. Затем следует сигнал MARK SIGNAL, состоящий из блока логических единиц длительностью 180 ± 25 мс или 80 ± 25 мс по выбору оператора. Далее следует непосредственно сообщение (MESSAGE). Сообщение представляет собой набор параметров. Каждый параметр состоит из трех полей. Первое поле — тип параметра, это один байт в НЕХ-формате, который указывает устройству Caller ID, как интерпретировать следующие два поля. Второе поле — длина параметра (тоже байт), это число байт данных, находящихся в третьем поле. Третье поле — данные параметра, это ASCII-коды в соответствии с рекомендациями CCITT, при этом старший бит всегда равен 0.

Типичный формат сообщения показан на рис. 2.



MESSAGE TYPE (тип сообщения) — для расширенного формата равен 80Н.

MESSAGE LENGTH (длина сообщения) — число байт в сообщении, исключая байты MESSAGE TYPE, MESSAGE LENGTH и CHECKSUM, выраженное одним байтом.

PARAM. 1 TYPE — параметр даты и времени, равен 01Н.

PARAM. 1 LENGTH — байт длины этого параметра, всегда равен 08Н.

PARAM. I DATA — информация о дате и времени поступившего вызова, передается в следующей последовательности: байт десятков месяца 0 или 1, байт единиц месяца от 0 до 9, байт десятков дней от 0 до 3, байт единиц дней от 0 до 9, байт десятков часов от 0 до 2, байт единиц часов от 0 до 9, байт десятков минут от 0 до 5, байт единиц минут от 0 до 9. Этот параметр не является обязательным и может не передаваться.

PARAM. 2 TYPE — параметр номера вызывающего абонента, равен 02Н, если номер передается.

PARAM. 2 LENGTH — байт длины этого параметра.

PARAM. 2 DATA — собственно номер вызывающего абонента, передается в ASCII кодах, начиная со старших разрядов, максимальная длина 20 байт. Этот параметр является обязательным и передается всегда. Однако, если у вызывающего абонента включен запрет определения номера, PARAM. 2 TYPE равен 04Н, PARAM. 2 LENGTH равен 01Н и PARAM. 2 DATA равен ASCII коду «Р» («Private»). В случае, если станция вызывающего абонента не поддерживает протокол передачи CLIP, то PARAM. 2 TYPE равен 04Н, PARAM. 2 LENGTH равен 01Н и PARAM. 2 DATA равен ASCII коду «О».

PARAM. 3 TYPE — параметр имени вызывающего абонента, равен 07НЕХ, если имя передается.

PARAM. 3 LENGTH — байт длины этого параметра.

PARAM. 3 DATA — имя вызывающего абонента, передается в кодировке ASCII, максимальная длина 50 байт. Этот параметр не является обязательным и может не передаваться. В случае, если АТС передает этот параметр, но вызывающий абонент заблокировал передачу своего имени, то PARAM. 3 TYPE равен 08Н, PARAM. 3 LENGTH равен 01Н и PARAM. 3 DATA равен ASCII коду «Р». Также PARAM. 3 DATA равен ASCII коду «О» в случае, если имя абонента недоступно по какой-либо другой причине.

CHECKSUM — байт контрольной суммы, являющийся двоичным дополнением по модулю 256 суммы всех байтов сообщения, начиная с MESSAGE TYPE, исключая сам байт CHECKSUM. Данный протокол не предусматривает коррекцию ошибок, и, если контрольная сумма не равна нулю, сообщение отбрасывается.

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

Простой формат SDMF (Single Data Message Format) является частным случаем расширенного формата и в настоящее время применяется редко. В этом формате передаются только два параметра — дата-время и номер абонента. Тип сообщения равен 04НЕХ.

В таблице побайтно рассмотрен пример передачи номера 246-58-31 в 20 часов, 45 минут, 26 декабря с указанием причины отсутствия имени вызывающего абонента.



Предлагаю читателям для повторения собственную конструкцию приставки Caller ID, которая совместима с SOME и MDMF форматами. Работоспособность конструкции проверена на реальных телефонных линиях. Устройство подключается параллельно телефонному аппарату в телефонную линию с напряжением линейных батарей 48...60 В. Оно отличается простотой управления, надежностью определения номера, предельно низким энергопотреблением от источника питания и от телефонной линии. Приставка не мешает работе факсов, автоответчиков и других устройств, работающих в автоматическом режиме, и отвечает требованиям стандартов по подключению абонентских устройств. Конструктивно может быть выполнена в отдельном корпусе или встроена в телефонный аппарат.

Питание устройства осуществляется от батареи из трех гальванических элементов типоразмера АА или ААА или от аккумуляторной батареи напряжением 4...5 В. Обеспечивается постоянная подзарядка элементов питания малым током от линии. Ток потребления от телефонной линии при уложенной трубке в ждущем режиме (при Uпит = 4,5 В) — не более 0,1 мА, при этом ток подзарядки источника питания — не менее 0,01 мА. Средний ток потребления от источника питания в других режимах — не более 1 мА.

Схема устройства показана на рис. 3. Объем памяти приставки — шестьдесят три входящих номера. Память организована по принципу «первым вошел — первым вышел». Двумя кнопками SB2 («Пред.») и SB3 («След.») можно «листать» память в сторону более ранних звонков и в сторону поздних звонков. В память записываются номер, время и дата звонка. Предусмотрено экономичное использование памяти, т. е. если один и тот же абонент дозванивается к вам с периодичностью менее 10 мин, то его номер записывается в память единожды и фиксируется время последнего звонка. При отключенном питании информация в памяти и работа часов сохраняются не менее 3 мин (зависит от емкости конденсатора С8), что достаточно для замены элементов питания. Число новых звонков, записанных в память после последнего ее просмотра, отображается на индикаторе. Счетчик новых звонков сбрасывается после просмотра памяти.



Управление приставкой осуществляется посредством меню из трех функций: Настройка будильника, Настройка часов и Очистка памяти. Вход в меню функций — по нажатию кнопки SB1 («Функ.»).

Основа устройства — микроконтроллер PIC16F628 (DD1). Декодирование FSK осуществляется программно. Используется один из встроенных компараторов, выводы РА1 и РА2 являются его входами. Опорное напряжение формируется цепью R2R3R4, резистор R3 задает смещение между входами компаратора 10...15 мВ.

Каскад на транзисторе VT1 — это простейший компаратор для анализа вызывного сигнала. Вывод PB0 контроллера DD1 сконфигурирован как внешний источник прерываний по фронту. Цепь R9VD4 при подключенной телефонной линии обеспечивает подзарядку батареи GB1 током в пределах 10...20 мкА. Стабилитрон VD5 защищает цепь питания от возможного превышения напряжения. Желательно использовать импортные стабилитроны с хорошей крутизной характеристики, от этого зависит общее потребление.

Для звукового сопровождения нажатия кнопок служит звуковой излучатель НА1 со встроенным автогенератором на рабочее напряжение 6 или 12 В. Если не требуется звук, излучатель НА1 можно не устанавливать. Микросхема DD2 в этой конструкции используется только как часы, таймер, календарь и будильник.

Для хранения определившихся номеров используется flash-память 24С08 (DD3). Для каждого номера отводится 16 байт. Информация записывается в двоично-десятичном формате, т. е. 4 байта отводится для даты и времени звонка, а 12 байт отводится для номера с максимальной длиной до 24 цифр. Микросхемы DD2 и DD3 по интерфейсу I2C подключены к контроллеру DD1.

При включении питания инициализируются регистры контроллера DD1 и часов DD2. Таймер микросхемы DD2 настраивается на интервал 7 с. После этого устройство переходит в ждущий режим, контроллер выполняет команду SLEEP. Он может быть активирован одним из следующих событий: фронтом на входе РВО (входящий вызов), изменением состояния входов РВ4, РВ5 (нажатие кнопок или импульс на выводе INT DD2), нажатием кнопки SB1 (сброс контроллера). Программа анализирует тип сброса, и если это «горячий» перезапуск (кнопка SB1), то производится вход в меню функций.

С периодом 7 с на выводе INT микросхемы DD2 появляется импульс, по которому контроллер считывает регистры минут и часов из микросхемы DD2 и загружает этими значениями индикатор HG1. Это предотвращает автоматическое переключение индикатора в режим секундомера. В ждущем режиме соотношение времени активности контроллера к времени нахождения в SLEEP равно 1:7.

При входящем вызове первый вызывной сигнал АТС активирует контроллер DD1, сообщение FSK декодируется и записывается в буфер. Принятый код анализируется, выводится на индикатор и в двоично-десятичном формате записывается в память. После этого контроллер переходит в ждущий режим.

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

Устройство собрано на односторонней печатной плате (рис. 4). Перед монтажом элементов необходимо установить перемычку, проходящую под выводами микросхем. Конденсатор С1 должен иметь емкость в пределах от 0,022 до 0,047 мкф и быть рассчитан на рабочее напряжение не менее 250 В. Емкость конденсатора СЗ может быть от 4700 до 10000пФ.



Для налаживания устройства необходим обычный мультиметр (желательно цифровой), осциллограф с входным сопротивлением 10 МОм и батарея элементов или аккумуляторов напряжением 4,5...4,8 В для питания устройства. Также понадобится тонкая отвертка с изолированной ручкой для регулировки подстроечного конденсатора С7. При правильной сборке из исправных компонентов устройство начинает работать сразу и необходимо лишь проверить работу компаратора VT1 и потребляемый ток.

НЕЛЬЗЯ ПОДКЛЮЧАТЬ ПРИСТАВКУ К ТЕЛЕФОННОЙ ЛИНИИ, ПРЕДВАРИТЕЛЬНО НЕ ВКЛЮЧИВ ПИТАНИЕ!

Включаем питание 4,5...4,8 В через миллиамперметр, предварительно установленный на пределе измерения не менее 5 мА постоянного тока. Примерно через 5 с приставка перейдет в ждущий режим (на индикаторе появится время и счетчик звонков), ток потребления при этом не должен превышать 50 мкА. Если ток больше или приставка не переходит в ждущий режим, необходимо проверить качество монтажа, прошивку контроллера и стабилитрон VD5. В ждущем режиме через каждые 7 с контроллер регенерирует индикатор, поэтому показания миллиамперметра кратковременно увеличиваются.

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

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

Последний этап налаживания — подстройка точности хода часов конденсатором С7. Сделайте это в процессе эксплуатации. Если часы «уходят», слегка поверните ротор С7. Повторяйте эту операцию, пока не добьетесь точного хода часов. Применяйте диэлектрическую отвертку, так как внесение емкости в цепь автогенератора микросхемы DD2 может привести к сбою в его работе.

Применяемые микросхемы чувствительны к статическому электричеству, поэтому пользуйтесь изолированным от сети «заземленным» паяльником мощностью не более 40 Вт. Все операции по монтажу выполняйте при отключенном питании.

Несколько слов о том, как управлять приставкой. Кнопка SB2 «Пред.» листает память в сторону более ранних звонков, а кнопка SB3 «След.» — в сторону более поздних. Приставка покажет номер, дату и время звонка, а после этого автоматически перейдет в ждущий режим.

Для входа в меню установок нажмите и отпустите кнопку SB1 «Функ.». Для выбора функции используйте кнопку SB3. Для входа в функцию используйте кнопку SB2.

F1 — установка будильника. На индикаторе слева направо появятся символ выключателя будильника («—» — будильник выключен, «Р» — будильник включен) и значения часов и минут. Для выбора значения используйте кнопку SB3, для изменения — SB2. Для выхода из функции нажмите кнопку SB3 на время не менее 0,5 с и отпустите.

F2 — установка времени и даты. На индикаторе слева направо появятся значения даты, месяца, часов и минут. Для выбора значения используйте кнопку SB3, для изменения — SB2. Для выхода из функции нажмите кнопку SB3 и удерживайте ее не менее 0,5 с, а по сигналу точного времени отпустите.

F3 — очистка всей памяти номеров. Войдя в эту функцию, у вас есть 10с для подтверждения операции кнопкой SB2. Выход — автоматически.

Никаких других установок не требуется.

Программный код контроллера можно скачать ЗДЕСЬ. Слово конфигурации содержится в НЕХ-файле ЗДЕСЬ.

В. БАЧУЛ, г. Кишинев






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.