Микропроцессорная система управления объектом

Автор работы: Пользователь скрыл имя, 14 Февраля 2013 в 01:07, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 5
1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ 7
1.1 Алгоритм работы МПС 8
1.2 Обработка цифровой информации 9
1.3 Обработка аналоговой информации 10
1.4 Обработка запросов на прерывания 11
1.5 Пульт управления 13
2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ УСТРОЙСТВА 14
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ЧТЕНИЯ С ДАТЧИКОВ 17
3.1 Чтение информации с бинарных датчиков 17
3.2 Чтение информации с аналоговых датчиков 19
4 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ВЫВОДА УПРАВЛЯЮЩИХ СИГНАЛОВ 21
4.1 Блок вывода аналогового управляющего сигнала 21
5 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ БЛОКА ПОСЛЕДОВАТЕЛЬНОГО КАНАЛА СВЯЗИ 22
Преимущества 22
Недостатки 22
6 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ ПУЛЬТА УПРАВЛЕНИЯ 24
7 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ОБЩЕГО АЛГОРИТМА УПРАВЛЕНИЯ 26
8 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С ЦИФРОВЫХ ДАТЧИКОВ 28
9 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С АНАЛОГОВЫХ ДАТЧИКОВ 30
10 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ОБМЕНА ДАННЫМИ ПО ПОСЛЕДОВАТЕЛЬНОМУ КАНАЛУ СВЯЗИ 32
11 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ БЛОКА ВЗАИМОДЕЙСТВИЯ С ОПЕРАТОРОМ 34
12 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ ОБРАБОТКИ АВАРИЙНЫХ СИТУАЦИЙ 36
13 РАСЧЕТ ЭЛЕКТРИЧЕСКИХ ПАРАМЕТРОВ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ 38
14 РАЗРАБОТКА БЛОКА ПИТАНИЯ ДЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ 39
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 41
ПРИЛОЖЕНИЕ А 42
(ОБЯЗАТЕЛЬНОЕ) 42
СХЕМА ЭЛЕКТРИЧЕСКАЯ ПРИНЦИПИАЛЬНАЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ 42
ПРИЛОЖЕНИЕ Б 47

Вложенные файлы: 1 файл

Курсач_ГОТОВ!.docx

— 1.06 Мб (Скачать файл)

 

 

Реальное значение счетчика в этом случае FFFFh – 13A1h = EC5Eh.

 

  1. РАЗРАБОТКА  АЛГОРИТМА РАБОТЫ БЛОКА ЧТЕНИЯ ИНФОРМАЦИИ С АНАЛОГОВЫХ ДАТЧИКОВ

 

Рисунок 9.1 – Алгоритм работы блока чтения информации с аналоговых датчиков

Вначале осуществляется выбор канала, с которого будет сниматься информация и включение АЦП. После того как АЦП сформирует байт ADRESH, в котором получаем значащую часть по левому выравниванию, и записываем ее в свое регистр в памяти МК. Затем происходит вычисление значения функции . Далее происходит сравнение функции N с константой Q, которая храниться в регистре микроконтроллера. Если N<Q, то осуществляется выработка двоичного управляющего воздействие Y2 длительностью T2 = 2005 мкс. Если же функция N>Q, то осуществляется переход к выработке двоичного управляющего воздействие Y3 длительностью T3=100 мкс. После чего идет завершение данного алгоритма. Длительность машинного цикла:

 

 

Реальное значение счетчика в этом случае FFFFh – 2729h = D8D6h.

 

Реальное значение счетчика в этом случае FFFFh – 01F4h = FE0Bh.

Значение Y4 вычисляется в соответствии с техническим заданием (см. стр. 10). Формирования происходи по шине I2C. После записи значения в ЦАП по I2C, начинается его формирование.

 

  1. РАЗРАБОТКА  АЛГОРИТМА РАБОТЫ БЛОКА ОБМЕНА ДАННЫМИ  ПО ПОСЛЕДОВАТЕЛЬНОМУ КАНАЛУ СВЯЗИ

 

Рисунок 10.1 – Алгоритм обмена данными по последовательному каналу связи

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

если был принят символ «D», то передается в канал значение Y1, если принят символ «А», то передается значение Y4. Если ни один из символов не был принят, то осуществляется выход из подпрограммы прерывания.

Для связи с терминалом USART нужно использовать в асинхронном режиме (полнодуплексном), это режим при котором мы можем работать из терминала ЭВМ. Далее необходимо выполнить расчет скорости обмена и необходимой частоты кварцевого резонатора. Ниже предоставлен расчет значений для USART:

(7)

(8)

  (9)

 

где V – необходимая скорость, – округленное значение регистра SPBRG, в соответствии с погрешностью G.

При , BRGH = 0 и то SPBRG = 3, погрешность при этом составила G = 1.72%.

 

  1. РАЗРАБОТКА  АЛГОРИТМА РАБОТЫ БЛОКА ВЗАИМОДЕЙСТВИЯ С ОПЕРАТОРОМ

 

Рисунок 11.1 – Алгоритм взаимодействия с оператором

 

В зависимости от показаний  на светодиодной индикации, оператор производит управление микропроцессорной системой с пульта управления.

 

Прерывание от пульта управление влекут за собой следующие действия:

1. Выдается в регистр  индикации РИ1 значения следующих четырех булевых переменных:

-  Последнее значение  Y1;

-  Результат сравнения  N>Q;

-  Значение выражения  X1 X2 X3 X4;

-  Значение выражения  Х1 Х2 Х3 Х4;

2. Выдается на регистр  индикации РИ2 значение сохраняемой во внутренней памяти константы Q.

3. Организуется выход  из прерывания на начало программы  обработки.

 

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

 

  1. РАЗРАБОТКА  АЛГОРИТМА РАБОТЫ ОБРАБОТКИ АВАРИЙНЫХ  СИТУАЦИЙ

 

Для организации прерывания, на микросхему заведены следующие сигналы:

IRQ0 – сигнал отказа источника питания;

IRQ1 – аварийный датчик;

IRQ4 – запрос на прерывание пульта управления;

 

  Выход микросхемы заведен на вход микроконтроллера INT. Такое подключение позволяет организовать обработку прерываний по одному входу микроконтроллера.

Рисунок 12.1 – Алгоритм обработки  аварийных ситуаций

 

Аварийный сигнал формируется  с помощью светового индикатора, на который приходит сигнал с частотой 2 Гц, т.е. длительность равна:

Тс= 0.25 с

Для формирования аварийного сигнала используем таймер TMR1. Рассчитаем константу для таймера при  данной длительности.

 

Так как данное число больше максимально возможного для TMR1 - FFFF, в 19 раз, то организуем подпрограмму, которая при достижении таймером конца счета будет записывать снова значение FFFF (19 раз ), на двадцатый раз запишем число . В итоге получим значение .

Для формирования прерывания по периоду измерения t = 765 мс и подсчет кол-ва символов, рассчитаем необходимое значение:

 

Так как данное число больше максимально возможного для TMR1 - FFFF, в 58 раз, то организуем подпрограмму, которая при достижении таймером конца счета будет записывать снова значение FFFF (58 раз ), на 59-ый раз запишем число . В итоге получим значение .

 

 

 

  1. РАСЧЕТ  ЭЛЕКТРИЧЕСКИХ ПАРАМЕТРОВ МИКРОПРОЦЕССОРНОЙ  СИСТЕМЫ УПРАВЛЕНИЯ

 

Рассчитать мощность, затрачиваемую  на питание основных микросхем.  Питание микросхем идет по двум каналам - +5 В и канал +15 В.

 

Таблица 13.1 – Потребляемая мощность МПС по каналу +5 В

Микросхема

Количество

Iпот, мА

Рпот,мВт*N

PIC16F886

1

160

800

MCP6H91

3

2

30

АЛ310

33

12

1980

PCA9534(5)

3

1 (160)

1605

AD5301

1

50

250

MCP2551

1

10

50

74HC4075

1

6

30

Итого

4745




 

 

 

 

 

 

 

 

 

 

 

Таблица 13.2 - Потребляемая мощность МПС по каналу +15 В

Микросхема

Количество

Iпот, мА

Рпот,мВт*N

AD202

3

5

225

Итого

225




 

 

 

 

 

В итоге общая потребляемая мощность составляет 4.970 Вт.

 

  1. РАЗРАБОТКА БЛОКА ПИТАНИЯ ДЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ

 

Для питания проектируемой  микропроцессорной системы управления необходим блок питания, отдающий в  нагрузку мощность не менее 7,9 Вт.

Максимальный выходной ток  по цепи +5В должен быть не менее 949 мА, по цепи +15В – не менее 15 мА. Кроме того блок питания должен формировать опорное напряжение величиной 15В.

В качестве трансформатора T1 выбран унифицированный трансформатор ТПП258 - 127/220-50. Этот трансформатор имеет габаритную мощность 31 В·А. Напряжения на обмотках следующие: U11-12 = U13-14 = 5В (880*2 мА); U15-16 = U17-18 = 20В (880 мА). Для увеличения максимального тока в цепи 5В обмотки 11-12 и 13-14 соединены параллельно.

Для стабилизации напряжения +5 В используется интегральный стабилизатор LM7805, рассчитанный на максимальный ток 1,5 А. Для стабилизации напряжения +15В используется интегральный стабилизатор LM7815. Он рассчитан на максимальный ток 1,5 А.

Канал для питания контроллера (+5В) имеет резервный источник питания - батарею аккумуляторов GB1 типа 6F22 (9В).

Реализована схема контроля источника питания на основе оптрона  AOT101AC, для которого Uпр = 1,6 В и Iн= 5 мА. Рассчитаем номинал резистора  R1

 

 

В соответствии с рядом Е96 резистор примем равным 681 Ом.

  Рисунок 14 – Алгоритм обработки аварийных ситуаций

 

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

  1. Сташин, В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин, А.В. Уросов, О.Ф.Мологонцева – М.: Энергоатомиздат, 1990. – 224 с.
  2. Бродин, В.Б. Системы на микроконтроллерах и БИС программируемой логики / В.Б. Бродин, А.В.Калинин – М.: Издательство ЭКОМ, 2002. – 400 c.
  3. Яценков, В.С. Микроконтроллеры Microchip. Практическое руководство / В.С. Яценков – М.: Горячая линии – Телеком, 2002. – 296 с.
  4. Тавернье, К. PIC-микроконтроллеры. Практика применения: Пер. с фр. /К. Тавернье – М.: ДМК Пресс., 2004. – 272 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

(ОБЯЗАТЕЛЬНОЕ)

СХЕМА ЭЛЕКТРИЧЕСКАЯ ПРИНЦИПИАЛЬНАЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ Б

(ОБЯЗАТЕЛЬНОЕ)

ЛИСТИНГ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ

 

 

 

 

 

 

LIST P=16F886

#INCLUDE <P16F886.INC>

;----------------------------------------------------

; НАСТРОЙКА РЕГИСТРОВ CONFIG(s)

;----------------------------------------------------

__CONFIG 0x2007, 0x2FE2

__CONFIG 0x2008, 0x3FFF

;----------------------------------------------------

; КОНСТАНТЫ

;----------------------------------------------------

;Адреса устройств

ADR_K  EQU  0x41  ;АДРЕСС МОДУЛЯ, ДЛЯ СЧИТЫВАНИЯ ЗНАЧЕНИЙ К РЕГИСТРА

ADR_DAC EQU  0x1E  ;АДРЕСС ЦАП, ДЛЯ ЗАПИСИ ЗНАЧЕНИЯ И ВЫДАЧИ V4

ADR_IND12 EQU  0x48  ;АДРЕСС МОДУЛЯ, ДЛЯ ЗАПИСИ ЗНАЧЕНИЙ РЕГИСТРОЙ РИ1 И РИ2

ADR_IND34 EQU  0x4C  ;АДРЕСС МОДУЛЯ, ДЛЯ ЗАПИСИ ЗНАЧЕНИЙ РЕГИСТРОЙ РИ3 И РИ4

;Маски инициализации устройств

CB_PORT_OUT EQU  0xC0  ;ДЛЯ УСТАНОВКИ РЕЖИМА НА ВЫДАЧУ СИГНАЛОВ НА ИНДИКАЦИЮ

CB_SEL_PORT EQU  0x0C  ;МАСКА ДЛЯ ОТПРАВКИ ЗНАЧЕНИЙ РЕГИСТРОВ

S_PORT_OUT EQU  0x00  ;МАСКА ВЫВОДОВ НА ВЫДАЧУ ИНФОРМАЦИИ НА ДИОДЫ

S_PORT_OFF EQU  0xFF  ;ДЛЯ ВЫКЛЮЧЕНИЯ СВЕТОДИОДОВ ПРИ ИНИЦИАЛИЗАЦИИ

SELECT_AN0 EQU  0x85  ;ВЫБОР АНАЛОГОВОГО ВЫХОДА AN0

SELECT_AN1  EQU  0x8D  ;ВЫБОР АНАЛОГОВОГО ВЫХОДА AN1

SELECT_AN3 EQU   0x9D  ;ВЫБОР АНАЛОГОВОГО ВЫХОДА AN3

SIG_T1  EQU  0xB1  ;ДЛЯ ФОРМИРОВАНИЯ СИГНАЛА 1005 мкс

SIG_T2  EQU  0x63  ;ДЛЯ ФОРМИРОВАНИЯ СИГНАЛА 2005 мкс

SIG_T3  EQU  0xF8  ;ДЛЯ ФОРМИРОВАНИЯ СИГНАЛА 100  мкс

SIG_T5  EQU  0xEF  ;ДЛЯ ФОРМИРОВАНИЯ СИГНАЛА 30   мс

;Константы ядра

CONST_Q EQU  0x00  ;КОНСТАНТА 'Q'

CONST_A0 EQU  0x00  ;КОНСТАНТА 'A0'

CONST_A1 EQU  0x00  ;КОНСТАНТА 'A1'

MUL_CC  EQU  0x08  ;ЧИСЛО ВЫПОЛНЯЕМЫХ ЧИКЛОВ ДЛЯ УМНОЖЕНИЯ

;Указатели битов

BIT_ZERO EQU  0x00  ;ИСПОЛЬЗУЕТСЯ ДЛЯ ИНИЦИАЛИЗАЦИИ НУЛЕВОГО БИТА

BIT_LOW EQU  0x0F  ;МАСКА МЛАДШЕЙ ТЕТРАДЫ

BIT_HEIGHT EQU  0xF0  ;МАСКА СТАРШЕЙ ТЕТРАДЫ

BIT_0  EQU  0x00  ;УКАЗЫВАЕТ НА БИТ 0

BIT_1  EQU  0x01  ;УКАЗЫВАЕТ НА БИТ 1

BIT_2  EQU  0x02  ;УКАЗЫВАЕТ НА БИТ 2

BIT_3  EQU  0x03  ;УКАЗЫВАЕТ НА БИТ 3

;Коды символов

SYMBOL_D EQU  'D'

SYMBOL_A EQU  'A'

 

;----------------------------------------------------

; РЕГИСТРЫ

;----------------------------------------------------

CBLOCK 0x20

COUNTER_I     ;СЧЕТЧИК I

COUNTER_J     ;СЧЕТЧИК J     

BIN_X1     ;ВХОДНЫЕ ДАННЫЕ С БИНАРНОГО ДАТЧИКА X1

BIN_X2     ;ВХОДНЫЕ ДАННЫЕ С БИНАРНОГО ДАТЧИКА X2

BIN_X3     ;ВХОДНЫЕ ДАННЫЕ С БИНАРНОГО ДАТЧИКА X3

BIN_X4     ;ВХОДНЫЕ ДАННЫЕ С БИНАРНОГО ДАТЧИКА X4

ANALOG_1     ;ВХОДНЫЕ ДАННЫЕ С АНАЛОГОВОГО ДАТЧИКА 1

ANALOG_2     ;ВХОДНЫЕ ДАННЫЕ С АНАЛОГОВОГО ДАТЧИКА 2

ANALOG_3     ;ВХОДНЫЕ ДАННЫЕ С АНАЛОГОВОГО ДАТЧИКА 3

OUTPUT_Y4     ;ВЫХОДНЫЕ ЗНАЧЕНИЯ Y4, ПРОЩЕ СОХРАНИТЬ, ЧЕМ СЧИТЫАВТЬ С ЦАП

SAVE_RCREG    ;ПЕРЕМЕННАЯ ХРАНЯЩАЯ ПРИНЯТОЕ ЗНАЧЕНИЕ

TEMP_INT     ;ВРЕМЕННАЯ ПЕРЕМЕННАЯ ДЛЯ ПРЕРЫВАНИЙ

RESULT_NQ     ;РЕЗУЛЬТАТ ОПЕРАЦИИ N > Q

ENDC

 

CBLOCK 0x70     ;ИСПОЛЬЗУЮТСЯ ДЛЯ КОНТЕКСТНОГО СОХРАНЕНИЯ, ИЛИ ДОСТУПА ИЗ ЛЮБОГО БАНКА

TEMP

TEMP_RESULT 

W_TEMP

STATUS_TEMP

RIND_1     ;ЗНАЧЕНИЕ РЕГИСТРА ИНДИКАЦИИ 1

RIND_2     ;ЗНАЧЕНИЕ РЕГИСТРА ИНДИКАЦИИ 2 

RIND_3     ;ЗНАЧЕНИЕ РЕГИСТРА ИНДИКАЦИИ 3

RIND_4     ;ЗНАЧЕНИЕ РЕГИСТРА ИНДИКАЦИИ 4

REG_K     ;ДАННЫЕ УСТАНОВОК РЕГИСТРА 'К'

ENDC

 

;----------------------------------------------------

; МАКРОКОМАНДЫ

;----------------------------------------------------

BANC0 MACRO    ;ВЫБОР БАНКА 0

BCF STATUS,RP0

BCF STATUS,RP1

ENDM

 

BANC1 MACRO    ;ВЫБОР БАНКА 1

BSF STATUS,RP0

BCF STATUS,RP1

ENDM

 

;----------------------------------------------------

; НАЧАЛО СБРОСА

;----------------------------------------------------

ORG 0x00

;ВЕКТОР СБРОСА

GOTO INIT_START    ;ПЕРЕХОД К ИНИЦИАЛИЗАЦИИ МК

 

;----------------------------------------------------

; НАЧАЛО ПРЕРЫВАНИЙ

;----------------------------------------------------

ORG 0x04     

;ВЕКТОР ПРЕРЫВАНИЙ

;СОХРАНЕНИЕ ПЕРЕМЕННЫХ

BCF  INTCON,GIE   ;ЗАПРЕТИТЬ ГЛАБАЛЬНЫЕ ПРЕРЫВАНИЯ       

MOVWF   W_TEMP

MOVF STATUS,W

MOVWF STATUS_TEMP

GOTO INTERUPTS_START  ;ПЕРЕХОД НА ПОДПРОГРАММУ ПРЕРЫВАНИЙ

 

FINISH_INTERUPT

MOVF    STATUS_TEMP,W

MOVWF STATUS

SWAPF   W_TEMP,F

SWAPF   W_TEMP,W

Информация о работе Микропроцессорная система управления объектом