Автор работы: Пользователь скрыл имя, 18 Мая 2012 в 20:18, курсовая работа
Прилагательное «fuzzy» можно перевести на русский язык как нечеткий, размытый. Оно было введено в название новой теории с целью отдаления от традиционной четкой математики и булевой логики, оперирующих с четкими понятиями: «принадлежит - не принадлежит», «истина – ложь». Сама теория возникла, как «неудовлетворенность математическими методами классической теории систем, которая вынуждала добиваться искусственной точности, неуместной во многих системах реального мира, особенно в так называемых гуманистических системах, включающих людей».
Введение 3
Нечеткая логика в Матлабе 9
Общая структура нечёткого микроконтроллера 11
Реализация системы проектирования нечётких контроллеров 12
Примеры проектирования нечеткого контроллера в среде Matlab 13
Примеры некоторых реально существующих микроконтроллеров, реализованных на базе нечёткой логики 23
Семейство 16-разрядных микроконтроллеров Motorola 68HC12: архитектура, основные характеристики, средства программирования-отладки 24
Заключение 45
Список используемой литературы 47
После выполнения
этой команды с помощью
Рис.8. Окно команд с отображением результата оценки построенной нечеткой модели гибридной сети.
Существуют также среды для разработки
нечетких контроллеров, такие как FuzzyStudio(
Рассмотрим процесс
Возьмем простой пример –
Выберем в качестве оптимального рабочего диапазона температуру T в пределах 65°C. Мотор вентилятора работает в промежутке от 2 до 5.5 V.
Воспользуемся программой Matlab для построения модели.
Определяем входные и выходные переменные:
Рис. 9. Окно интерфейса определения структуры правил
Определяем функции принадлежности для входной переменной:
Рис. 10. Окно интерфейса определения входной переменной
И для выходной переменной:
Рис. 11. Окно интерфейса для определения выходной переменной
Определим правила:
- Если температура холодная, то напряжение низкое.
(If Temp is cold then Volt is low);
- Если температура нормальная, то напряжение среднее.
(If Temp is normal then Volt is middle);
- Если температура горячая, то напряжение высокое.
(If Temp is hot then Volt is high).
Посмотрим результат выполнения правил:
Рис. 12. Система нечетких правил управления вентилятором компьютера
В итоге получим следующую поверхность решений:
Рис. 13. Управляющая функция
Теперь необходимо реализовать
полученный нечеткий
1. Определение входных и
Переменная Temp, диапазон [20 80].
Переменная Volt, диапазон [2 5.3].
2. Функции принадлежности и
В столбцах будут находиться
граничные значения функций
Таблица 1
3. Получив значение входной
4. Находим результирующее
Перечисленные операции легко реализуются на любом из языков программирования, разница только в числе строк кода и определении формата хранения табличных данных. Удобнее реализовывать данный алгоритм на языке C++, поскольку большинство микроконтроллеров имеют программное обеспечение для конвертации программ на языке C++ в ассемблерный код микроконтроллера.
Некоторые существующие аппаратные fuzzy процессоры:
• ST52 Dualogic (STMicroelectronics) - семейство 8-битовых микроконтроллеров, содержащих в одном корпусе традиционное вычислительное ядро, ядро для fuzzy-вычислений и периферийные схемы. Поддерживает специальный набор инструкций для работы с нечеткой логикой и позволяет определять несколько независимых наборов правил для нескольких различных алгоритмов;
• ST62 (STMicroelectronics) - 8-битовый микроконтроллер со встроенной, однократно программируемой памятью для автомобильной промышленности, продолжение семейства Dualogic. Расширенный температурный диапазон (от -40° до +125°С), гарантированный срок хранения данных для памяти EPROM и EEPROM не менее 20 лет;
• VY86C570 (Togai InfraLogic) - fuzzy-сопроцессор, 12 -битовое ядро FCA (Fuzzy Computational Acceleration[Акселерация Нечетких Вычислений]), 4Kx12 бит памяти OCTD (Observation, Conclusion, & Temporary Data[Наблюдение, Вывод и Временные Данные]), память RB (Rule Base[База
Правил]), и интерфейсная логика в одном корпусе;
• SAE 81C99 (Siemens) - fuzzy-процессор, способный выполнять восемь программируемых алгоритмов, обрабатывать 256 входных переменных и формировать до 64 выходных значений максимум по 16384 правилам. Может использоваться как отдельное устройство или в качестве сопроцессора для 8 и 16-разрядных микроконтроллеров. Скорость работы - 10 миллионов правил в секунду;
• 68HC12 (Motorola) - fuzzy-микроконтроллер, базирующийся на ядре стандартного микроконтроллера 68HC11 и содержащий специальные функции для реализации нечеткой логики. Предназначен для использования с программным пакетом FuzzyTech и позволяет увеличить скорость выполнения приложений, созданных в этом пакете, до 15 раз и компактность кода до 6 раз по сравнению с реализацией на обычном ядре 68HC11.
В конце 1997 года компания Motorola начала выпуск нового семейства 16-разрядных микроконтроллеров 68HC12. Оно имеет ряд специфических особенностей, заинтересовавших многих производителей электронной аппаратуры различного назначения.
К числу особенностей 68HC12 относятся:
- архитектурная совместимость с широко используемым семейством 8-разрядных микроконтроллеров 68HC11;
- расширенный набор команд и способов адресации, обеспечивающих реализацию управления с использованием “нечеткой логики”, поддержку языков высокого уровня и ряд других дополнительных возможностей;
- улучшенные технические характеристики: высокая производительность, пониженное энергопотребление, расширенный объём адресуемой памяти, введение сложнофункциональных периферийных устройств;
- наличие встроенных средств отладки, существенно упрощающих процесс разработки систем на базе этих микроконтроллеров.
Одной из особенностей 16-разрядных микроконтроллеров 68HC12 является расширенный набор команд и способов адресации, обеспечивающих реализацию управления с использованием “нечеткой логики”, поддержку языков высокого уровня и ряд других дополнительных возможностей. Микроконтроллеры семейства 68HC12 содержат на кристалле 16-разрядный процессор (CPU12), внутреннюю память одного или нескольких типов (ROM, FLASH, EEPROM, SRAM), модуль интеграции (LIM) и некоторый набор периферийных модулей. CPU12 является высокопроизводительным 16-разрядным процессором, который выполняет обработку битовых, 8- и 16-разрядных операндов. Микроконтроллеры семейства 68HC12 работают на тактовой частоте до 8 МГц и выпускаются в двух модификациях: для работы при напряжении питания 4,5–5,5 и 2,7–3,3 В.
Процессор CPU12 аппаратно поддерживает операции “нечеткой логики”, что позволяет эффективно реализовывать на базе микроконтроллеров семейства HC12 соответствующие системы контроля. Группа команд “нечёткой логики” включает четыре команды. Команда MEM производит фазификацию, выполняя преобразование точных значений входных переменных в значения лингвистических переменных в соответствии с функциями принадлежности из базы знаний. Далее с помощью команд REVW и REV проводится непосредственно обработка полученных значений по заданному алгоритму с учётом или без учёта весовых коэффициентов правил обработки. С помощью команды WAV осуществляется дефазификация, в результате которой осуществляется переход от нечётких значений выходной переменной к точным выходным значениям, обеспечивающим требуемое управление системой.
Микроконтроллеры семейства 68НС12 имеют в своём составе от 8 до 12 параллельных портов ввода/вывода.
Семейство 68HC12 интенсивно расширяется. В настоящее время в него входят семь моделей микроконтроллеров, отличающихся объёмом внутренней памяти и номенклатурой размещённых на кристалле периферийных устройств (табл. 2).
Таблица 2
Характеристики Количество: линий ввода/вывода выводов корпуса Объём ROM, Кбайт Объём Flash, Кбайт Объём EEPROM, байт Объём SRAM, Кбайт Модуль таймера: число каналов/разрядность Модуль ШИМ: число каналов/разрядность Последовательные интерфейсы Модуль АЦП: число каналов/разрядность |
HC12A0 61 112 — — — 1 8/16 — 2 SCI, SPI 8/8 |
HC812A4 91 112 — — 4К 1 8/16 — 2 SCI, SPI 8/8 |
HC912B32 63 80 — 32 768 1 8/16 4/8 или 2/16 SCI, SPI, J1850 8/10 |
HC12BE32 63 80 32 — 768 1 8/16 4/8 или 2/16 SCI, SPI, J1850 8/10 |
HC912BC32 63 80 — 32 768 1 8/16 4/8 или 2/16 SCI, SPI, CAN 8/10 |
HC912D60 63 112 — 60 1К 2 8/16 4/8 или 2/16 2 SCI, SPI, CAN 16/10 |
HC912DG128 85 112 — 128 2К 8 8/16 4/8 или 2/16 2 SCI, SPI, I2C 16/10 |
Информация о работе Аппаратная реализация микроконтроллеров на базе нечёткой логики