Файл: Микропроцессорное устройство управления регулятором температуры по заданному закону.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. Проверка согласования временных диаграмм МП и ЗУ.


  1. Рассмотрим процесс чтения ОЗУ.


а) Проверка времени появления данных на ШД МП относительно появления адреса на ША МП.

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 мс