Скачиваний:
7
Добавлен:
29.12.2023
Размер:
134.45 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПБГУТ)

_________________________________________________________________________

Кафедра Радиосвязи и Вещания (РСиВ)

Лабораторная работа №5

По дисциплине «Основы разработки систем на кристалле»

СОЗДАНИЕ ПРОЕКТА ПРОЦЕССОРНОЙ СИСТЕМЫ ДЛЯ РАБОТЫ С GPIO-ПОРТАМИ

Выполнили

студенты группы РТ-XX

Проверил:

Фёдоров Андрей Сергеевич __________

Санкт-Петербург

2023

1. Цель работы

Создание проекта с использованием IP-интегратора. Настройка аппаратной процессорной системы на работу GPIO (General-Purpose Input/ Output). Проверка проекта на отладочной плате ZedBoad.

2. Описание блока AXI Interconnect.

IP блок AXI Interconnect соединяет одно или несколько устройств AXI с отображением памяти Master с одним или несколькими устройствами с отображением памяти Slave.

3. Описание блока AXI GPIO.

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

4. Адреса смещения для кнопок и светодиодов из вкладки Address Editor.

5. Блок-схема проекта в IP-Integrator с обозначением роли каждого элемента.

ZYNQ7 Processing System – это блок процессора. Это ключевой элемент схемы, который позволяет работать с периферией. Процессор исполняет, написанный на языке C, код приложения.

Processor System Reset – блок, позволяющий адаптировать конструкцию под свое приложение, задавая определенные параметры для включения/отключения функций.

AXI Interconnect – блок, соединяющий одно или несколько устройств AXI с отображением памяти Master с одним или несколькими устройствами с отображением памяти Slave.

AXI GPIO – блок, обеспечивающий интерфейс ввода/вывода.

6. Блок-схема алгоритма работы программы индивидуального задания.

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

#include "xparameters.h"

#include "xgpio.h"

#include "sleep.h"

#define SW134 26

#define SW1356 106

#define LD157 162

#define LD345 56

int main(void)

{

XGpio dip, leds;

int dip_check;

xil_printf("-- Start of the Program --\r\n");

XGpio_Initialize(&dip, XPAR_AXI_GPIO_0_DEVICE_ID); // инициализация структуры для работы с переключателями

XGpio_Initialize(&leds, XPAR_AXI_GPIO_0_DEVICE_ID+123); // инициализация структуры для работы со светодиодами

XGpio_SetDataDirection(&dip, 1, 0xffffffff); // ввод

XGpio_SetDataDirection(&leds, 1, 0x00000000); // вывод

while (1)

{

dip_check = XGpio_DiscreteRead(&dip, 1); // текущее значение переключателей

xil_printf("DIP Switch Status %x\r\n", dip_check);

if (dip_check == SW134)

XGpio_DiscreteWrite(&leds, 1, LD157);

else if (dip_check == SW1356)

XGpio_DiscreteWrite(&leds, 1, LD345);

else

XGpio_DiscreteWrite(&leds, 1, 0);

usleep(2000);

}

return 0;

}

Соседние файлы в папке ЛР