Реализация устройства контроля переданной информации с использованием модифицированного кода Хемминга

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    574,67 kb
  • Опубликовано:
    2011-01-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Реализация устройства контроля переданной информации с использованием модифицированного кода Хемминга

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ВОЛОГОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Дисциплина: Организация ЭВМ и систем

Кафедра: УВС





 



Курсовой проект

Реализация устройства контроля переданной информации с использованием модифицированного кода Хемминга

Выполнил: Кириллов А. С.

Группа: ЭВ-31

Проверил: Машкин А. В.


Вологда 2011

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

2. Разработка структурной схемы устройства

3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ

3.1 Центральный процессор КР580ВМ80А

3.2 Генератор тактовых импульсов КР580ГФ24

3.3 Системный контроллер и шинный формирователь КР580ВК28

3.4 Буферный регистр КР580ИР82

3.5 Параллельный интерфейс КР580ВВ55А

3.6 Постоянное запоминающее устройство КР556РТ7

3.7 Оперативное запоминающее устройство КР537РУ8А

3.8 Дешифратор возбуждения одноразрядного семисегментного цифрового светодиодного индикатора АЛС324

3.9 Индикатор цифровой АЛС324А

4. КАРТА ПАМЯТИ

5. ПРИНЦИП РАБОТЫ ПРОГРАММЫ

6. ЛИСТИНГ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

СПИСОК СПРАВОЧНОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

 

Вычислительная техника развивалась такими быстрыми темпами, что давно уже принято говорить о поколениях вычислительных машин. За 30 лет своего бурного развития микропроцессорные системы прошли путь от специализированных комплектов интегральных схем к сложным однокристальным микроконтроллерам, имеющих в своем составе целый набор самых различных программируемых элементов. Низкая стоимость, малые габаритные размеры и энергопотребление таких машин позволяет встраивать их во вновь проектируемые устройства. Широкое применение микропроцессоров ставит задачу подготовки специалистов, способных обслуживать эту сложную технику.


1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

 

Реализация устройства контроля переданной информации c использованием модифицированного кода Хемминга.

С порта А5h считать 2000 байт, разместив их в ОЗУ, начиная с адреса B000h. Считать информационными 4 бита, расположенные во 2, 4, 5 и 6 разрядах передаваемых байт. Остальные разряды в байте отведены для хранения кода Хемминга. Индицировать номер ячейки ОЗУ, в которой была произведена коррекция ошибки или выдать сообщение о невозможности коррекции. Считывание последовательности байт с порта осуществлять путем нажатия кнопки. Переход к проверке содержимого следующих ячеек памяти так же осуществлять путем нажатия на кнопку.

 

2. Разработка структурной схемы устройства


Необходимыми элементами в любой системе являются: микропроцессор, генератор импульсов, системный контроллер микропроцессора, буферные схемы адреса и данных, запоминающие устройства и устройства ввода-вывода (рис 2.1.)

Рис. 2.1. Структурная схема устройства

Главным элементом этой системы является микропроцессор т.к. он управляет работой всей системы. Генератор тактовых импульсов фаз С1, С2 предназначен для синхронизации работы микропроцессора. ПЗУ (постоянное запоминающее устройство) используется для хранения констант и программы работы устройства. Для хранения стека и переменных величин используется ОЗУ (оперативное запоминающее устройство). Устройство ввода вывода предназначено для сопряжения различных типов периферийных устройств с магистралью данных систем обработки информации. Фиксатор состояния применяется для формирования управляющих сигналов и как буферный регистр данных. Для ввода информации используется клавиатура, для вывода – дисплей.

Общий принцип функционирования микропроцессорного устройства заключается в следующем. Из микропроцессора на шину адреса выдается адрес очередной команды. Считанная по этому адресу из памяти (например, из ПЗУ) команда поступает на шину данных и принимается в микропроцессор, где она и исполняется. В счетчике команд микропроцессора формируется адрес следующей команды. После окончания исполнения данной команды на шину адреса поступает адрес следующей команды и т. д.

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

Микропроцессор КР580ВМ80А способен адресовать до 64 килобайт памяти, но так как такой объем памяти не требуется, то старшие биты адреса будут использоваться как сигналы выбора микросхем (CS).

 


3. Разработка принципиальной электрической схемы

 

3.1 Центральный процессор КР580ВМ80А


Рис 3.1 Центральный процессор КР580ВМ80А

Центральный процессорный элемент КР580ВМ80А является функционально законченным однокристальным параллельным 8-разрядным микропроцессором с фиксированной системой команд. В состав БИС входят: 8-разрядное арифметико-логическое устройство (ALU); регистр признаков (RS), фиксирующий признаки, вырабатываемые ALU в процессе выполнения команд; аккумулятор (А); блок регистров для приема, выдачи и хранения информации в процессе выполнения программ, содержащий программный счетчик (РС), указатель стека (SP), регистр адреса (RGA), шесть регистров общего назначения (B, C, D, E, H, L) и вспомогательные регистры (W и Z); схема управления и синхронизации (CU), формирующая последовательности управляющих сигналов для работы ALU и блока регистров; 16-разрядный буферный регистр адреса (ВА); 8-разрядный буферный регистр данных (BD).

Таблица 3.1 Назначение выводов микросхемы КР580ВМ80А

Вывод

Обозначение

Тип

вывода

Функциональное назначение выводов

1, 25-27,

29-40

A10, A0-A2, A3-A9, A15, A12-A14,A11

Выходы

Канал адреса

2

GND

-

Общий

3-10

D4-D7, D3-D0

Входы/

Выходы

Канал данных

11

UIO

-

Напряжение источника смещения

12

SR

Вход

Установка в исходное состояние, сброс триггеров разрешения прерывания и захвата шины

13

HLD

Вход

Захват

14

INT

Вход

Вход сигнала - запрос прерывания

15,22

С2, С1

Входы

Вход фаз 1 и 2

16

INTE

Выход

Выход сигнала - разрешение прерывания

17

RC

Выход

Прием информации

Вывод

Обозначение

Тип

вывода

Функциональное назначение выводов

18

TR

Выход

Выдача информации

19

SYN

Выход

Сигнал синхронизации

20

UCC1


Напряжение питания +5В

21

HLDA

Выход

Выход сигнала - подтверждение захвата

23

RDY

Вход

Сигнал «Готовность»

24

WI

Выход

Сигнал «Ожидание»

28

Ucc2

-

Напряжение питания +12В


3.2 Генератор тактовых импульсов КР580ГФ24

Рис 3.2 Генератор тактовых импульсов КР580ГФ24

ГТИ формирует тактовые импульсы частотой до 2.5мГц, амплитудой 12 В, тактовые импульсы амплитудой до 5 В для ТТЛ-схем, а также некоторые управляющие сигналы для микропроцессорной системы. Генератор тактовых сигналов состоит из генератора опорной частоты, счетчика-делителя на 9, формирователя фаз С1, С2 и логических схем. Для работы ГТИ необходимо подключение внешнего кварцевого резонатора с частотой колебаний в 9 раз больше чем частота выходных тактовых импульсов ГТИ.

Назначение выводов микросхемы приведено в таблице 3.2.

Таблица 3.2. Назначение выводов микросхемы КР580ГФ24

Вывод

Обозначение

Тип вывода

Функциональное назначение выводов

1

SR

Выход

Установка в исходное состояние микропроцессора и системы

2

RESIN

Вход

Установка 0

3

RDYIN

Вход

Сигнал «Готовность»

4

RDY

Выход

Сигнал «Готовность»

5

SYN

Вход

Сигнал синхронизации

6

C

Выход

Тактовый сигнал, синхронный с фазой С2

7

STB

Выход

Стробирующий сигнал состояния

8

GND

Общий

9

UCC2

Вход

Напряжение питания +12В

10

C2

Выход

Тактовые сигналы — фаза С2

11

C1

Выход

Тактовые сигналы — фаза С1

12

OSC

Выход

Тактовые сигналы опорной частоты

13

TANK

Вход

Вывод для подключения колебательного контура

14,15

XTAL1,

XTAL2

Вход

Выводы для подключения резонатора

16

UCC1

Вход

Напряжение питания +5В

 

3.3 Системный контроллер и шинный формирователь КР580ВК28

Рис 3.3 Системный контроллер и шинный формирователь КР580ВК28

Системный контроллер и шинный формирователь КР580ВК28 предназначен для фиксации слова-состояния МП, выработки системных управляющих сигналов, буферизации шины данных МП и управлением передачи данных. Системный контроллер формирует управляющие сигналы по сигналам состояния микропроцессора при обращении к ЗУ: RD и WR; при обращении к УВВ: RD IO и WR IO, а также обеспечивает прием и передачу 8-разрядной информации между каналом данных микропроцессора по выводам D7-D0 и системным каналом по выводам DB7-DB0. Регистр состояния по входному сигналу STB фиксирует информацию состояния микропроцессора в первом такте каждого машинного цикла. Дешифратор управляющих сигналов формирует один из управляющих сигналов в каждом машинном цикле: RD, WR, RD IO, WR IO, INTA. Асинхронный сигнал BUSEN управляет выдачей данных с буферной схемы и управляющих сигналов: при напряжении высокого уровня все выходы микросхемы переводятся в высокоомное состояние.

Назначение выводов микросхемы приведено в таблице 3.3.

Таблица 3.3. Назначение выводов микросхемы

Вывод

Обозначение

Тип вывода

Функциональное назначение выводов

1

STB

Вход

Стробирующий сигнал состояния (от ГТИ)

2

HLDA

Вход

Подтверждение захвата

3

TR

Вход

Выдача информации

4

RC

Вход

Прием информации

5,7

9,11,

13,16,

18,20,

DB4,DB7,

DB3,DB2,

DB0,DB1,

Вход/выход

Канал данных системы

6,8,10,

12,15,17,

19,21

D4,D7,D3,

D2,D0,D1,

D5,D6


Входы/выходы данных со стороны МП

14

GND

Общий

22

BUSEN

Вход

Управление передачей данных и выдачей сигналов

23

INTA

Выход

Подтверждение запроса прерывания

24

RD

Выход

Чтение из ЗУ

25

RD IO

Выход

Чтение из УВВ

26

WR

Выход

Запись в ЗУ

27

WR IO

Выход

Запись в УВВ

28

UCC

Вход

Напряжение питания +5В

 

3.4 Буферный регистр КР580ИР82


Рис 3.4 Буферный регистр КР580ИР82

Буферный регистр КР580ИР82, выполняет роль буфера между МП и шиной данных. Буферный регистр КР580ИР82 представляет собой 8-разрядный параллельный регистр с трехстабильными выходами. Обладает повышенной нагрузочной способностью.

Таблица 3.4. Назначение выводов микросхемы

Вывод

Обозначение

Тип вывода

Функциональное назначение выводов

1

D0-D7

Вход

Информационная шина

2

OE

Вход

Разрешение передачи (управление 3-м состоянием)

10

GND

Общий

11

STB

Вход

Стробирующий сигнал

12-19

Q0-Q7

Выход

Информационная шина

20

UCC

Напряжение питания +5В

 

3.5 Параллельный интерфейс КР580ВВ55А


Произведя запись управляющего слова в РУС, можно перевести микросхему в один из трех режимов работы. При подаче SR РУС устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Формат управляющего слова определения режима работы показан в таблице 3.51.

Параллельный интерфейс КР580ВВ55А предназначен для ввода/вывода параллельной информации различного формата. БИС программируемого параллельного интерфейса (ППИ) может использоваться для сопряжения микропроцессора со стандартным периферийным оборудованием.

В состав БИС входят: двунаправленный 8-разрядный буфер данных (BD), связывающий ППИ с системной шиной данных; блок управления записью/чтением (RWCU), обеспечивающий управление внешними/внутренними передачами данных, управляющих слов и информации о состоянии ППИ; три 8-разрядных канала ввода/вывода (PA, PB, PC) для обмена информацией с внешними устройствами. Режим работы каждого из каналов определяется содержимым регистра управляющего слова (РУС).

Таблица 3.51 Формат управляющего слова, определяющего режим работы:

Разряд УС

Значение разряда УС

Задаваемый режим работы

D7

1

-

D6D5

00

Режим 0 для канала ВА и 4-7 разрядов канала ВС

01

Режим 1 для канала ВА и 4-7 разрядов канала ВС

1X

Режим 2 для канала ВА и 4-7 разрядов канала ВС

D4

0

Вывод из канала ВА

1

Ввод в канал ВА

D3

0

Вывод из 4-7 разрядов канала ВС

1

Ввод в 4-7 разряд канала ВС

D2

0

Режим 0 для канала ВВ и 0-3 разрядов канала ВС

1

Режим 1 для канала ВВ и 0-3 разрядов канала ВС

D1

0

Вывод из канала ВВ

1

Ввод в канал ВВ

D0

0

Вывод из 0-3 разрядов канала ВС

1

Ввод в 0-3 разряды канала ВС


Рис 3.5 Параллельный интерфейс КР580ВВ55А

Назначение выводов микросхемы приведено в таблице 3.52.

Таблица 3.52. Назначение выводов микросхемы

Вывод

Обозначение

Тип

Вывода

Функциональное назначение

вывода

1-4,

37-40

BA3-BA0,

BA7-BA4

Входы/

Выходы

5

RD

Вход

Чтение информации

6

CS

Вход

Выбор микросхемы

7

GND

-

Общий

8,9

A1,A0

Вход

Младшие разряды адреса

10-17

BC7-BC4

BC0-BC3

Входы/

Выходы

Информационный канал C

18-25

BB0-BB7

Входы/

Выходы

Информационный канал B

26

Ucc

-

Напряжение питания

27-34

D7-D0

Входы/

Выходы

Канал данных

35

SR

Вход

Установка в исходное состояние

36

WR

Вход

Запись информации


В нашем случае получено управляющее слово 89h – 10001001 – переводит DD7 в режим ввода/вывода (режим 0). Соответственно данное УС определяет: каналы ВА и ВВ – вывод, а все восемь бит канала ВС – ввод.

3.6 Постоянное запоминающее устройство КР556РТ7

Рис 3.7 Постоянное запоминающее устройство КР556РТ7

Микросхема представляет собой однократно программируемое постоянное запоминающее устройство ёмкостью 16 к (2к8) с тремя состояниями на выходе. Предназначено для хранения программы работы устройства и констант.

Таблица 3.61. Таблица истинности

Наличие перемычки в матрице

Состояние входа

Состояние

выхода

Операция

ESE1

ESE2

ESE3

Есть

0

1

1

0

Чтение

Независимо от наличия

Любая другая комбинация

Z

Хранение

Нет

0

1

1

1

Чтение


Таблица 3.62. Назначение выводов микросхемы

Вывод

Обозначение

Тип вывода

Функциональное назначение

выводов

1,2,3,4,5,6,7,8,

21,22,23

A0,A1,A2,A3,A4,

A5,A6,A7,A8, A9,A10

Входы

Адресные входы

9,10,11,13,14,

15,16,17,

D0,D1,D2,D3,D4,

D5,D6,D7

Выходы

Выходы данных

12

GND

-

Общий

18,19,20

ESE3, ESE2,

Входы

Входы разрешения выборки

24

Ucc

-

Напряжение питания


3.7 Оперативное запоминающее устройство КР537РУ8А

Рис 3.8 Оперативное запоминающее устройство КР537РУ8А

Микросхема представляет собой статическое оперативное запоминающее устройство ёмкостью 16 кбит (2к8). Предназначено для хранения стека и переменных величин.

Таблица 3.71. Таблица истинности

Вход

Вход/выход

Режим работы

CS1

CS2

WR/RD

1

1

X

Третье состояние

Хранение

0

1

X

Третье состояние

Хранение

1

0

X

Третье состояние

Хранение

0

0

1

Выход

Считывание

0

0

0

Вход

Запись


Таблица 3.72. Назначение выводов микросхемы

Вывод

Обозначение

Тип вывода

Функциональное назначение выводов

1-8,19,22,23

A7,A6,A5,A4,A3,

A2,A1,A0,A10, A9,A8

Входы

Адресные входы

9-17

D0,D1,D2,D3,D4,

D5,D6,D7

Выходы

Выходы данных

12

GND

-

Общий

18,20

Входы

Входы выборки кристалла

21

WR/WD

Входы

Вход разрешения записи считывания

24

Ucc

-

Напряжение питаания


3.8 Дешифратор возбуждения одноразрядного семисегментного цифрового светодиодного индикатора АЛС324А

Рис 3.10 Дешифратор возбуждения одноразрядного семисегментного цифрового светодиодного индикатора АЛС324А

Микросхема состоит из 7 узлов, формирующих управляющий сигнал для одного из семи сегментов индикатора.

Таблица 3.81. Назначение выводов микросхемы

Выход

Обозначение

Тип вывода

Функциональное назначение выводов

2, 3, 4, 5

A2, A1,A3, A0

Входы

Входы BCD чисел

6

DF

Вход


8

GND

-

Общий

9-14,15

a, b, c,

d, e,

f,g

Выходы

Семисегментные выходы “a”, “b”, “c”, “d”, “e”

“f”, “g”

1

DF0

Выход


16

Ucc


Напряжение питания


Таблица 3.82. Таблица истинности

Входы

Выходы

5

3

2

4

9

10

11

12

13

14

15

0

0

0

0

1

1

1

1

1

0

1

1

0

0

0

0

1

1

0

0

0

0

0

1

0

0

1

1

0

1

1

1

0

1

1

0

0

1

1

1

1

0

1

0

0

0

1

0

0

1

1

0

0

1

1

1

0

1

0

1

0

1

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

1

1

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

1

1

0

1

0

1

0

0

0

1

1

0

1

1

1

0

1

0

1

1

0

1

1

1

0

1

1

1

1

0

0

1

1

1

1

0

1

1

1

1

1

0

1

1

1

0

1

1

1

0

0

0

0

0

1

0

1

1

1

1

0

0

0

0

0

0

0


3.9 Индикатор цифровой АЛС324А

Рис.3.11 Индикатор цифровой АЛС324А.

Выводит на экран цифры в зависимости от сигналов на входах в семисегментном коде. Состоит из семи светодиодов. Единица, пришедшая на вход, приводит к свечению соответствующего сегмента.

4. КАРТА ПАМЯТИ

Адрес

Назначение адреса

0000h – 07D0h

ПЗУ

0000h – 0083

область ПЗУ, занимаемая программой

В000h – В7D0h

ОЗУ


5. ПРИНЦИП РАБОТЫ ПРОГРАММЫ

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

1. Нет ошибки. Программа просто начинает проверку следующего байта данных, занесенных в ОЗУ.

2. Есть двойная ошибка, тогда выводится сообщение о двойной ошибке в виде адреса, где она зафиксирована, но только с тем различием, что у выводимого адреса будут обнулены четыре старших бита. То есть такое сообщение об ошибке будет иметь вид 0ххх. Программа ждет нажатия кнопки для дальнейшей работы.

3. Ошибка в контрольном бите. Исправляется с помощью заданной маски. Номер ячейки выводится на индикаторы. Программа ждет нажатия кнопки для дальнейшей работы.

3. Есть одиночная ошибка. Ее исправление начинается с формирования маски, в которой все биты будут установлены в ноль и лишь один в единицу. Как раз тот, что должен будет быть исправлен. Далее, с помощью операции XOR (Исключающее ИЛИ) над содержимым ячейки памяти и маской ошибка будет исправлена. Номер ячейки, в которой была ошибка, выводится на индикаторы. Программа ждет нажатия кнопки для дальнейшей работы.

6. ЛИСТИНГ ПРОГРАММЫ

Адрес

Мнемонический код

Код

Комментарии

0000

MVI A, 89h

3E

заносим упр. слово в аккумулятор

0001


89


0002

OUT 3h

D3

отправляем 89 (10001001) в РУС

0003


03


0004

LXI D,B000h

11

Задаем начальное значение регистровой паре, содержащей адрес ячейки памяти

0005


00


0006


B0


0007

LXI B,7D0h

01

Задаем начальное значение регистровой паре, содержащей счетчик

0008


D0


0009


07


000A

IN 2h

DB

Прием сигнала от кнопки для начала записи последовательности байт в ОЗУ

000B


02


000C

m1: IN A5h

DB

Начало цикла, записывающего в ОЗУ принимаемую с порта информацию

000D


A5


000E

STAX D

12

Запись содержимого аккумулятора в ячейку памяти, адрес которой хранится в DE

000F

INX D

13

Выбираем адрес следующей ячейки

0010

DCX B

0B

Счетчик записанных байт уменьшаем

0011

JNZ m1

C2

Если записаны не все 2000 байт, то переходим на следующий оборот цикла

0012


0C


0013


00


0014

LXI D, AFFFh

11

Задаем начальное значение регистровой паре, содержащей адрес ячейки памяти

0015


FF


0016


AF


0017

LXI B,7D1h

01

Задаем начальное значение регистровой паре, содержащей счетчик

0018


D1


0019


07


001A

m2: IN 2h

DB

Прием сигнала от кнопки для начала проверки

001B


02


001C

m7: DCX B

0B

Уменьшаем регистр-счетчик

001D

JZ m11

CA

Если обработаны все занесенные в память байты, то переход на завершение программы

001E


83


001F


00


0020

INX D

13

Выбор следующей ячейки памяти изменением регистра, содержащего адрес

0021

LDAX D

1A

Запись байта информации в аккумулятор из ячейки по адресу из DE

0022

ANI 78h

E6

Используем маску для отделения бит, важных для составления и анализа первого синдрома

0023


78


0024

JPO m3

E2

Если количество бит, выставленных в единицу – четное, то ошибки в анализируемых битах нет

0025


29


0026


00


0027

MVI Н,4h

26

Выполняется только тогда, когда есть ошибка. Запись в Н 100b

0028


04


0029

m3:LDAX D

1A

Запись байта информации в аккумулятор из ячейки по адресу из DE

002A

ANI 66h

E6

Используем маску для отделения бит, важных для составления и анализа второго синдрома

002B


66


002C

JPO m4

E2

Если количество бит, выставленных в единицу – четное, то ошибки в анализируемых битах нет

002D


33


002E


00


002F

MVI A, 2h

3E

Начало участка, выполняемого только тогда, когда есть ошибка. Запись в (А) 10b

0030


02


0031

ADD H

84

Прибавляем регистр H к (А)

0032

MOV H,A

67

Заносим в регистр Н результат суммирования. Т.е. в Н оказывается х10b

0033

m4:LDAX D

1A

Запись байта информации в аккумулятор из ячейки по адресу из DE

0034

ANI 55h

E6

Используем маску для отделения бит, важных для составления и анализа третьего синдрома

0035


55


0036

JPO m5

E2

Если количество бит, выставленных в единицу – четное, то ошибки в анализируемых битах нет

0037


3D


0038


00


0039

MVI A, 1h

3E

Начало участка, выполняемого только тогда, когда есть ошибка. Запись в (А) 1b

003A


01


003B

ADD H

84

Прибавляем регистр H к (А)

003C

MOV H,A

67

Заносим в регистр Н результат суммирования. Т.е. в Н оказывается хх1b

003D

m5:LDAX D

1A

Запись байта информации в аккумулятор из ячейки по адресу из DE

003E

ANI FFh

E6

Операция И по результатам которой производится проверка четности. Реализация проверки по контрольному биту

003F


FF


0040

JPO m6

E2

Если количество бит, выставленных в единицу – четное, то ошибки в анализируемых битах нет

0041


47


0042


00


0043

MVI A, 8h

3E

Начало участка, выполняемого только тогда, когда есть ошибка. Запись в (А) 1000b

0044


08


0045

ADD H

84

Прибавляем регистр H к (А)

0046

MOV H,A

67

Заносим в регистр Н результат суммирования. Т.е. в Н оказывается 1хххb

0047

m6: MOV A, H

7C

Заносим в регистр А результат предыдущих проверок.

0048

CPI 0h

FE

Сравнение с нулем. В регистре Н может оказаться 0 только, если ошибки нет

0049


00


004A

JZ m7

CA

Если ошибки нет, то переход на анализ следующего байта

004B


1C


004C


00


004D

CPI 8h

FE

Значение регистра Н от 1h до 7h говорит, что зафиксирована двойная ошибка

004E


08


004F

JP m8

F2

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

0050


5D


0051


00


0052

MOV A,D

7A

Заносим в регистр А старший байт адреса

0053

ANI 0Fh

E6

С помощью операции И обнуляем четыре старших бита

0054


0F


0055

OUT 0h

D3

Вывод содержимого А на индикаторы, предназначенные для отображения старшей части адреса

0056


00


0057

MOV A,E

7B

Заносим в регистр А младший байт адреса

0058

OUT 1h

D3

Вывод содержимого А на индикаторы, предназначенные для отображения младшей части адреса

0059


01


005A

JMP m2

C3

Переход на запрос продолжения обработки данных, поступивших в ОЗУ

005B


1A


005C


005D

m8: CPI 8h

FE

Значение регистра Н 1000b говорит, что зафиксирована ошибка в контрольном бите

005E


08


005F

JNZ m9

C2

Если ошибка не в контрольном бите, то одинарная ошибка в одном из оставшихся семи битах. Переход к его исправлению

0060


6D


0061


00


0062

XRI 80h

EE

Исправление в контрольном бите

0063


80


0064

MOV A,D

7A

Заносим в регистр А старший байт адреса

0065

OUT 0h

D3

Вывод на индикаторы старшего байта адреса

0066


00


0067

MOV A,E

7B

Заносим в регистр А младший байт адреса

0068

OUT 1h

D3

Вывод на индикаторы младшего байта адреса

0069


01


006A

JMP m2

C3

Переход на запрос продолжения обработки данных, поступивших в ОЗУ

006B


1A


006C


00


006D

m9: SUI 8h

D6

Вычитая 1000b, преобразуем содержимое регистра к номеру бита, где зафиксирована ошибка

006E


08


006F

MOV H,A

67

Содержимое аккумулятора переносим в Н

0070

MVI A, 80h

3E

Записываем в А байт, который будет использоваться для коррекции ошибки

0071


80


0072

m10: RAL

17

Сдвигаем единицу столько раз, сколько указано в Н

0073

DCR H

25


0074

JNZ m10

C2


0075


72


0076


00


0077

MOV H,A

67

Переносим в Н получившуюся маску для исправления ошибки

0078

LDAX D

1A

Заносим в А подлежащий исправлению байт

0079

XRA H

AC

С помощью операции XOR исправляем ошибку

007A

MOV A,D

7A

Заносим в регистр А старший байт адреса

007B

OUT 0h

D3

Вывод на индикаторы старшего байта адреса

007C


00


007D

MOV A,E

7B

Заносим в регистр А младший байт адреса

007E

OUT 1h

D3

Вывод на индикаторы младшего байта адреса

007F


01


0080

JMP m2

C3

Переход на запрос продолжения обработки данных, поступивших в ОЗУ

0081


1A


0082


00


0083

m11: NOP

00

Конец программы

0084




0085




0086




0087




0088




0089




008A




008B




008C




008D




008E




008F




0090




ЗАКЛЮЧЕНИЕ

В ходе данной работы была спроектирована микропроцессорная система для контроля переданной информации использованием модифицированного кода Хемминга. Эта система собрана на базе микропроцессорного комплекта КР580, а также некоторого числа дополнительных элементов. Была разработана как аппаратная, так и программная часть системы. Так как система состоит из интегральных микросхем, то она отличается малыми размерами и высокой надежностью.

СПИСОК СПРАВОЧНОЙ ЛИТЕРАТУРЫ

1. Абрайтис В.Б. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т. / Абрайтис В.Б., Аверьянов Н.Н., Белоус А.И. и др.; Под ред. В.А. Шахнова. - М.: Радио и связь, 1988. - 368 с.

2. Горбунов В.Л. Справочное пособие по микропроцессорам и микроЭВМ / В.Л. Горбунов, Д.И. Панфилов, Д.Л. Преснухин. - М.: Высш. шк., 1988 . - 272 с.: ил.

3. Калабеков Б. А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. Пособие для ВУЗов. — М.: Радио и связь, 1988.

4. Угрюмов Е. Цифровая схемотехника / Е. Угрюмов – БХВ Санкт-Петербург, 2000 – 528с.

Похожие работы на - Реализация устройства контроля переданной информации с использованием модифицированного кода Хемминга

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!