Сперва, имеющиеся 21 бит необходимо логически умножить на 10, т.е. сдвинуть на 10 бит влево, тем самым подготовить место в двоичном слове для размещения 10 контрольных бит. Вычисление контрольных бит сводится к последовательному делению со сдвигом. В операции деления участвует уже 31 бит.
Возьмём первых 11 (№№ 1 – 11) бит 21-го битного слова – это будет делимое. Первым битом этого одиннадцатибитного слова является "0", значит, делителем будет слово состоящее только из нолей, или просто операция деления не происходит. После деления – логическая операция исключающее ИЛИ – к остатку добавляем следующий бит (№12). Анализируем первый бит – это "1" – делителем будет полином. Полином в коде БЧХ(31,21) это двоичное слово – 11101101001. После деления к остатку добавляем следующий №13-ый бит, и повторяем операцию.
Операция продолжается до тех пор, пока возможно добавление бит к остатку от деления.
Итог расчёта – проверочные биты 0111111010.
3.2.2 ПОДГОТОВКА ПРОГРАММЫ К РАБОТЕ С ПЕЙДЖЕРОМ
Описание работы программы.
Программа формирует последовательность импульсов на одном из выбранных компьютерных портов в формате протокола POGSAC. Интерфейс программы позволяет варьировать целым рядом основных параметров.
Программа поставляется в «рабочем» виде, т.е. не требует предварительной инсталляции и настроек. После установки программы на накопитель компьютера она уже полностью готова к работе. Интерфейс программы представлен на рисунке 10. При входе в программу можно произвести корректировку некоторых параметров. Параметры, которые можно изменить в процессе работы с программой отображаются в программе (на рисунке 10 снизу и выделены серым цветом) в самом низу экрана. Клавиша, которую необходимо нажать для изменения параметра соответствует первой букве параметра, для удобства восприятия она заключена в скобки: (A)nother – ещё одно сообщение клавиша <A>, (R)epeat – повторная передача последнего Рисунок 10. Интерфейс программы РЕ.
сообщения по тому же адресу – клавиша <R>, (I)nverted – сообщение в инверсном виде – клавиша <I> (далее все клавиши по аналогии), (N)ormal – сообщение в прямом виде, (B)aud – выбор скорости передачи, (C)om – выбор коммуникационного порта, (H)ide Data – скрыть данные, (V)iew Data – показать данные, (Q)uit .- выход из программы. Как следует из перечисленных выше свойств, непосредственно в работе программы можно задать скорость передачи сообщения, вид (инвертированный или нормальный), тип передаваемой информации (алфавитно-цифровой, числовой, тон только функция 1 или тон только функция 2), и порт передачи данных. Можно указать в какой пачке будет передан фрейм с информацией (на экране не отображено, но задаётся как (F)rame – клавиша <F>). Более детальные настройки позволяют создавать и устанавливать различные кодировочные таблицы, задавать кодовое слово синхронизации и пустого слова, и т.д.
В верхней части экрана можно проконтролировать установленные параметры (смотри на рисунке 10 выделенная серым цветом строка на верху рисунка). По примеру строки из рисунка можно понять следующее: COM1 – выбран коммуникационный порт №2, 512 Baud – задана скорость 512 бод, FRAME=0 – пачка 0, INVERTED – вид передачи – инверсный.
Функциональные возможности программы.
Ниже описываются параметры и возможности программы, которые могут изменяться пользователем.
1. Скорость передачи.
В программе предусмотрены три скорости передачи согласно формату POCSAG - 512, 1200, 2400 бод. Изменение скорости передачи производится после загрузки программы нажатием клавиши <B>. Значение, которое будет устанавливаться по умолчанию, можно задать в файле инициализации:
Пример
bitrate=512
Пояснение: Установлено значение 512 бод (Bitrate – скорость передачи).
2. Характер передаваемой информации.
Под характером понимается то, какая передаётся информация, т.е. числовая, буквенно-цифровая или тональная. Задание характера происходит автоматически: если во введённом сообщении присутствуют, и буквы и цифры то программа определит сообщение как буквенно-цифровое. Если введены только цифры, программа запросит уточнение характера – цифровой или буквенно-числовой. Если в поле ввода сообщения нет ни одного символа, то принято это программой будет как послание тонального сообщения, и будет предложен выбор: тон функция 1 или тон функция 2.
3. Тип передачи.
Существует два режима передачи информации – нормальный и инверсный. Выбор необходимого типа производится после загрузки программы или передачи сообщения путём нажатия клавиши <N> – для выбора нормального режима передачи, и нажатия клавиши <I> – для выбора инверсного режима передачи. Тип передачи по используемый по умолчанию задаётся файле инициализации:
Пример
polarity=INVERTED
Пояснение: Информация, сформированная на порте RS-232 будет в инверсном виде относительно кодированной.
4. Таблица кодирования.
Одним из основных достоинств данной программы является возможность создания собственных кодировочных таблиц для различных типов пейджеров. Относительно кодировочных таблиц программа работает следующим способом: окончательно введённое сообщение готовое к передачи рассматривается посимвольно и возвращённый от каждого символа компьютерный ASCII код проверяется в файле таблицы. Если код обнаружен, то на передачу пойдет код, предложенный к замене. Если возвращённый ASCII код в файле таблицы не найден, то на передачу пойдет сам ASCII код, т.к. в латинских кодировочных таблицах пейджинговые коды символов совпадают с компьютерным кодом.
Файл кодировочной таблицы имеет несложную структуру. Это последовательная (построчная) запись кодов. Сперва пишется код символа из пейджинговой кодировочной таблицы, затем ASCII код введённого с клавиатуры символа и так далее.
Пример: 65
128
97
130
Пояснение: коды символов в пейджинговых сообщениях имеют 7-битную разрядность, а символы в ASCII коде 8-битную, в связи с этим русская кодировка символов в пейджинговой кодировочной таблице не совпадает с русской кодировкой символов на компьютере, где русские символы состоят из восьми разрядов. С латинскими символами таких проблем не возникает, так как код этих символов не использует восьмой разряд.
Непосредственно в файле кодировочной таблицы записано следующее (см. пример): 65 - код символа на передачу, это тот код, на который необходимо заменить определённый из введённого текста сообщения код 128. То есть введённую с клавиатуры русскую символ «А» из кодировки ASCII код 128 – восьмибитовый, меняем на символ «A» из кодировки пейджинговой таблицы 65 – семибитовый код. По аналогии буква «Б» (кодировка ASCII - код 129) меняем на «Б» (кодировка NEC - код 97). И так все русские символы. По аналогии можно составить любую кодировочную таблицу передачи.
Подключить файл кодировочной таблицы к программе можно с помощью файла инициализации (PE.INI). Указывать файл с кодировочной таблицей следует в разделе языковой поддержки:
Пример:
[language]
country=russian
Пояснение: Русская кодировочная таблица хранится в файле russian.lng .
Содержание файла russian.lng представлено в таблице 8.
Таблица 8 не является кодировочной таблицей пейджера NEC, а лишь содержит русскоязычные символы. Полная кодировочная таблица для пейджера NEC предоставлена в таблице 9.
Таблица 8. Содержание файла russian.lng
NEC | ASCII | Символ | NEC | ASCII | Символ | NEC | ASCII | Символ | NEC | ASCII | Символ |
65 | 128 | А | 97 | 129 | Б | 66 | 130 | В | 98 | 131 | Г |
100 | 132 | Д | 102 | 134 | Ж | 103 | 135 | З | 104 | 136 | И |
105 | 137 | Й | 106 | 139 | Л | 72 | 141 | Н | 75 | 138 | К |
77 | 140 | М | 79 | 142 | О | 107 | 143 | П | 69 | 133 | Е |
80 | 144 | Р | 67 | 145 | С | 84 | 146 | Т | 108 | 147 | У |
109 | 148 | Ф | 88 | 149 | Х | 110 | 150 | Ц | 111 | 151 | Ч |
112 | 152 | Ш | 113 | 153 | Щ | 114 | 154 | Ъ | 115 | 155 | Ы |
116 | 156 | Ь | 117 | 157 | Э | 118 | 158 | Ю | 119 | 159 | Я |
123 | 123 | { | 125 | 125 | } | 124 | 124 | | | 101 | 240 | Ё |
Таблица 9 задает соответствие между 16-ричным значением кода символа или служебной функции с его изображением на экране пейджера или пояснением функции. Столбец задает первую цифру в 16-ричном представлении кода, строка – вторую. На пересечении столбца и строки указывается соответствие. Так как алфавитно-цифровые пейджеры имеют семиразрядную кодировку, количество кодов ограничивается 128. Коды от 0016 до 2016 – служебные, остальные – коды символов. Достоинством данного пейджера является то, что он поддерживает символы русского и латинского алфавита. Так как используются коды в диапазоне от 2016 до 7F16, то используются только заглавные буквы русского и латинского алфавита.