Пример кодирования посылки символов.
Ф.И.О. Сидоров Иван Петрович.
Посылка содержит 12 различных букв и интервал между словами.
1.5.1. Число разрядов кода:
(1.10)
где, N=13 - различных символов.
n=4
1.5.2. Составление кодовой таблицы преобразователя кода.
В кодовую таблицу добавим синхроимпульсы между посылками в виде трёх пробелов. Объясняется это тем, что между словами возможна кодовая комбинация 1000 0000 0001 две буквы и пробел (Н
С), что можно спутать с двумя символами
. Синхронизирующая пауза должна быть не менее 0000 0000 000, кроме того, первую букву можно передать как 0001 так и 1000, в первом случае усложняется схема синхронизации приёмника по тактам, а во втором - по фазе. Решением проблемы может быть применение старт - стопного механизма. Для циклической системы передачи с небольшим количеством информационных импульсов достаточно одного стартового, в нашем примере 21 символ передаются 84 импульсами и для синхронизации начала посылки нужно взять не менее двух единичных импульсов. Синхронизирующая пауза примет вид: 0000 0000 0000 0101 - наименьшая оптимальная длина для этого примера.
Завершать посылку можно контрольной суммой (ограниченное подсчитанное число единичных или нулевых импульсов), но в нашем примере код неизменный и циклически повторяется, при сбое приёмника всегда есть возможность его восстановить, да и всю посылку в общем случае можно считать синхронизирующим кодом, преамбулой перед более сложной передачей данных. Синхронизирующие импульсы можно сразу вставить в кодовую таблицу, но лучше после добавить их на заранее предусмотренное место. Комбинация номер 0 (табл. 2.1) как раз и является таким местом, кроме этого выходной код буквы номер 0 автоматически получается после асинхронного сброса всей схемы.
Таблица 2.1.
Кодирование символов посылки
| Входное слово преобразователя кода | Выходное слово | ||||||||||
| № такта | Символ | Х5 | Х4 | Х3 | Х2 | Х1 | № кода буквы | Y4 (8) | Y3 (4) | Y2 (2) | Y1 (1) |
| |||||||||||
| С | |||||||||||
| И | |||||||||||
| Д | |||||||||||
| О | |||||||||||
| Р | |||||||||||
| О | |||||||||||
| В | |||||||||||
| |||||||||||
| И | |||||||||||
| В | |||||||||||
| А | |||||||||||
| Н | |||||||||||
| |||||||||||
| П | |||||||||||
| Е | |||||||||||
| Т | |||||||||||
| Р | |||||||||||
| О | |||||||||||
| В | |||||||||||
| И | |||||||||||
| Ч | |||||||||||
| 0(~) | 0(~) | 0(~) | 0(~) | |||||||
| 0(~) | 0(~) | 0(~) | 0(~) | |||||||
| 0(~) | 0(~) | 0(~) | 0(~) | |||||||
| Сброс | 0(~) | 0(~) | 0(~) | 0(~) | |||||||
| |||||||||||
| С | |||||||||||
| Циклически повторяется | |||||||||||
| - | ~ | ~ | ~ | ~ | ~ | ||||||
| - | ~ | ~ | ~ | ~ | ~ | ||||||
| До 11111 безразлично |
Таблица имеет продолжение до 31 комбинации, но с такта номер 25 включительно и до конца кодовая комбинация выходного слова безразлична, потому что этих комбинаций никогда не будет за счёт асинхронного сброса в нуль входного слова.
1.5.3. Выходные функции Yn.
(1.11)
(1.12)
(1.13)
(1.14)
1.5.4. Минимизация функций преобразователя кода.
Минимизировать можно любым известным методом, например методом Карно – Вейча.
Строим карту Карно для входного слова. Шаблон карты Карно для входного слова, состоящего из пяти букв, показан на рис. 1.7. Каждой стороне диаграммы соответствует своя переменная Хр (р=1, 2, 3, 4, 5), причем одной половине стороны соответствует первичный терм Xp, а другой - первичный терм
. Поэтому каждой клетке будет соответствовать совокупность первичных термов (Хр)е, (
)е, а номер данной клетки будет определяться числом i=e5,e4,e3,e2,е1. Любой минтерм представляет собой функцию, равную «1» только в одной точке, области определения, поэтому на диаграмме он представляется единицей, стоящей только в одной клетке с номером i.
| Х1 |
| Х1 |
| |||||
|
| ||||||||
| Х3 | |||||||||
| Х4 | |||||||||
| |||||||||
| Х2 |
| Х2 |
| ||||||
| Х5 |
|
Рис. 1.7.
| Х1 |
| Х1 |
| |||||
| 0
| 1
| 1
| 1
|
| ||||
| ~ | ~ | Х3 | |||||||
| Х4 | ~
| ~ | ~ | ~ | 1
| ||||
| ~ | ~ | ~
| ~ | 1
|
| ||||
| Х2 |
| Х2 |
| ||||||
| Х5 |
|
а)
| Х1 |
| Х1 |
| |||||
| 1
| 1
| 1
| 1
|
| ||||
| ~ | ~ | Х3 | |||||||
| Х4 | ~ | ~
| ~ | ~ | |||||
| ~ | ~
| ~
| ~ | 1
| 1
|
| |||
| Х2 |
| Х2 |
| ||||||
| Х5 |
|
б)
| Х1 |
| Х1 |
| |||||
| 1
| 0
|
| ||||||
| ~ | ~ | Х3 | |||||||
| Х4 | ~ | ~ | ~ | ~ | |||||
~
| ~
| ~ | ~ | 1
|
| ||||
| Х2 |
| Х2 |
| ||||||
| Х5 |
|
в)
| Х1 |
| Х1 |
| |||||
| 1
|
| |||||||
~
| ~
| 0
| 0
| 0
| Х3 | ||||
Х4
| ~ | ~ | ~ | ~
| |||||
~
| ~ | ~
| ~
| 0
|
| ||||
| Х2 |
| Х2 |
| ||||||
| Х5 |
|
г)
Рис. 1.8. Диаграммы выходных функций Y
преобразователя кода: а - Y1; б - Y2; в – Y3; г – Y4.
Примечание: Схемным способом можно обеспечить безразличие("~") 22, 23 и 24 комбинациям, путём отключения преобразователя кода от канала связи на время выполнения этих комбинаций.
Методом склеивания объединяем рядом стоящие единичные минтермы. Рядом стоящие считаем те минтермы, у которых разные только одна буква по инверсии, что позволяет (в алгебраическом виде) её заключить в скобки и сократить, получив импликант. Если находим второй импликант, отличающийся также на одну букву по инверсии то, между ними также проводим операцию склеивания и так до тех пор, пока не получим простой импликант. Следовательно, рядом стоящих единиц может быть ряд 2n где, n=1,2,3…. Клетки содержащие знак "~" необходимо доопределить, т. е. поставить "1" или "0", выбираем те значения, которые дают наименьшее количество букв в минимизированной функции. Из всех возможных импликантов необходимо выбрать оптимальные с учётом других функций автомата с целью использования одних и тех промежуточных частей схемы для различных букв выходного слова преобразователя. Не склеенные клетки дописываем в выходную функцию.
Запишем выходные функции в минимальной дизъюнктивной нормальной форме (МДНФ):
; (1.15)
; (1.16)
; (1.17)
. (1.18)
0
1
1
1
~
1
~
1
1
1
1
~
~
~
1
1
1
0
~
~
1
1
~
~
0
0
0
Х4
~
~
~
~
0