Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Содержание
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ . . . . . . . 2
ВВЕДЕНИЕ . . . . . . . . . . . 3
1. РАЗРАБОТКА АППАРАТНЫХ СРЕДСТВ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ . . . . . . . . . . . . 4
1.1. Разработка структурной схемы МПС . . . . . . 4
1.2. Составление карты распределения адресного пространства . . 6
1.3. Разработка микропроцессорного модуля MPM . . . . 9
1.4. Разработка модуля внешней памяти программ ROM . . . 16
1.5. Разработка модуля внешней памяти данных RAM . . . 18
1.6. Построение временной диаграммы для режима записи в ОЗУ. . 20
1.7. Разработка модуля интерфейсных устройств ввода и вывода IOU . 24
1.8. Разработка модуля управления CPAN . . . . . 27
1.9. Разработка модуля индикации INDC . . . . . . 32
1.10. Расчет аппаратных затрат . . . . . . . 37
1.11. Расчет потребляемой мощности. . . . . . . 38
1.12. Средства повышения помехоустойчивости . . . . 43
1.13. Моделирование ОЗУ DS1225AB в среде VHDL . . . . 44
2. РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ . . . . . . . . . . . . 49
ЗАКЛЮЧЕНИЕ . . . . . . . . . . . 54
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ . . . . . 55
Приложение А. Задание на курсовой проект . . . . . . 57
Приложение Б. МПС. Схема электрическая структурная . . . . 61
Приложение В. МПС. Схема электрическая принципиальная . . . 63
Приложение Г. МПС. Перечень элементов . . . . . . 65
Приложение Д. Описание микроконтроллера AT89S8252 . . . . 68
Приложение Е. Описание ПЗУ M2764-2F1 . . . . . . 83
Приложение Ж. Описание ОЗУ DS1225AB . . . . . . 87
Приложение И. Описание АЦП MAX11644 . . . . . . 94
Приложение К. Описание источника опорного напряжения REF198. . . 99
Приложение Л. Описание аналогового мультиплексора MAX4634. . . 103
Приложение М. Описание ЦАП MX7545A . . . . . . 108
Приложение Н. Описание ОУ MAX400 . . . . . . . 116
Приложение П. Описание кварцевого резонатора ZTB . . . . 119
Приложение Р. Справочная информация по разъемам СНО, СНП . . 120
Приложение С. Описание диодов, используемых в проекте . . . . 121
Приложение Т. Листинг программы для управления МПС . . . . 123
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
АЦП аналого-цифровой преобразователь
БИС большая интегральная схема
ИС интегральная схема
ИМС интегральная микросхема
МК микроконтроллер
МПМ микропроцессорный модуль
МПС микропроцессорная система
МСП микросхема памяти
МЦ машинный цикл
ОЗУ оперативное запоминающее устройство
ПЗУ постоянное запоминающее устройство
ПУ пульт управления и индикации
СДИ светодиодный индикатор
СС2 двоичная система представления чисел
СС16 шестнадцатиричная система представления чисел
ОУ операционный усилитель
ФНЧ фильтр низких частот
ФВЧ фильтр высоких частот
ЦАП цифро-аналоговый преобразователь
ADC Analog-to-Digital Converter АЦП
BA Bus Address шина адреса
BC Bus Control шина управления
BD Bus Data шина данных
DAC Digital-to-Analog Converter ЦАП
ОА Operational Amplifier ОУ
ВВЕДЕНИЕ
Целью курсового проектирования является приобретение навыков разработки микропроцессорных систем (МПС) на примере проектирования микропроцессорной системы для управления некоторым объектом [1] (рис. 1). Микропроцессорная система (MPU) принимает информацию {Х} об объекте управления (ОU) от аналоговых и цифровых датчиков (D), вырабатывает управляющие воздействия {Y} в соответствии с заданным алгоритмом управления и подает их на исполнительные механизмы (RU). В МПС поступают также сигналы прерывания {INT} от датчика аварийной ситуации и от датчика напряжения питания.
В данном курсовом проекте разрабатываются структурная и принципиальная электрические схемы МПС и программы, обеспечивающие выполнение заданного алгоритма управления, осуществляется оценка параметров МПС в соответствии с заданием на курсовой проект (см. приложение А).
В качестве основы для построения МПС используется микроконтроллер AT89S8252 семейства MCS51 фирмы Intel. Для построения схем управления будут использоваться элементы серии КР1533.
Структурная электрическая схема МПС представлена в приложении Б, схема принципиальная электрическая МПС представлена в приложении В, перечень элементов МПС представлен в приложении Г.
1.1. Разработка структурной схемы МПС
На рис. 2 приведена электрическая структурная схема микропроцессорной системы, реализуемой в данном проекте.
Микропроцессорная система состоит из следующих модулей:
- MPM микропроцессорный модуль является центральным блоком системы и основан на микроконтроллере AT89S8252 семейства MCS51 фирмы Atmel. MPM Формирует сигналы адреса, управляющие сигналы и сигналы данных для других модулей. Входными являются сигналы Х1,…,Х4, а также сигналы данных, управления и прерываний, поступающих от других модулей; выходными сигналы управления, адреса и данных.
- RAM модуль внешней памяти данных (NV SRAM). Совместно с внутренней памятью данных микроконтроллера AT89S8252 составляет память данных микропроцессорной системы. Входными являются сигналы адреса, данных и управления; выходными сигналы данных.
- ROM модуль внешней памяти программ (EEPROM). Совместно с встроенной памятью программ микроконтроллера AT89S8252 составляет память программ микропроцессорной системы. Входными являются адресные и управляющие сигналы; выходными сигналы данных. Емкости внешней памяти программ и памяти данных должны быть выбраны с запасом в 10-20 раз, учитывающим возможные изменения алгоритмов управления.
- IOU модуль интерфейсных устройств ввода и вывода. Входными являются сигналы X5, X6, X7, а также сигналы данных, управления, а выходными сигналы данных и сигнал Y4.
- CPAN модуль управления. Содержит клавиатуру и логические элементы для получения информации с нее, а также выработки сигнала прерывания от пользователя. Входными сигналами являются два разряда адреса A0 и A1 и сигналы управления, выходными сигналы с шины данных и сигнал управления RESET.
- INDC модуль индикации. Содержит блок светодиодных индикаторов для отображения сигналов Х1,...,Х4, блок семисегментных индикаторов для вывода сигналов с шины данных. Входными являются внешние двоичные сигналы Х1,...,Х4 и сигнал аварийной сигнализации ALARM.
Рис. 2. МПС. Схема электрическая структурная
1.2. Составление карты распределения адресного пространства
При составлении карты адресного пространства необходимо выделить:
- адресное пространство для памяти программ и памяти данных;
- адресное пространство для внешних и интерфейсных устройств.
Микроконтроллер AT89S8252 содержит внутреннюю память данных RAM емкостью 256 байт, включающую в себя также область для регистров специального назначения SFRs. Внутренняя память данных располагается в памяти по адресам 00H 7FH, а регистры специального назначения имеют адреса 80H 0FFH. Внутренняя память данных используется также для организации стека. Стек может располагаться в памяти по адресам 00H - 7FH, т.е. занимать все адресное пространство памяти данных. Всю внутреннюю память данных отведем под переменные управляющей программы. Исходя из методических указаний необходимо, чтобы память данных и память программ обеспечивали запас в 10-20 раз. Поэтому для внешней памяти программ и данных выберем БИС объемом по 8 кбайт каждая. Тогда для адресации внешних ПЗУ и ОЗУ достаточно 13 разрядов шины адреса BA (BA0 BA12).
В проекте используется внешнее энергонезависимое ОЗУ NV SRAM.
При обращении к внешней памяти программ формируется активный низкий уровень сигнала, с помощью которого происходит выбор микросхемы ПЗУ [1]. Обращение к внешнему и внутреннему модулям ОЗУ осуществляется по разным командам (movх и mov соответственно), поэтому допускается перекрытие их адресов.
Схематично распределение адресов памяти программ и памяти данных показано на рис.3 и рис.4 соответственно.
Рис. 3. Распределение адресов
памяти программ
Рис. 4. Распределение адресов памяти данных
Карта распределения адресного пространства памяти программ и памяти данных указана в табл. 1.
Таблица 1
Карта распределения адресного пространства
памяти программ и памяти данных
Назначение адреса |
Адрес |
Управляющий сигнал |
|||||
Двоичный |
Шестнадца-тиричный |
||||||
BA15 |
BA14 |
BA13 |
BA12 |
BA11-BA0 |
|||
Начальный адрес внутренней памяти программ |
0 |
0 |
0 |
0 |
0 |
0000h |
- |
Конечный адрес внутренней памяти программ |
0 |
0 |
0 |
1 |
1 |
1FFFh |
- |
Начальный адрес внешней памяти программ |
0 |
0 |
1 |
0 |
0 |
2000h |
|
Конечный адрес внешней памяти программ |
0 |
0 |
1 |
1 |
1 |
3FFFh |
|
Начальный адрес внешней памяти данных |
0 |
0 |
0 |
0 |
0 |
0000h |
BA15 |
Конечный адрес внешней памяти данных |
0 |
0 |
0 |
1 |
1 |
1FFFh |
|
Начальный адрес свободной области внешней памяти данных |
0 |
0 |
1 |
0 |
0 |
2000h |
- |
Конечный адрес свободной области внешней памяти данных |
0 |
1 |
1 |
1 |
1 |
7FFFh |
|
Для разделения памяти между внешними устройствами и внешним ОЗУ используется старший разряд адреса BA15. Для обращения к внешней памяти данных RAM (тип энергонезависимая память NV SRAM) будем использовать BA15 = ”0”, для адресации внешних устройств BA15 = ”1”. Сигналы выборки устройств будут дешифроваться из трех разрядов адреса BA12, BA13 и BA14.
Для возможности подключения к МПС ещё каких-либо устройств оставлена свободная область внешней памяти данных (резерв: адреса 2000h 7FFFh), так как по заданию все внешние и интерфейсные устройства должны отображаться в память.
Карта распределения адресного пространства внешних интерфейсных устройств указана в табл. 2.
Таблица 2
Карта распределения адресного пространства
внешних интерфейсных устройств
Устройство |
Обозначение на схеме |
Адрес |
Управляющий сигнал |
|||||
Двоичный |
Шестнадца-тиричный |
|||||||
BA15 |
BA14 |
BA13 |
BA12 |
BA11-BA0 |
||||
Аналоговый мультиплексор |
DA1 |
1 |
0 |
0 |
0 |
х |
8***H |
|
ЦАП |
DA5 |
1 |
0 |
0 |
1 |
х |
9***H |
|
Регистр для запоминания младшего байта с АЦП |
DD10 |
1 |
0 |
1 |
0 |
х |
А***H |
|
Буферный формирователь для запоминания четырех старших разрядов с АЦП. |
DD9 |
1 |
0 |
1 |
1 |
х |
В***H |
|
Регистр для считывания сигналов с клавиатуры. |
DD11 |
1 |
1 |
0 |
0 |
х |
С***H |
|
Таймер-счетчик |
DD2 |
1 |
1 |
0 |
1 |
х |
D***H |
|
Регистр для светодиодной индикации X1,…,X4 |
DD14 |
1 |
1 |
1 |
0 |
x |
E***H |
|
Регистры для отображения значения Y4 на семисегментные индикаторы |
DD15, DD16 |
1 |
1 |
1 |
1 |
x |
F***H |
|
1.3. Разработка микропроцессорного модуля MPM
Принципиальная электрическая схема микропроцессорного модуля изображена на рис. 5. Данный модуль состоит из следующих элементов:
- микроконтроллер AT89S8252 (DD1);
- программируемый таймер-счетчик (DD2);
- кварцевый резонатор (ZQ1);
- логические элементы серии КР1533 (DD3 DD5);
- регистры адреса (DD6, DD7);
- дешифратор адреса (DD8).
Микропроцессорный модуль основан на микроконтроллере AT89S8252 фирмы Atmel [2]. Информация о данной микросхеме, необходимая в данной работе, представлена в приложении Д «Описание микроконтроллера AT89S8252». Дадим общие характеристики данного микроконтроллера:
- центральный восьмиразрядный процессор;
- электрически репрограммируемое ПЗУ памяти программ (EEPROM) емкостью 2 Кбайт;
- 8 Кбайт загружаемой Flash памяти (последовательный интерфейс SPI, 1000 циклов записи/стирания);
- внутренняя память данных (Internal RAM) емкостью 256 байт;
- 32 программируемые линии ввода-вывода;
- три 16-разрядных многорежимных таймера-счетчика;
- система прерываний с 9 векторами и двумя уровнями прерываний;
- последовательный SPI-интерфейс;
- универсальный асинхронный приемопередатчик UART;
- варьируемая тактовая частоты работы от 0 Гц до 24 МГц;
- рабочий диапазон напряжения питания от 4 до 6 В;
- программируемый сторожевой таймер.
Обращение к памяти. Цикл обращения к внешней памяти выполняется за два машинных такта микроконтроллера. На первом такте на выходы порта P0 поступает младший байт адреса ячейки памяти. Одновременно на выходы порта Р2 поступает старший байт адреса. Адреса на выходах портов сохраняются до момента следующего обращения к этим портам. На втором машинном такте на выходы порта Р0 может поступить байт данных для записи в выбранную ячейку памяти (режим записи) или на входы порта Р0 подается байт данных, прочитанный из выбранной ячейки памяти (режим считывания). Это обращение к порту Р0 уничтожит младший байт адреса. Поэтому его необходимо сохранить в буферном регистре адреса. Для записи младшего байта адреса служит сигнал
, вырабатываемый микроконтроллером.
Рис. 5. Модуль МРМ. Схема электрическая принципиальная
В качестве буферного 8-разрядного регистра выбирается микросхема КР1533ИР22 [5]. В данной МПС нет необходимости переводить линии адреса на выходе регистра в третье состояние, т.к. микроконтроллер единственное устройство, управляющее шиной адреса, поэтому вход регистра заземлен. В проекте используются два регистра КР1533ИР22: элементы DD6 и DD7 для защелкивания младшего и старшего байта соответственно по сигналу .
Вывод микроконтроллера заводится на землю, т.к. нам нет необходимости использовать внутреннюю память программ (репрограммируемую Flash), а будем использовать внешнюю память программ (модуль ROM) [2]. Сигнал с вывода используется в качестве сигнала выбора микросхемы внешней памяти программ и чтения из нее.
Обработка прерываний. MPM осуществляет приём и обработку внешних сигналов прерываний , а также сигнала, поступающего от оператора при нажатии кнопок ПУСК, ВВОД или МЕНЮ [1].
Так как микроконтроллер содержит только 2 внутренних обработчика внешних сигналов прерываний, сигналы прерывания и идут на элемент КР1533ЛИ1 [3] (реализует функцию «2И»), после чего сигнал поступает на вход Р3.3 микроконтроллера. Таким образом, по приходу любого из сигналов прерываний или МК начнет обработку прерывания. Сигнал прерывания заводится на порт Р3.0. Далее в программе анализируется значение этого порта. Если оно равно «1», то обработка прерывания , иначе . Сигнал прерывания заводится на порт Р3.2.
Формирование сигналов Y1, Y2, Y3. Формирование Y1 осуществляется с помощью трехканального таймера-счетчика КР580ВИ53 [4]. Выбор таймера осуществляется сигналом с дешифратора . Таймер может работать в шести режимах, в данной работе используется режим 1 (режим ждущего мультивибратора) для формирования сигнала Y1. Для этого используем канал 0 таймера. Для адресации канала таймера-счетчика используются два разряда шины адреса BA0, BA1. На вход синхронизации канала С0 подается сигнал SCL, используемый также в качестве синхросигнала в протоколе I2C. Этот сигнал формируется на выводе микроконтроллера Р3.4. На разрешающий вход CE0 заводим сигнал с порта P1.1 микроконтроллера. В качестве управляющего слова на входы D0 D7 канала 0 по шине данных заводится комбинация 00110010, которая инициализирует данный канал в нужном нам режиме. Затем по сигналу осуществляется ввод числа n также на входы D0 D7, от которого зависит длительность выходных сигналов. В нашем случае n=1000, т.к. длительность выходного сигнала Y1 равна 50 мс, а время машинного цикла TMCY = 50 мкс (расчеты см. на стр. 13, 14).
Формирование сигналов Y2 и Y3 происходит программным способом и для вывода данных сигналов отведен один вывод МП P1.3 (т.к. сигналы Y2 и Y3 взаимоисключающие). Соответствующий сигнал в блоке MPM носит название Y2/Y3. Так как в микроконтроллере имеется встроенный программируемый
Организация шины управления ВС. Выбор всех внешних устройств МПС производится на основе карт распределения адресного пространства внешних интерфейсных устройств (см. табл. 2). Выбор микросхемы и разрешение выхода внешнего ПЗУ происходит по сигналу , формируемому микроконтроллером при выборке очередной команды на одноименном порту. Старший разряд адреса ВА15 используется для обращения к внешнему ОЗУ или к другим внешним устройствам. Сигнал ВА15 заводится на элемент КР1533ЛИ1 [3] вместе с инвертированным сигналом .
Таким образом, при высоком уровне сигнала ВА15 и высоком уровне сигнала (нет обращения к внешней памяти программ) на выходе КР1533ЛИ1 сформируется низкий уровень сигнала , осуществляющий выбор микросхемы ОЗУ внешней памяти данных.
Для реализации схемы управления обращением к внешним устройствам необходим дешифратор на 8 выходов. В данной работе используется микросхема КР1533ИД7 [3], представляющая собой дешифратор/демультиплексор 3 на 8. Дешифратор выдает на выход активный сигнал (выбора внешнего устройства) только если ВА15=1. Следовательно, необходимо через инвертор КР1533ЛН1 [3] подать ВА15 на разрешающие входы дешифратора . Вход Е3 подключен к питанию. На адресные входы дешифратора подаются сигналы ВА12, ВА13, ВА14.
Низкие уровни сигналов записи и чтения для всех внешних устройств формируются микроконтроллером на выходах Р3.6 и Р3.7 [1].
С выхода Р1.0 микроконтроллера на световой индикатор аварийной сигнализации поступает сигнал ALARM, формируемый внутренним таймером Т2, работающим в режиме генератора внешних тактовых сигналов с требуемой частотой 2 Гц.
На вход RST микроконтроллера поступает сигнал с RESET от кнопки сброса на пульте управления CPAN.
C вывода Р3.4 микроконтроллера поступает сигнал синхронизации SCL на ЦАП. По заданию данные в ЦАП вводятся в соответствии с параллельным интерфейсом ввода. Значит необходимо выбрать ЦАП, совместимый с этим интерфейсом. Второй сигнал SDA, используемый как канал передачи данных по I2С между микроконтроллером и АЦП, идет с вывода Р3.1 микроконтроллера.
Сигналы, идущие с дешифратора, предназначены для выбора внешних устройств. Помимо сигнала , описанного выше, это сигналы и для выбора аналогового мультиплексора и ЦАП соответственно, и для выбора регистра считывания сигналов с клавиатуры и для выбора таймера-счетчика соответственно. Сигнал управляет формирователем для запоминания четырех старших разрядов, выходящих с АЦП. Также с дешифратора идет сигнал , управляющий регистром для принятия младшего байта с АЦП. Сигналы и отвечают за индикацию сигналов X1,…,X4 и вывод сигналов с шины данных на сегментные индикаторы соответственно.
Для ввода цифровых сигналов Х1, Х2, Х3, Х4 в микроконтроллер от цифровых датчиков используются разряды Р1.4 Р1.7 порта.
Для вывода цифровых управляющих сигналов Y1, Y2, Y3 используются разряды P1.1, P1.2 и P1.3 этого же порта.
Тактовый генератор. Исходя из рекомендация производителя Atmel, частота синхронизации микроконтроллера AT89S8252 с тактовым генератором может лежать в диапазоне от 0 Гц до 24 МГц. Опорную частоту синхронизации определяет кварцевый резонатор ZQ1, подключаемый к выводам XTAL1 и XTAL2.
В данном проекте необходимо получить минимальную мощность потребления МПС. Следовательно надо определить минимальную тактовую частоту, при которой возможно нормальное функционирование МПС, т.е. своевременно выполнялись все операции в МПС. Очевидно, что считывание из ROM, а также считывание и запись в RAM будет происходить своевременно при частотах чуть менее 55 МГц и 143 МГц соответственно (т.к. время доступа в данных МСП ROM и RAM 180 нс и 70 нс соответственно). Исходя из этого, условиями для выбора минимальной частоты работы микроконтроллера будут:
1) своевременная обработка нажатий клавиш на клавиатуре оператором;
2) требуемое время цикла управления МПС приблизительно равно 0,5 с.
Для нахождения минимальной частоты работы микроконтроллера по первому условию предположим, что оператор нажимает клавиши на клавиатуре с максимальной скоростью 100 нажатий в секунду. Тогда примем за необходимую частоту опроса клавиш величину Гц. Из данной частоты опроса клавиш получим период опроса: с. Допустим, что для обработки одной нажатой клавиши необходимо проделать команд (эту цифру берем с запасом). Учтем, что в системе команд данного микроконтроллера одна операция занимает в среднем машинных цикла, а один машинный цикл состоит из машинных тактов (т.к. в МЦ 6 фаз (S1 S6) по 2 такта в каждой итого 12 тактов). Найдём минимальную частоту работы микроконтроллера по первому условию:
КГц
Для нахождения минимальной частоты работы микроконтроллера по второму условию предположим, что в нашей программе для управления МПС имеется команд (число команд берем с запасом) и каждая из них в среднем выполняется за машинных цикла, а один машинный цикл состоит из машинных тактов. Исходя из этого, время цикла будет равно:
TCY = мкс, отсюда:
fMC ≥ 1/ TCY = 1/20,83 = 48 КГц
Из полученных результатов, выбираем минимальную частоту работы микроконтроллера fMC = 240 КГц по более строгому условию 1).
Следовательно, время цикла и машинный цикл микроконтроллера при данной частоте fMC будут равны:
TCY = 1/fMC = 1/240 КГц = 4,16 мкс;
TMCY = 12 * TCY = 12 * 1/fMC = 12 тактов * 4,16 мкс = 49.92 ≈ 50 мкс.
Т.к. кварцевые резонаторы при включении в схему могут выдавать частоту на 5-10 КГц меньше заявленной номинальной, то выберем частоту синхронизации микроконтроллера fMC = 250 КГц. Используем в качестве ZQ1 кварцевый резонатор ZTB-250 КГц [4]. Информация о кварцевом резонаторе, необходимая в данной работе, представлена в приложении П «Описание кварцевого резонатора ZTB».
В цепь резонатора дополнительно включаются конденсаторы С1 и С2, емкостью 30 пФ каждый в соответствии с рекомендациями производителя микроконтроллера AT89S8252 [2]. Выберем в качестве С1, С2 конденсаторы
К10-17А-30 пФ 5% [5].
Все сигналы шины управления модуля MPM приведены в табл. 3.
Таблица 3
Сигналы шины управления модуля MPM
Название сигнала |
Назначение сигнала |
Световой аварийный сигнал |
|
Сигнал сброса МП |
|
Низкий уровень сигнала для обращения к внешней памяти данных, высокий уровень сигнала для адресации внешних устройств |
|
Прерывание в случае отказа источника питания |
|
SDA |
Канал данных в последовательном коде между МП и АЦП |
Прерывание от аварийного датчика |
|
Прерывание от оператора |
|
SCL |
Синхросигнал из МП в АЦП |
Сигнал записи во внешнюю память |
|
Сигнал чтения из внешней памяти |
|
Выбор микросхемы внешней памяти программ |
|
ALE |
Сигнал сохранения младшего байта адреса в регистр |
Выбор микросхемы аналогового мультиплексора |
|
Выбор микросхемы внешней памяти данных |
|
Выбор микросхемы ЦАП |
|
Выбор буферного формирователя для запоминания четырех старших разрядов с АЦП |
|
Выбор регистра для запоминания младшего байта с АЦП |
|
Выбор регистра для считывания сигналов с клавиатуры |
|
Выбор микросхемы таймера-счетчика |
|
Выбор светодиодных индикаторов для индикации X1,…,X4 |
|
Выбор сегментных индикаторов для отображения значения Y4 |
1.4. Разработка модуля внешней памяти программ ROM
Для построения модуля ROM используется микросхема памяти M2764A [6] фирмы STMicroelectronics с минимально возможным временем доступа 180 нс. Информация о микросхеме, необходимая в данной работе, представлена в приложении Е «Описание ПЗУ M2764А». Эта микросхема представляет собой репрограммируемое ПЗУ с ультрафиолетовым стиранием (тип EPROM) и имеет организацию 8К слов по 8 бит.
Схема модуля ROM приведена на рис. 7.
Рис. 6. Модуль ROM. Схема электрическая принципиальная
Микросхема M2764A может работать в восьми режимах: считывания, хранения (выходы в третьем состоянии), программирования, проверки (проверка производится после программирования для того, чтобы убедиться, что биты записаны верно), подавления программирования (применяется при программировании сразу нескольких микросхем, связанных в параллель), паузы, считывания электронного кода производителя и стирания.
Модуль запоминающего устройства проектируется с учётом только режимов хранения и считывания. В связи с этим вся необходимая информация должна быть занесена в память микросхемы заблаговременно с помощью программатора. Очевидно, что возможно менять управляющую программу МПС посредством перепрограммирования схем модуля ROM.
Во избежание преждевременной потери информации при её длительном хранении окно корпуса (для пропуска стирающего облучения) микросхемы должно быть защищено от воздействия ультрафиолетового и видимого излучений, например не пропускающей эти виды излучений плёнкой или дополнительным защищённым корпусом.
Микросхема M2764A имеет ёмкость 8К8 (8 кбайт). С учетом внутренней памяти команд микроконтроллера, общая память программ составляет 16К8 (16 кбайт), этого достаточно для хранения всей управляющей программы с требуемым запасом. Поэтому модуль ROM содержит всего одну микросхему M2764A-2F1 без дополнительных управляющих схем.
Адресные входы А0, ..., А12 микросхемы подключаются к линиям BA0, ..., BA12 шины адреса соответственно. Входы/выходы данных DIO0, .., DIO7 подключаются к линиям BD0, ..., BD7 шины данных соответственно.
Для обеспечения режимов хранения и считывания на вход VСС подаётся напряжение питания UCC, на вход также подаётся напряжение питания UCC. На вход (вход выбора микросхемы) и вход разрешения выхода поступает сигнал с шины управления. В остальное время информационные выходы микросхемы находятся в третьем состоянии.
1.5. Разработка модуля внешней памяти данных RAM
Для построения модуля RAM используется микросхема DS1225AB фирмы STMicroelectronics типа NV SRAM с временем доступа 70 нс [7]. Информация о микросхеме, необходимая в данной работе, представлена в приложении Ж «Описание ОЗУ DS1225AB».
Схема модуля RAM приведена на рис. 8.
Рис. 7. Модуль RAM. Схема электрическая принципиальная
Эта микросхема представляет собой статическое ОЗУ с встроенным источником питания (литиевая батарейка), так что данные автоматически сохраняются при отключении внешнего питания. Число циклов считывания и записи не ограничено.
Микросхема DS1225AB имеет ёмкость 8К8. Совокупности внутреннего и внешнего ОЗУ достаточно для хранения всех данных с требуемым запасом. Поэтому МПС содержит всего одну микросхему DS1225AB без дополнительных управляющих схем.
Микросхема имеет низкое потребление, предусмотренные режимы работы: режим считывания, записи, режим сохранения данных при отключении основного источника питания. Последний режим обеспечивает автоматическое переключение к литиевой батарейке при напряжении VСС < 3 В и защиту от записи при напряжении VСС < 4.5 В.
Адресные входы А0, …, А12 микросхемы подключаются к линиям BA0, …, BA12 шины адреса соответственно. Входы/выходы данных DQ0, …, DQ7 подключаются к линиям BD0, …, BD7 шины данных соответственно.
На вход выбора микросхемы поступает сигнал с шины управления. При низком уровне на входе режим записи или считывания выбирается сигналом низкого уровня на входе или соответственно, поэтому на входы и поступают сигналы и соответственно с шины управления. При отсутствии обращения к БИС ОЗУ выходы микросхемы находятся в третьем состоянии.
1.6. Построение временной диаграммы для режима записи в ОЗУ
Операция записи во внешнюю память данных выполняется за два машинных цикла микроконтроллера. Формирование циклов записи произведем с помощью команды MOVX A, @DPTR, где А - адрес в ОЗУ, куда будем записывать данные, DPTR - 16-разрядный регистр указатель памяти.
На рис. 9 показан цикл записи во внешнюю память данных в соответствии с описанием микроконтроллера AT89S8252 (см. приложение Д).
Рис. 8. Цикл записи во внешнюю память данных
Сигнал ALE вырабатывается два раза в каждом машинном цикле. В начале второго машинного цикла первый сигнал ALE пропускается, поскольку в регистре необходимо сохранить младший байт адреса. Каждый машинный цикл состоит из 6 фаз или 12 тактов (в каждой фазе 2 такта).
Для того чтобы продемонстрировать запись в ОЗУ покажем на диаграммах промежуток времени с середины первого машинного цикла, до середины второго. За первые два такта первого машинного цикла (на диаграммах не показано) осуществляется чтение команды операции. В середине первого цикла выставляется адрес операнда на выводах портов Р0 и Р2, причем младший байт адреса записывается в регистр с помощью сигнала ALE. После того, как был выдан младший байт адреса, на порт P0 выдаются данные, а спустя время предустановки подается сигнал записи.
Приведем временные параметры, указанные в описании микроконтроллера AT89S8252 (см. приложение Д), которые понадобятся нам при построении временной диаграммы для режима записи в ОЗУ в табл. 4 (формулы для вычисления длительностей сигналов, приведенных в таблице, указаны в приложении Д).
Таблица 4
Временные параметры микроконтроллера
Обозначение сигнала на диаграмме |
Обозначение сигнала в описании AT89S8252 |
Значение сигнала |
Длительность сигнала, мкс |
|
мин. |
макс. |
|||
Длительность сигнала ALE |
8,28 |
- |
||
Время от окончания сигнала записи до начала сигнала ALE |
4,12 |
- |
||
Время от окончания сигнала ALE до сигнала записи |
12,43 |
12,53 |
||
Длительность сигнала записи |
24,86 |
- |
||
Время от поступления адреса до окончания сигнала ALE |
4,147 |
- |
||
Время от окончания сигнала ALE до окончания адреса |
4,14 |
- |
||
Предустановка данных перед сигналом записи |
4,14 |
- |
||
Время от начала данных до окончания сигнала записи |
29 |
- |
||
Время удержания данных после окончания сигнала записи |
4,14 |
- |
||
Время от поступления адреса до сигнала записи |
16,565 |
- |
Примечание время машинного цикла TMC (в описании AT89S8252 ) при частоте fMC = 240 КГц, исходя из подсчетов в п. 1.3, составило 4,16 мкс = 4160 нс при минимально допустимом 41,6 нс.
Временная диаграмма для режима записи в ОЗУ приведена на рис. 9.
Диаграмма построена для режима работы микроконтроллера при частоте fMC = 240 КГц, значит масштаб времени должен быть построен исходя из расчетов TCY = 4,16 мкс и TMCY = 50 мкс (см. п. 1.3).
Рис. 9. Временная диаграмма для режима записи в ОЗУ
Примечания
t1 = t'1 = t2 = t'2 = tP.DD6 = tPHL.DD7 ≤ 23 нс.
t3 =t'3= tP.DD3.1 + tP.DD7 ≤ 14 + 23 = 37 нс.
Временная диаграмма построена для режима записи в ОЗУ при условии прихода сигнала раньше сигнала , т.к. мы будем подавать сигнал выбора микросхемы ОЗУ раньше сигнала записи .
Покажем согласованность работы микроконтроллера и микросхемы ОЗУ по временным параметрам. В расчетах используем минимальные значения временных параметров, указанные в табл. 4 и описании микросхемы ОЗУ (см. рис. 9 и приложение Ж).
Предустановка адреса.
Для микроконтроллера: + - t1 = 4,147 + 12,43 - 0,023 = 16,554 мкс.
Для микросхемы ОЗУ: tAW.MIN = 0 нс.
Предустановка данных.
Для микроконтроллера: = 4,14 мкс.
Для микросхемы ОЗУ: tDS.MIN = 30 нс.
Длительность сигнала записи.
Для микроконтроллера: = 24,86 мкс.
Для микросхемы ОЗУ: tWP.MIN = 55 нс.
Время цикла записи.
Для микроконтроллера: + + - t1 = 4,147 + 12,43 + 24,86 - 0,023 = 41,324 мкс.
Для микросхемы ОЗУ: tWC.MIN = 70 нс.
Как видим, все условия согласования работы микроконтроллера и микросхемы ОЗУ в выбранном режиме и с учетом ранее рассчитанной частоты fMC = 240 КГц выполнены.
1.7. Разработка модуля интерфейсных устройств ввода и вывода IOU
Схема модуля IOU приведена на рис. 10. Модуль состоит из блоков:
- аналоговый мультиплексор (DA1);
- АЦП с последовательным интерфейсом I2C (DA3);
- ЦАП с параллельным интерфейсом (DA5);
- внешний источник опорного напряжения (DA2);
- регистр для ввода младшего байта с шины данных (DD9);
- формирователь старшего байта с шины данных (DD8);
- операционный усилитель для совместной работы с ЦАП (DA4).
Входные напряжения Х5, Х6, Х7 подаются на внешний аналоговый мультиплексор 4 в 1 МАХ4634 фирмы Maxim [7], который позволяет подавать на него напряжение питания от 4,5В до 5,5В. Информация о микросхеме, необходимая в данной работе, представлена в приложении Л «Описание аналогового мультиплексора МАХ4634». Мультиплексор имеет 3 управляющих входа: EN разрешающий вход, А0, А1 адресные входы. На вход EN подадим инвертированный сигнал выбора мультиплексора с дешифратора КР1533ИД7 [5] в блоке MPM, а на адресные входы подадим сигнал ВА0, ВА1 с адресной шины.
Далее сигнал с выхода мультиплексора подается на вход AIN0 двухканального АЦП МАХ11644 фирмы Maxim [7]. Второй канал остается неиспользованным. Данный АЦП был выбран, т.к. одноканальные АЦП, удовлетворяющие всем условиям технического задания на проект, довольно редки. Информация о микросхеме, необходимая в данной работе, представлена в приложении И «Описание АЦП МАХ11644». Выходной код 12-разрядный, погрешность измерения будет равна половине веса младшего разряда: В.
Сигнал синхронизации подается с вывода P3.4 микропроцессора на вход SCL, а данные передаются по каналу данных SDA между АЦП и МП в последовательном коде: от АЦП к МП это выходные данные преобразованных Х5, Х6, Х7, а от МП к АЦП это входные данные, например для инициализации АЦП [1,4]. Вывод VDD АЦП подключается через конденсатор С7 (рекомендованный номинал 0,1 мкФ) к Ucc (возможно использование источников питания 3,3В или 5В ).
На вход REF АЦП подключается источник опорного напряжения REF198
[6]. Информация о микросхеме, необходимая в данной работе, представлена в приложении К «Описание источника опорного напряжения REF198».
Вывод не используется и его можно подключить к Ucc. Вывод Vs микросхемы REF198 подключается к земле через параллельные конденсаторы С4 и С3. Их значения указаны в описании микросхемы: С4=0.1 мкФ, С3=10 мкФ. Вывод OUTPUT, идущий на входы микросхем АЦП и ЦАП, подключается
Рис. 10. Модуль IOU. Схема электрическая принципиальная
к земле через конденсаторы С5 и С6. Их значения также указаны в описании микросхемы REF198: С5=1 мкФ, С6=0.1 мкФ.
Исходя из номиналом выберем конденсаторы:
- C3 К10-17А-10 мкФ 5%;
- C4, С6, С7 К10-17А-0.1 мкФ 5%;
- C5 К10-17А-1 мкФ 5% [5].
В проекте используется ЦАП MX7545A фирмы Maxim [7] с интерфейсом параллельного ввода данных. Информация о микросхеме, необходимая в данной работе, представлена в приложении М «Описание ЦАП MX7545A». Данный ЦАП имеет 12 входов для данных (BD0 BD11), что соответствует также разрядности АЦП. Но т.к. шина данных BD имеет 8 разрядов, то нам понадобятся 2 микросхемы для запоминания младшего и старшего байтов.
Для сохранения младшего байта с шины BD в проекте используется регистр КР1533ИР22 [5], имеющий 8 разрядов, а также входы С и тактовый вход и вход разрешения снятия состояния высокого импеданса. На вход С мы подаем инверсный сигнал (сокр. от Register Activity), а на вход прямой сигнал , идущий с дешифратора КР1533ИД7 [5] из блока MPM.
Для сохранения старшего байта с шины BD (а точнее разрядов BD8 BD11), используем четырехразрядный формирователь с тремя состояниями на выходе КР1533АП4 [5] (используется только один формирователь из двух в корпусе микросхемы). Управляется он входом разрешения снятия состояния высокого импеданса , на который мы подадим сигнал , идущий с дешифратора КР1533ИД7 из блока MPM.
После прохождения через регистр и четырехразрядный формирователь, данные поступают на входы BD0 BD11 ЦАП MX7545А. Помимо информационных входов, ЦАП имеет входы и . На вход мы подаем сигнал выбора ЦАП с дешифратора КР1533ИД7 из блока MPM, а на вход сигнал записи с вывода P3.6 МК из блока МРМ. На вход VREF ЦАП через резистор R3 также подключается источник опорного напряжения REF198. Рекомендуемый номинал R3 50 Ом. В схеме подключения, рекомендованной производителем ЦАП, имеется также операционный усилитель MAX400 [7]. Информация о микросхеме, необходимая в данной работе, представлена в приложении Н «Описание ОУ MAX400» . Рекомендуемые значения номиналов R1, R2 и С8: 20 кОм, 27 Ом, 33 пФ.
Исходя из номиналом выберем резисторы и конденсатор:
- R1 С1-4-0.125Вт-20 кОм 5%;
- R2 С1-4-0.125Вт-27 Ом 5%;
- R3 С1-4-0.125Вт-50 Ом 5%;
- C8 К10-17А-33 пФ 5% [5].
Выходным сигналом в модуле IOU является значение функции Y4, снимаемое с вывода ОУ VOUT.
1.8. Разработка модуля управления CPAN
Схема модуля управления CPAN приведена на рис. 11. Модуль содержит следующие блоки:
- матрица клавиш клавиатуры 4 × 5, содержащая алфавитно-цифровые клавиши (SB1 SB20);
- клавиши «ПУСК», «ВВОД», «МЕНЮ», «СБРОС» (SB21 SB24);
- регистр выбора строк матрицы (DD11);
- дешифратор выбора столбцов матрицы (DD12).
В качестве SB1 SB25 выбираются кнопки PSW-4010. Для данного типа кнопок напряжение и ток соответственно составляют 30 В, 3 А.
В данной работе применяется схема организации пульта управления с программно организованным опросом кнопок.
Клавиши (SB1-SB20) расположены в виде матрицы из 4-х столбцов и 5-ти строк. Для определения кода нажатой клавиши используется схема сканирования методом «бегущего нуля», состоящая из дешифратора выбора столбцов и регистра строк [9]. При установке низкого уровня на одном из выходов дешифратора производится считывание информации в регистр строк. Ноль в определенном разряде регистра указывает на положение нажатой клавиши в столбце, выбранном дешифратором в текущий момент. В качестве дешифратора используется микросхема КР1533ИД4 [3]. Информационные входы SE1, SE2 данной микросхемы подключаются к разрядам BA0, BA1 шины адреса BA. Это позволяет, обращаясь по различным адресам, производить опрос соответствующих столбцов матрицы клавиш клавиатуры. Вход разрешения данной микросхемы подключается к земле, так как нет необходимости устанавливать высокие уровни на выходах дешифратора. Входы , 2С и 2D подключаются к напряжению питания Ucc, т.к. микросхема используется в режиме дешифратора 2х4.
Определение строки, содержащей нажатую клавишу, производится с помощью первых 5-ти разрядов регистра строк, в качестве которого используется 8-разрядный регистр КР1533ИР22[3] с тремя состояниями на выходе. Так как регистр записывает информацию при высоком уровне на входе C, то на него подается инвертированный сигнал с шины управления. Для выбора регистра строк используется сигнал шины управления. При высоком уровне сигнала выходы регистра находятся в третьем состоянии. В отдельную группу выделяются три управляющие клавиши «ПУСК» (SB21), «ВВОД» (SB22) и «МЕНЮ» (SB23). Так как при нажатии одной из них необходимо формировать прерывание, один выход каждой клавиши соединяется с землей, а другой подается на один из последних 3-х разрядов регистра строк и на вход элемента «3И», который при нажатии одной из 3-х клавиш сформирует сигнал прерывания [1].
Рис. 11. Модуль CPAN. Схема электрическая принципиальная
При его обработке опрашивается регистр строк и по содержимому его 3-х последних разрядов определяется, нажатие какой из управляющих клавиш вызвало прерывание от оператора. При этом уровень «0» в одном из трех разрядов регистра будет определять нажатие соответствующей клавиши. Резисторы R9, R10, R11 используются для формирования «логического 0» на соответствующей линии в момент нажатия клавиши. Для реализации функции «3И» используется микросхема КР1533ЛИ3. Вывод данных с регистра DD9 управляется подачей на вход С сигнала , проходящим через инвертор КР1533ЛН1 [3].
Диоды (VD1, …, VD4) [8] на выходах дешифратора выбора столбца необходимы для защиты от короткого замыкания его выходов при одновременном нажатии нескольких клавиш в одной строке. Используются диоды Д219А. Необходимая в данном проекте информация для данных диодов представлена в приложении С «Описание диодов, используемых в проекте». Предельный допустимый постоянный ток Iпр равен 20 мА при 100С. Предельное допустимое обратное напряжение составляет 70 В. При данном напряжении и температуре в 70С постоянный обратный ток составляет не более 30 мкА. Диоды на выходах дешифратора включаются таким образом, что при возникновении ситуации, когда происходит их встречное включение, при этом ток, протекающий по цепи от одного элемента к другому, будет чрезвычайно мал.
Резисторы R4, …, R8 необходимы для ограничения тока в цепи. Далее приведен расчёт резисторов R4, …, R8 на примере расчёта резистора R4 (расчёт остальных резисторов аналогичен).
Минимальное значение сопротивления резистора R4 определяется нагрузочной способностью соответствующей линии сканирования дешифратора выбора столбца. Наихудшим случаем является случай, когда будут нажаты в одном столбце одновременно все 5 клавиш, тогда на 1 линию сканирования собираются токи от всех 5 резисторов, соединённых параллельно, и входные токи первых 5-ти разрядов регистра строк. Запишем условие электрического сопряжения:
,
, где
IR4max максимальный ток через резистор R4,
IIL.КР1533ИР22.max максимальный входной ток низкого уровня КР1533ИР22,
IOL.КР1533ИД4.max максимальный выходной ток низкого уровня КР1533ИД4
[ 5 ].
Тогда минимальное значение сопротивления резистора R4 рассчитывается при условиях максимального значения напряжения питания UССmax = 5.5 В, минимального значения выходного напряжения низкого уровня на выходе дешифратора UOL.ИД4.min = 0 В и минимального падения напряжения на диоде
UDmin = 0 В при токе IR4 max = 1.8 мА:
.
Исходя из данного условия, выберем из номинального ряда резистор номиналом 3,3 кОм.
Исходя из максимального тока через резистор и значения его сопротивления, можно оценить максимальную рассеиваемую мощность на данном резисторе:
.
Таким образом, в качестве резисторов R4 R8 можно выбрать резистор типа С1-4-0.062Вт-3.3 кОм 5% [5].
Далее приводится расчет резисторов R9 R11 на примере R9.
Минимальное значение номинала резистора R9 рассчитывается исходя из того, что ток коммутации клавиши не должен превышать максимально допустимого значения 20 мкА для входного тока регистра КР1533ИР22 при условии максимального значения напряжения питания UССmax = 5.5 В:
R9min = .
Из номинального ряда выбирается резистор номиналом 300 Ом (т.к. рассчитанное значение 275 Ом является минимально возможным значит надо взять номинал резистор немного больше).
Максимальная мощность, рассеиваемая на резисторе:
PR9 max = R9 max R9=
Таким образом, в качестве резисторов R9 R11 выбирается резистор типа С1-4-0.062Вт-300 Ом 5% [5].
Аналогично рассчитывается резистор R14, ограничивающий ток, идущий на входы данных и входы стробирования дешифратора/демультиплексора 2 на 4 КР1533ИД4, также имеющего максимально допустимое значение 20 мкА для входного тока при условии максимального значения напряжения питания UССmax = 5.5 В:
R14min =
В качестве резистора R14 также выбираем резистор номиналом 300 Ом.
Максимальная мощность, рассеиваемая на резисторе:
PR14 max = R14 max R14=
В качестве резистора R14 выбирается резистор типа С1-4-0.062Вт-300 Ом 5% [5].
Сброс МПС производится клавишей SB24, которая вырабатывает сигнал RESET. Произведем расчет цепи сброса. Сброс МП AT89S8252 происходит при удержании на входе RST высокого уровня в течение времени, не менее чем два машинных цикла на частоте 240 КГц это время составляет 100 мкс (см. пункт 1.3). Примем время сброса: tСБР = 100 мкс.
Средний уровень логической единицы при сбросе:
UIН.RST.AVG = UIН.RST.MIN + UIН.RST.MAX = (4 В + 6 В)/2 = 5 В. [2]
Ом.
Пусть С9 = 10 мкФ , тогда: R13 ≥ .
В качестве R13 выбирается резистор С1-4-0.5Вт -110 Ом 5% [5].
Максимальная мощность на резисторе:
.
В качестве С9 возьмем конденсатор К10-17А-10 мкФ 5% [5]. Для того, чтобы кнопка не сгорела в момент коммутации, последовательно за ней включается резистор R12 =
Максимальная мощность рассеивания на резисторе R12, с учетом скважности Q = 1000:
.
В качестве R12 выберем резистор С1-4-0.062Вт -56 Ом 5% [5].
1.9. Разработка модуля индикации INDC
Схема модуля индикации INDC представлена на рис. 12. Модуль состоит из следующих блоков:
- регистр управления светодиодами (DD14);
- регистр вывода информации на семисегментные индикаторы (DD15);
- регистр выбора семисегментного индикатора (DD16);
- блок из четырех семисегментных индикаторов (HG1 HG4);
- блок из четырех светодиодов VD5 VD8 для отображения X1 X4;
- светодиод аварийной сигнализации VD9.
Для индикации сигналов X1,…,X4 используется 8-разрядный регистр КР1533ИР22 [5] с тремя состояниями на выходе (DD14). На его информационные входы заводятся сигналы X1, …, X4, вход подключается к земле, в результате чего индикаторы будут всегда отображать сигналы X1, …, X4, а на вход С подается инвертированный сигнал с шины управления, который при низком уровне снимает третье состояние на выходе. Для отображения значений X1,…,X4 используются светодиоды GNL-10003GC (VD6 VD9), которые подключаются к выходам регистра DD12. Их цвет свечения зеленый. Для аварийной сигнализации будет использоваться светодиод GNL-10003SRT (VD5), который светится красным цветом. Необходимая в данном проекте информация для данной серии светодиодов представлена в приложении С «Описание диодов, используемых в проекте». Сигнал управления аварийной сигнализацией ALARM подается вывода микроконтроллера Р1.0 из блока микропроцессорного модуля МРМ. Надписи X1,…,X4 и ALARM должны располагаться в непосредственной близости от диода.
Максимальный постоянный прямой ток через данные диоды составляет 30мА. Выходное напряжение низкого уровня микросхемы КР1533ИР22 UOL.ИР22 ≤ 0.5 В (при IOL = 24 мА) [5]. Рассчитаем сопротивление резисторов R16 R19 для диодов, управляемых с помощью регистра. Расчет будем производить на примере резистора R16. Диод «зажигается», когда на выходе регистра логический 0, в этом случае напряжение на участке цепи «светодиод VD6 резистор R16» UR15-VD6 будет находиться в диапазоне:
UCC min UOL.ИР22 max < UR16-VD6 < UCC max UOL.ИР22 min;
4.5 0.5 < UR16-VD6 < 5.5 0;
UR16-VD6 min = 4 B < UR16-VD6 <5.5 B = UR16-VD6 max,
где UR16-VD6.min - минимальное напряжение на участке цепи «светодиод VD6 резистор R16», UR16-VD6 max - максимальное напряжение на участке цепи «светодиод VD6 резистор R16». Тогда напряжение на резисторе R16 будет лежать в пределах:
Рис. 12. Модуль INDC. Схема электрическая принципиальная
UR16 min = UR16-VD6 min Uпр ном = 4 2 = 2 B;
UR16 max = UR16-VD6 max Uпр ном = 5.5 2 = 3.5 B,
где UR16 min минимальное напряжение на резисторе R16, UR16 max максимальное напряжение на резисторе R16. Тогда сопротивление резистора найдем следующим образом:
R16≤ UR16 max/ Iпр ном = 3.5 / 0.03 = 116.67 Ом;
R16≥ UR16 min/ Iпр ном = 2 / 0.03 = 66.67 Ом.
Выберем резистор номиналом 100 Ом, тогда мощность рассеивания составит:
PR16= I2пр ном ∙R16 = (30∙10-3) ∙100 = 0.09 Вт.
Возьмем в качестве R16R19 резисторы С1-4-0.125Вт-100 Ом 5%.
Произведем расчет резистора R15. Выходное напряжение низкого уровня для вывода Р1.0 микроконтроллера UOL.Р1.0 ≤ 0.5 В [2]. Т.к. UOL.ИР22 ≤ 0.5 В и UOL.Р1.0 ≤ 0.5 В, то расчет полностью аналогичен расчету резисторов R16 R19 и мы берем тот же номинал 100 Ом и ту же мощность рассеивания: PR15 = 0.09 Вт.
Возьмем в качестве R15 резистор С1-4-0.125Вт-100 Ом 5%.
Для управления работой семисегментных индикаторов используются два регистра КР1533ИР22 [5] DD15, DD16. Элемент DD15 предназначен для хранения информации с шины данных (BD0 BD7) для последующего ее вывода на семисегментые индикаторы. Элемент DD16 предназначен для вывода номера позиции (выбор знакоместа), причем активному значению сигнала соответствует низкий уровень. Входы регистров DD15, DD16 также подключаются к земле, а на входы С подается инвертированный сигнал с шины управления, который при низком уровне снимает третье состояние на выходе. Вывод данных на индикаторы следует выводить кадрами со скоростью не менее 25 кадров с секунду (один кадр 40 мс). Поскольку индикатор состоит из четырех знакомест, то одно знакоместо должно быть активно 40/4 = 10 мс. Будем использовать режим динамического отображения. В любой момент времени данные высвечиваются только на одном индикаторе, а другие отключены. Так как переключение между индикаторами осуществляется с частотой в несколько десятков герц, то глаз воспринимает это так, как будто все они горят непрерывно.
В проекте использованы зарубежные семисегментные индикаторы SA04-11SRWA (HG1-HG4) фирмы Kingbright с общим анодом. Цвет свечения красный. Количество индикаторов выбрано из расчета числа разрядов кода Q4. Так как нам необходимо выводить значение Q4 в диапазоне от 0 до 4,096В, то для вывода достаточно четырех таких индикатора.
Индикатор SA04-11SRWA имеет следующие характеристики:
- красный цвет свечения;
- сила света не менее 150 мкКд;
- постоянный прямой ток через один сегмент IIND = 10 мА;
- постоянный прямой ток через все сегменты IIND общ = 80 мА;
- предельный постоянный прямой ток через один сегмент IIND max = 11 мА;
- постоянное прямое напряжение при токе IIND = 10 мА UIND ≤ 2 В;
- температура окружающей среды от 60 С до 70 С.
Пусть, первоначально переключение между индикаторами происходит с частотой 25 Гц, (см. стр.34).
За выбор семисегментного индикатора отвечает регистр DD16. Для этого на соответствующем выходе регистра должен быть низкий уровень напряжения (логический 0), так как в проекте используются транзисторы p-n-p типа KT501Б. Транзистор работает в ключевом режиме и имеет следующие характеристики:
- максимальный ток коллектора IК max = 300 мА;
- предельное напряжение между коллектором и эмиттером UКЭ max = 15 В;
- предельное напряжение между коллектором и базой UКБ max = 15 В;
- предельное напряжение между эмиттером и базой UЭБ max = 10 В;
- коэффициент = 40 120;
- напряжение между коллектором и эмиттером в режиме насыщения
UКЭ нас = 0.4 В.
При степени насыщения S = 2 ток базы равен:
IБ = S*Iк / = S*IIND общ / =2*80 / 40 = 4 мА.
Резисторы R20 и R21, R22 и R23, R24 и R25, R26 и R27 образуют делители напряжения, обеспечивающие работу транзисторов VT1, VT2, VT3 и VT4 соответственно в режиме насыщения, в котором напряжение на базе транзистора должно быть меньше напряжения на его эмиттере UЭБ нас = 0,5 В.
Исходя из максимального выходного тока низкого уровня регистра DD14 IOL.ИР22max = 24 мА, рассчитаем данные делители напряжения на примере расчета резисторов R20, R21.
Минимальное значение резисторов R20, R21:
R21 ≥ UЭБ нас /( IOL.ИР22max - IБ) = 0.5/(24*10-3 - 4*10-3) = 25 Ом;
R20 ≥ (UCC max - UЭБ нас) /IOL.ИР22max = (5.5 - 0.5)/24*10-3 = 208 Ом.
В соответствии с описанием транзистора КТ501Б (VT1), минимальный ток через резистор R20 должен быть равен IR19 min = 1 мА. Тогда получим максимальное значение резисторов R20, R21:
R21 ≤ UЭБ нас / IR19 min = 0.5/ 1*10-3 = 500 Ом,
R20 ≤ (UCC max - UЭБ нас)/ /( IБ + IR19 min) = (5.5 0.5)/(4*10-3+1*10-3) =
= 1000 Ом.
Выберем резистор R20 номиналом 910 Ом, а резистор R21 номиналом 390 Ом, тогда мощности рассеивания составят:
PR20 = (UCC - UЭБ нас)2 / R19 = (5.5 0.5)2 / 910 = 0.027 Вт.
PR21 = UЭБ нас2 / R20 = 0.52 / 390 = 0.00064 Вт = 0.64 мВт.
В качестве резисторов R20, R22, R24, R26 будем использовать резисторы
С1-4-0.062Вт-910 Ом 5%. В качестве резисторов R21, R23, R25, R27 будем использовать резисторы С1-4-0.062Вт -390 Ом 5%.
Рассчитаем номиналы резисторов R28 R35. Ток на одном входе светодиодного индикатора не должен превышать IINDmax = 10 мА. Расчет резисторов будем производить на примере R28.
При включенной индикации в любой момент времени включен лишь один индикатор. Током, протекающим через неактивный индикатор, можно пренебречь. Падение напряжения на резисторе R28 составляет:
UR28 = UCC max - UКЭ нас - UIND = 5.5 0.4 2 = 3.1 B.
Тогда сопротивление резистора должно быть:
R28 ≥ UR28/ IINDmax = 3.1 / 10*10-3 = 310 Ом.
Возьмем сопротивление номиналом 330 Ом, тогда рассеиваемая мощность равна:
PR28= U2R28 / R28 = 3.12 / 330 = 0.029 Вт.
В качестве резисторов R28 R35 будем использовать резисторы С1-4-0.062Вт-300 Ом 5%.
1.10. Расчет аппаратных затрат
Рассчитаем аппаратные затраты всей МПС в переводе на условные корпуса. За 1 условный корпус аппаратных затрат принимается 16-выводной корпус. Для подсчета количества условных корпусов введем коэффициенты пересчета для 16-, 20-, 24-, 28-, 40-выводных корпусов. Это соответственно 1, 1.25, 1.5, 1.75 и 2.5 условных корпуса. Для корпусов с числом выводов меньше 16 коэффициент перевода равен 1. Список используемых микросхем, их количество, обозначение на схеме, число выводов в корпусе каждой микросхемы и коэффициент перевода в условные корпуса представлены в табл. 5.
Таблица 5
Аппаратные затраты МПС
Микросхема |
Обозначение на схеме |
Кол-во корпусов |
Число выводов в корпусе |
Коэффициент пересчета |
Итоговое кол-во в условных корпусах |
AT89S8252 |
DD1 |
1 |
40 |
2.5 |
2.5 |
КР580ВИ53 |
DD2 |
1 |
24 |
1.5 |
1.5 |
КР1533ЛЛ1 |
DD3 |
1 |
14 |
1 |
1 |
КР1533ЛИ1 |
DD4 |
1 |
14 |
1 |
1 |
КР1533ЛН1 |
DD5, DD17 |
2 |
14 |
1 |
2 |
КР1533ИР22 |
DD6, DD7, DD10,DD11, DD14DD16 |
7 |
20 |
1.25 |
8.75 |
КР1533ИД7 |
DD8 |
1 |
16 |
1 |
1 |
КР1533АП4 |
DD9 |
1 |
20 |
1.25 |
1.25 |
КР1533ИД4 |
DD12 |
1 |
16 |
1 |
1 |
КР1533ЛИ3 |
DD13 |
1 |
14 |
1 |
1 |
M2764A |
DS1 |
1 |
28 |
1.75 |
1.75 |
DS1225AD |
DS2 |
1 |
28 |
1.75 |
1.75 |
MAX4634 |
DA1 |
1 |
10 |
1 |
1 |
REF198 |
DA2 |
1 |
8 |
1 |
1 |
MAX11644 |
DA3 |
1 |
8 |
1 |
1 |
MAX400 |
DA4 |
1 |
8 |
1 |
1 |
MX7545A |
DA5 |
1 |
20 |
1.25 |
1.25 |
В общей сложности МПС содержит 24 микросхемы, в переводе на условные корпуса аппаратные затраты составили 29.75 условных корпусов.
1.11. Расчет потребляемой мощности
Для расчета мощности воспользуемся формулами [11]:
, (1)
, (2)
, (3)
, (4)
, (5)
где:
- PCC.S потребляемая мощность в статике,
- PCC.D1 динамическая составляющая потребляемой мощности, обусловленная сквозными токами, протекающими через логические элементы при их переключении из состояния 0 в состояние 1 и из 1 в 0;
- PCC.D2 динамическая составляющая потребляемой мощности, обусловленная токами заряда емкостей, подключенных к выходам элементов, при их переключении из состоянии 0 в состояние 1;
- UCC напряжение питания;
- ICC ток потребления;
- CL емкость нагрузки;
- СO выходная емкость элемента (если выходная емкость элемента неизвестна, то возьмем ее значение равным 15 пФ);
- CI суммарная входная емкость элементов нагрузки;
- СМ емкость монтажа (возьмем 20пФ);
- CPD внутренняя емкость элемента;
- TCY минимальное время цикла обращения к элементу.
Рассчитаем мощность энергопотребления микроконтроллера AT89S8252, построенного по КМПД технологии, с учетом его рабочей частоты fMC = 240 КГц (см. п. 1.3). Т.к. на графике зависимости тока потребления Icc от частоты в значение тока потребления входят все составляющие потребляемой мощности, то для расчета используем только формулу (2):
Рассчитаем мощность энергопотребления микросхемы программируемого таймера-счетчика КР580ВИ53, построенного по КМДП технологии. Учитываем все составляющие потребляемой мощности (1-5):
Рассчитаем мощность энергопотребления микросхемы ПЗУ M2764A, построенной по КМДП технологии (1-4):
Минимальное время цикла обращения к элементу TCY выбирается из расчета максимальной частоты выходного сигнала с микросхемы. Данная частота определяется входным сигналом PSEN, время цикла которого равно времени цикла сигнала ALE и равно TMCY =50 мкс.
Рассчитаем мощность энергопотребления микросхемы ОЗУ DS1225AD, построенной по КМДП технологии (1-4):
Рассчитаем мощность энергопотребления микросхемы аналогового мультиплексора MAX4634, построенной по КМДП технологии (1-4):
Т.к. в описании микросхемы АЦП MAX11644 приведено значение мощности потребления при TA = +70°C для корпуса с 8 выводами (см. приложение И), то укажем его в качестве РСС:
Т.к. в описании микросхемы ЦАП MX7545А приведено значение мощности потребления при TA = +75°C для корпуса с 20 выводами (см. приложение М), то укажем его в качестве РСС:
Т.к. в описании микросхемы ОУ MAX400 приведено значение мощности потребления при TA = +25°C для корпуса с 8 выводами (см. приложение Н), то укажем его в качестве РСС:
Рассчитаем мощность энергопотребления кварцевого резонатора (1-4):
Рассчитаем мощность энергопотребления диодов VD1 VD4 (ток протекания через резистор IR4.MAX см. в п. 1.8):
Рассчитаем мощность энергопотребления светодиодов VD5 VD9 (максимальный постоянный прямой ток Iпр ном см. в приложении С):
Рассчитаем мощность энергопотребления семисегментных индикаторов HG1 HG4 (постоянный прямой ток IIND общ см. в п. 1.9):
Рассчитаем мощность энергопотребления для элементов схем управления. Т.к. в курсовом проекте для построения схем управления используются элементы серии КР1533, то для расчета их энергопотребления будем учитывать только потребляемую мощность в режиме обращения (2).
В табл. 6 приведены данные по токам потребления микросхем серии КР1533 при напряжении питания Ucc = 5.5 В.
Таблица 6
Значения токов потребления IСС для микросхем КР1533
Микросхема |
Обозначение на схеме |
Кол-во корпусов |
ICC, мА |
ICCH, мА |
ICCL, мА |
Итоговая PCC.O, мВт |
КР1533ЛЛ1 |
DD3 |
1 |
- |
4.0 |
4.9 |
24.475 |
КР1533ЛИ1 |
DD4 |
1 |
- |
2.4 |
4.0 |
17.6 |
КР1533ЛН1 |
DD5, DD17 |
2 |
- |
1.1 |
4.2 |
29.15 |
КР1533ИР22 |
DD6, DD7, DD10, DD11, DD14DD16 |
7 |
- |
16 |
25 |
143.5 |
КР1533ИД7 |
DD8 |
1 |
10 |
- |
- |
55 |
КР1533АП4 |
DD9 |
1 |
- |
15 |
26 |
112.75 |
КР1533ИД4 |
DD11 |
1 |
7 |
- |
- |
38.5 |
КР1533ЛИ3 |
DD12 |
1 |
- |
1.8 |
3.0 |
13.2 |
Примечание в расчетах PCC.S для элементов, у которых указаны значения ICCH и ICCL, значение тока потребления ICC рассчитывается как среднее значение для ICCH и ICCL [12].
Таким образом, суммарная мощность для элементов серии КР1533 составила:
В соответствии с характеристиками транзистора КТ501Б [15], Мощность, рассеиваемая на транзисторах:
Рассчитаем теперь суммарную мощность рассеивания на резисторах.
Список используемых резисторов, их количество, обозначение на схеме и мощность рассеивания приведены в табл. 7.
Таблица 7
Резисторы, используемые в МПС
Резистор |
Обозначение на схеме |
Кол-во, шт. |
Итоговая рассеиваемая мощность на резисторах, Вт |
С1-4-0.125Вт-20 кОм 5% |
R1 |
1 |
0.125 |
С1-4-0.125Вт-27 Ом 5% |
R2 |
1 |
0.125 |
С1-4-0.125Вт-50 Ом 5% |
R3 |
1 |
0.125 |
С1-4-0.125Вт-3.0 кОм 5% |
R4R8 |
5 |
0.0216 |
С1-4-0.125Вт-300 Ом 5% |
R9R11, R14 |
4 |
0.00048 |
С1-4-0.125Вт-100 Ом 5% |
R15R19 |
5 |
0.36 |
С1-4-1Вт -56 Ом 10% |
R12 |
1 |
0.00054 |
С1-4-0.5Вт -110 Ом 5% |
R13 |
1 |
0.275 |
С1-4-0.062Вт-910 Ом 5% |
R20, R22, R24, R26 |
4 |
0.108 |
С1-4-0.062Вт -390 Ом 5% |
R21, R23, R25, R27 |
4 |
0.002 |
С1-4-0.062Вт-300 Ом 5% |
R28 R35 |
8 |
0.232 |
Итак, суммарная мощность рассеивания на резисторах составила:
Посчитаем суммарную мощность потребления для МПС:
1.12. Средства повышения помехоустойчивости
Для снижения уровня помех ставятся конденсаторы фильтров питания, емкость которых берется из расчета [13]:
- для низкочастотных помех не менее 0.1 мкФ на одну микросхему;
- для высокочастотных помех не менее 0.01мкФ на микросхему.
Конденсаторы для блокировки низкочастотных помех включаются между выводами Ucc и 0В непосредственно у начала проводника микросхемы.
Керамические конденсаторы для блокировки высокочастотных помех устанавливаются равномерно по всей площади печатной платы из расчета 1 конденсатор на 10 микросхем.
Т.к. в МПС аппаратные затраты составили 24 микросхемы (см. п. 1.10), то в качестве ФНЧ возьмем 24 керамических конденсатора (С10 С33) К10-17-1А-0.1 мкФ 5%, а в качестве ФВЧ возьмем 3 керамических конденсатора (С34 С36) К10-17-1А-1 мкФ 5%.
1.13. Моделирование ОЗУ DS1225AB в среде VHDL
Моделирование ОЗУ DS1225AB проводилось в среде VHDL версии 6.3 с испытательным стендом TestBench.
Целью данного пункта является моделирование основных режимов работы ОЗУ DS1225AB, а именно: режим записи, режим хранения и режим считывания.
Далее представлен код VHDL-модели:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity DS1225AD is
generic(
t_acc:time:=70 ns; -- время выборки данных относительно адреса
Twp:time :=55 ns; -- минимальная продолжительность импульса WE
Tdw:time := 50 ns; -- время предустановки данных относительно сигнала записи
T_wr1: time:= 5 ns; -- время удержания адреса после фронта WE
T_wr2: time:= 15 ns; -- время удержания адреса после фронта CE
Tcy:time := 70 ns -- время цикла считывания и записи
);
port( A: in std_logic_vector(0 to 12);
DIO:inout std_logic_vector(0 to 7):="ZZZZZZZZ";
CE: in std_logic;
WE: in std_logic;
OE: in std_logic
) ;
end;
architecture DS1225AD of DS1225AD is
type mem is array (0 to 8191) of std_logic_vector(0 to 7);
shared variable err:boolean:=false;
shared variable ram_cells:mem;
shared variable WE_LastChangeTime: time:=0 ns;
shared variable CE_RisingLastChangeTime: time:=0 ns;
shared variable WE_RisingLastChangeTime: time:=0 ns;
shared variable A_LastChangeTime: time:=0 ns;
shared variable DIO_LastChangeTime: time:=0 ns;
begin
process(CE,WE,OE,DIO,A)
begin
if falling_edge(WE) then WE_LastChangeTime:=now; end if;
if rising_edge(WE) then WE_RisingLastChangeTime:=now; end if;
if rising_edge(CE) then CE_RisingLastChangeTime:=now; end if;
if DIO'event then DIO_LastChangeTime:= now; end if;
if A'event then A_LastChangeTime:= now; end if;
if (CE='0' and A'event and now - A_LastChangeTime < Tcy) then
report "Время цикла не выдержано"
severity ERROR;
err:=true;
end if;
if (A'event and (now - WE_RisingLastChangeTime<= T_wr1)) then
report "Время удержания адреса относительно фронта WE не выдержано"
severity ERROR;
ram_cells(CONV_INTEGER(A)):="XXXXXXXX";
err:=true;
end if;
if (A'event and (now - CE_RisingLastChangeTime<= T_wr2)) then
report " Время удержания адреса относительно фронта СЕ не выдержано"
severity ERROR;
ram_cells(CONV_INTEGER(A)):="XXXXXXXX";
err:=true;
end if;
if (CE = '0' and rising_edge(WE) and (now - DIO_LastChangeTime <= Tdw)) then
report "Время предустановки данных не выдержано"
severity ERROR;
ram_cells(CONV_INTEGER(A)):="XXXXXXXX";
err:=true;
end if;
if (WE = '0' and rising_edge(CE) and (now - DIO_LastChangeTime <= Tdw)) then
report "Время предустановки данных не выдержано"
severity ERROR;
ram_cells(CONV_INTEGER(A)):="XXXXXXXX";
err:=true;
end if;
if (CE = '0' and rising_edge(WE) and (now - WE_LastChangeTime <= Twp)) then
report "Длительность импульса WE не выдержана"
severity ERROR;
ram_cells(CONV_INTEGER(A)):="XXXXXXXX";
err:=true;
end if;
-- первый режим записи
if (CE = '0'and OE = '1' and rising_edge(WE) and (not err)) then ram_cells(CONV_INTEGER(A)):=DIO;
report "ЗАПИСЬ ПРОШЛА УСПЕШНО";
end if;
-- второй режим записи
if (WE = '0'and rising_edge(CE) and OE = '1' and (not err)) then ram_cells(CONV_INTEGER(A)):=DIO;
report " ЗАПИСЬ ПРОШЛА УСПЕШНО ";
end if;
-- первый режим чтения
if (CE = '0'and WE = '1' and OE = '0' and A'event) then
DIO<=ram_cells(CONV_INTEGER(A)) after t_acc ;
report "СЧИТЫВАНИЕ ПРОШЛО УСПЕШНО";
end if;
-- второй режим чтения
if (falling_edge(CE) and WE = '1' and OE = '0') then
DIO <=ram_cells(CONV_INTEGER(A)) after t_acc;
report " СЧИТЫВАНИЕ ПРОШЛО УСПЕШНО ";
end if;
-- Если микросхема не выбрана, но выходы в Z-состоянии
if (CE = '1' or OE = '1' or WE ='0' ) then DIO <="ZZZZZZZZ" after 0 ns;
report "МИКРОСХЕМА НЕ ВЫБРАНА";
end if;
end process;
end;
На рис. 13 представлена временная диаграмма моделирования основных режимов работы ОЗУ DS1225AB. На диаграмме показаны режим записи, режим хранения и режим считывания.
Как видно из диаграммы, моделирование проводилось на временном интервале от 0 до 2 мкс.
Длительность управляющих сигналов CE, OE и WE выбрана так, чтобы это соответствовало минимально допустимым длительностям в рекомендациях производителя (см. приложение Ж).
Рис. 13. Временная диаграмма моделирования основных режимов работы ОЗУ DS1225AB
2. РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ
Схема алгоритма управления объектом, реализованная в МПС, представлена на рис. 14.
Рис. 14. Схема алгоритма управления объектом
2.1. Организация программы
Программное обеспечение МПС представляет собой программу для микроконтроллера АТ89S8252. Листинг программы представлен в приложении Т.
Программа организована следующим образом:
- описание констант и переменных, используемых в программе;
- основной цикл программы;
- описание блоков основного текста программы;
- описание процедур, используемых в программе.
- описание обработчиков прерываний;
Реализация блоков программы, кроме блоков 6 - 8 (см. рис. 14), построена на вызове процедур, раскрывающих функциональное назначение блоков.
2.2. Описание программы
В данном разделе опишем все основные части нашей программы для управления МПС.
Инициализация AT89S8252 и микросхем МПС.
Реализация данного блока основана на вызове процедуры INIC.
При инициализации МПС необходимо выполнить следующие действия:
- запретить все аппаратные прерывания на время инициализации;
- произвести инициализацию микроконтроллера;
- произвести инициализацию таймера КР580ВИ53;
- произвести инициализацию АЦП;
- установить в 0 два старших разряда регистра для перебора строк клавиатуры для того, чтобы до начала опроса клавиатуры приходило прерывание от 2ух командных клавиш;
- разрешить аппаратные прерывания.
Для начала произведем инициализацию таймера WATCHDOG (встроенный сторожевой таймер). Для этого необходимо занести в регистр управления сторожевого таймера WCON управляющее слово, которое разрешит его работу и задаст время реакции 64 мс, т.е. если МПС не отвечает на команды в течение 64 мс, то вырабатывается внутренний сигнал сброса микроконтроллера. Также необходимо настроить внутренние таймеры микроконтроллера. Настраиваем таймер/счетчик 0 для работы в качестве счетчика в режиме 2 (автоматическая перезагрузка при переполнении), таймер/счетчик 1 для работы в качестве таймера в режиме 1 (16-разрядный таймер), таймер 2 для работы в режиме 1 (16-разрядный таймер).
В регистр TH0 таймера/счетчика 0 необходимо загрузить значение FFh, таким образом, при поступлении сигнала на вход счетчика, будет происходить его переполнение, и вырабатываться прерывание.
Таймер 2 будет служить для опроса клавиатуры, вывода на светодиодные индикаторы значения Q4, а также отсчета 0.5 секунд. Поскольку опрос клавиатуры и вывод на индикаторы будем производиться с частотой 200 Гц, то нужно загрузить в таймер значение, необходимое для счета 5 мс.
Ввод цифровых сигналов X1 - X4, вычисление Q1 и формирование Y1.
Реализация данного блока основана на вызове процедуры CALC_Q1.
Двоичные сигналы X1-X4 подаются на вход внешнего регистра. Считывание сигналов необходимо производить с адреса 8000h. После считывания данных сигналов нужно вычислить функцию Q1=Х1* Х2 + Х3* Х4.
Если данная функция равна логической единице, то необходимо выработать сигнал Y1. Длительность данного сигнала равна Т1=50 мс, при этом его рабочий уровень низкий.
Вырабатывать данный сигнал необходимо с помощью предварительного настроенного таймера КР580ВИ53.
Ввод аналоговых сигналов X5 - X7.
Реализация данного блока основана на вызове процедуры ADC.
Напряжения X5, X6 и X7 преобразуются в цифровую форму N5, N6 и N7 с помощью АЦП. N5, N6 представляют собой массивы, состоящие из 10 2-байтовых значений, поэтому необходимо сделать 10 преобразований напряжений X5 и X6.
Считывание данных с АЦП происходит по интерфейсу I2C. Адрес АЦП 8***h.
Вычисление Q2, сравнение его с Q0 и формирование управляющего сигнала.
Реализация данного блока основана на вызове процедуры CALC_Q2.
После того, как сформированы массивы N5 и N6, вычисляем функцию , где .
Затем полученное значение Q2 необходимо сравнить с константой Q0, находящейся в ПЗУ.
,
где n разрядность АЦП.
Если Q2<Q0, то необходимо выработать сигнал высокого уровня Y2 длительностью T2= 60 мс.
Если Q2>Q0, то нужно выработать пачку сигналов Y3 с периодом 1 мс и скважностью 2. Длительность пачки T3=120 мс.
Выработка сигналов Y2 и Y3 будет сформирована программным способом с использованием таймера/счетчика 1 микроконтроллера. Для того чтобы прерывания, например прерывание от клавиатуры, не могли изменить необходимую длительность сигналов, переключение портов, на которых формируются Y2, Y3, будут происходить в обработчике прерываний от этого таймера.
Вычисление Q4, преобразование в напряжение Y4.
Реализация данного блока основана на вызове процедуры CALC_Q4.
После получения N7 вычисляется функция .
Здесь А0 = 0,014/LSB. Данные в ЦАП поступают по параллельному интерфейсу.
Обеспечение необходимого времени цикла, проверка на останов
(блоки 6-8).
Необходимое время цикла определяется количеством прерываний от таймера 2. Поскольку время от начала счета таймера до его перезагрузки составляет 10мс, то для обеспечения длительности в 0.5 с необходимо, чтобы прерывание пришло 50 раз.
Проверка на останов определяется с помощью флага. По умолчанию этот флаг стоит в 1, и выполнение цикла программа будет повторяться до тех пор, пока флаг не будет сброшен в 0.
Обработка прерываний от внешних источников
Прерывание поступает от аварийного датчика. Программа обработки прерывания выполняет следующие действия:
- включает световую сигнализацию с частотой 2 Гц,
- выдает на индикацию цифровой код Q4,
- переводит МПС в состояние ожидания. Выход МПС из состояния ожидания обеспечивается нажатием клавиши «СБРОС».
Прерывание поступает в случае отказа источника питания.
Программа обработки прерывания переписывает в энергонезависимое ОЗУ текущие значения регистров микроконтроллера.
Прерывание возникает в случае нажатия клавиш «ВВОД» или «МЕНЮ» пульта управления. Затем идет определение кода нажатой клавиши. В случае нажатия оператором клавиши «ВВОД» на семисегментные СДИ выводиться текущее значение константы К. При необходимости можно ввести с клавиатуры новое значение константы. Новое значение константы также отображается на семисегментных СДИ. Возврат к работе МПС производится нажатием клавиши «ПУСК».
Если же нажата клавиша «МЕНЮ», то на индикатор выводится номер выполняемой в данный момент функции. Перебор функций МПС осуществляется повторным нажатием клавиши «МЕНЮ», а переход к выбранной функции осуществляется нажатием клавиши «ПУСК».
ЗАКЛЮЧЕНИЕ
В результате проектирования была создана микропроцессорная система для управления объектом.
Основные характеристики МПС:
- микроконтроллер AT89S8252;
- имеется память двух типов: ПЗУ и ОЗУ емкостью по 8 Кбайт каждая;
- для ввода информации и управления МПС используется клавиатура, состоящая из 20 алфавитно-цифровых клавиш, а также клавиш «ПУСК», «»ВВОД», «МЕНЮ»;
- для вывода информации используются светодиодные индикаторы и семисегментные индикаторы, кроме того имеется световая аварийная сигнализация, реализованная на светодиоде;
- имеется возможность подключения дополнительных интерфейсных устройств за счет 2х свободных вывода микроконтроллера и свободной области во внешней памяти данных;
- затраты оборудования составили 24 микросхемы или 29.75 условных корпусов;
- мощность потребления МПС по расчетам составила примерно 7.03 Вт.
Основными результатами проектирования являются:
- МПС. Схема электрическая структурная (А2);
- МПС. Схема электрическая принципиальная (А1);
- программа для управления МПС.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Иванов А.В., Кленов С.И. Построение микропроцессорных систем на базе однокристальных микроЭВМ К1816ВЕ51. М.: Изд-во МЭИ, 1992. 52 с.
2. Официальный веб-сайт компании Atmel. Официальная документация по микросхеме AT89S8252.
[www.atmel.com]
Режим доступа: http://www.atmel.com/dyn/general/document_search_results.asp?docType=Datasheet&prodFamily=604&searchhome.x=24&searchhome.y=7
3. Петровский И.И. и др. Логические ИС КР1533, КР1554. Справочник. В двух частях. М.: Бином, 1993. Часть 1 254 с., часть 2 497 с.
4. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2т./ В.Б. Абрайтис, Н.Н. Аверьянов, А.И. Белоус и др.; Под ред. В.А. Шахнова. М.: Радио и связь, 1988. Т.1 368 с., Т.2 368 с.
5. Интернет-магазин электроники «Чип и Дип».
- справочная информация по кварцевым резонаторам;
- справочная информация по разъемам;
- справочная информация по семисегментным индикаторам.
[http://www.chipdip.ru]
Режим доступа: http://www.chipdip.ru/product/
6. Интернет-магазин электронных компонентов, изметрительной техники и комплектующих компании Платан.
- справочная информация по резисторам;
- справочная информация по конденсаторам.
[www.platan.ru]
Режим доступа: http://platan.ru/
7. Веб-сайт документаций электронных микросхем DataSheet Search Site.
- официальная документация по микросхеме M2764A;
- официальная документация по микросхеме REF198. [www.alldatasheet.com].
Режим доступа: http://alldatasheet.com/
8. Официальный веб-сайт компании MAXIM в России.
- официальная документация по микросхеме DS1225AD;
- официальная документация по микросхеме MAX7545А;
- официальная документация по микросхеме MAX4634;
- официальная документация по микросхеме MAX400;
- официальная документация по микросхеме MAX11644.
[www.russia.maxim-ic.com]
Режима доступа: http://russia.maxim-ic.com/products/
9. Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. М.: Энергоатомиздат, 1990. 224 c.
10. Полупроводниковые приборы: Диоды высокочастотные, диоды
импульсные, оптоэлектронные приборы: Справочник. / А. Б. Гитцевич, А. А. Зайцев и др.; Под ред. А. В. Голомедова. М.: Радио и Связь, 1988. 592 с.
11. Полупроводниковые БИС запоминающих устройств: Справочник. / В. В. Баранов, Н. В. Бекин, А. Ю. Гордонов и др.; Под ред. А. Ю. Гордонова и Ю. Н. Дьякова. М.: Радио и связь, 1987. 360 с.
12. Полупроводниковые приборы: транзисторы. Справочник/ А. В Баюков, А. Б. Гитцевич, А. А. Зайцев и др.; Под общ. ред. Н. Н. Горюнова М.: Энергоатомиздат, 1985. 902 с.
Приложение А
Задание на курсовой проект
Приложение Б
МПС. Схема электрическая структурная
Приложение В
МПС. Схема электрическая принципиальная