Автор работы: Пользователь скрыл имя, 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
Реальное значение счетчика в этом случае FFFFh – 13A1h = EC5Eh.
Рисунок 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, начинается его формирование.
Рисунок 10.1 – Алгоритм обмена данными по последовательному каналу связи
Вначале происходит принятие символа, и с помощью девятого бита, била четности, проверяем правильность принятой информации. Если все хорошо, то обрабатываем, в противном случае посылаем запрос на повторную передачу. Затем происходит анализ полученной информации и
если был принят символ «D», то передается в канал значение Y1, если принят символ «А», то передается значение Y4. Если ни один из символов не был принят, то осуществляется выход из подпрограммы прерывания.
Для связи с терминалом USART нужно использовать в асинхронном режиме (полнодуплексном), это режим при котором мы можем работать из терминала ЭВМ. Далее необходимо выполнить расчет скорости обмена и необходимой частоты кварцевого резонатора. Ниже предоставлен расчет значений для USART:
(7)
(8)
(9)
где V – необходимая скорость, – округленное значение регистра SPBRG, в соответствии с погрешностью G.
При , BRGH = 0 и то SPBRG = 3, погрешность при этом составила G = 1.72%.
Рисунок 11.1 – Алгоритм взаимодействия с оператором
В зависимости от показаний на светодиодной индикации, оператор производит управление микропроцессорной системой с пульта управления.
Прерывание от пульта управление влекут за собой следующие действия:
1. Выдается в регистр индикации РИ1 значения следующих четырех булевых переменных:
- Последнее значение Y1;
- Результат сравнения N>Q;
- Значение выражения X1 X2 X3 X4;
- Значение выражения Х1 Х2 Х3 Х4;
2. Выдается на регистр индикации РИ2 значение сохраняемой во внутренней памяти константы Q.
3. Организуется выход
из прерывания на начало
Вывод информации на индикацию осуществляется по шине I2C. Сначала устанавливается связь с нежным модулем расширения по I2C, а затем запись в его регистры информации для индикации, после чего на выходах этих модулей выставляется информация и загораются необходимые светодиоды.
Для организации прерывания, на микросхему заведены следующие сигналы:
IRQ0 – сигнал отказа источника питания;
IRQ1 – аварийный датчик;
IRQ4 – запрос на прерывание пульта управления;
Выход микросхемы заведен на вход микроконтроллера INT. Такое подключение позволяет организовать обработку прерываний по одному входу микроконтроллера.
Рисунок 12.1 – Алгоритм обработки аварийных ситуаций
Аварийный сигнал формируется
с помощью светового
Тс= 0.25 с
Для формирования аварийного сигнала используем таймер TMR1. Рассчитаем константу для таймера при данной длительности.
Так как данное число больше максимально возможного для TMR1 - FFFF, в 19 раз, то организуем подпрограмму, которая при достижении таймером конца счета будет записывать снова значение FFFF (19 раз ), на двадцатый раз запишем число . В итоге получим значение .
Для формирования прерывания по периоду измерения t = 765 мс и подсчет кол-ва символов, рассчитаем необходимое значение:
Так как данное число больше максимально возможного для TMR1 - FFFF, в 58 раз, то организуем подпрограмму, которая при достижении таймером конца счета будет записывать снова значение FFFF (58 раз ), на 59-ый раз запишем число . В итоге получим значение .
Рассчитать мощность, затрачиваемую на питание основных микросхем. Питание микросхем идет по двум каналам - +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 Вт.
Для питания проектируемой
микропроцессорной системы
Максимальный выходной ток по цепи +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 Ом.
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
Информация о работе Микропроцессорная система управления объектом