Пояснительная_записка (1211002), страница 4
Текст из файла (страница 4)
Всем задачам проектирования отвечает 8-разрядный контроллер ATmega16 исполненный в корпусе DIP и предназначенный для поверхностного (SMD) монтажа Рисунок 2.5) [3].
На все выпускаемые контроллеры разработчик выпускает техническую документацию, в которой указано техническое описание компонента, его параметры, режимы эксплуатации, схемы включения и другая информация. Таким образом изучив этот документ можно описать контроллер его основными характеристиками.
ATmega16 имеет высокую производительность, низкое электропотребление, продвинутую RISC архитектуру увеличивающую быстродействие за счет упрощения инструкций. Согласно технической документации имеет 131 ассемблерную команду, выполнение которых в большинстве выполняется за один такт процессора, тридцать два 8-ми разрядных рабочих регистров общего назначения, 16 кбайт Flash-памяти для хранения программ, 512 байт энергонезависимой памяти EEPROM, 1 кбайт статической памяти с произвольным доступом SRAM. Количество циклов записи / стирания: 10000 Flash / EEPROM 100000, сохранение данных в течении 20 лет при температуре 85 ° С и 100 лет при температуре 25 ° С. Дополнительно имеет защиту от копирования данных и интерфейс для откладки и тестирования печатных плат - JTAG (IEEE Std. 1149.1 совместимый).
Рисунок 2.5 - Конфигурация выводов корпуса контроллера
Периферийные компоненты контроллера:
- два 8-разрядных таймера / счетчика с отдельными делителями и режимами сравнения;
- один 16-разрядный таймер / счетчик с отдельным предварительным делителем, режим сравнения и захвата;
- счетчик реального времени с отдельным генератором;
- четыре ШИМ-канала;
- 8-канальный, 10-разрядный АЦП;
- байт-ориентированный двухпроводный последовательный интерфейс;
- программируемый последовательный USART;
- Master / Slave SPI последовательный интерфейс;
- программируемый сторожевой таймер с отдельным генератором;
- аналоговый компаратор.
Специальные функции микроконтроллера:
- сброс по включению и снижению напряжения питания;
- внутренний калиброванный RC осциллятор;
- внешние и внутренние источники прерываний;
- шесть режимов сна (Idle, АЦП Снижение шума, экономии энергии, при отключении питания, в режиме ожидания).
Порты ввода вывода:
- 32 линии программируемых входов / выходов;
- 40-контактный PDIP, 44-вывоода для TQFP корпуса.
Напряжения по эксплуатации:
- 2,7 В – 5,5 В для ATmega16L;
- 4,5 В – 5,5 В для ATmega16.
Максимальная тактовая частота:
- 8MГц для ATmega16L;
- 16МГц для ATmega16.
Потребляемая мощность на частоте 1 МГц, 3 В, 25 ° C:
- активный режим: 1,1 мA;
- режим ожидания: 0,35 мA;
- спящий режим: <1 мкА [3].
Основным параметром, которому должен удовлетворять контроллер, это наличие Flash-памяти для установки драйвера и требуемого количество портов ввода вывода данных. Это необходимо, чтобы устройство могло выступать посредником передачи данных между ПК и УСО. Характеристики полностью удовлетворяют требования, поставленные проектом.
2.2.4.3 Аппаратные и программные интерфейсы взаимодействия с компьютером
Основным условием которому должно соответствовать устройство – это возможность обмениваться пакетами данных с лабораторным компьютером.
В качестве интерфейса для взаимодействия с ПК выбран интерфейс универсального асинхронного приёмопередатчика UART. Микроконтроллер ATmega16 поддерживает этот протокол в полном объёме полностью аппаратным путём. Структура представляет собой обычный асинхронный последовательный протокол, передающее устройство побитно посылает в линию передачи данных низкий и высокий уровень сигнала, а принимающее устройство отслеживает их и запоминает. Их синхронизация происходит по времени, т.е. приёмник и передатчик должны работать на одной частоте, если частоты будут не совпадать, то передача данных будет осуществляется неверно, либо её вообще не будет [2].
Перед передачей бита данных, первое устройство передают в линию низкий уровень – это означает что передача началась. Такой сигнал называется старт бит (ST). Приёмник воспринимает ST и выполняет задержку времени T1 и считывает отправленный в линию байт с интервалами Т2 между битами. Последний бит это стоп бит (SP), объявляющий того что передача байта завершена. Для увеличения помехозащищённости возможны варианты работы с наличием битов чётности, так же биты можно передавать не байтом, а в размере 9 бит. Самым распространённым протоколом является отправка одного байта информации с ST и SP без проверки на чётность. Временная диаграмма представлена на рисунке 2.6.
Рисунок 2.6 Передача байта 111011101
У микроконтроллеров семейства AVR есть регистр UDR это UART Data Register. Как только в регистр UDR попадает байт данных, то с завершением приёма произойдёт прерывание. Таким образом для передачи необходимо заполнять регистр нужными нам данными и считывать их программным путём на принимаемом устройстве.
Передача битов происходит относительно медленно, и посылать данные нужно только тогда, когда передача предыдущего байта завершена. О том, что UDR пуст и готов к приёму нового байта сигнализирует бит UDRE, он же вызовет прерывание по очистке буфера.
Таким образом все обслуживание получаемой информации можно выполнить на прерываниях. В памяти организовать буфер и туда отправлять данные, а на прерывание UDR следить на заполнением буфера, если тот пуст, то выполнять передачу.
Все настройки приёмопередатчика хранятся в регистрах UCSRA, UCSRB и UCSRC. Скорость обмена данными задаётся в паре UBBRH и UBBRL.
В регистре UCSRA важную роль для связи с компьютером играют биты RXC и TXC, это соответственно флаги завершения приёма и передачи. RXC встанет тогда когда непрочитанный байт появится в регистре UDR, а TXC встанет когда последний ST прошёл, а новое значение в UDR не пришло.
Биты UDRE показывает, что регистр UDR приёмника пуст и можно выполнять посылку нового байта. Сбрасывается сразу при получении какого-либо байта в UDR.
Бит U2X отвечающий за увеличение скорости в два раза в асинхронном режиме.
В регистре UCSRB в первую очередь необходимы биты RXEN и TXEN. Эта пара битов соответственно разрешает прием и передачу данных.
Рисунок 2.7 структура регистров UART
Кроме этого важную роль играет пара регистров UBBRx объявляющих скорость обмена. А так же флаги, отвечающие за ошибки в регистре UCSRA:
-
FE – ошибка кадрирования, возникает когда за вместо ST приходит низкий уровень сигнала;
-
OR – флаг переполнения буфера;
-
PE – возникает когда чётность нарушена, если данная функция включена.
2.2 Выбор и описание средств разработки
2.2.1 Интегрированная отладочная среда AVR
Для реализации дипломного проекта необходима среда разработки, в которую входили бы программные пакеты тестирования и разработки микропроцессорных устройств.
Такой программой является профессиональная интегрированная среда разработки AVR Studio, направленная для написания и откладки программ. AVR Studio 4 содержит в своей оболочке такие языки программирования как Си и ассемблер, а так же симулятор для отладки программ. Так же среда разработки поддерживает средства разработки для AVR такие как: ICE50, ICE40, JTAGICE, ICE200, STK500/501/502 и AVRISP. Так же для работы с AVR Studio имеется огромное количество библиотек как на ассемблере, так и на Си, что в разы упрощает и ускоряет разработку прошивки устройства.
Визуальный интерфейс AVR Studio с описанием основных рабочих окон, необходимых для отладки, просмотра переменных и написаниях исходного кода прошивки, показан на рисунке 2.8.
Рисунок 2.8 – Интерфейс AVR Studio
Окно с исходным текстом программы является главным рабочим полем AVR Studio, в него вносится исходный код. Когда объектный файл открыт, автоматически создаётся окно исходного теста. Этот код выполняется в случае включения отладочного режиме (эмуляторе или программном симуляторе), указатель в этом окне указывает какая команда будет выполнена в следующем шаге откладки.
Выполнение программы таким образом упрощает разработчику выполнять отладку программы и смотреть за работой кода в пошаговом режиме, трассируя блоки функций, или выполняя программу до места, где стоит курсов. Так же возможно устанавливать неограниченное число точек остановки, дойдя до которых программа остановиться, их можно выключать после того как они были поставлены. Точки остановки не пропадают после завершения сессии работы.
В окне исходного кода выводится информация о процессе его выполнения. Кроме того, у AVR Studio есть много других окон, которые позволяют вам управлять и отображать информацию о любом элементе микроконтроллера. Список доступных окон:
- Watch window – окно отображающие значение регистров и переменных;
- Register window – отображает значение регистров во время выполнения программы (Регистры можно устанавливать во время отладки исходного кода);
- Memory windows отображает память программы, данные энергонезависимого ПЗУ и портов ввода/вывода. Память можно просматривать в HEX, двоичном или десятичном форматах. Содержимое памяти так же можно изменять во время остановки программы, как и регистры;
- I/O window показывает содержимое различных регистров ввода/вывода (EEPROMI/O, порты, Таймеры и т.д);
- Message window показывает сообщения от AVR Studio;
- Processor window отображается важная информация о ресурсах микроконтроллера, включая программный счетчик, указатель стека, регистр статуса и счетчик цикла. Эти параметры могут модифицироваться во время остановки программы.
При выходе настройки рабочего окружения сохраняются, что позволяет выполнять обустройство программы таким образом, чтобы было максимально комфортно заниматься рабочей деятельностью.
В AVR Studio включена поддержка отладочных средств фирмы Atmel. Это различные внутрисхемные эмуляторы (ICEPRO, Mega ICE, AVRICE, ICE200, Asic ICE, ICE10, ICE30).
В данном программном обеспечении будет производиться написание и последующая отладка прошивки устройства.
2.2.2 Пакет программ для автоматизированного проектирования электронных схем DipTrace
Пакет программ для автоматизированного проектирования (САПР) электронных схем DipTrase, объединяет в себе две основных программы:
-
Schematic Capture средство разработки электрических схем;
-
PCB Layout средство разработки печатных плат.
В программной оболочке Schematic необходимо как средство для моделирование электрической схемы проектируемого устройства, интерфейс программы представлен на рисунке 2.9.
Рисунок 2.9 – Интерфейс Schematic Capture
Окно интерфейса условно можно разбить на следующие составляющие:
-
Область построения - область программы где непосредственно рисуется схема и размещаются все ее компоненты;
-
Стандартная панель - основные инструменты по работе с файлами, настройка форматок, масштаба и шага сетки;
-
Панель Объекты - режим по умолчанию, найти и установить компонент, создание связей, шин, дифференциальных пар и многое другое;
-
Панель Установить Компонент - выберите библиотеку из группы библиотек, затем выберите компонент и установите его в области построения, для поиска можно использовать разнообразные сортировочные фильтры. Панель дает доступ ко всем настройкам системы библиотек программы;
-
Панель Свойства - свойства выбранного инструмента или объекта;
-
Менеджер проекта - позволяет быстро найти компонент или сеть (включая выводы) на схеме.
Рисунок 2.10 – стандартная панель инструментов
Панель быстрого доступа включает следующие инструменты:
«Новое» - создает новую схему. Если ранее открытый проект не был сохранен, он предлагает сделать это. Программа поддерживает только одну открытую схему за раз;
«Открыть» - открывает существующий файл схемы (* .dch);
«Сохранить» - сохраняет текущую схему. Если проект ранее не был сохранен, открывается диалоговое окно для его сохранения, в противном случае проект сохраняется в ранее выбранный файл. Этот инструмент активен, только если текущая схема не сохранена;
«Печать» - открывает диалоговое окно печати и печатает текущую схему. Рекомендуется печатать из окна предварительного просмотра. Настройки и заголовки листов задаются в диалоговом окне «Заголовки» и «Настройка листа»;
«Предварительный просмотр» - открывает окно предварительного просмотра перед печатью;
«Настройка заголовков и листов» - открывает заголовки и окно настройки листа, чтобы установить размер и ориентацию листа, границы полей, заголовки, зоны и открыть редактор блока заголовков и т.д;















