Смекни!
smekni.com

Проектирование систем сбора и передачи информации (стр. 3 из 3)

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

ОПИСАНИЕ РАБОТЫ СХЕМЫ ПРИЕМНИКА

Схема приемника изображена в приложение 4.

После включения питания контроллер переходит в ожидание приема из КС команды начала цикла передачи (FFFFFF). После его получения принимается три байта информации, в которых находится адрес источника, посылает их в декодер кодов Хемминга и включает декодирование. После чего проверяет наличие многократной ошибки, считывая сигнал с декодера Хемминга MFE. При ее наличии микроконтроллер засвечивет светодиодный индикатор VD1, игнорирует все принятые данные и ждет следующей команды (FFFFFF) начала передачи. Так реализована защита от ошибок в адресе источника.

Если же в этих байтах не было обнаружено многократной ошибки, из декодированных данных выделяется адрес источника и соответственно приемника( последние 4 разряда) и посылается на дешифратор DD232. При этом устанавливается номер пары регистров приемника N=1. Работа схемы УР приемника аналогична работе этой схемы в передатчике. Только в передатчике разрешался выход буферных регистров, а в приемнике разрешается запись в них спомощью схемы коньюнкции К1530ЛИ7 .

После приема первой посылки, принимается вторая посылка из 3-х байт и декодируется. Номер пары регистров приемника Nинкрементируется перед проверкой на многократную ошибку. При ее отсутствии декодированные данные записываются в пару шинных формирователей с номером N выбранного приемника. В противном случае принятые данные игнорируются, засвечивается светодиодный индикатор ошибки и ожидается следующее сообщение. Цикл приема посылок заканчивается при N=7. При приемник переходит в ожидание команды начала приема от передатчика. По принятии которой тушится светодиодный индикатор ошибки и цикл повторяется.

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

7. Описание программного обеспечения.

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

Программы представлены в приложении (1-5).

Заключение.

Данный курсовой проект посвящён разработке системы сбора, обработки, передачи и распределения информации.

В ходе выполнения курсового проекта были:

1. Изучены теоретические сведения по представленной теме.

2. Был произведён расчет основных параметров схемы, согласно техническому заданию.

3. Был осуществлён выбор кода для кодирования информации, поступающей от источников сообщения в виде знако–буквенного кода.

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

5. Была разработана принципиальная схема.

Литература.

1. Тутевич В. Н. Телемеханика – М., 1985, 422с.

2. Ильин В. А. Телеуправление и телеизмерение - М., 1982, 560с.

3. Аналоговые и цифровые интегральные микросхемы. Справочник под редакцией С. В. Якубовского - М., 1985.

4. Цифровая электроника для начинающих. Г. Хокинс - М., 1986с.

5. Методические указания.

Приложение 1

Программа передатчика

Основная программа

MOVIE,#81 ;Запрет прерываний кроме INT0

MOVSCON, #DC;Инициализация переменных и портов

MOVTMOD, #20

Sleep: HALT ;Режим ожидания прерывания

JMPSleep

Подпрограмма обработки прерывания INT0

;Подготовка сдвиговых регистров к работе

MOVP1,#1E ;Сброс сдвиговых регистров выбором Q14 на DD

NOP

NOP

MOVR0,#0E ;Инициализация сдвиговых регистров(0Еh-кол-во источников+1)

MOV B,#30

NEXT_N:MOV P1,B

NOP

INC B

MOV A,R0

XOR A,B

AND A,#0F

JNC NEXT_N

;Начало цикла опроса источников

MOVR0,#0E

MOV B,#10

CHECK: MOV P1,B

MOVA,P2 ;Считывание байта с адресом

AND A,#0F

JZ NEXT

CALL koder&send

NEXT : INC B

MOV A,R0

XOR A,B

AND A,#0F

JNZ CHECK

RETI

Подпрограмма кодирования и передачи данных в КС

koder&send:

;-------Передача в КС 3-х байт FFFFFF

MOVR5,#07 ;Инициализация циклов по парам шинных формирователей

CLK_R: MOVR2,P0 ; считывание младшего байта данных

MOVR3,P2 ; считывание старшего байта данных

CLRBP1.4 ; Запуск кодера на формирование контрольных разрядов

NOP

NOP

NOP

MOVR4,P3 ;Считывание контрольных разрядов

MOVA,R4 ;Выделение из контрольных разрядов разрядов INT и TX

CLRB A.2

SHR A

JNC M1

SETB A.1

M1: SHR A

MOV R4,A

;-------Передача в КС R2,R3,R4

SETBP1.4 ;Устанавливается режим кодера прием информационных бит

MOVA,B

ORA,#0F ;подача низкого уровня на входы сдвиговых регистров

MOVP1,A ;выбором Q15 на дешифраторе

NOP

NOP

MOVP1,B ;Подача переднего фронта на вход N-го сдвигового регистра

DEC R5

JNC CLK_R

RET


Приложение 2

Программа приемника

Основная программа

MOVIE,#00 ;Запрет прерываний

MOVSCON, #DC;Инициализация переменных и портов

MOVTMOD, #20

CLRBP3.7 ; Общее запрещение выдачи на приемники

START: CALLFirst_kadr ; Подпрограмма приема и обработки первого байта данных с адресом источника

CALLDecoder&send

JUMPSTART

;Подпрограмма декодирования и выдачи информации на приемник

Decoder&send:

MOVR5,#06 ;Инициализация циклов по парам шинных формирователей

CLK_R:

CALLInit_R

;Прием из КС следующих данных ( R2-данные(L), R3-данные(H), R4-контрольные )

;Пересылка принятых данных в кодер

SETBP1.6 ;настройка кодера на прием информации

CLRB P1.7

MOV A,R4

SHL A

MOVP3,A ;пересылка в кодер контрольных разрядов

MOVP0,R2 ;пересылка в кодер младшего байта данных

MOVP2,R3 ;пересылка в кодер старшего байта данных

SETBP1.6 ;Блокировка информации в кодере

SETBP1.7

NOP

NOP

CLRBP1,#6 ;Выдача исправленного кода и синдрома ошибки

SETBP1,#7

MOVP1,A ;Проверка на многократную ошибку (MFE=1)

ANDA,#10

JZNotError2

SETBP1.7 ;Индикация многократной ошибки

DECR5 ;Цикл по парам сдвиговых регистров

JNZ M1

RET

M1: JMP Get_adders

NotError2:

CLRBP1.7 ; Выключение индикации многократной ошибки

MOVA,R6

;Выдача данных на приемник

MOVP1,R7 ; Посылка переднего фронта на сдвиговый регистр 1-го источника

NOP

NOP

MOVP1,#8E; Посылка заднего фронта на сдвиговый регистр 1-го источника

SETBP3.7 ; Общее разрешение выдачи на приемники

NOP

NOP

CLRBP3.7 ; Общее запрещение выдачи на приемники

DECR5 ;Цикл по парам сдвиговых регистров

JNZM1

RET

Подпрограмма приема и обработки первого байта данных с адресом источника

First_kadr:

;-------Ожидание приема из КС команды начала передачи данных (FFFFFF)

CALLInit_R;Подготовка сдвиговых регистров к работе

Get_adders:

;-------Прием из КС данных ( R2-данные(L), R3-данные(H), R4-контрольные )

;Пересылка принятых данных в кодер

MOVP1,#40 ;настройка кодера на прием информации

MOVA,R4

SHLA

MOVP3,A ;пересылка в кодер контрольных разрядов

MOVP0,R2 ;пересылка в кодер младшего байта данных

MOVP2,R3 ;пересылка в кодер старшего байта данных

SETBP1,#6 ;Блокировка информации в кодере

SETBP1,#7

NOP

NOP

CLRBP1,#6 ;Выдача исправленного кода и синдрома ошибки

SETBP1,#7

MOVP1,A ;Проверка на многократную ошибку (MFE=1)

AND A,#10

JZ NotError

SETB P1.7 ;Индикациямногократнойошибки

JMP Get_adders

NotError:

CLRBP1.7 ;Выключение индикации многократной ошибки

;Выделение из общих данных адреса источника

MOV A,R3

AND A,#F0

SWAPA

SETBA.7 ;

MOVR7,A ;запоминание адреса в R7

;Выдача данных на приемник

MOVP1,A ; Посылка переднего фронта на сдвиговый регистр 1-го источника

NOP

NOP

MOVP1,#8E; Посылка заднего фронта на сдвиговый регистр 1-го источника

SETBP3.7 ; Общее разрешение выдачи на приемники

NOP

NOP

CLRBP3.7 ; Общее запрещение выдачи на приемники

RET

Подпрограмма подготовка сдвиговых регистров к работе

Init_R:

MOVP1,#4E ;Сброс сдвиговых регистров выбором Q14 на DD

NOP

NOP

MOVR0,#0E ;Инициализация сдвиговых регистров(0Еh-кол-во источников+1)

MOV B,#60

NEXT_Ist:MOV P1,B

NOP

INC B

MOV A,R0

XOR A,B

AND A,#0F

JNC NEXT_Ist

RET

Приложение 3

Схема передающей стороны


Схема принимающей стороны