Всё для Учёбы — студенческий файлообменник
1 монета
pdf

Студенческий документ № 025661 из ИПО

Задания к лабораторным работам по дисциплине "Системы ввода/вывода и периферийные устройства" [осень 2016 г., гр. P3400, P3410, P3417]

Лабораторный практикум по дисциплине "Системы ввода/вывода и периферийные устройства" посвящен выполнению курсового проекта с обобщённым названием "Разработка контроллера ввода/вывода для микропроцессорной системы на базе ядра MIPS32 microAptiv".

Функциональность разрабатываемого контроллера определяется вариантом задания. Описание вариантов представлено в таблице 1.

Таблица 1. Варианты заданий

Вариант Наименование работы Тип интерфейса Подключение периферийного устройства 1 Разработка контроллера датчика температуры ADT7420 I2C Установлен на плате 2 Разработка контроллера 3-х

осевого акселерометра ADXL362 SPI Установлен на плате 3 Разработка контроллера Flash-памяти S25FL128 SPI Установлена на плате 4 Разработка контроллера датчика освещенности ADC081S021 SPI Подключаемый модуль

PmodALS 5 Разработка контроллера датчика прикосновений AD7156 I2C Подключаемый модуль

PmodCDC1 6 Разработка контроллера джойстика SPI Подключаемый модуль

PmodJSTK 7 Разработка контроллера OLED дисплея SPI Подключаемый модуль

PmodOLED

Оглавление

1. Общая информация 3

2. Разработка документации котроллера 4

3. Разработка имитационной модели микропроцессорной системы 5

4. Разработка консоли ввода/вывода для микропроцессорной системы 6

1. Общая информация

Упрощённая структурная схема системы, в состав которой будет интегрироваться разрабатываемый контроллер ввода/вывода, представлена на рисунке 1.

Рисунок 1. Структурная схема разрабатываемой системы

Как видно из рисунка 1 в состав системы, помимо процессорного ядра MIPS32 microAptiv, входит контроллер ввода/вывода, разрабатываемый в рамках работы, и периферийное устройство. В роли периферийного устройства, в зависимости от варианта, могут выступать цифровые датчики (температуры, прикосновений, освещенности и др.), устройства ввода/вывода (джойстик, OLED-дисплей), микросхемы памяти.

Разрабатываемый контроллер ввода/вывода подключается к процессорному ядру посредством системной шины AMBA 3 AHB-Lite. С периферийным устройством контроллер взаимодействует через последовательный интерфейс I2C, либо SPI, в зависимости от варианта задания.

Проект по разработке контроллера реализуется в 3 этапа: 1. Разработка документации контроллера.

2. Разработка имитационной модели контроллера в составе микропроцессорной системы.

3. Разработка устройства консоли ввода/вывода для микропроцессорной системы.

2. Разработка документации котроллера

На первом этапе создается документация контроллера. Документация в обязательном порядке включает следующие разделы:

1. Описание функций контроллера. Приводится список реализуемых функций.

2. Описание интерфейсов контроллера.

a. Приводится описание интерфейсов взаимодействия контроллера с процессорным ядром и периферийным устройством. Обязательным является наличие схемы, на которой изображается контроллер (схематично в виде прямоугольника) и сигнальные линии интерфейсов. Описание сигнальных линий представляется в табличном виде.

b. Приводится описание протокола обмена данными по системному и периферийному интерфейсам на физическом уровне, то есть описывается порядок выставления сигналов на соответствующих сигнальных линиях. Описание протоколов обмена данными выполняется графически в формате временных диаграмм. Временные диаграммы сопровождаются словесным описанием.

3. Описание внутреннего устройства контроллера.

a. Приводится структурная схема внутреннего устройства контроллера на уровне регистровых передач. На схеме допускается схематично (в виде прямоугольников, либо условных обозначений для БОЭ) изображать следующие устройства, не раскрывая их внутреннюю организацию:

i. регистры и счетчики со стандартным интерфейсом (сигнал синхронизации, сигнал разрешения записи/инкремента, сигнал сброса);

ii. базовые операционные элементы (БОЭ) комбинационного типа, например, такие комбинационные БОЭ, как: мультиплексоры,

шифраторы, сумматоры, компараторы и т.п.;

iii. конечные автоматы.

b. Структурная схема сопровождается словесным описанием внутренней организации контроллера.

4. Сведения для системного программиста.

a. Приводится описание адресной карты устройства. Набор доступных регистров со стороны процессорного ядра и краткое описание их содержимого оформляется в табличном виде.

b. Приводятся блок-схемы выполнения базовых операций обмена данными с периферийным устройством с использованием возможностей разработанного контроллера ввода/вывода. Блок-схемы должны отражать порядок действий, которые должны быть реализованы в программном обеспечении ядра MIPS32 для взаимодействия с периферийным устройством.

Реализуемый контроллер должен удовлетворять следующим требованиям:

1. Должен реализовывать возможность работы со всем адресным пространством периферийного устройства, заданного вариантом.

2. Должен поддерживать асинхронный режим обмена данными с процессорным ядром: с контролем/опросом регистра статуса/занятости.

3. Регистры разрабатываемого контроллера ввода/вывода должны отображаться на диапазон адресов 0xBF800040 - 0xBF800100 процессорного ядра MIPS32. Используется столько адресов, сколько необходимо для реализации заданного варианта. Адрес регистра должен быть выровнен на длину слова в 4 байта.

Документы, представляемые в качестве результатов выполнения этапа:

1. Документация контроллера в виде текстового файла формата docx.

3. Разработка имитационной модели микропроцессорной системы

Имитационная модель микропроцессорной системы разрабатывается с использованием языка SystemC версии 2.3.1. Имитационная модель системы должна включать следующие компоненты:

1. Модель разрабатываемого контроллера ввода/вывода.

2. Модель периферийного устройства.

3. Модель драйвера периферийного устройства.

4. Модель прикладного программного обеспечения, выполняющего тестирование функций контроллера.

Описание алгоритмов обмена данными по интерфейсам ввода/вывода контроллера должно быть выполнено с потактовой точностью (timed model).

Алгоритм работы контроллера и других модулей может быть описан без учета времени (untimed model).

Документы, предоставляемые в качестве результатов выполнения этапа:

1. Исполняемая имитационная модель системы: исполняемый (бинарный) файл модели, исходные тексты, скрипты запуска компиляции и исполнения модели.

2. Текстовый документ в формате docx, который должен содержать следующую информацию: a. Описание структуры модели.

b. Описание состава и формата входных/выходных данных

c. Описание интерфейсов и временные диаграммы протоколов обмена данными. Должны использоваться диаграммы, которые создаются в процессе исполнения модели.

d. Правила запуска модели и анализа/интерпретации результатов работы.

4. Разработка консоли ввода/вывода для микропроцессорной системы

В соответствии с вариантом задания необходимо разработать устройство консоли ввода/вывода и включить его в состав имитационной модели микропроцессорной системы, разработанной на первом и втором этапе работы.

Консоль ввода/вывода включается в состав микропроцессорной системы посредством интерфейса AMBA 3 AHB-Lite. Устройство консоли ввода/вывода в имитационной модели должно работать со стандартным вводом/выводом той операционной системы, под которой она запускается. Иными словами, консоль ввода/вывода должна предоставлять "консольный" интерфейс пользователя для работы с ресурсами микропроцессорной системы. Детальное описание функций консоли представлено в таблице 2.

Все транзакции внутри системы между процессором, контроллером ввода/вывода, консолью ввода вывода должны осуществляться посредством интерфейса AMBA 3 AHB-Lite. Ввод/вывод в консоль пользователя должен реализовываться посредством работы со стандартным вводом/выводом через стандартные потоки cin и cout стандартной библиотеки С++.

В других модулях модели, кроме консоли ввода/вывода, стандартный ввод/вывод не должен использоваться. Все необходимы вычисления должны производиться в модуле процессора, а в консоль ввода вывода данные должны передаваться только для отображения.

Консоль ввода/вывода выполняется в виде ведомого устройства на шине AMBA. Все запросы на получение необходимых данных реализуются через механизм прерываний. В модуле процессора должна быть предусмотрена соответствующая функция обработки прерывания, которая должна вызываться по факту прихода сигнала прерывания interrupt.

Разделение обращений к двум ведомым устройствам на шине AMBA необходимо выполнить в соответствии со спецификацией шины AMBA 3 AHB-Lite (рисунок 3). Всю логику по декодированию адреса и мультиплексированию линий данных и управляющих сигналов необходимо выполнить в виде отдельного модуля "AMBA_matrix", к которому затем подключить модуль ведущего устройства и ведомых. Распределение адресов на шине AMBA между устройствами выполняется на усмотрение разработчика.

Рисунок 2. Структурная схема микропроцессорной системы с подключенной консолью ввода/вывода

Рисунок 3. Схема подключения одного ведущего и многих ведомых на шине AMBA 3 AHB-Lite

Таблица 2. Варианты заданий этапа 3

Вариант Описание функциональности консоли ввода/вывода 1 При запуске системы (запуске имитационной модели системы) в консоль пользователя должно выводиться приглашение:

Выберите действие:

[1] Мониторинг температуры

[2] Мониторинг превышения порогов

[3] Конфигурирование порогов

[Esc]Выход

Если пользователь выбрал "Мониторинг температуры", то в консоль с периодом в одну секунду выводится текущее значение температуры, полученной с датчика.

Если пользователь выбрал "Мониторинг превышения порогов", то в консоль с периодом в одну секунду выводятся сообщения:

• "температура ниже заданного порога, T = " - если температура упала ниже указанного порога минимально допустимой температуры;

• "температура выше заданного порога, T = " - если температура превысила уровень максимально допустимой температуры.

При выборе пункта "Конфигурирование порогов" пользователю должна предоставляться возможность ввода минимально и максимально допустимой температуры.

Моделирование изменения температуры должно быть реализовано в модуле периферийного устройства. Моделирование изменения температуры необходимо производить с помощью генератора случайных чисел в диапазоне -40? до +70? C.

При нажатии на клавишу [Esc] на клавиатуре, должен происходить выход из соответствующих режимов отображения данных, описанных выше и производиться переход к первоначальному приглашению с выбором действий. Нажатие клавиши [Esc] на списке с выбором действий должно приводить к завершению процесса моделирования системы. 2 При запуске системы (запуске имитационной модели системы) в консоль пользователя должно выводиться приглашение:

Выберите действие:

[1] Мониторинг значений смещений по осям X, Y, Z

[2] Мониторинг угла наклона

[Esc]Выход

При выборе пункта "Мониторинг значений смещений по осям X, Y, Z" выводятся соответствующие значения, полученные с акселерометра.

При выборе пункта "Мониторинг угла наклона" должен выводиться угол наклона тела, рассчитанный на основе текущих значений смещений по осям, полученных от акселерометра. Расчет должен производиться в модуле процессора. В консоль ввода/вывода должны поступать результаты вычислений для отображения в консоли. Расчет угла рекомендуется выполнять в соответствии с информацией, приведенной в статье:

? http://bitaks.com/resources/inclinometer/content.html

Моделирование изменения показаний акселерометра должно быть реализовано в модуле периферийного устройства с помощью генератора случайных чисел.

При нажатии на клавишу [Esc] на клавиатуре должен происходить выход из соответствующих режимов отображения данных, описанных выше и производиться переход к первоначальному приглашению с выбором действий. Нажатие клавиши [Esc] на списке с выбором действий должно приводить к завершению процесса моделирования системы.

3 - 4 При запуске системы (запуске имитационной модели системы) в консоль пользователя должно выводиться приглашение:

Выберите действие:

[1] Мониторинг уровня освещенности

[2] Мониторинг превышения порогов

[3] Конфигурирование порогов

[Esc]Выход

Если пользователь выбрал "Мониторинг уровня освещенности", то в консоль с периодом в одну секунду выводится текущее значение освещенности, полученной с датчика.

Если пользователь выбрал "Мониторинг превышения порогов", то в консоль с периодом в одну секунду выводятся сообщения:

• "уровень освещенности ниже заданного порога, L = " - если уровень освещенности ниже заданного порога;

• "уровень освещенности выше заданного порога, L = " - если уровень освещенности выше заданного порога.

При выборе пункта "Конфигурирование порогов" пользователю должна предоставляться возможность ввода нижнего и верхнего порогов освещенности.

Моделирование изменения уровня освещенности должно быть реализовано в модуле периферийного устройства.

Моделирование изменения уровня освещенности необходимо производить с помощью генератора случайных чисел.

При нажатии на клавишу [Esc] на клавиатуре, должен происходить выход из соответствующих режимов отображения

данных, описанных выше и производиться переход к первоначальному приглашению с выбором действий. Нажатие клавиши [Esc] на списке с выбором действий должно приводить к завершению процесса моделирования системы. 5 При запуске системы (запуске имитационной модели системы) в консоль пользователя должно выводиться приглашение:

Выберите действие:

[1] Мониторинг показаний датчика прикосновений

[2] Мониторинг фактов нажатий

[3] Конфигурирование порогов

[Esc]Выход

Если пользователь выбрал "Мониторинг показаний датчика прикосновений", то в консоль с периодом в одну секунду выводится текущее значение датчика прикосновений для двух сенсорных кнопок.

Если пользователь выбрал "Мониторинг фактов нажатий", то в консоль с периодом в одну секунду выводятся информационные сообщения о фактах начатия двух сенсорных кнопок, расположенных на датчике.

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

Моделирование изменения значений показаний датчика прикосновений должно быть реализовано в модуле периферийного устройства. Моделирование изменения значений необходимо производить с помощью генератора случайных чисел.

При нажатии на клавишу [Esc] на клавиатуре, должен происходить выход из соответствующих режимов отображения данных, описанных выше и производиться переход к первоначальному приглашению с выбором действий. Нажатие клавиши [Esc] на списке с выбором действий должно приводить к завершению процесса моделирования системы.

6 При запуске системы (запуске имитационной модели системы) в консоль пользователя должно выводиться сообщения о фактах перемещения джойстика по осям X, Y:

• "джойстик перемещен влево";

• "джойстик перемещен вправо"; ? "джойстик перемещен вверх"; ? "джойстик перемещен вниз".

Моделирование перемещений должно быть реализовано посредством нажатий на соответствующие клавиши клавиатуры со стрелками , ^, v. Обработка клавиш должна производиться в модуле периферийного устройства. При этом значения X, Y, получаемые с джойстика должны изменяться следующим образом:

• X = 512, Y = 512 - ни одна клавиша не нажата;

• X = 0, Y = 512 - нажата клавиша ; ? X = 512, Y = 1023 - нажата клавиша ^;

• X = 512, Y = 0 - нажата клавиша v.

Документы, предоставляемые в качестве результатов выполнения этапа:

1. Исполняемая имитационная модель системы: исполняемый (бинарный) файл модели, исходные тексты, скрипты запуска компиляции и исполнения модели.

2. Текстовый документ в формате docx, который должен содержать следующую информацию: a. Описание структуры модели.

b. Описание состава и формата входных/выходных данных

c. Правила запуска модели и анализа/интерпретации результатов работы.

1 1

1

Показать полностью… https://vk.com/doc180441672_450876211
408 Кб, 13 сентября 2017 в 20:36 - Россия, Москва, ИПО, 2017 г., pdf
Рекомендуемые документы в приложении