Базові принципи перевірки достовірності при передачі на основі МК51
Всі методи контролю достовірності передачі інформації та захисту від збоїв засновані на принципі інформаційної надмірності, тобто до передаються інформаційним бітам додається певну кількість додаткових розрядів, за допомогою яких забезпечується контроль достовірності. Значення контрольних розрядів формуються за різними алгоритмами. rn Найпростіший і легко реалізується метод контролю - формування і перевірка ознаки парності кількості одиниць у байт, який передається. rn Для реалізації цього методу МК-передавач і МК-приймач повинні бути налаштовані на режим УАПП - 9 біт (режим 2 або 3). rn Принцип формування та аналізу інформації, що передається, зображений у вигляді умовної схеми на ріс.20.2. rn rn rn Програма формування ознаки парності для МК-передавача . < /span> rn Нехай передається байт знаходиться в комірці РПД з ім'ям Sbyte: rn MOV A, Sbyte; Формування ознаки парності (P) - PSW.0. rn MOV C, P; Передача ознаки (P) в розряд TB8. rn MOV TB8, C rn MOV SBUF, A; Початок передачі кодової посилки: rn Програма перевірки достовірності прийнятого байта. rn Ця програма реалізується в МК-приймачі. Нехай прийнятий байт слід розмістити в комірці РПД з ім'ям Rbyte. У разі виявлення збою встановити прапор (певний біт) і обнулити прийняту інформацію. rn BadS equ F0; Оголошення прапора прийому байти з помилкою (біт F0) rn org 0023H; Вектор переходу на обробник переривання від УАПП rn JMP Read_S; Перехід на процедуру обробки переривання від УАПП rn ... rn SETB REN; Запуск приймача УАПП. rn ... ; Команди основної програми, які виконуються rn ... ; До завершення прийому, тобто до моменту rn ... ; Формування запиту переривання RI = 1. rn ; Процедура обробки переривання від УАПП rn org ... rn Read_S: rn PUSH ACC; Збереження поточного вмісту акумулятора, rn MOV A, SBUF; читання SBUF, формування ознаки парності. rn CLR BadS; Скидання прапора "Помилка". rn JB P, rs_P1; Порівняння ознаки парності, який сформований rn JNB RB8, rs_N; в МК-приймачі (P), з ознакою парності, rn JMP rs_B; отриманими в дев'ятому бите кодової rn rs_P1: JB RB8, rs_N; посилки і знаходиться в розряді RB8. rn rs_B: CLR A; Ознаки P і RB8 не дорівнює - ПОМИЛКА - обнуління rn SETB BadS; прийнятої інформації, встановлення прапора "Помилка". rn rs_N: MOV Rbyte, A; Пересилання прийнятого байтів за адресою Rbyte. rn CLR RI; Дозвіл прийому наступного байта. rn POP ACC; Відновлення вмісту акумулятора. rn RETI; Возвраn з процедури обробки переривання rn ; зі зняттям блокування запиту RI. rn Самостійно скласти блок-схему програми прийому байта. rn Недолік найпростішого методу контролю за биту парності - неможливість визначення збійна розряду. rn Ще одним найпростішим методом контролю є повторна передача кожного байтів та їх порівняння в приймачі. Студентам пропонується самостійно розробити протокол обміну та програмну реалізацію.
|