Виберіть свою мову

В даний час з впровадженням сучасних цифрових АТС сервіс визначення номера абонента CUP стає все більш доступним. Найбільшу поширеність отримує сервіс CUP в стандарті 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. 1 DATA - інформація про дату та час надійшов дзвінок, передається в наступній послідовності: байт десятків місяця О або 1, байт одиниць місяця від 0 до 9, байт десятків днів від 0 до 3, байт одиниць днів від 0 до 9, байт десятків годин від 0 до 2, байт одиниць годин від Про до 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 Ст. Забезпечується постійна підзарядка елементів живлення малим струмом від лінії. Струм споживання від телефонної лінії при покладеній трубці в режимі очікування (при Ипит = 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 в цій конструкції використовується тільки як годинник, таймер, календар і будильник.

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

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

З періодом 7 с на виведенні INT мікросхеми DD2 з'являється імпульс, за яким контролер зчитує регістри хвилин і годин з мікросхеми DD2 і завантажує цими значеннями індикатор HG1. Це запобігає автоматичне перемикання індикатора в режим вимірювання. У режимі очікування співвідношення часу активності контролера до часу знаходження в SLEEP одно 1:7.

При вхідному виклику перший сигнал виклику АТС активує контролер DDI, повідомлення FSK декодується і записується в буфер. Прийнятий код аналізується, виводиться на індикатор і в двійково-десятковому форматі записується в пам'ять. Після цього контролер переходить в режим очікування.

У режимі перегляду пам'яті вхідних дзвінків натискання кнопок активує контролер, з пам'яті вибирається інформація про номер, час і дату дзвінка і виводиться на індикатор. Дві секунди висвічується номер, наступні дві секунди індикується дата і час дзвінка.Цей цикл повторюється тричі, потім пристрій переходить в режим. Режим вхідного виклику має пріоритет над режимом перегляду пам'яті. Вхід в меню функцій, тобто скидання, має найвищий пріоритет.

Пристрій зібрано на односторонній друкованій платі (рис. 4).

Перед монтажем елементів необхідно встановити перемичку, що проходить під висновками мікросхем. Конденсатор С1 повинен мати ємність в межах від 0,022 до 0,047 мкФ і бути розрахований на робочу напругу не менше 250 Ст. Ємність конденсатора C3 може бути від 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. Вихід - автоматично.

Ніяких інших установок не потрібно.

Програмний код контролера fsk6.zip. Слово конфігурації міститься в НЕХ-файлі.

Автор: Ст. Бачул, Кишинів р.