Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Принципы построения многоуровневых сетей

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Временная диаграмма формирования знака на дисплее, изучение документации на микросхемы, отладка и тестирование прошивки с помощью интерфейса. Написание программ для построения многоуровневой модели на платформе лабораторного макета с микроконтроллером.
Краткое сожержание материала:

Размещено на

1. Техническое задание

Техническое задание (ТЗ) на проектирование должно содержать исчерпывающую и однозначную информацию о требованиях, предъявляемых к проекту. Техническое задание является результатом внешнего проектирования и являет собой объемный документ, в котором на естественном языке описана словесная модель проектируемой системы и требования к ней. Несмотря на строгость и точность формулировок ТЗ не дает однозначного описания объекта проектирования и не позволяет непосредственно переходить от описания функционирования системы к ее техническому воплощению.

1.1 Назначение устройства

Требуется написать программу для построения многоуровневой модели сети на платформе лабораторного макета с микроконтроллером (МК) Аtmega128. Обязательными объектами такой сети являются: компьютер, сеть, сервер, коммутатор и здание. Основные функции - построение модели многоуровневых связных сетей и подсетей с помощью Atmega128.

Входные/выходные параметры

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

2. Техническое предложение

2.1 Общий алгоритм решения задачи

Общий алгоритм решения задачи, описанной в техническом задании, приведен на рисунке 2.1:

Рисунок 2.1 - Общий алгоритм решения задачи

2.2 Выбор элементной базы

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

ѕ Микроконтроллер ATmega128;

ѕ ЖК-дисплей с разрешением не меньше 128х64 пикселя;

ѕ Кнопки - 12 штук, организованные в матрицу 3x4;

ѕ Память - EEPROM 8192 x 8 бит.

3. Эскизный проект

3.1 Описание архитектуры проекта и выбранных блоков

Целью данного проекта является написание программы для построения многоуровневой модели сети на платформе лабораторного макета с МК Atmega128. Необходимыми блоками для реализации этой задачи являются: ЖК-дисплей, память, МК и блок кнопок. Блок-схема лабораторного макета представлена на рисунке 3.1:

Рисунок 3.1 - Блок схема лабораторного макета

Сплошным контуром выделена часть устройства, которая используется программой, а именно:

ѕ Блок кнопок (БК) - состоит из 12 кнопок организованных в матрицу 3х4 для подключения которой требуется 3+4 (7) ЛВВ;

ѕ Блок ЖК дисплея (БЖКД) - содержит дисплей управляемый через шину I2C и подключаемый через две ЛВВ;

ѕ Блок памяти (БПам) - содержит микросхему EEPROM памяти подключенную с помощью шины I2C. Особенностью шины является возможность одновременного подключения нескольких устройств к одной и той же шине;

ѕ Блок программатора (БПрог) - содержит в себе JTAG-совместимый программатор и подключается к МК через JTAG интерфейс предусмотренный в МК;

ѕ USB-RS232 преобразователь это специальная микросхема которая служит мостом между шинами USB и RS232.

4. Технический проект

4.1 Характеристики основных частей лабораторного макета

Микроконтроллер (ATmega128) - 8-разрядный AVR-микроконтроллер с внутрисистемной программируемой флэш-памятью емкостью 128 кбайт построенный на RISC-архитектуре (133 мощных инструкций, 32 8-разрядных регистров общего назначения, регистры управления встроенной периферией, производительность до 16 млн. операций в секунду при тактовой частоте 16 МГц). Интерфейс JTAG предоставляет возможности программирования флэш-памяти, ЭСППЗУ, предоставляет множество функций встроенной отладки. Рабочее напряжение от 4.5 до 5.5В.

Память (EEPROM) - используется микросхема AT24C64 фирмы Atmel имеющая 8192х8 бит памяти и работающая на шине I2C.

ЖК-дисплей (COG ЖК индикатор TIC149 фирмы Ampire) - имеет разрешение 133х64 и содержит кроме ЖК матрицы драйвер PCF8535 (управляемый по I2C шине) фирмы Philips Semiconductors.

В качестве кнопок используются тактовые кнопки с размером 6х6х8мм.

JTAG-совместимый программатор - использует МК фирмы Atmel ATmega16, в который заранее записана прошивка, позволяющая программировать основной микроконтроллер.

диаграмма микросхема интерфейс

5. Реализация

5.1 Интегрированная среда разработки

После длительного анализа различных сред и анализа требования проекта была выбрана интегрированная среда разработки IAR Embedded Workbench (рисунок 5.1), которая представляет собой очень мощный и удобный инструмент программирования микроконтроллеров фирмы Atmel семейства AVR, включая Mega. Это отладочная среда, которая работает под управлением Windows 95, 98, NT. В нее входят компилятор с языка Си, ассемблер, компоновщик, и отладчик, при этом возможно взаимодействие с внешними программами типа AVR Studio. Встроенный редактор специально настроен на синтаксис языка Си, а дополнительные утилиты и хорошая встроенная система помощи дополнительно облегчают написание программ.

Рисунок 5.1 - Внешний вид IAR Embedded Workbench

Одним из главных достоинств среды разрыбоки IAR Embedded Workbench является один из лучших компиляторов Си по эффективности кода и множество алгоритмов оптимизации предназначенных специально для AVR-микроконтроллеров (что является очень важным параметром при работе с малым объемом ресурсов памяти). Также к плюсам данной интегрированной среды разработки можно отнести широкие возможности для симуляции и отладки проекта:

ѕ Отладка в кодах Си и ассемблера;

ѕ Различные точки останова;

ѕ Язык описания периферии и операций ввода/вывода;

ѕ Просмотр областей CODE, DATA, EEPROM и регистров ввода/вывода;

ѕ Обработка прерываний с предсказанием;

ѕ Контроль любых переменных и стека;

ѕ Комплексные типы данных.

5.2 Настройки проекта

Для соединения программной части с технической и реализации максимальной производительности необходимо правильно настроить проект.

Выбираем тип микроконтроллера (рисунок 5.2).

Рисунок 5.2 - Выбор микроконтроллера

Выделяем необходимый объем памяти стека - для хранения до десяти холстов (таблиц размещения элементов). Необходимы нестойки наведены на рисунке 5.3:

Рисунок 5.3 - Определения объема стека

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

Рисунок 5.4 - Выбор максимальной оптимизации компилятора

Выбираем программатор JTAGICE для возможности программирования флэш-памяти (рисунок 5.5).

Рисунок 5.5 - Выбор программатора

В настройках программатора JTAGICE выбираем порт, через который будет осуществляться соединение с компьютером (рисунок 5.6).

Рисунок 5.6 - Выбор порта компьютера для соединения с программатором

5.3 Меню и блок кнопок

Меню - представляет собой объект класса Menu, который отвечает за предоставления выбора активного элемента. Вызов меню осуществляется в любой момент нажатием на кнопку 10, при этом выводится приглашение выбрать активный элемент. Доступными элементами меню являются: компьютер(computer), сеть(net), здание(building), сервер(server), линия (line), коммутатор(switch), курсор (pointer).

Все операции в программе делятся на три типа: opt_menu, opt_navigation и opt_line; которые хранятся в файле operationType.h. Первый из них переключает раскладку клавиш в режим «Меню» - каждая клавиша выступает номером элемента меню. По нажатию на определенную клавишу создается выбранный элемент и раскладка клавиш переход в режим «Навигация» (второй тип операций). В этом режиме клавиши служат курсором, который помогает перемещать объект в заданное место. Третий тип операций предназначен для рисования соединительной линии.

Для обработки нажатий клавиш создан метод Timer3_overflow являющийся обработчиком по прерыванию. При каждом входе в функцию идет проверка каждой стоки и каждого символа на нажатие. В соответствии от выбранного режима клавиатуры осуществляется его обработка.

5.4 Система классов

Программа написана на языке Си с использованием таких известных технологий как объектно-ориентированное программирование (ООП) и паттерны проектирования. Часть программы написана с помощью классов, а часть с помощью процедур. Все классы можно условно поделить на три категории: классы для отображения сетевых объектов, классы для управления системой и классы для взаимодействия с выбранным устройством.

5.4.1 Классы взаимодействия с выбранным устройством

Рассмотрим классы взаимодействия с выбранным устройством на примере класса TIC_149 (рисунок 5.7), который предоставляет основные функции для работы с ЖК-дисплеем:

ѕ Инициализация (Init);

ѕ Очистка ЖК-дисплея (Clear);

ѕ Вывод символов на ЖК-дисплей (Print) - параметром передаем указатель на в...

Другие файлы:

Обработка сигнала в NGN
Принципы построения телефонных сетей. Разработка алгоритма обработки сигнальных сообщений ОКС№7 в сетях NGN при использовании технологии SIGTRAN. Архи...

Принципы построения мультисервисных местных сетей электросвязи
Системные и технологические принципы модернизации местных сетей электросвязи. Принципы модернизации местных коммутируемых (вторичных) сетей. Городские...

Компьютерные сети - архитектура, технологии, защита
В книге изложены основные принципы построения компьютерных сетей, описаны распространённые технологии локальных и глобальных сетей. Рассмотрены вопрос...

Архитектура и принципы построения современных сетей и систем телекоммуникаций
В учебном пособии рассматриваются архитектура и принципы построения современных сетей и систем телекоммуникаций, основные протоколы и технологии. Посо...

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