Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Введение. Понятие микроконтроллера и сфера их применения



Контроллер – это законченное электронное устройство, обычно выполненное в виде платы (плата контроллера) и предназначенное для приема и обработки сигналов от датчиков, а также для управления внешними устройствами на основании результатов обработки принятых сигналов [1].

Микроконтроллер – это программно-управляемая интегральная микросхема, применяемая для построения различных котроллеров [1].

Микроконтроллером  называется интегральная схема, объединяющая в одном кристалле процессор, память и устройства ввода-вывода [2].

Современные средства интеллектуальной техники нацелены на решение весьма широкого круга задач. Конструктивное решение возникающих при этом проблем достигается за счет встроенного в них «мозгового центра» – МК. Естественным образом решаются задачи использования МК в разнообразных специализированных средствах, тем не менее, на современном рынке аппаратных решений (гаджетов) все чаще встречается обычная бытовая техника «интеллектуально усиленная» встроенными системами на базе МК [3].

Архитектура МК ATmega 32

В данной лабораторной работе используется микроконтроллер ATmega32, имеющий следующие характеристики:

· Высокопроизводительные, мало потребляющие AVR 8-разрядные микроконтроллеры

· Развитая RISC архитектура:

- 131 исполняемых команд, большинство за один машинный такт

- 32 рабочих регистра общего назначения

· Энергонезависимая память программ и данных

- 32К байт внутрисистемно самопрограммируемой FLASH памяти с количеством циклов перепрограммирования до 10 000.

- 1024 байт EEPROM с допустимым количеством циклов стирания записи до 100 000.

- 2К байт внутренней SRAM

· Периферийные функции

- два 8-битных таймера/счётчика с программируемым предделителем и режимом сравнения

- один 16-битный таймер/счётчик с программируемым предделителем, режимом сравнения и захвата

- счётчик реального времени с программируемым генератором

- четыре ШИМ (широтно-импульсная модуляция) генератора

- 8-и канальный, 10-и битный АЦП (аналогово-цифровой преобразователь)

- программируемый USART (для связи с ПК)

- Master/Slave SPI последовательный интерфейс

- Программируемый Watchdog таймер с программируемым генератором

- Встроенный аналоговый компаратор

· Специальные функции

- Reset по включению питания и выключение при снижении напряжения питания

 - Внутренний калиброванный RC генератор

· 32 программируемых вывода вход-выход и 1 вход

· 40 выводной корпус PDIP, 44 выводной корпус TQFP, и 44 контактный MLF

· Напряжение питания:

 - 2.7 В до 5.5 В для ATmega32L (режим пониженного энергопотребления)

- 4.5 В до 5.5 В для Atmega32

· Тактовая частота: 0-8 МГц Atmega32L - 0-16 МГц Atmega32

Блок- схема:

Рис. 1.1 Архитектура МК ATmega32/L

Рис. 1.2 Расположение выводов МК ATmega32/L

Atmega32/L является КМОП (комплементарная структура металл-оксид-полупроводник) 8-битным микроконтроллером построенным на расширенной AVR RISC архитектуре. Используя команды исполняемые за один машинный такт, контроллер достигает производительности в 1 MIPS на рабочей частоте 1 МГц, что позволяет разработчику эффективно оптимизировать потребление энергии за счёт выбора оптимальной производительности.

AVR ядро сочетает расширенный набор команд с 32 рабочими регистрами общего назначения. Все 32 регистра соединены с АЛУ (арифметическо-логическое устройство), что обеспечивает доступ к двум независимым регистрам на время исполнения команды за один машинный такт. Благодаря выбранной архитектуре достигнута наивысшая скорость кода и соответственно высокая производительность в 10 раз превосходящая скорость соответствующего CISC микроконтроллера.

Компилятор Code Vision AVR

Code Vision AVR – это компилятор или интегрированная среда разработки программ для МК семейства AVR фирмы Atmel, предназначенный для использования вместе с отладчиком AVR Studio [3].

Кроме стандартных библиотек языка Си, компилятор Си Code Vision AVR имеет библиотеки для:

- алфавитно-цифровых LCD-модулей;

- температурного датчика LM75 от National Semiconductor;

- часов реального времени PCF8563, PCF8583 от Philips и DS1302, DS1307 от Dallas Semiconductor;

- температурного датчика DS1820/DS18S20 от Dallas Semiconductor;

- SPI;

- задержек;

В результате трансляции программы формируются следующие файлы:

prj – файл проекта Code Vision AVR;

txt – файл комментариев. Это простой текстовый файл, который вы заполняете по своему усмотрению;

c – текст программы на языке СИ;

asm – текст программы на Ассемблере (сформирован Code Vision);

cof – формат для передачи программы в другие системы для отладки;

eep – содержимое EEPROM (формируется одновременно с hex -файлом);

hex – результат трансляции программы;

inc – файл-дополнение к программе на Ассемблере с описанием всех заранее зарезервированных ячеек и определением констант;

lst – листинг трансляции программы на Ассемблере;

map – распределение памяти МК для всех переменных программы СИ;

obj – объектный файл (промежуточный файл, используемый при трансляции;

rom – описание содержимого программной памяти (та же информация, что и в hex-файле, но в виде таблицы);

vec – еще одно дополнение к программе на Ассемблере содержащее команды переопределения векторов прерываний;

cwp – файл построителя проекта. Содержит все параметры, которые вы ввели в построитель.

Все перечисленные выше файлы имеют одинаковые имена, соответствующее имени проекта. Кроме перечисленных выше файлов, директория проекта может содержать несколько файлов с расширением типа c~, pr~ или cw~. Это страховочные копии соответственно файлов c, prj и cwp. То же самое, что файл bak для текстовых файлов.

При написании программы в Code Vision AVR применяют операнды, которые используются при выполнении операций.

Операнд – это константа, литерал, идентификатор, вызов функции, индексное выражение, выражение выбора элемента или более сложное выражение, сформированное комбинацией операндов, знаков операций и круглых скобок [4].

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

В Code Vision AVR выполняются следующие операции:

1. унарные

Унарное выражение состоит из операнда и предшествующего ему знака унарной операции и имеет следующий формат: знак_унарной_операции операнд. В таблице 1 перечислены унарные операции компилятора Code Vision AVR и приведены их знаки.

Таблица 1. Унарные операции компилятора CodeVisionAVR

Знак операции Операция
$<? > $ Арифметическое описание (отрицание и дополнение)
~ Побитовое логическое отрицание (дополнение)
! Логическое отрицание

Таблица 1. (продолжение)

* Разадресация (косвенная адресация)
& Вычисление адреса
++ Инкремент
-- Декремент
sizeof Размер

 

Унарные операции выполняются справа налево.

2. бинарные

Бинарное выражение состоит из двух операндов. Разделенных знаком бинарной операцией, и имеет следующий формат: операнд1 знак_бинарной_операции операнд2.

В отличие от унарных бинарные операции (список приведен в таблице 2), выполняются слева направо.

Таблица 2. Бинарные операции компилятора Code Vision AVR

Знак операции Операция
* Умножение
/ Деление
% Остаток от деления
+ Сложение
- Вычитание
< < Сдвиг влево
> > Сдвиг вправо
> Больше
< Меньше
< = Меньше или равно
> = Больше или равно
== Равно
! = Не равно
& Побитное И
| Побитное ИЛИ
^ Побитное исключающее ИЛИ
& & Логическое И
|| Логическое ИЛИ
, Последовательное вычисление
= Присваивание
*= Умножение с присваиванием
/= Деление с присваиванием
%= Остаток от деления с присваиванием

Таблица 2. (продолжение)

-= Вычитание с присваиванием
+= Сложение с присваиванием
< < = Сдвиг влево с присваиванием
> > = Сдвиг вправо с присваиванием
& = Побитное И с присваиванием
|= Побитное ИЛИ с присваиванием
^= Побитное исключающее ИЛИ с присваиванием

 

Операция побитного логического И (& ) сравнивает каждый бит первого операнда с соответствующим битом второго операнда. Если оба сравниваемых бита единицы, то соответствующий бит результата устанавливается в 1, в противном случае – в 0.

В Code Vision AVR имеется средство для облегчения разработчику написания программы. Это так называемый мастер – Автоматический генератор программ Code Wizard AVR.

Code Wizard AVR позволяет по заданию разработчика автоматически сгенерировать весь необходимый код для выполнения таких функций, как:

- организация доступа к внешней памяти;

- сброс и исходная идетификация чипа;

- инициализация портов ввода/вывода;

- инициализация внешних прерываний;

- инициализация таймеров/счетчиков;

- инициализация сторожевого (Watchdog) таймера;

- инициализация UART (USART) и прерывания, управляющего буфером последовательной связи;

- инициализация аналогового компаратора;

- инициализация АЦП;

- инициализация LCD-модуля.

При создании нового проекта разработчику сразу будет предложено использовать Автоматический программный генератор Code Wizard AVR. Кроме того, Code Wizard AVR можно запустить на любом этапе работы над проектом.

Эмулятор AVR Studio 4

Программная среда AVR Studio – это мощный современный программный продукт, позволяющий производить все этапы разработки программ для любых МК серии AVR. Пакет включает в себя специализированный текстовый редактор для написания программ, мощный программный отладчик [3].

Кроме того, AVR Studio позволяет управлять целым рядом подключаемых к компьютеру внешних устройств, позволяющих выполнять отладку, а также программирование («прошивку») микросхем AVR.

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

Из появившихся файлов нам необходим только тот, который имеет расширение.hex - это файл, который содержит результирующий код трансляции. Он будет служить источником данных при прошивке программы в программную память МК.

В hex-файле находится определенным способом закодированная программа в машинном коде. Именно этот файл используется программатором для «прошивки» программной памяти МК. Любой программатор поддерживает hex-формат и распознает записанные туда коды автоматически.

Программная среда AVR Studio работает с проектами, главный из которых – файл проекта. Он имеет расширение aps. Файл проекта содержит сведения о типе процессора, частоте тактового генератора и т.д. он также содержит описание всех остальных файлов, входящих в проект. Все эти сведения используются при отладке и трансляции программы.


Поделиться:



Последнее изменение этой страницы: 2019-10-05; Просмотров: 184; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.035 с.)
Главная | Случайная страница | Обратная связь