Частина тексту файла (без зображень, графіків і формул):
Лабораторна робота №2
Тема: Дослідження алгоритму прийому та накопичення імпульсів набору номера GetImp().
Мета роботи: Засвоєння роботи другого етапу обслуговування заявок абонентів – прийому набору номера.
Теоретичні відомості.
Алгоритм прийому номера залежить від типу номеронабирача, який визначає процес набору. У випадках тастатурного номеронабирача з частотним кодуванням інформації цифри номеру передаються одним двухчастотним імпульсом. В реалізованій імітаційній моделі інформація набору номера визначається при використанні абонентами дискового номеронабирача, параметри якого в моделі реалізовані за допомогою змінних, значення яких наведені в таб. 2.1.
Алгоритм прийому номера від дискового номеронабирача складається з двох окремих самостійно функціонуючих частин, які мають різні призначення. Програмна реалізація першої частини алгоритму прийому номера називається getimp() і призначена для прийому та накопичення імпульсів набору і має фіксований період запуску 10 мс, що виключає можливість загублення хоча б одного імпульсу.
Таблиця 2.1
Параметри дискових номеронабирачів абонентів моделі
Для роботи алгоритму необхідна інформація про стан абонентського шлейфу знімається шляхом опиту змінної SHLF[], який відображає стани кожного імпульсного ключа (ІК) телефонних апаратів. Кількість зісканованих станів з високим і низьким рівнями (для полегшення будемо важати високий рівень за одиничку ‘1’, а низький рівень стану абонентського шлейфу за нуль ‘0’) та кількість виявлених імпульсів записуються у відповідні поля РВ, які виділяються за АК активних абонентів.
Після запуску алгоритма диспетчером, його робота починається з аналізу черги заявок на прийом номера. Заявки формуються вище згаданим алгоритмом прийому сигналів виклику Scaner(). Якщо заявки відсутні, тобто відсутні абоненти, які здійснюють набір, то алгоритм закінчує свою роботу переходом у вихідний стан.
Якщо хоча б одна заявка присутня в черзі, то починає роботу головна частина алгоритму, яка заключається в наступному:
1. по номеру АК визначається номер РВ, який закріплений за даним АК;
2. формуються координати АК (номер групи – g_abn, положення в групі – n_abn);
3. опитуємо стан КТ АК, тобто зчитуємо значення із змінної (SHLF[]), яка імітує контрольну точку;
4. використовуючи попередній стан КТ текучого АК (поле shlf_old в РВ) визначаємо тип переходу, а саме:
а) якщо стан КТ без змін (shlf_old = shlf), тоді в залежності від рівня збільшуємо відповідно лічильник станів з рівнем 1 – n1, чи лічильник станів з рівнем 0 – n0;
б) якщо відбувся перехід з 1 на 0, то при виявленні (за кількістю імпульсів та цифр), що це є початок набору відключаємо сигнал “Відповідь станції”, команду на включення якого дав алгоритм Scaner();
ні
без змін
1-0
0-1
ні
так
так
ні
ні
так
так
ні
так
Сигнал запуску від диспетчера
Вихідний стан
Кінець перегляду черги?
Вихідний стан
Визначення номера РВ для наступного виклику
Формування координат АК джерельного абонента
Вид переходу
Стан абонентського шлейфу високий?
Кількість станів з низьким рівнем
firstimp=0?
numptr=0?
imp_cur=0
Викл. “Відповідь станції”
Перехід на наступний рівень
n0=n0+1
n0=n0+1
Збільшення кількості імпульсів: imp_cur++
Підготовка до прийому наступного імпульсу
Поновлення значення стану абонентського шлейфу
Рис. 2.1. Блок-схема алгоритму прийому та накопичення імпульсів.
в) у випадку переходу з 0 на 1, фіксується виявлення імпульсів, при умові, що кількість зісканованих станів з низьким рівнем більше 3-х (інакше імпульс важається помилковим – дережання контакту). При цьому збільшується лічильник імпульсів (imp_cur);
5. далі запамятовується новий стан абонентського шлейфу (shlf_old=shlf) і продовжується аналіз черги на наявність наступної заявки.
Закінчується робота алгоритму після перегляду всієї черги на прийом номера.
Хід роботи.
1. Ознайомитись з теоретичними відомостями;
2. Запустити програму main.exe;
3. Відкрити для виконання файл 2_1;
4. Натискаючи клавішу F6 слідкувати за зміною значень в вікні функції;
5. Намалювати в звіті форми сигналів набраних номерів від абонентів;
Контрольні запитання.
1. Чому до програми ставляться вимоги необхідності високої швидкодії?
2. Які параметри сигналу імпульсного набору номера?
3. Як відреагує алгоритм на сигнали подібні на дережання контакту?
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!