1. Обеспечение необходимых уровней входных сигналов;
2. Цикл ожидания;
3. Чтение порта ОМК;
4. Запись в РОН.
Задача обработки входных данных и принятия решения реализуется на основе 2 подзадач:
1. Чтение константы из ПЗУ;
2. Сравнение константы с РОН.
Задача выдачи управляющего сигнала на объект управления реализуется на задаче малой размерности – запись управляющего сигнала в выходной порт ОМК.
1.2. Возможные пути решения поставленной задачи (аппаратный или програманый)
Все МКУ разрабатываются с помощью программных и аппаратных способов реализации.
Преимущества аппаратной реализации заключаются в том, что:
а) использование специальных БИС упрощает разработку и обеспечивает высокое быстродействие системы в целом;
б) уменьшается время на разработку и отладку устройства.
Преимущества программной реализации такие;
а) меньшая стоимость и потребляемая мощность системы ;
б) меньшее количество компонент в системе, а значит выше надежность системы в целом;
в) время жизни системы значительно выше по сравнению с аппаратной
Цикл ожидания входных данных реализуем программно, так как в ТЗ строгих рамок к быстродействию системы нет и программный способ намного проще аппаратной реализации. Остальные задачи малой размерности: чтение порта ОМК и запись в РОН реализуемы только программно.
Глобальная задача обработки входных данных и принятия решения будет реализована программным путем, так как именно для этого предназначен микроконтроллер. Если же входные данные обрабатывать аппаратно (собрать схему на жесткой логике), тогда ТЗ теряет свой смысл, в нем оговорено спроектировать микроконтроллерное устройство, а значит для МК останется только задача выдачи управляющего сигнала (один бит информации). Такое сложное и мощное устройство как МК использовать только для этой цели не рационально. Поэтому обработкой входных сигналов будет заниматься МК под управлением соответствующей программы.
Глобальная задача выдачи управляющего сигнала на объект управления очень проста и так как не требуется создавать управляющий сигнал меньше или больше tц контроллера, то здесь будет нерационально использование дополнительных аппаратных средств с точки зрения габаритов, стоимости, надежности и потребляемой мощности, тем более выходной сигнал по ТЗ не должен изменяться пока на входной сигнал находится в допустимых пределах, поэтому эту задачу мы реализуем программным путем.
Дополнительным плюсом будет то, что часть первой глобальной задачи, вся вторая и третья задачи будут решаться МК и на него не ляжет задача по обеспечению информационных и синхронизирующих связей с другими аппаратными частями МКУ, что повысит надежность МКУ.
2. Функциональная схема устройства и её описание
2.1. Функциональная схема
Назначение отдельных функциональных блоков
МКУ имеет внешний способ формирования сигнала «Сброс», основанный на интегрирующей цепочке (см. рис. 2.2).
2.3. Описание принципа действия
Для ввода двух сравниваемых напряжений используются два аналоговых канала (линии AIN0 и AIN1 порта А). Переключение каналов производится с помощью изменения битов CHS0 и CHS1 в регистре ADCON0, который предназначен для управления АЦП.
Структура регистра ADCON (Адрес 08h в памяти данных) следующая:
ADCS1 | ADCS0 | CHS1 | CHS0 | GO/DONE | ADIF | ADON |
ADON - ВключениеАЦП:
· ADON = 0: АЦП не работает и не потребляет тока;
· ADON = 1: АЦП работает и занял линии ввода/вывода.
ADIF - Флаг прерывания по окончанию преобразования:
· устанавливается аппаратно, когда преобразование закончено;
· сбрасывается программно.
GO:/DONE -Запуск АЦП (начало преобразования):
· устанавливается программно;
· сбрасывается аппаратно, когда преобразование закончено.
CHS1,CHS0 - Выбор аналогового канала:
· CHS1,CHS0 = 00: канал 0 (AIN0); 01: канал 1 (AIN1);
10: канал 2 (AIN2); 11: канал 3 (AIN3).
ADCS1,ADCS0 - Выбор частоты преобразования:.
· ADCS0,ADCS0 = 00: fosc/2; 01: fosc/8;
3. Расчет потребляемой мощности и определение требований к источникам питания
Расчет потребляемых токов
Расчет потребляемых токов сводится к тому, что необходимо определить суммарное потребление тока всеми микросхемами, то есть:
(3.1)где Iобщ - общий ток, потребляемый устройством,
Ik - ток, потребляемый k-той микросхемой,
m - общее число микросхем,
n - число микросхем данного типа.
Получаем общий ток потребления:
Полученные данные удовлетворяют требованиям системной магистрали ISA (п.1.2).
Расчет потребляемой мощности
Расчет потребляемой мощности сводится к тому, что необходимо определить мощность потребляемую устройством, то есть:
Расчет надежности
Интенсивность отказов l характеризуется отношением числа изделий в единицу времени к числу изделий, продолжающих оставаться исправными к началу рассматриваемого промежутка времени:
(3.3)где m - число изделий, отказавших за время t,
N - число исправно работающих изделий к началу промежутка времени.
Если предположить, что отказы различных элементов взаимно независимы и каждый отказ носит катастрофический характер, то есть полностью нарушают работоспособность, то интенсивность отказов устройства равна сумме интенсивностей отказов элементов, составляющих устройство:
(3.4)где li - интенсивность отказов элементов i-го типа,
ni - количество элементов i-го типа входящего в устройство.
Наработка на отказ равна:
(3.5)Интенсивность отказов элементов следующая:
микросхемы – 0.85×10-6 (ч-1),
резисторы – 0.9×10-6 (ч-1),
конденсаторы – 1.4×10-6 (ч-1).
4. Разработка и отладка рабочей программы
4.1. Блок-схема алгоритма
4.2. Текст программы
list p=16с71 ;определение типа мк
; #include <p16c71.inc> ;подключение файла p16с71.inc
;***** Объявление переменных ****************************
STATUS EQU 03H ;Регистр STATUS
PORTB EQU 06H ;Регистр порта В
ADCON0 EQU 08H ;Регистр управления АЦП
ADRES EQU 09H ;Регистр результата АЦП
;преобразования
INTCON EQU 0BH ;Регистр управления прерыва
;ниями
OPTREG EQU 81H ;Регистр OPTION
TRISB EQU 86H ;Регистр конфигурации порта В
ADCON1 EQU 88H ;Регистр конфигурации АЦП
RP0 EQU 5H ;Бит переключения страниц в
;регистре STATUS
F EQU 0Ch ;Флаг "F0"
I EQU 0Dh ;Счетчик
TI EQU 10h ;Задержкаимпульса
TP EQU 11h ;Задержкапаузы
D2 EQU 0Eh ;Сигнал U1
D1 EQU 0Fh ;Сигнал U2
;**************** Рабочая секция *************************
ORG 0 ;Начальный адрес после сброса
GOTO BEGIN ;Переход на начало программы
ORG 300 ;Начальный адрес программы
; (следующая команда будет расположена по адресу 100H)
GOTO TEST ;Используем для отладки
;Ввод и преобразование сигналов U1 и U2
BCF ADCON0,3 ;Установить входной канал AIN0
BSF ADCON0,2 ;Начать процесс преобразования
;сигнала U1
LOOP1 BTFSS ADCON0,2 ;Ждать окончания преобразова-
;ния сигнала U1
GOTO LOOP1
MOVF ADRES,0 ;Результат преобразования
;сигнала U1 записать в W
MOVWF D1
BCF ADCON0,1 ;Сбросить флаг окончания пре-
;образования ADIFв регистре
;ADCON0
BSF ADCON0,3 ;Установить входной канал AIN1
LOOP2 BTFSS ADCON0,2 ;Ждать окончания преобразова-
;ния сигнала U2
GOTO LOOP2
MOVF ADRES,0 ;Результат преобразования
;сигнала U2 записать в W
MOVWF D2
BCF ADCON0,1 ;Сбросить флаг окончания пре-
;образования ADIFв регистре
;ADCON0
GOTOCOMPARE
A2
BCF F,0 ;Установка флага F в "0"
MOVLW 3H ;Количество I
MOVWF I
M
MOVLW 10H ;Tи =10h
MOVWF TI
MOVLW 5H ;Tп =5h
MOVWF TP
MOVF I,W
ADDWF TI ;Tи =Ти+I
M1
BSF PORTB,0 ;Подаем "1" на выход
DECFSZ TI,1 ;Декримент Ти на 1
GOTO M1
ADDWF TP ;Tп =Тп+I
M2
BCF PORTB,0 ;Подаем "0" на выход
DECFSZ TP,1 ;Декримент Тп на 1
GOTO M2
DECFSZI,1 ;Декримент Iна 1
GOTO M
GOTO TEST
A1
BSFF,0 ;Установка флага Fв "1"
GOTO TEST
4.3. Технология отладки программы
4.3.1. Моделирование
Исходя из технического задания, предлагаемое МКУ выполняет сравнение вводимых с 2 датчиков аналоговых сигналов и сравнение их между собой, далее в зависимости от результата сравнения, выполняются определенные действия. То есть, если U1=U2, то установка флага F0 в «1» и переход на метку А1, если же U1<>U2 – то установка флагаF0 в «0» и переход на метку А0.
Так как в данной разработке сравнение чисел и управление выходным сигналом выполняется с помощью программы, написанной на языке Ассемблер, то необходима проверка работоспособности этой программы.
Проверка работоспособности программы осуществлялась с помощью среды MPLAB v 3.40. Для этого необходимо выполнить следующие действия:
Запустить оболочку MPLAB v 3.40 (Пуск\Программы\Microchip MPLAB\MPLAB). Появится окно, изображенное на рис. 5.1. прокомпилировать и выполнить проект.