3.2 Розробка драйвера послідовного інтерфейсу

Драйвер повинен забезпечувати буферизований ввід-вивід з СОМ порта в програму. А після закінчення роботи програми відновлювати старий контролер переривань.

Інтерфейс драйвера з програмою складається з наступних функцій:

Іnstаllсом(comNo) – У залежності від номеру СОМ порту встановлює процедуру обробки апаратного переривання

OpenCOM(speed:byte) – готує СОМ порт для роботи для порту визначеного в процедурі InstallCOM визначає швидкість обміну даними, кількість стопових бітів, контроль передачі. Функція реалізує апаратний протокол встановлення зв'язку

Sread() – функція читає з програмного буфера символ, що надійшов, та видаляє його з буфера і передає програмі, що визвала цю функцію.

Swrite(b:byte) – процедура записує символ у програмний буфер для передачі його через СОМ порт, символ буде передано коли наступить переривання “буфер передавача порожній”.

CloseCOM() – закінчує роботу з СОМ портом на встановленій швидкості. Функція реалізує апаратний протокол закінчення роботи DTE та DCE обладнання.

RestoreCOM() – процедура проводити заміну процедури обробки апаратних переривань. Відновлює попередні настроювання, що були до початку роботи програми.

IsRing():byte – перевіряє чи був виклик з МТМ і якщо був виклик з МТМ те функція повертає число > 0 в іншому випадку функція повертає код 0.

Буфер для передачі має розмір 512 байт. Буфер для прийому даних має розмір 1024байти. Буферів з такими розмірами достатньо для забезпечення надійної передачі даних між мобільним телефоном та СОМ портом.

Тексти функцій приведені в додатку 4


3.3 Розробка програми bridge для комплексу МТМ↔GSM

Програма взаємодіє з драйвером і реалізує роботу комплексу. Текст програми приведений в додатках. Програма складається з наступних процедур та функцій:

Void main(void) – основна процедура з якої починається виконання програми. У цій процедурі спочатку викликається завантаження поточної конфігурації процедура getConfig() після чого проводитися ініціалізація мобільного телефону. Після ініціалізації програма переходить у режим очікування. У разі виклику з телефонних мереж програма викликає функції Void PhoneMobiline(), Void PhoneCity().

Int getUserID(int char) – ця функція визначає чи є код, який увів користувач МТМ або телефон, номер якого надійшов з GSM, у таблиці відповідності користувачів комплексу. Процедура також перевіряє значення авансової суми внесеної абонентом комплексу.

Void PhoneMobiline() – у цій процедурі реалізований алгоритм роботи комплексу у випадку коли дзвінок надійшов з GSM.

Void PhoneCity() – у цій процедурі реалізований алгоритм роботи пристрою у випадку коли дзвінок надійшов з МТМ.

Void StartToking() – продерура очікує коли встановиться зв‘язок з віддаленим абонентом, і інспектує час розмови. Після цього викликає функції SaveLog() та SaveMoney() для збереження інформації про розмову та авансовий внесок абонента.

Void SaveLog() – ця процедура відкриває файл Log.txt та записує туди стрічку результату розмови в форматі:

початок розмови. тривалість (сек) вартість (коп) номер телф. GSM Напрямок дзвінка DTMF набір

Void SaveMoney() – Процедура записує нове значення кредиту абонента комплексу у файлі Users.txt.

Формат файлу:

код № тел. GSM

Вартість вхідного дзвінка з МТМ

(за 1 хв)

Вартість вихідного дзвінки з GSM (за 1 хв)

Кредит наданий користувачеві комплексу в копійках

(макс. 99999 коп)

Напрямок дзвінка

Void getConfig() – Процедура занходить файл setup.cfg і завантажує з нього параметри програми. До параметрів входять:

Void SendStr() – ця процедура надсилає до мобільного телефону стрічку сиволів, по черзі викликаючи функцію swrite(char ch).

Крім основних функцій у програмі реалізований інтерфейс з користувачем через телефонну лінію. Для того, щоб використати допоміжні функції, які реалізовані у комплексі необхідно увести пароль, який записаний у файлі конфігурації setup.cfg. Для використання тієї чи іншої сервісної функції необхідно зателефонувати на комплекс з МТМ і після двох гудків увести значчення пароля. (пароль складається з цифр від 0..9), у випадку коли пароль був введений вірно, комплекс відповість двома короткими гудками і буде очікувати вводу сервісної функції. При одержанні значення (коду) сервісної функції комплекс одразу виконає її.


Информация о работе «Апаратно–програмний комплекс GSM-МТМ»
Раздел: Информатика, программирование
Количество знаков с пробелами: 102347
Количество таблиц: 16
Количество изображений: 8

Похожие работы

Скачать
30159
0
6

... та модернізації переліку послуг, в основу проекту були покладені принципи, аналогічні принципам конструювання послуг інтелектуальної мережі.   2. Системи комп'ютерної телефонії фірми «Беркут» Науково-виробнича фірма «Беркут» (Санкт-Петербург) є виробником широкого спектра систем телекомунікаційного обладнання, розроблюваних на базі власної платформи комп'ютерної телефонії та прикладного ПЗ. ...

0 комментариев


Наверх