- •Структурная схема типового микропроцессора
- •Микро- эвм 8086.
- •Интерфейс. Определение интерфейса.
- •Состав микропроцессорного комплекта.
- •Микропроцессорный управляющий вычислительный комплекс. (мувк)
- •Язык ассемблера.
- •Многокристальные секционированные микропроцессоры.
- •Умножение двоичных чисел
- •9.Система команд мп кр580 ик80
- •11. Структура микропроцессора. Назначение линий шины управления.
- •12. Назначение управляющих сигналов в мп.
- •13. Постановка и решение задачи управления с помощью мп
- •18. Функционирование микроЭвм.
- •19. Регистр признаков.
- •20. Структура алу.
- •21. Синтез схемы контроля параметров технологического процесса.
- •22. Устройство управления и синхронизации мп
- •23. Примеры построения программ на ассемблере.
- •24. Назначение управляющих сигналов, поступающих по шине данных.
- •25. Стек. Определение.
- •26. Назначение выводов микропроцессора.
- •27. Регистры мп.
- •28. Счетчик команд мп.
- •29. Машинные коды.
- •30. Ацп. Схемы ацп. Технические характеристики.
- •31. Кодирование. Числовые коды.
- •33. Разделение сигналов при передаче по каналам связи.
- •34. Составные коды.
- •35. Пропускная способность канала связи.
- •36. Коды с обнаружением и исправлением ошибок.
- •37. Код Грея.
- •38. Преобразование двоичных чисел в десятичные с помощью регистров сдвига.
- •39. Код Хемминга.
- •40. Минимизация логических функций.
- •42. Мультиплексор. Схема и принцип действия.
- •43. Система команд мп кр580 ик 80.
- •44. Схема инкремент-декремент.
- •45. Дешифраторы.
- •47. Методы и схемы преобразования аналоговых сигналов в дискретные.
- •48. Структура умк.
38. Преобразование двоичных чисел в десятичные с помощью регистров сдвига.
39. Код Хемминга.
Простая идея, лежащая в основе кодов Хэмминга, состоит в требовании того, чтобы синдром давал фактическое положение ошибки, а равный 0 синдром означал, что ошибка отсутствует. Какими должны быть проверки на четность? Посмотрим на двоичное представление номеров позиций (табл. 3.4.1). Ясно, что если синдром указывает позицию ошибки (когда она произошла), то каждая позиция, для которой последняя цифра ее номера, записанного в двоичном представлении, равна 1, должна входить в первую проверку на четность (см. крайний правый столбец). Аккуратно продумайте, почему это так. Аналогично, во вторую проверку на четность должны входить те позиции, для которых равно 1 вторая справа цифра их номера записанного в двоичном представлении и т. д.
Таким образом, в первую проверку на четность входят позиции 1, 3, 5, 7, 9, 11, 13, 15, ..., во вторую — 2, 3, 6, 7, 10, 11, 14, 15 . .., в третью — 5, 6, 7, 12, 13, .14, 15, .... в следующею -8, 9, 10, 12, 13, 14, 15 и т, д.
Для иллюстрации сказанного (табл. 3.4.2) построим простой код с исправлением ошибки для четырех двоичных символов
правильность принятого кода определяется z проверками, которые производятся путем суммирования по модулю 2соответствующей проверочной информации. В результате мы получаем числа s1, s2, s3 они называются проверочными векторами или синдромами. Где номер это номер проверки. Равенство синдрома нулю свидетельствует об отсутсвии ошибок иначе –присутсвует ошибка..код Хемминга позволяет не только обнаружить но и исправить ее. Код Хемминга (n,k,d код). В результате зэт- проверок получаем двоичное число, которое при переводе в десятичное указывает на какой позиции произонла ошибка.
Терь как эта чушь работает:
Смотри картинку выше. Исходное сообщение у нас было 0110011 приняли уже с ошибкой 0100011 (ошибка в 3 разряде) тут типа нумерация слева направо
Теперь делаем проверки и как тока проверка станет равной нулю мы получим двоичный код после перевода в десятичное число мы будем знать где ошибка.
Проверки составляются так:смотрим на двоичное представление десятичных чисел чуть выше и для первой проверки суммируем по модулю 2 те номера где у нас есть единички в первом разряде, для второй проверки смотрим где у нас единички во втором разряде
s1=а1+а3+а5+а7+а9 итд итп
s2=а2+а3+а6+а7 итд
сооответсвенно для третьего синдрома все также продолжается где единички в 3 разряде. Суммирование идет по модулю 2.
Итак терь начинаем определять ошибки:
Делаем первую проверку. Берем принятое сообщение и составляем первую проверку т.е. складываем по модулю 2 биты стоящие на местах для первого синдрома (1, 3, 5, 7, итд)
s1=0+0+0+1=1- проверка не выполняется
следовательно делаем вторую
s2=1+0+1+1=1 опять не выполняется, делаем третью
s3=0+0+1+1=0 урррррра товарищи проверка выполнена и равна нулю следовательно прекращаем и получаем двоичное число с номером где произошла ошибка оно выглядит следующим образом s3 s2 s1=0 1 1 см чуть выше пачиму. Т.е. при переводе в десятичное число получаем цифру 3 значит ошибка в третьем разряде смотрим на принятый код и исправляем ноль в третьем разряде на единичку все теперь принятый код не отличается от посланного. Вот и сказке конец и взорвался твой мозгец.