Аппаратная реализация микроконтроллеров на базе нечёткой логики

Автор работы: Пользователь скрыл имя, 18 Мая 2012 в 20:18, курсовая работа

Описание работы

Прилагательное «fuzzy» можно перевести на русский язык как нечеткий, размытый. Оно было введено в название новой теории с целью отдаления от традиционной четкой математики и булевой логики, оперирующих с четкими понятиями: «принадлежит - не принадлежит», «истина – ложь». Сама теория возникла, как «неудовлетворенность математическими методами классической теории систем, которая вынуждала добиваться искусственной точности, неуместной во многих системах реального мира, особенно в так называемых гуманистических системах, включающих людей».

Содержание работы

Введение 3
Нечеткая логика в Матлабе 9
Общая структура нечёткого микроконтроллера 11
Реализация системы проектирования нечётких контроллеров 12
Примеры проектирования нечеткого контроллера в среде Matlab 13
Примеры некоторых реально существующих микроконтроллеров, реализованных на базе нечёткой логики 23
Семейство 16-разрядных микроконтроллеров Motorola 68HC12: архитектура, основные характеристики, средства программирования-отладки 24
Заключение 45
Список используемой литературы 47

Файлы: 1 файл

Кр МСУ_10сем.docx

— 296.40 Кб (Скачать файл)

 

  Микроконтроллеры 68HC12A0, не имеющие  внутренней памяти программ, ориентированы на применение в системах, использующих для хранения программ внешнюю память. Модель 68HC12BE32 с масочно-программируемой внутренней памятью ёмкостью 32 Кбайт предназначена для производства изделий массовых серий. Модель 68HC812A4 отличается большим количеством портов ввода/вывода и использованием внутренней электрически-репрограммируемой памяти ёмкостью 4 Кбайт, которая служит обычно для хранения программ или их фрагментов. В последние годы широкое распространение получили модели серии 68HC912, содержащие на кристалле Flash-память ёмкостью от 32 до 128 Кбайт. Все микроконтроллеры содержат на кристалле статическую память SRAM ёмкостью от 1 до 8 Кбайт для хранения данных. Большинство моделей имеют также блок энергонезависимой памяти EEPROM ёмкостью от 768 байт до 4 Кбайт. Для связи с внешними устройствами микроконтроллеры имеют от 8 до 12 параллельных портов и различные виды последовательных интерфейсов.

Микроконтроллеры  семейства 68НС12 имеют модульную  структуру, которая реализуется из набора отдельных функциональных модулей, взаимодействующих с помощью стандартизованной межмодульной шины. Набор этих модулей включает:

- 8-канальный таймерный модуль;

- модуль формирования ШИМ-сигналов с 2 или 4 выходными каналами;

- модуль последовательного обмена, включающий один или два асинхронных интерфейса (SCI) и синхронный интерфейс (SPI);

- модуль интерфейса CAN-шины;

- модуль интерфейса I2C-шины;

- модуль последовательного обмена по протоколу J1850;

- многоканальный АЦП.

 

 

Структура и функционирование микроконтроллеров HC12

 

 

Микроконтроллеры  семейства 68HC12 содержат на кристалле 16-разрядный  процессор (CPU12), внутреннюю память одного или нескольких типов (ROM, FLASH, EEPROM, SRAM), модуль интеграции (LIM) и некоторый набор периферийных модулей. В качестве примера на рис. 14 представлена структура микроконтроллера МС68НС812А4.

 

Рис. 14

В системах и устройствах микроконтроллеры могут работать в однокристальном (Single-Chip) или расширенном (Expanded) режимах. В однокристальном режиме микроконтроллер использует для хранения программ и данных только внутреннюю память. В расширенном режиме к микроконтроллеру подключается внешняя память, обмен с которой производится по 8- или 16-разрядной системной шине данных. При этом 8-разрядные порты ввода/вывода A и B служат для выдачи 16 разрядов адреса ADDR15-0, порты C и D — для пересылки 16 разрядов данных DATA15-0 (при 8-разрядной системной шине используется только порт C), порт E — для передачи сигналов управления обменом. Таким образом, в расширенном режиме количество портов для обмена данными с внешними устройствами значительно сокращается. Микроконтроллеры 68НС12А0 и 68НС812А4 при работе в расширенном режиме обеспечивают возможность увеличения адресного пространства до 4 Мб памяти команд и 1 Мб памяти данных. Кроме того, микроконтроллеры реализуют четыре различных специальных режима, которые используются на стадиях отладки программы и тестирования кристалла.

CPU12 является  высокопроизводительным 16-разрядным  процессором, который выполняет обработку битовых, 8- и 16-разрядных операндов. Регистровая модель CPU12 полностью аналогична модели процессорного ядра микроконтроллеров 68HC11 и содержит семь программно-доступных регистров (рис. 15). Два 8-разрядных регистра-аккумулятора A и B используются для хранения операндов и результата операции. При выполнении действий над 16-разрядными операндами эти регистры объединяются в один 16-разрядный аккумулятор D. Два 16-разрядных индексных регистра X и Y используются для формирования адреса операнда при выполнении операций с индексной адресацией. Указатель стека SP содержит 16 разрядов и может использоваться не только для работы со стеком, но и для реализации индексной адресации. Программный счётчик PC содержит адрес следующей выполняемой команды. Этот регистр также служит для формирования адреса операнда в ряде вариантов индексной адресации. Регистр условий CCR содержит значения признаков переноса (С), переполнения (V), нуля (Z), отрицательного результата (N) и переноса между тетрадами (H), устанавливаемых по результатам выполнения операции. Также CCR содержит биты маскирования прерываний I и X и управляющий бит S, который при установке значения S = 1 запрещает перевод микроконтроллера в режим останова по команде STOP.

Рис. 15

Внутренняя шина адреса микроконтроллеров  семейства 68НС12 позволяет линейно адресовать 64 К памяти. В этом адресном пространстве располагаются блок ОЗУ, блок ПЗУ (EEPROM, FLASH или ROM) и блок регистров периферийных устройств и служебных регистров ёмкостью 512 байт. Остальное адресное пространство отводится для работы с внешней памятью. Распределение адресного пространства между различными блоками памяти зависит от режима функционирования микроконтроллера (рис. 16). Пользователь может изменить положение блоков внутренней памяти в адресном пространстве путём записи нового значения в специальные регистры, содержащие начальные адреса этих блоков.

Рис. 16

Ряд микроконтроллеров семейства (МС68НС12А0, МС68НС812А4) имеет возможность увеличить адресное пространство в расширенном режиме до 4 Мб памяти команд и 1 Мб памяти данных. Увеличение объёма адресуемой памяти осуществляется путём использования окон расширения, расположенных в стандартном 64-Кб пространстве памяти, и шести дополнительных адресных линий ADDR21-16. Адресация внешней памяти объёмом свыше 64 Кб осуществляется посредством механизма страничной трансляции, для чего каждое окно расширения имеет свой регистр, содержащий адрес текущей страницы. При обращении по адресу, попадающему в окно расширения, соответствующие разряды этого регистра выводятся на старшие линии шины адреса ADDR21-16.

Для организации банков внешней  памяти наряду со страничной адресацией микроконтроллеры могут формировать сигналы выборки кристалла CS. Эти сигналы становятся активными при обращении по адресам, расположенным в определённых разделах адресного пространства. Для вывода сигналов CS используются линии порта F.

Микроконтроллеры семейства 68HC12 могут  работать в специальном режиме отладки BDM (Background Debug Mode), который обеспечивает выполнение основных процедур отладки — просмотр и модификацию содержимого регистров и ячеек памяти и ряд других функций. Вход в режим BDM обеспечивается с помощью команды BGND и может быть осуществлён из любого режима функционирования. Часть команд BDM может выполняться без перевода микроконтроллера в режим отладки. После перевода микроконтроллера в этот режим процессор работает под управлением программы-отладчика, хранящейся во внутреннем ПЗУ, которое отображается на карту памяти только в режиме BDM (рис. 16). Отличительные черты BDM для данного семейства: простой набор команд отладки и использование однопроводного интерфейса для взаимодействия с системой отладки.

Процессор CPU12 реализует ряд прерываний, для каждого из которых задается 16-разрядный вектор, указывающий  адрес входа в соответствующую процедуру обработки. Таблица векторов прерываний занимает старшие 128 байт адресного пространства (табл. 3). Старшие шесть позиций таблицы отведены под векторы начальной загрузки и немаскируемых прерываний, а остальные распределяются между маскируемыми источниками прерываний. При переходе к обслуживанию прерываний в стеке сохраняется содержимое регистров PC, Y, X, A, B, CCR, которое восстанавливается при возврате из подпрограммы обслуживания по команде RTI.

 

 

 

 

 

 Таблица 3

Адрес вектора

$FFFE-F

$FFFC-D

$FFFA-B

$FFF8-9

$FFF6-7

$FFF4-5

$FFF2-3

$FFF0-1

$FFEE-F

$FFEC-D

$FFEA-B

$FFE8-9

$FFE6-7

$FFE4-5

$FFE2-3

$FFE0-1

$FFDE-F

$FFDC-D

$FFDA-B

$FFD8-9

$FFD6-7

$FFD4-5

$FFD2-3

$FFD0-1

$FFCE-F

$FF80-D

Вид прерывания

Установка в начальное  состояние (Reset)

Прерывание от схемы контроля тактового сигнала

Прерывание от сторожевого  таймера

Неправильный код операции

Программное прерывание (команда SWI)

Внешний запрос на входе XIRQ

Внешний запрос на входе IRQ или  сигнал на линии порта D

Периодическое прерывание от таймера

Запрос от таймера (канал 0)

Запрос от таймера (канал 1)

Запрос от таймера (канал 2)

Запрос от таймера (канал 3)

Запрос от таймера (канал 4)

Запрос от таймера (канал 5)

Запрос от таймера (канал 6)

Запрос от таймера (канал 7)

Переполнение таймера

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

Сигнал на входе счётчика импульсов

Запрос от SPI

Запрос от SCI 0

Запрос от SCI 1

Запрос от АЦП

Внешний сигнал на линии порта J

Внешний сигнал на линии порта H

Зарезервировано

Маскирование

нет

нет

нет

нет

нет

бит X

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

бит I

 

 

К немаскируемым источникам прерываний относятся: сигнал сброса на входе Reset, прерывание от схемы контроля частоты  тактового сигнала, прерывание от сторожевого таймера, попытка выполнить неправильную команду, программное прерывание по команде SWI, внешний сигнал прерывания на входе XIRQ. Эти прерывания перечислены в порядке убывания приоритета их обслуживания. Обращение к одному из первых трёх векторов вызывает выполнение процедуры начальной загрузки микроконтроллера. Обслуживание запроса прерывания XIRQ производится в том случае, если в регистре CCR установлено значение бита X = 0.

Разрешение обслуживания маскируемых  прерываний осуществляется путём установки в 0 бита I в регистре CCR. К маскируемым источникам прерываний относятся: внешний сигнал прерывания на входе IRQ, прерывания от таймера, прерывания от блока последовательного интерфейса и от АЦП. В отличие от немаскируемых прерываний приоритет их обслуживания можно изменить с помощью специального регистра установки приоритетов.

Микроконтроллеры семейства 68HC12 работают на тактовой частоте до 8 МГц и  выпускаются в двух модификациях: для работы при напряжении питания 4,5–5,5 и 2,7–3,3 В. Блок фазовой автоподстройки частоты (ФАПЧ), расположенный на кристалле  микроконтроллера, позволяет программно задавать частоту системы. Схема  контроля тактового сигнала вызывает перезапуск (начальную загрузку) микроконтроллера, если его тактовая частота оказывается ниже 100 КГц. Перезапуск осуществляется также по сигналу сторожевого таймера, контролирующего выполнение программы.

Значительное снижение энергопотребления  микроконтроллеров обеспечивается в режимах ожидания (Wait Mode) и останова (Stop Mode), в которые микроконтроллер  переходит по командам WAIT и STOP соответственно. В режиме ожидания останавливается работа процессора, но продолжается функционирование периферийных модулей: таймера, последовательного интерфейса, АЦП, сторожевого таймера, а также схемы контроля прерываний. Выход из режима ожидания обеспечивается при поступлении запроса прерывания или внешнего сигнала начальной загрузки (Reset). В режиме останова полностью прекращается функционирование процессора и периферийных модулей. При этом возврат в рабочий режим осуществляется внешними сигналами Reset или IRQ. Кроме того, для возврата из режимов ожидания и останова можно использовать сигналы KWD7-0, KWJ7-0, KWH7-0, поступающие на выводы портов D, J, H, запрограммированные соответствующим образом. В режиме ожидания потребление мощности составляет 40–50% от мощности, потребляемой в рабочем режиме. В режиме останова ток питания снижается до нескольких десятков микроампер.

 

 

Способы адресации  и система команд

 

 

Микроконтроллеры семейства 68НС12 являются 16-разрядным развитием 8-разрядного семейства 68HC11. Программный код 68НС12 снизу вверх совместим с кодом 68HC11 на уровне исходного текста. Поэтому разработчики, применяющие в качестве элементной базы представителей этого популярного 8-разрядного семейства, могут без особых проблем перейти на 16-разрядные микроконтроллеры, используя имеющиеся средства программирования для 68HC11 и ранее разработанное программное обеспечение.

Процессор CPU12 поддерживает все способы  адресации, используемые семейством 68НС11, и реализует 7 дополнительных вариантов  индексной адресации. Обеспечиваются следующие способы адресации:

  • регистровая (операнд располагается в одном из регистров процессора);
  • непосредственная (8- или 16-разрядный операнд располагается во втором и третьем байтах команды);
  • прямая (8-разрядный адрес операнда задаётся во втором байте команды);
  • расширенная (16-разрядный адрес операнда располагается во втором и третьем байтах команды);
  • относительная (адрес операнда образуется путём сложения содержимого программного счётчика PC и заданного в команде 8- или 16-разрядного смещения);
  • индексная с 5-разрядным смещением (адрес операнда образуется путём сложения содержимого регистра X, Y, SP или PC с 5-разрядным смещением);
  • индексная с преддекрементом (перед выборкой операнда содержимое заданного в команде регистра X, Y или SP уменьшается на число от 1 до 8);
  • индексная с прединкрементом (перед выборкой операнда содержимое заданного регистра X, Y или SP увеличивается на число от 1 до 8);
  • индексная с постдекрементом (после выборки операнда содержимое заданного регистра X, Y или SP уменьшается на число от 1 до 8);
  • индексная с постинкрементом (после выборки операнда содержимое заданного регистра X, Y или SP увеличивается на число от 1 до 8);
  • индексная со смещением, расположенным в аккумуляторе (адрес операнда образуется путём сложения содержимого заданного регистра X, Y, SP или PC с содержимым одного из аккумуляторов);
  • индексная с 9-разрядным смещением (адрес операнда образуется путём сложения содержимого заданного регистра X, Y, SP или PC с 9-разрядным смещением);
  • индексная с 16-разрядным смещением (адрес операнда образуется путём сложения содержимого заданного регистра X, Y, SP или PC с 16-разрядным смещением);
  • косвенно-индексная с 16-разрядным смещением (адрес операнда располагается в ячейке памяти с адресом, который получается путем сложения содержимого заданного регистра X, Y, SP или PC с 16-разрядным смещением);
  • косвенно-индексная со смещением, расположенным в регистре D (адрес операнда располагается в ячейке памяти с адресом, который получается путём сложения содержимого заданного регистра X, Y, SP или PC с содержимым регистра D).

Информация о работе Аппаратная реализация микроконтроллеров на базе нечёткой логики