Реферат: Разработка контроллера на однокристальном микропроцессоре

--PAGE_BREAK--Рисунок 1.2 — Структурная схема контроллера


Системная шина контроллера состоит из трех составляющих: шины адреса (AB), шины данных (DB), шины управления (CB).

Индикатор готовности информирует о нормальной работе устройства – в случае возникновения ошибок индикатор гасится.
1.2.2           Диаграммы состояний основных процессов
Диаграмма состояний процесса приема, показанная на рисунке 1.3, наглядно иллюстрирует работу контроллера при приеме данных от внешнего устройства.

Так как прием информации осуществляется пакетами, то в основе схемы лежит диаграмма состояний при использовании протокола X-Modem.

<img width=«553» height=«406» src=«ref-1_1953157192-37000.coolpic» v:shapes="_x0000_i1027">

Рисунок 1.3 — Диаграмма состояний процесса приема данных
Более подробно состав блока «Послать символ» представлен на рисунке 1.4.

<img width=«552» height=«262» src=«ref-1_1953194192-13344.coolpic» v:shapes="_x0000_i1044">

Рисунок 1.4 – Состав блока «Принять символ»
Содержание блока «Послать символ» раскрыто на рисунке 1.5.
<img width=«553» height=«284» src=«ref-1_1953207536-16891.coolpic» v:shapes="_x0000_i1028">

Рисунок 1.5 – Состав блока «Послать символ».
На рисунке 1.6 показана диаграмма процесса передачи информации. Передача ведется по одному байту без контроля ошибок.

На рисунке событие «Прошло 500 нс» означает выдержку необходимой паузы для формирования сигнала. Включение передатчика происходит при наличии флага готовности буфера передачи. Поэтому проверка буфера включает в себя и проверку состояния флага.

<img width=«554» height=«255» src=«ref-1_1953224427-20875.coolpic» v:shapes="_x0000_i1029">

Рисунок 1.6 — Диаграмма состояний процесса передачи данных.
Диаграмма состояний процесса самодиагностики показана на рисунке 1.7.

Подсчет контрольной суммы ПЗУ (КС) ведется в цикле. В случае несовпадения рассчитанного значения с контрольными данными происходит останов процессора. Блок «Подсчет КС» обозначает циклический процесс по суммированию по модулю 256 содержимого ячеек ПЗУ.
<img width=«554» height=«135» src=«ref-1_1953245302-10608.coolpic» v:shapes="_x0000_i1030">

Рисунок 1.7 — Диаграмма состояний процесса самодиагностики
Диаграмма состояний процесса «службы времени» представлена на рисунке 1.8.

Служба времени решает две задачи. Это контроль зависания задач и формирование переменной, содержащей текущее время от начала работы контроллера. Конторль зависания осуществляется следующим образом.  Перед началом каждого цикла прохода подпрограмм диспетчер запускает таймер, работающий в роли одновибратора. Время срабатывания таймера заведомо больше времени одного цикла работы диспетчера. Поэтому, если все задачи отработали успешно, таймер не успеет сработать до следующего перезапуска. Если таймер сработает и вызовет прерывание, то это сигнализирует о «зависании» одной из задач. В данной ситуации требуется немедленно остановить работу процессора. При подсчете времени таймер генерирует импульсы определенной частоты, по которым контроллер прерываний формирует запросы на прерывание для процессора. Обработчик этих прерываний каждый раз наращивает на единицу переменную-счетчик времени.

<img width=«584» height=«368» src=«ref-1_1953255910-24568.coolpic» v:shapes="_x0000_i1031">

Рисунок 1.8 — Диаграмма состояний процесса «службы времени»
2        Разработка аппаратной части контроллера
2.1 Обоснование выбора микропроцессора
Шестнадцатиразрядный микропроцессор КР1810ВМ86 обеспечивает возможность эффективной работы с языками высокого уровня, имеет гибкую и мощную систему команд. Может быть использован как 16-ти так и 8-ми разрядный процессор. ВМ86 выполняет операции над битами, байтами, двухбайтовыми словами, действия знаковой и беззнаковой двоичной или десятичной арифметики, в том числе умножение и деление, имеет гибкую структуру аппаратурных и программных прерываний (до 256 типов).

К наиболее важным аппаратурным особенностям К1810ВМ86 относятся: развитая регистровая структура, существенно уменьшающая число обращений к памяти;  конвейерный принцип выполнения команд с предварительной выборкой, обеспечивающий максимальную пропускную способность системной магистрали; распределенное микропрограммное устройство управления; мультиплексированная шина адреса-данных; многофункциональное использование выводов, позволяющее адаптировать МП к уровню сложности разрабатываемой системы; способность координировать взаимодействие нескольких процессоров.
2.2 Распределение адресного пространства
Микропроцессор К1810ВМ86 позволяет адресовать до 1Мбайт памяти. Так как основной задачей разрабатываемого контроллера является прием информации, преобразование в другой формат и передача ее следующему корреспонденту, то распределение память становится важной задачей. Особенности процессора заставляют выбирать такую структуру памяти, при которой младшие адреса занимает ОЗУ, а старшие – ПЗУ. Поставленная задача не требует реализации полного объема возможной памяти, поэтому используется следующая структура памяти:

-         адреса 0000 – 3FFFhсоответствуют ОЗУ;

-         адреса 4000 – 7FFFhсоответствуют ПЗУ.

Порты ввода-вывода, регистры управления таймера и программируемого контроллера прерывания  также имеют фиксированные адреса:

-         адреса 0000-0006 соответствуют порту ввода-вывода, предназначенному для приема данных;

-         адреса 0008-000Еhсоответствуют порту ввода-вывода, предназначенному для передачи данных;

-         адреса 0010-0016hсоответствуют управляющим регистрам программируемого таймера;

-         адреса 0018-001Ahсоответствуют управляющим регистрам программируемого контроллера прерываний.
2.3 Функциональная схема контроллера
Функциональная схема контроллера приведена в приложении.

Параллельный порт ввода-вывода PPI (DD15)предназначен для обеспечения приема информации  в соответствии с протоколом X-Modem. Поэтому необходима двунаправленная связь. Фактически на микросхеме реализовано два интерфейса ИРПР-М. Один из них, для приема байтов информации, имеет следующую организацию:

-         сигналы DIN 0 — DIN 7 – выводыРА0 – РА7;

-         сигнал STROBEIN – вывод РС4;

-         сигналы  BUSYINи  ACKNLGIN – выводы РСи РС1соответственно.

При приеме байта, он поступает на линии порта А (сигналы DIN 0 – DIN 7). Для передачи управляющих символов используется порт В.  При этом служебные сигналы подключаются к следующим линиям:

-         сигнал STROBEOUT – вывод РС2;

-         сигналы  BUSYOUT и  ACKNLGOUT – выводы РС5 и РС6 соответственно.

Для передачи информации используется параллельный порт ввода-вывода PPI (DD16)На нем также реализован интерфейс ИРПР-М.Данные выдаются через порт А. Сигнал STROBEпоступает в линию связи через нулевой разряд порта В. Сигналы готовности приемника BUSY иACKNLGпоступают в порт С (разряды 1 и 0 соответственно). Так как импульс ACKNLGимеет длительность около 5 мкс, то его программная фиксация в режиме параллельной обработки нескольких задач затруднена. Предусмотрена аппаратная защелка этого сигнала с помощью триггера. После получения сигнала ACKNLGтриггер программно сбрасывается. Аналогичная схема присутствует и в блоке приема данных.

Индикатор готовности выполнен на дешифраторе DD28. Его  адресные  входы подсоединены к линиям 4, 5, 6  порта С микросхемы DD16. Регистр в нормальном рабочем режиме управляет индикатором готовности системы, а в случае конфликтной ситуации отображает номер «зависшей» задачи.

Программируемый таймер используется для отсчета интервалов времени для контроля выполнения задач и вызова прерываний для самопроверки контроллера – подсчета контрольной суммы ПЗУ. В качестве счетных импульсов к таймеру подведен сигнал с выхода PCLKсистемного генератора,  имеющий частоту, в два раза меньшую, чем тактовая частота процессора. При частоте процессора 5 МГц таймер отсчитывает импульсы с частотой 2,5 МГц. При этом максимальная задержка, обеспечиваемая таймером равна 26 мс.

Программируемый контроллер прерываний служит для упорядочения запросов на прерывание по приоритету и во времени. В данной схеме обслуживается два прерывания: контроль прохождения контрольной точки  задачами и самодиагностика. Запросы на прерывание поступают от таймера и подаются на входы IRQ0, IRQ1и IRQ2.

Для выбора нужной микросхемы при выполнении операций ввода-вывода используется дешифратор DD29, преобразующий  два разряда адресной шины  AB2и AB3в сигналы выбора CS. Сигналы выбора кристалла CS формируются только если один из сигналов IORи IOWнаходится в активном состоянии. Необходимым условием выбора внешних по отношению к процессору устройств является равенство нулю младшего адресного разрядаAB0. Для хранения адреса в течение всего цикла шины используются регистры-защелки DD11 и DD12, управляемые сигналов ALEпроцессора. Шина данных умощняется за счет подключения шинных формирователей.

Память контроллера организована на четырех микросхемах; две из них образуют ПЗУ (DD2и DD3)  и  две другие – ОЗУ (DD7и DD8). Память выполнена в виде двух банков с целью передачи как двухбайтовых слов, так и отдельных байтов. Для выбора соответствующего банка используются сигнал BHE (разрешение старшего банка) и младший разряд адресной шины AB0. Разряд шины адреса AB14служит для выбора ПЗУ или ОЗУ. Также в качестве управляющих сигналов, задающих направление передачи применяются MEMR  и  MEMW.

Шина управления состоит из четырех сигналов MEMR, MEMW, IOR, IOW, которые формируются на основе сигналов процессора RD, WR, M/IO.

В таблице  2.1 показано соответствие основных элементов структурной схемы контроллера используемым микросхемам.
Таблица 2.1 – Используемые микросхемы.
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике