Диссертация (1143270), страница 6
Текст из файла (страница 6)
1-27) [83].Рис. 1-27. Классификация функционально-ориентированных контроллеров.Однако в настоящее время насущно необходимым является новыйкачественный скачок в применении ФОК для платформ встраиваемых системавтоматики и вычислительной техники, заключающийся в обеспеченииразработчиков для каждой новой задачи специальным, наилучшим образомподходящим к этой группе задач, ФОК. В соответствии с этим, в распоряжениеколлективаразработчиковпредоставитьинструменты,целевойвстраиваемойпозволяющиесистемывыполнитьнеобходимоскорейшуюикачественную разработку кристалла, соответствующего целевой задаче [85].Несмотря на продолжительную историю существования сферы ФОК исоответствующейтерминологии,активныйинтерескданнойобластипроявляется именно в последние годы благодаря новым технологическимвозможностяммикросхемотехническогопроектированияипроизводствамикросхем с высокой степенью интеграции [86].48Среди разработок в этой сфере следует особо отметить ряд решений,представленных на рынке [83].
К их числу относятся так называемыепрограммируемые системы на кристалле (System on Chip, Programmable Systemon Chip – SoC, PSoC), разрабатываемые компанией Cypress и содержащие вкорпусе одной интегральной микросхемы узел микроконтроллера и узелпрограммируемой логической интегральной схемы или программируемойаналоговой интегральной схемы – ПЛИС, ПАИС (англ. field-programmable gatearray – FPGA, field-programmable analog array – FPAA).
Также следует обратитьвнимание на аппаратуру систем-на-кристалле Zynq-7000 от компании Xilinx,основывающуюся на двухъядерной процессорной системе ARM Cortex-A9MPCore и содержащую массив программируемых логических элементов,который может использоваться совместно с основным контроллером дляаппаратной поддержки пользовательских задач.Альтернативой аппаратным процессорным подсистемам являются такназываемыесофт-процессорыпосредствомязыков(функционированиеописанияаппаратуры),ихядеркоторыеопределеномогутбытьскомпилированы для интеграции в аппаратуру ПЛИС общего назначения.Среди таких ядер можно отметить NIOS II производства компании Altera,Microblaze компании Xilinx, Mico8/32 от компании Lattice и др.Далее применительно к тематике нечетких вычислений рассмотрим болееподробно второй класс ФОК – ФОК с поддержкой специализированныхвычислений.Применение в микропроцессорных системах управления эмуляторовнечетких вычислений зачастую ограничивает темп принятия решений иформированияуправляющихвоздействий;дляспециализированныхпроцессоров и бортовых систем управления дополнительным ограничениемвыступает недопустимость увеличения тактовой частоты процессора поусловиям требований обеспечения повышенной надежности и пониженногоэнергопотребления.
В связи с этим актуальными являются разработка и49применение микропроцессоров, снабженных узлами аппаратной нечеткойобработкиинформации–т.н.нечеткимивычислителями(НВ).НВпредназначаются для повышения вычислительной производительности такихсистем управления благодаря поддержке операций нечеткой обработкиинформации на уровне аппаратных схем (рис. 1-28) [87].Рис. 1-28. Система микропроцессорного управленияс аппаратно реализованным нечетким вычислителем.Подсистемауправлениярешаеттрадиционныедлявстраиваемыхмикроконтроллерных систем задачи: получения цели управления от системывышележащегоуровняиерархии,регистрациисигналов-носителейизмерительной информации с объекта управления, расчета управляющихвоздействий, формирования сигналов-носителей управляющего воздействия ивыдачи их на объект управления. Подсистема нечетких вычислений решаетзадачи адаптивного и интеллектуального управления на основе теории50нечетких множеств, формируя значения уставок и/или параметров дляподсистемы управления на основе обобщенной информации о состоянииобъекта [88].
Таким образом, на нечеткой подсистеме реализуется тактическийуровень управления, а на подсистеме управления – исполнительный. Болеедетально структура подсистемы нечетких вычислений показана на рис. 1-29.Рис. 1-29. Обобщенная структура аппаратного нечеткого вычислителя.Нечеткий вычислитель перед применением должен быть сконфигурирован(«запрограммирован» – в смысле занесения в его внутреннюю памятьнеобходимой БНЗ). С этой целью основной процессор формирует требуемыедиаграммыобменанаконтактахсоответствующегопортанечеткоговычислителя для записи всех составляющих базы нечетких знаний (количествопеременных и их термов, кодовое представление функций принадлежности,кодовое представление базы правил и пр.).По окончании конфигурирования нечеткий вычислитель готов к нечеткойобработке данных в соответствии с занесенной в него БНЗ.
Основнойвычислитель посредством интерфейсного порта направляет в НВ текущиезначения входных переменных, и активирует вычисления в НВ. Управляющий51автомат подсистемы нечетких вычислений последовательно активизируетработу следующих блоков: фаззификатор: для введенных мгновенных значений каждой входнойлингвистической переменной определяет степени принадлежности этихзначений всем термам, соответствующим данной переменной, и заносит их впамять рабочих весовых коэффициентов; агрегатор: для каждого правила вычисляет степень уверенности в егосправедливости; вычислитель:определяетсправедливостидействиярезультирующуюстепенькаждогодлятермауверенностикаждойввыходнойлингвистической переменной; дефаззификатор: вычисляет результирующие цифровые значения выходов(лингвистических переменных Y), считываемые подсистемой управления.Первые аппаратные нечеткие вычислители были предложены в конце XXвека фирмами «Тогай инфралоджик» и «Белл Лабс».
В настоящее времяосновными производителями аппаратных средств нечетких вычисленийявляются фирмы NXP-Freescale-Motorola и STMicroelectronics.Совокупность аппаратных НВ включает три разновидности (рис. 1-30): к первой их разновидности, как указано в [89], относятся “нечеткиесопроцессоры (Fuzzy-coprocessors, далее – НС), выполненные в видеотдельной микросхемы (или схемы на отдельной плате), подключаемой косновному микроконтроллеру посредством цифровых портов ввода-вывода”[89]. Характерные примеры НС – SAE81C99 (Siemens) – рис. 1-31 и WARP1.х(STM) – рис.
1-32; ковторойихразновидности,какуказанов[89],относятся“микроконтроллеры со встроенным нечетким вычислителем (IntelligentControllerUnit,далее–нечеткиеконтроллеры,НК),обладающиефункционально расширенным процессорным ядром, АЛУ которого способновыполнять нечеткие вычисления” [89] (в частности – семейство ST552производства STMicroelectronics – рис. 1-33, и микроконтроллеры на основеядра 68HC12 производства NXP); к третьей их разновидности, как указано в [89], относятся “комбинированныенечеткие вычислители (КНВ), сочетающие в себе возможности НС и НК(пример – STFLWARP2.x производства STMicroelectronics – рис.
1-35) ” [89].Рис. 1-30. НВ: классификацияи типовые структуры систем управления на их основе.Критериями для сравнительного анализа НС являются: максимальноеколичество используемых входов, выходов и их разрядность, максимальнодопустимый объем базы правил, максимальное время вычислений (для базыоговоренной сложности), тип корпуса, применяемые инструментальныесредства (табл. 1-2) [90].Нечеткие вычислители второго типа (нечеткие контроллеры) имеютструктуру, обведенную на рис. 1-28 пунктиром. К ним применяютсякомплексные критерии сравнения и классификации: анализ традиционнойчастипроводитсявсоответствиисобщеизвестнымикритериями53(вычислительная производительность, разрядность, количество линий вводавывода, номенклатура таймеров, подсистем аналогового ввода-вывода и т.п.), ак периферийным устройствам типа «нечеткий вычислитель» применяюткритерии, приведенные в табл.
1-2 [90].Табл. 1-2. Сравнительные характеристики некоторых моделей НС.Наиме-NNNПроизводитель-ТипИнструментальныенованиевх.,вых.,прав.ность: Твыч.,корпусасредства,НС,произво-разр., разр.,битмкс для Iвх,битпримечанияОвых, Rправ,,дительFтактFuzzyTech (InformSAE256,81C99А, 8бит64,16384 36 мкс:8I=4, О=1, R=80битприPMQFPSoftware)44визуализатор,генераторFтакт=20МГцSiemens+ипрепроцессор баз.Расширяемаяпамятьправил.Отладочная платаMFDS99(рис.1-31).STFLSTUDIO10/STFLWARP1х,до16,16,10I=4, О=2, R=32Редактор, отладчикбитПрии6/7STMicroelectro- битnics(рис.132, табл.1-3)25633 мкс:МГцPLCC84 KITFтакт=40 CPGA100трансляторправил, загрузчик.Экспорт в MatLab.Отладочная платаWARPADB.54Рис. 1-31.
Нечеткий сопроцессор (Siemens).Изображения с сайта http://www.datasheetarchive.comРис. 1-32. Нечеткий сопроцессор WARP1.х.Изображения с сайта http://www.datasheetarchive.com55Табл. 1-3. Назначение выводов WARP1.х.Кратко охарактеризуем некоторые из нечетких микроконтроллеров:ST52 (STMicroelectronics) – семейство микроконтроллеров, содержащихвстроенный в кристалл аппаратный нечеткий вычислитель (рис. 1-33). Всистему команд процессорного ядра микроконтроллера включены командыдля организации и управления нечеткими вычислениями (табл. 1-4).56Рис. 1-33.
Нечеткий микроконтроллер ST52F510:Decision Processor (Fuzzy solver). ПЗУ:4K FLASH, ОЗУ: 256 байт, регистры: 256шт., линий ввода-вывода: 14, таймеры: 2X16 бит, ШИМ, захват-привязкасобытий, АЦП: 10-разрядов, 6 каналов, последовательные интерфейсы:USART, I2C, SPI.
Fosc: 20 МГц. Uпит: 5 В. Сторожевой таймер. Корпус: DIP-20.Изображения с сайта http://www.datasheetarchive.com57Табл. 1-4. Система команд процессора нечетких вычислений (DecisionProcessor) STM.НаименованиеMBF n_mbf Ivd vrvdLDFR n_fuzzyx,regyFUZZYIS n mISNOT n mFZANDFZORCON YmaxOUT n_outПояснениеФормируетвпамятиописаниефункциипринадлежности с номером n_mbf треугольного вида cмаксимумом v, левым минимумом lvd, правымминимумом rvd. Функции располагаются с адреса 0021hс шагом 3 байта.Загружает в регистр входов с номером n_fuzzyxсодержимое регистра общего назначения с адресом regy.Число входных регистров, используемых в нечеткихвычислениях, – не более 8.Останавливаеталгоритмическиевычисления,инициализирует нечеткий вычислитель и разрешает егоработу.Вычисляет степень уверенности в принадлежностизначения входного регистра с номером n функциипринадлежности с номером m.Вычисляет обратную степень уверенности впринадлежности значения входного регистра с номеромn функции принадлежности с номером m.Выполняет операцию «нечеткое И» (min) междустепенями уверенности, вычисленными до и последанной операцииВыполняет операцию «нечеткое ИЛИ» (max) междустепенями уверенности, вычисленными до и последанной операцииЗавершает работу текущего правила: 1.
Значениевычисленнойвправилестепениуверенностидобавляется к регистру делителя. 2. Значениевычисленнойвправилестепениуверенностиумножается на Ymax. 3. Полученное произведениедобавляется к регистру делимого. (Регистры делимого иделителя – специальные внутренние ячейки нечеткогопроцессора).Выполняет дефаззификацию по методу «среднеемаксимумов»: 1. Содержимое регистра делимогоделится на содержимое регистра делителя. 2. Результатзаносится во внутреннюю память по адресу n_out.
3.Останавливается работа нечеткого процессора. 4.Возобновляются алгоритмические вычисления. Новыйцикл нечетких вычислений начинается с новой команды58НаименованиеПояснениеFuzzy, инициализирующей нечеткий процессор (вчастности, обнуляющей регистры делимого и делителя).Примечания. 1. Данный нечеткий вычислитель одновременнообрабатывает правила только для одного выхода; если те жевходные условия влияют на другой выход, необходимо выполнятьновый цикл нечетких вычислений.
2. Функции принадлежности неотносятся к какому-либо входу, и при каждом цикле нечеткихвычислений их необходимо заново явно назначать.3. Для выполнения нечетких вычислений по двум правилам:Если (Х1 принадлежит терму 1) И (Х2 принадлежит терму 4) то Y =100Если (Х5 принадлежит терму 9) И (Х3 принадлежит терму 2) И (Х2принадлежит терму 1) то Y=150необходимо выполнить программу, приведенную в столбце справа(предполагается, что функции принадлежности уже заданы,значения входных переменных загружены, результат будет занесенв ячейку № 24):FUZZYIS 1 1FZANDIS 2 4CON100IS 5 9FZANDIS 3 2FZANDIS 2 1CON150OUT 24МС68HC912 (NXP/Freescale-Motorola) – микроконтроллер с процессорнымядром МК Motorola МС68HC11 и содержащий специальные функциинечеткой обработки данных (рис.















