Компьютерный интерфейс передачи в системе персонального радиовызова общего пользования
p> Итак, при освещении фотодиода VD2, его внутреннее сопротивление падает, транзистор VT2 открывается. При открытом транзисторе VT2 появляется разница напряжений между базой и эмиттером VT1 и транзистор VT1 открывается, подаётся напряжение на транзистор VT5. Транзистор VT5 входит в схему усилителя постоянного тока аппаратуры организации радиоканала.
Управление транзистором VT5 вызывает формирование на выходе АОРК двуполярных посылок с уровнями (60 вольт с манипуляцией оналогичной с входной.

Рисунок 9. Принципиальная схема устройства сопряжения.

Трансляция сообщения в эфир производится с помощью передатчика и возбудителя. Данные подаются на возбудитель через телеграфный вход.

3.2 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

3.2.1 ФОРМАТ СООБЩЕНИЯ ПРОТОКОЛА POCSAG.

Формат сообщения.

Формат сообщения – это определённая последовательность двоичных слов.
Формат сообщения в протоколе POCSAG это последовательность двоичных слов, характер кодирования которых, согласуется с протоколом POCSAG.
Преобразование информации, передаваемой на пейджер, в формат протокола
POCSAG происходит по средствам программы PE. После формирования информации в двоичную форму она поступает на выход коммуникационного порта в виде двухполярных импульсов напряжения (12 В. Далее импульсы преобразуются в напряжение (60 В. Значению +60 В соответствует частота нажатия, значению
-60 В – частота отжатия. Так как сигнал идет в инверсной форме, то "1" соответствует меньшая частота (частота отжатия), а "0" – большая частота
(частота нажатия).

Как говорилось ранее, перед каждым сообщением следует преамбула длинной не менее 576 бит, представляющая собой чередующеюся последовательность "010101010101..." Во время ее передачи пейджер переводится в режим "прием сообщения". После преамбулы следует передача
"пачек", число которых произвольно.

Каждая "пачка" состоит из слова синхронизации в ее начале и восьми кадров (фреймов). Формат кодового слова кадровой синхронизации в шестнадцатеричной форме имеет значение "7CD215D8". Первым битом слова синхронизации является флаг. У слова кадровой синхронизации, адресного слова и "пустого" слова флаг имеет значение "0", а у информационного слова флаг имеет значение "1".

Фрейм состоит из двух кодовых слов. Если это первый фрейм сообщения, то первое слово - это слово адреса, а второе слово – информационное слово.
Рассмотрим подробно структуру адресного слова. Возьмем для примера адрес
"1333333". В шестнадцатеричной форме адресное слово будет иметь вид
51615BF4. Вид адресного слова в двоичной форме показан в таблице 3. Бит №1
– флаг, биты №2-19 определяют адрес пейджера. Действительный адрес пейджера имеет 21 разряд в двоичной форме, но так как адрес пейджера прикреплен к конкретному фрейму, а количество фреймов равно восьми, то последние три бита, определяющие номер фрейма, не передаются. Адрес "1333333" в двоичной форме имеет вид – "101000101100001010101". Последние три бита, имеющие значение "101", показывают, что номер фрейма шестой, так как в десятичной форме число "101" имеет значение "5", а первому фрейму соответствует значение "000". Как видно из таблицы 3, старшие 18 битов адреса "1333333" занесены в адресное слово битами №2-19. Биты №20-21 функциональные. Если они имеют значение "11", то это значит, что после адреса будет передаваться буквенно-цифровая информация, если значение "00", то цифровая информация, а если "01" или "10", то тоновый вызов. В нашем примере после передачи адреса передаётся буквенно-цифровая информация, а значит биты №20-21 имеют значение "11". Остальные одиннадцать бит (биты №22-32) – избыточные биты.

После передачи адресного слова следует информационное слово, содержащего информацию, предназначенную абоненту пейджера. Для примера покажем первое после адреса информационное слово при передаче сообщения
"ПЕЙДЖЕР". Значение первого информационного слова в передаче данного сообщения в шестнадцатеричной форме будет иметь вид "EBA32D44". В двоичной форме кодовое слово показано в таблице 4. Бит №1 – флаг, имеющий значение
"1". Далее биты №2-21 содержат непосредственно информацию, передаваемую на пейджер. Так как применяется семибитовое кодирование, каждому символу соответствует семь бит, причем первым передается младший бит, а последним старший бит. К примеру: первый символ, передаваемый на пейджер, содержится в битах №2-8, что соответствует значению "1101011", а так как первым передается младший бит, то номер символа, соответствующей кодировочной таблице будет иметь значение "1101011". В шестнадцатеричной системе будет иметь значение "6B". Сравнивая номер символа с кодировочной таблицей пейджера NEC, приведенной в таблице 12, видим, что номер символа соответствует символу "П", который является первой буквой слова "ПЕЙДЖЕР".
Аналогично передается следующий символ (биты №9-15), что соответствует значению "1010001". Перевернув значение и переведя в шестнадцатеричную форму, получаем номер символа, соответствующий значению "45". Сравнивая с кодировочной таблицей, видим, что номер символа соответствует символу "Е".
Этот символ является второй буквой слова "ПЕЙДЖЕР". Аналогично передаются все остальные символы. Из-за того, что в одном кодовом слове передается двадцать информационных бит, последний бит третьего символа передается в следующем информационном слове, следующих друг за другом.

При передаче цифровой информации на пейджер, символы кодируются четырьмя битами. Кодировочная таблица цифровых пейджеров представлена в таблице 5. Передача слов с цифровой информацией, идёт так же с младших бит.

Для примера покажем структуру информационного слова при передаче сообщения "123". В шестнадцатеричной форме его значение будет "С2619СЕ1". В двоичном виде информационное слово показано в таблице 9. Бит №1 – флаг.
Биты №2-5 соответствуют первому символу и имеют значение "1000". Перевернув это значение и переведя в шестнадцатеричную форму, получим значение "1", что согласно таблице 6 соответствует цифре "1". Аналогично передаются все остальные символы.

После того, как вся информация передана на пейджер, передается адресное слово или пустое слово (если сообщения отсутствуют), по которым пейджер определяет, что сообщение, передаваемое для него закончилось, и он оповещает владельца о приеме сообщения сигналом. В шестнадцатеричном виде пустое кодовое слово имеет вид "7A89C197".

Код БЧХ

В идеальной системе символы, которые появляются на выходе устройства, декодирующего сигналы (декодера), должны совпадать с символами, которые поступают на вход устройства, кодирующего символы (кодера). Однако в реальной системе всегда есть случайные ошибки по причине воздействия помех и назначение кода состоит в том, чтобы обнаружить и исправить ошибки.

В протоколе POCSAG предусмотрено использование кода БЧХ (31,21) для обнаружения и исправления ошибки. Одна ошибка исправляется в 31-битовом слове с вероятностью 100%, две ошибки с вероятностью 50%. При возникновении большего числа ошибок пейджер индицирует ошибку, тем, что ошибочные символы на дисплее пейджера перечеркиваются или берутся в скобки.

Кодирование кодовых слов происходит следующим образом (для примера возьмем адресное слово для адреса "1333333"). Пример вычисления контрольных бит, предоставлен в таблице 7.

Сперва, имеющиеся 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 – ещё одно сообщение клавиша , (R)epeat – повторная передача последнего
Рисунок 10. Интерфейс программы РЕ.

сообщения по тому же адресу – клавиша , (I)nverted – сообщение в инверсном виде – клавиша (далее все клавиши по аналогии), (N)ormal – сообщение в прямом виде, (B)aud – выбор скорости передачи, (C)om – выбор коммуникационного порта, (H)ide Data – скрыть данные, (V)iew Data – показать данные, (Q)uit .- выход из программы. Как следует из перечисленных выше свойств, непосредственно в работе программы можно задать скорость передачи сообщения, вид (инвертированный или нормальный), тип передаваемой информации (алфавитно-цифровой, числовой, тон только функция 1 или тон только функция 2), и порт передачи данных. Можно указать в какой пачке будет передан фрейм с информацией (на экране не отображено, но задаётся как
(F)rame – клавиша ). Более детальные настройки позволяют создавать и устанавливать различные кодировочные таблицы, задавать кодовое слово синхронизации и пустого слова, и т.д.

В верхней части экрана можно проконтролировать установленные параметры
(смотри на рисунке 10 выделенная серым цветом строка на верху рисунка). По примеру строки из рисунка можно понять следующее: COM1 – выбран коммуникационный порт №2, 512 Baud – задана скорость 512 бод, FRAME=0 – пачка 0, INVERTED – вид передачи – инверсный.

Функциональные возможности программы.

Ниже описываются параметры и возможности программы, которые могут изменяться пользователем.

1. Скорость передачи.

В программе предусмотрены три скорости передачи согласно формату
POCSAG - 512, 1200, 2400 бод. Изменение скорости передачи производится после загрузки программы нажатием клавиши . Значение, которое будет устанавливаться по умолчанию, можно задать в файле инициализации:

Пример bitrate=512

Пояснение: Установлено значение 512 бод (Bitrate – скорость передачи).

2. Характер передаваемой информации.

Под характером понимается то, какая передаётся информация, т.е. числовая, буквенно-цифровая или тональная. Задание характера происходит автоматически: если во введённом сообщении присутствуют, и буквы и цифры то программа определит сообщение как буквенно-цифровое. Если введены только цифры, программа запросит уточнение характера – цифровой или буквенно- числовой. Если в поле ввода сообщения нет ни одного символа, то принято это программой будет как послание тонального сообщения, и будет предложен выбор: тон функция 1 или тон функция 2.

3. Тип передачи.

Существует два режима передачи информации – нормальный и инверсный.
Выбор необходимого типа производится после загрузки программы или передачи сообщения путём нажатия клавиши – для выбора нормального режима передачи, и нажатия клавиши – для выбора инверсного режима передачи.
Тип передачи по используемый по умолчанию задаётся файле инициализации:

Пример 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 |ASCI|Симв|NEC |ASCI|Симв|NEC |ASCI|Симв|NEC |ASCI|Симв|
| |I |ол | |I |ол | |I |ол | |I |ол |
|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 |124 |124 || |101 |240 |Ё |

Таблица 9 задает соответствие между 16-ричным значением кода символа или служебной функции с его изображением на экране пейджера или пояснением функции. Столбец задает первую цифру в 16-ричном представлении кода, строка
– вторую. На пересечении столбца и строки указывается соответствие. Так как алфавитно-цифровые пейджеры имеют семиразрядную кодировку, количество кодов ограничивается 128. Коды от 0016 до 2016 – служебные, остальные – коды символов. Достоинством данного пейджера является то, что он поддерживает символы русского и латинского алфавита. Так как используются коды в диапазоне от 2016 до 7F16, то используются только заглавные буквы русского и латинского алфавита.

Таблица 9. Кодировочная таблица пейджера NEC-26B

| |0 |1 |2 |3 |4 |5 |6 |7 |
|00 |NUL |DLE |SP |0 |@ |P | |Ш |
|01 |SOH |DC |! |1 |A |Q |Б |Щ |
|02 |STX |DC |“ |2 |B |R |Г |Ъ |
|03 |ETX |DC |# |3 |C |S |Г’ |Ы |
|04 |EOT |DC |$ |4 |D |T |Д |Ь |
|05 |ENQ |NAK |% |5 |E |U |Ё |Э |
|06 |ACK |SYN |& |6 |F |V |Ж |Ю |
|07 |BEL |ETB |‘ |7 |G |W |З |Я |
|08 |BS |CAN |( |8 |H |X |И |h |
|09 |HT |EM |) |9 |I |Y |Й |( |
|0A |LF |SUB |* |: |J |Z |Л |п |
|0B |VT |ESC |+ |; |K |[ |П |0С |
|0E |SO |RS |. |> |N |^ |Ц |~ |
|0F |SI |US |/ |? |O |_ |Ч | |

Если пейджер поддерживает только русский или латинский алфавит, то используются заглавные и прописные буквы. Для примера в таблице 10 предоставлена кодировочная таблица пейджера Motorola, содержащая русский алфавит с заглавными и прописными буквами.

5. Задание кодовых слов.

Можно однозначно задать кодовое слово синхронизации или пустое слово.
Эта операция осуществляется в файле инициализации. По умолчанию эти значения заданы соответственно как:

Пример:

#the sync codeword

SYNC=7CD215D8

#the idle codeword

IDLE=7A89C197

Пояснение: Кодовое слово синхронизации (SYNC) задано как 7CD215D8, а пустое слово (IDLE) как 7A89C197.

6. Повтор переданного сообщения.

Возможна повторная передача отправленного сообщения. Нажатие клавиши повторит передачу сообщения.

3.2.3 ПРОГРАММА РАСЧЁТА КОНТРОЛЬНЫХ БИТ

Способ расчёта контрольных бит, изложенный в [3.2.1] можно автоматизировать, например, разработав программу на компьютере. Такую программу я разработал на языке программирования в среде Windows – Delphi.
Программа позволяет производить расчёт контрольных бит и бита чётности, т.е. пользователь вводит в программу исходные 21 бит и при нажатии кнопки
"Рассчитать" производится расчёт контрольных бит. Интерфейс программы предоставлен на рисунке 11.

21-о битное слово, которому следует рассчитать контрольные биты, вводить в программу следует в десятичной форме записи числа. Результат расчёта представляет собой десятичное 32-х битное число. Рассчитанные 32 бита это введённые 21 бит, плюс дописанные в конец этого слова 10 контрольных бит и 1 бит чётности.

Рисунок 11. Интерфейс программы KONBIT.EXE

Например:

Рассчитаем контрольные биты адресного поля с помощью данной программы.
Возьмём такой же адрес как и при расчёте в [3.2.2] – 1333333 и сообщение будет тональный вызов. Составим 21-битное слово, для этого адрес переведём в двоичную форму счисления и отбросим последние три бита:

133333310 = 1010001011000010101012

101000101100001010101 (21 бит) – 3 бита = 101000101100001010 (18 бит)

Далее к началу 18-битного адреса добавим флаг адреса – 0, а к его концу допишем два функциональных бита – 012 (тональное сообщение. Получили:
0101000101100001010012 переведём это число в десятичную систему счисления -
66666510.Теперь осталось вписать число 666665 в поле ввода десятичного числа в программе и нажать кнопку "Рассчитать". Результат расчёта
(десятичное число 1365330050) переведём в двоичную систему счисления:

136533005010 = 10100010110000101001000100000102

Контрольные подчёркнуты линией, за ними бит проверки на чётность.

Далее привожу листинг программы.

4 ЛАБОРАТОРНАЯ РАБОТА № 1

"Изучение записи формата сообщения протокола POCSAG"

В данном разделе я разработал методическое указание по выполнению лабораторной работы по теме: "Изучение записи формата сообщения протокола
POCSAG", рассчитанную на выполнение учащимися специальностей 2004 и 2006 повышенного уровня. Работа рассчитана на выполнения за 2 часа.

Страницы: 1, 2, 3



Реклама
В соцсетях
бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты