Файл: Микропроцессорное устройство управления регулятором температуры по заданному закону.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 19
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рисунок 5.8. Цоколевка микросхем: а) КР1554ИР23 б) КР1554АП6
Ход расчета:
1) Для того чтобы развязать шину данных по входу и по выходу ставим шинный формирователь КР1554АП6 на обратную связь шины данных. Расчет согласования по току проводить нецелесообразно, т.к. к контактам порта Р0 МК подключено по одному контакту ОЗУ.
2) Рассчитаем соотношение нагрузки на шине адреса:
I0вых >= I0нагр = n I0вх + к I0ут ; I1вых >= I1нагр = n I1вх + к I1ут
Iвых равен выходному току буферного регистра КР1554ИР23. Как видно из принципиальной схемы МПС наибольшая нагрузка приходится на разряды шины адреса А0 – А10. Поэтому произведем расчет баланса нагрузок для одного разряда шины адреса:
I0нагр=8* I0вх(КР537РУ14Б) + 8*I0ут(КР537РУ14Б) + 4* I0вх(КР556РТ13) + 4*I0ут(КР556РТ13);
I0нагр=25,6 + 0,04+ 1 + 0,02=29,25мА;
То есть I0вых =86мА > 29,25 мА, условие выполняется.
I1нагр=8* I1вх(КР537РУ14Б) + 8*I1ут(КР537РУ8А) + 4* I1вх(КР556РТ5) + 4*I1ут(КР556РТ5);
I1нагр=16 + 0.04+ 0.16 + 0.02=16.22мА;
То есть I1вых =75мА > 16.22 мА, условие выполняется.
4) Рассчитаем соотношение нагрузки на шине управления:
I0вых >= I0нагр = n I0вх + к I0ут ; I1вых >= I1нагр = n I1вх + к I1ут
Iвых равен выходному току микросхемы К155ЛН6. Как видно из принципиальной схемы МПС наибольшая нагрузка приходится на линии сигналов W/R и CSRAM. С учетом этого расчет баланса нагрузки будет выглядеть так:
а) Сигнал CSRAM:
I0нагр=8* I0вх(КР537РУ14Б) + 8*I0ут(КР537РУ14Б)
I0нагр=25,6 + 0,04=25,64 мА;
То есть I0вых =32мА > 25,64 мА, условие выполняется.
б) для сигнала W/R:
I0нагр=8* I0вх(КР537РУ14Б) + 8*I0ут(КР537РУ14Б)
I0нагр=25,6 + 0,04=25,64 мА;
То есть I0вых =32 мА > 25,64 мА, условие выполняется.
5.6. Проверка сопряжения по емкостным параметрам.
Самая большая нагрузка по емкости приходится на шину адреса. Т. е. должно выполнятся условие:
Свых.>=Снагр.
В нашем случае это соотношение будет иметь вид:
Снагр.ОЗУ=8*С(КР537РУ15Б)=8*50=400 пФ.
Свых=500>400, т.е. условие выполняется
Снагр.ПЗУ=4*С(КР556РТ13)=4*30=120 пФ.
Свых=500>120, т.е. условие выполняется
Баланс по емкостным параметрам полностью выполняется
5.7. Проверка согласования временных диаграмм МП и ЗУ.
-
Рассмотрим процесс чтения ОЗУ.
а) Проверка времени появления данных на ШД МП относительно появления адреса на ША МП.
F=12МГц;
tAD=7*T=7*1/12*106=580нс
tALE +tRG + tA(A) + tBF <= tAD
tALE28 нс;
tAD=580 нс;
tRG=10,5 нс;
tA(A)= 14 нс;
tBF=7 нс;
Таким образом:
tAL +tRG + tA + tBF <= tAD
28нс + 10,5нс + 14нс +7нс < 580нс;
59,5нс < 580нс;
То есть условие выполняется.
б) Проверка выполнения требований наложенных на параметр CS микросхемы памяти.
tAС +tи + tне+ tCS + tBF <= tAD;
tAC – интервал между моментами появления адреса и строба чтения;
tAС=127 нс;
tAD=580нс;
tи=8,5 нс;
tне=7,5 нс;
tCS =130 нс;
Таким образом:
tAС +tи + tне+ tCS + tBF <= tAD;
127нс + 8,5нс + 7,5нс + 130нс+ 7нс < 580нс
153 нс< 580нс;
То есть условие выполняется.
в) Проверка времени установки сигнала CS относительно адреса.
tSU(A - CS)СХ.>= tSU(A - CS)ТУ;
tSU(A - CS)СХ.= tAС + tИ + tНЕ –( tALЕ +tRG);
tSU(A - CS)СХ.=127нс + 8,5нс + 7,5нс – (28нс + 10,5нс)=104,5нс;
tSU(A - CS)ТУ=20нс;
Таким образом:
157нс > 20нс;
То есть условие выполняется.
Как видно из расчетов все условия по временным задержкам микросхемы ОЗУ и МП выполняются, а значит, при обращении МП к ОЗУ формирование холостых циклов не требуется.
2) Рассмотрим процесс чтения ПЗУ.
а) Проверка времени появления данных на ШД МП относительно появления адреса на ША МП.
tALЕ +tRG
+ tA <= tAD
tALЕ=28нс;
tAD=580нс;
tA(A)=60 нс;
Таким образом:
tAL +tRG + tA <= tAD
28нс + 10,5нс + 60нс < 580нс;
98,5нс < 600нс;
То есть условие выполняется.
б) Проверка выполнения требований наложенных на параметр CS микросхемы памяти.
tAС +tCS+ tИ-НЕ+ tИ + tНЕ <= tAD;
tAD=580нс;
Таким образом:
tAС +tCS+ tИ-НЕ+ tИ + tНЕ <= tAD;
tНЕ=7,5нс;
tИ-НЕ=8нс;
tИ=8,5нс;
tCS=40нс;
127нс + 40нс + 8нс + 8,5нс+7,5нс < 580нс
191нс< 600 нс;
То есть условие выполняется.
в) Проверка времени установки сигнала CS относительно адреса.
tSU(A - CS)СХ.>= tSU(A - CS)ТУ;
tSU(A - CS)СХ.= tAС + tИ-НЕ+ tИ + tНЕ –( tALЕ +tRG);
tНЕ=7,5нс;
tИ-НЕ=8нс;
tИ=8,5нс;
tSU(A - CS)СХ.=127нс + 8нс+8,5нс+7,5 – (28нс + 10,5нс)=112,5нс;
tSU(A - CS)ТУ=40нс;
Таким образом:
112,5нс > 40нс;
То есть условие выполняется.
Как видно из расчетов все условия по временным задержкам субмодулей ПЗУ и МП выполняются, а значит, при обращении МП к ПЗУ формирование холостых циклов не требуется.
6. Разработка ПО на языке ассемблера
Разработаем блок-схему алгоритма управления объектом:
Рисунок 6.1. Блок-схема алгоритма
Заключение
В данном курсовом проекте была разработана микропроцессорная система для управления температурой термостата, обеспечивающая изменение температуры по указанному в задании графику.
Разработка управляющей микропроцессорной системы состоит из двух этапов:
-
разработка аппаратной части МПС; -
разработка программного обеспечения.
Результатом первого этапа разработки является принципиальная электрическая схема МПС. В процессе этого этапа первоначально была разработана структурная схема МПС и произведен выбор элементной базы для построения МПС. Также был произведен расчет модуля памяти, где было проверено согласование элементов модуля памяти по электрическим параметрам в различных режимах работы. Кроме того, было проверено согласование по электрическим параметрам элементов, подключенных к системной шине. Также была рассчитана потребляемая мощность всей МПС и отдельно модуля памяти.
На втором этапе был разработан алгоритм управления, который затем был реализован в виде программы на ассемблере МК51.
Список литературы
1. Преснухин Л. Н. Расчет элементов цифровых устройств. - 1991
2. Алексеенко А. Г. Основы микросхемотехники. – 1977
3. Наумов Ю. Е. Интегральные логические схемы. – 1970
4. Данилов Р. В. И др. Применение интегральных микросхем в
электронной вычислительной технике. – М.: Радио и связь, 1986
5. Шило В. Л. Популярные цифровые микросхемы: Справочник. – М.:
Радио и связь, 1987
6. Вуколов Н. И. Михайлов А. Н. Знакосинтезирующие индикаторы:
справочник/Под ред. В. П. Балашова. – М.: радио и связь, 1987
7. Справочник по цифровой вычислительной технике. /Под ред. Б. Н.
Малиновского. – 1974
8. МК-51. Электронное учебное пособие.
9. Князьков О.М., Краснопильский В.Б. Микроконтроллер в ПИ- и ПД- регуляторах. - 1994
Приложение А.
Текст программы на языке ассемблера МК-51
;*****************
;**секция данных**
;*****************
interval_number equ 7h ; номер текущего температурного интервала
DAC_result equ 8h ; ячейка памяти для хранения результатов работы АЦП
decoded_DAC_result equ 9h ; буфер под скорректированную температурусАЦП
first_indication_cell equ 10h ; перваяячейкадляиндикации
second_indication_cell equ 11h ; втораяячейкадляиндикации
frequency_devider equ 12h ; программный делитель частоты
first_number_of_iterations equ 13h ; количествоитераций 1 участка
second_number_of_iterations equ 14h ; количествоитераций 2 участка third_number_of_iterations equ 15h ; количествоитераций 3 участка fourth_number_of_iterations equ 16h ; количествоитераций 4 участка
first_initial_temperature equ 17h ; стартоваятемпература 1 участка
second_initial_temperature equ 18h ; стартоваятемпература 2 участка
third_initial_temperature equ 19h ; стартоваятемпература 3 участка
fourth_initial_temperature equ 20h ; стартоваятемпература 4 участка
steck equ 21h ; адрес дна стека
;*******************
;**секция кода**
;*******************
org 0000h
; после включения питания стартуем с этой точки
ajmp init ; сразу же переходим на инициализацию
org 0003h ; обработчик прерывания по входу от кнопки "пуск"
setb tr0 ; запускаем первый таймер
clr p3.0 ; запускаем АЦП
clr ie.0 ; запрещаем реакцию на повторное нажатие кнопки
reti ; возвращаемся в основную программу
org 000Bh ; обработчик прерывания от таймера
mov th0, #high (-20000) ; реинициализируем
mov tl0, #low (-20000) ; таймер на 20 мс
reti ; возвращаемся в основную программу
org 0013h ; обработчик прерывания от АЦП
ajmp DAC_interrupt_interpretator ; обработчик вынесем в отдельную подпрограмму
; основная программа
org 0030h
init: ; секция инициализации
mov sp, #steck ; настраиваем указатель стека
mov p3, #11001111b ; настраиваем порт на реакцию по INT0 и INT1
clr p3.4 ; выключаем вентилятор
clr p3.5 ; выключаем нагреватель
mov frequency_devider, #75 ; для1 интервала - делитель на 1,5 секунды
mov decoded_DAC_result, #00 ; обнуляем буфер с обработанными АЦП-данными
mov first_indication_cell, #00 ; обнуляем «видеобуфер»
mov second_indication_cell, #00 ; обнуляем «видеобуфер»
mov dptr, #FFFFh ; в DPTR – указатель на область АЦП в АП I\O
mov first_number_of_iterations, #20 ; количество итераций первого участка = 20
mov second_number_of_iterations, #10 ; количество итераций второго участка = 10
mov third_number_of_iterations, #5 ; количество итераций третьего участка = 5
mov fourth_number_of_iterations, #15 ; количество итераций четвёртого участка = 15
mov first_initial_temperature, #00001010b ; стартоваятемпература 1 участка 100c
mov second_initial_temperature, #00011110b ; стартоваятемпература 2 участка 300c
mov third_initial_temperature, #00010100b ; стартовая температура 3 участка 200c
mov fourth_initial_temperature, #00001111b ; стартовая температура 4 участка 150c
mov interval_number, #0 ; настраиваемся на первый интервал
mov tmod, #00000001b ; первый таймер – в первый режим работы
mov th0, #high (-20000) ; настраиваем таймер на 20 мс
mov tl0, #low (-20000) ; настраиваем таймер на 20 мс