Автор работы: Пользователь скрыл имя, 18 Мая 2012 в 20:18, курсовая работа
Прилагательное «fuzzy» можно перевести на русский язык как нечеткий, размытый. Оно было введено в название новой теории с целью отдаления от традиционной четкой математики и булевой логики, оперирующих с четкими понятиями: «принадлежит - не принадлежит», «истина – ложь». Сама теория возникла, как «неудовлетворенность математическими методами классической теории систем, которая вынуждала добиваться искусственной точности, неуместной во многих системах реального мира, особенно в так называемых гуманистических системах, включающих людей».
Введение 3
Нечеткая логика в Матлабе 9
Общая структура нечёткого микроконтроллера 11
Реализация системы проектирования нечётких контроллеров 12
Примеры проектирования нечеткого контроллера в среде Matlab 13
Примеры некоторых реально существующих микроконтроллеров, реализованных на базе нечёткой логики 23
Семейство 16-разрядных микроконтроллеров Motorola 68HC12: архитектура, основные характеристики, средства программирования-отладки 24
Заключение 45
Список используемой литературы 47
Микроконтроллеры 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 КГц. Перезапуск осуществляется также по сигналу сторожевого таймера, контролирующего выполнение программы.
Значительное снижение энергопотребления
микроконтроллеров
Способы адресации и система команд
Микроконтроллеры семейства 68НС12 являются 16-разрядным развитием 8-разрядного семейства 68HC11. Программный код 68НС12 снизу вверх совместим с кодом 68HC11 на уровне исходного текста. Поэтому разработчики, применяющие в качестве элементной базы представителей этого популярного 8-разрядного семейства, могут без особых проблем перейти на 16-разрядные микроконтроллеры, используя имеющиеся средства программирования для 68HC11 и ранее разработанное программное обеспечение.
Процессор CPU12 поддерживает все способы адресации, используемые семейством 68НС11, и реализует 7 дополнительных вариантов индексной адресации. Обеспечиваются следующие способы адресации:
Информация о работе Аппаратная реализация микроконтроллеров на базе нечёткой логики