русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

БУКВЕННО-ЦИФРОВОЙ КОД


Дата добавления: 2015-09-15; просмотров: 3692; Нарушение авторских прав


 

Когда микро-ЭВМ взаимодействует с телетайпом или видеотерминалом, необходимо прибегать к коду, кото­рый одновременно включает в себя числовые и алфавитные знаки. Такие коды называются буквенно-цифровыми.

Наиболее распространен буквенно-цифровой код ASCII (произносится АСКИ) — стандартный американский код обмена информации.

В табл. 3.1 приведена выдержка 7-разрядного кода ASCII. В этот список входят 7-разрядные коды цифр, про­писных букв и знаков пунктуации. Полный код ASCII включает кодирование строчных букв и признаков команд.

 

ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ

 

Во время передачи, обработки и хранения двоич­ных кодов в ЭВМ могут произойти ошибки с вероят­ностью, отличной от нуля, т. е. прием 1 вместо 0, или наоборот. Это может привести к неверному результа­ту работы ЭВМ. Для снижения вероятности получе­ния ошибочного результата разработчики ЭВМ при­нимают ряд мер, одной из которых является специ­альное кодирование информации.

Рассмотрим некоторые методы специального ко­дирования. Двоичные коды, очень удобные для вы­числений, создают серьезные осложнения в случаях, где используются переходы между двумя соседними значениями. Примером может служить система уп­равления углом поворота вала или линейных переме­щений какого-либо объекта. Два соседних кодовых состояния датчика положения, имеющего выходной сигнал в двоичном коде, могут отличаться во многих разрядах. Например, соседние позиции 7ю и 8ю бу­дут иметь коды 0111 и 1000 соответственно. Часто при переходе от одной позиции к другой возникает кратковременная неопределенность в значениях кода. В результате датчик может выдавать выходные ко­ды 1010, 0101, 1100 и т.д., которые сильно отличают­ся от старого 0111 и нового 1000 значений. В резуль­тате система управления будет вырабатывать невер­ный управляющий сигнал.



Возникающую погрешность можно уменьшить пу­тем применения кода Грея. Этот код для двух соседних позиций должен отличаться только на 1 бит. Так как все другие биты неизменны во время перехода, то вы­ходной сигнал в переходный момент может представ­ляться только старым или новым значением кода. Поэтому неопределенность уменьшается до значения кода в предыдущей или новой позиции и никаких дру­гих кодов не возникает.

Код Грея похож на двоичный тем, что он имеет такую же разрядность и такой же старший разряд. Главное его отличие в том, что два соседних числа в коде Грея отличаются только одним битом. Ниже сравниваются двоичный код и код Грея:

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

Существует способ, позволяющий не только обна­руживать, но и исправлять возникающие при обра­ботке данных ошибки. Пусть необходимо хранить че­тыре бита данных, например 1110. Для графического представления предлагаемого способа кодирования воспользуемся диаграммой Венна, состоящей из трех взаимно пересекающихся кругов (рис. 4.2), обра­зующих семь областей. Запишем значения битов хра­нимого слова во внутренние области на диаграмме. Оставшиеся три области заполним «битами четности». При вычислении их надо помнить, что полное число единиц в каждом круге должно быть четным. Напри­мер, в круге А на диаграмме Венна находятся три единицы (рис. 3.2, а). Следовательно, бит четности в круге А должен быть равен 1. По завершении про­цедуры вычисления битов четности каждая из семи областей будет содержать по одному биту (рис. 3.2,6). Эти семь битов называются кодовым словом, а про­цедура получения кодового слова из четырехбитово­го называется алгоритмом кодирования.

Если значение одного из битов кодового слова станет ошибочным (рис. 3.2, в), то для обнаружения ошибки проверяют значения битов четности. Провер­ка показывает (рис. 3.2, г), что в кругах Л и С про­изошла ошибка, в круге В—нет. Одна и только од­на область на диаграмме принадлежит одновременно кругам А и С, но не принадлежит В. Следовательно, ошибочным является бит, расположенный именно в этой области. Если изменить его значение, то ошиб­ка будет исправлена. Описанная процедура называ­ется алгоритмом декодирования.

Разумеется, процедура корректировки эффектив­на только в том случае, когда в кодовом слове только одна ошибка. Если возникают две ошибки и более, то их исправить не удастся. Вместо исправления двух ошибок будет привнесена третья. От этого нежела­тельного эффекта можно избавиться, хотя бы частич­но, путем добавления еще одного бита четности, рас­положенного за пределами пересекающихся кругов. Значение этого бита выбирается таким образом, что­бы полное количество единиц на диаграмме было четным. Эта мера не позволяет алгоритму декодиро­вания исправлять двойные ошибки, но она дает воз­можность их обнаруживать.

 

Описанный код назван кодом Хемминга в честь его разработчика. Существу­ет несколько разновидностей кодов Хемминга, и все они сравнительно легко реализуются в микропроцес­сорных средствах обработки информации.

 



<== предыдущая лекция | следующая лекция ==>
Лекция 3 | Двоично-десятичный код, двоично-десятичные числа.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.