Новый микроконтроллер СЕРИИ С166 для управления электроприводами

   
В. Чучалов
Новый микроконтроллер СЕРИИ С166 для управления электроприводами

Серия 16-разрядных микроконтроллеров фирмы Siemens AG разработана специально для обеспечениятребований задач управления встроенных систем реального времени. Первым представителем семейства былвыпущен кристалл SAB-80C166-M и поэтому всю серию принято называть C166. Многочисленное семейство этихмикроконтроллеров (в настоящее время около двух десятков) имеет в своем составе ядро процессора, использующегоконцепцию RISC (Reduced Instruction Set Computer). Система команд семейства C166 оптимизирована для быстроговыполнения инструкций и для уменьшения времени отклика на прерывание. Интегрированные интеллектуальныепериферийные модули микроконтроллеров построены таким образом, чтобы минимизировать вмешательствопроцессора при их работе. Наличие мощного процессорного ядра, полного набора периферийных модулей, различныхсистемных функций (гибкая системная шина, режимы энергосохранения, умножение/деление тактовой частоты)позволило достигнуть хорошего соотношения качество/цена. Микроконтроллеры этой серии сейчас применяютсяочень широко: в автомобилях, промышленных системах автоматизации и электропривода, связи,медицинском оборудовании и т.д.
    Для управления электроприводами различных систем наиболее подходят микроконтроллеры, перечисленные в табл. 1.Они позволяют формировать сигналы управления преобразователем с минимальным вмешательством ЦПУ, подключатьаналоговые и импульсные сигналы обратных связей, организовывать связь с удаленным управляющим контроллеромвысшего уровня и решать другие вспомогательные задачи.
    Новый многофункциональный 16-разрядный микроконтроллер фирмы Siemens AG получил наименование C164CI.И поскольку он содержит такой же модуль захвата-сравнения CAPCOM6, как и в микроконтроллере C504, основнаяобласть его применения — системы управления электроприводами. Особенности микроконтроллера C164CI, благодарякоторым возможно успешное его применение для таких систем, — это ядро процессора, система прерываний имодуль CAPCOM6.
Основные характеристики микроконтроллера:

  • минимальное время цикла инструкций 100 нсек с выполнением большинства инструкций за один цикл;
  • умножение 500 нсек (16 бит ґ 16 бит), деление 1 мксек (32 бит / 16 бит);
  • регистровая структура с переключаемыми регистровыми банками;
  • 16 Мбайт линейное адресное пространство для кодов программ и данных;
  • системный стек с автоматическим контролем границ стека;
  • биты, байты и слова — типы обрабатываемых данных;
  • гибкая и эффективная система адресации для создания компактных выходных кодов;
  • поддержка языков высокого уровня комплексными инструкциями условных переходов;
  • 2 Кбайт внутреннее ОЗУ для переменных, регистровых банков, системного стека и кода;
  • 64 Кбайт встроенная однократно-программируемая память программ (OTP);
  • мультиплексированная внешняя шина;
  • возможность сегментации памяти и наличие сигналов выборки микросхем;
  • динамическое изменение шины 8 бит / 16 бит;
  • 16 уровней приоритетов прерываний;
  • 32 узла прерываний с раздельными векторами прерываний;
  • 300/500 нсек типичное/максимальное время перехода по прерыванию при работе с внутренней памятью;
  • периферийный контроллер событий для передачи данных по прерыванию за один цикл;
  • 8-канальный 10-разрядный АЦП с временем преобразования 9,7 мксек;
  • два модуля захвата-сравнения с независимыми базовыми таймерами для генерации различных ШИМсигналов и обработки временных интервалов;
  • многофункциональный модуль таймеров, содержащий три 16-разрядных таймера-счетчика с разрешением 400 нсек;
  • универсальный синхронно-асинхронный последовательный порт (USART);
  • высокоскоростной синхронный последовательный канал SSC;
  • встроенный CAN-модуль версии 2.0B;
  • часы реального времени на кристалле;
  • рабочий диапазон температур -40...125°C;
  • корпус MQFP-80.
Таблица 1 Тип Такт.
частота,
мГц ПЗУ,
байт ОЗУ,
байт Адр.
простр.,
байт САР
СОМ ШИМ АЦП Тай-
меры CAN, V2.0 Корпус C164CI-8EM 20 64k OTP 2k 4M 8+7 - 8 3 1 PMQFP-80 SAB80C166-M 20,25 -/32k ROM 1k 256k 16 - 10 5 - PMQFP-100 C167-LM 20 - 2k 16M 32 4 16 5 - PMQFP-144 C167SR-LM 20,25 - 4k 16M 32 4 16 5 - PMQFP-144 C167CR-LM 20,25 -/128k ROM 4k 16M 32 4 16 5 1 PMQFP-144 C167CR-16FM 20 128k FLASH 4k 16M 32 4 16 5 1 PMQFP-144 C167CS-32FM 20 256k FLASH 4k 16M 32 4 24 5 2 PMQFP-144Устройство микроконтроллера


Микроконтроллер имеет модульную организацию и его блок-схема представлена на рис. 1. В нем можновыделить три основные системы: центральное процессорное устройство, систему обработки прерываний и набормодулей периферийных устройств. Эффективная работа микроконтроллера и быстрый обмен между отдельными системамиобеспечивается четырьмя внутренними шинами. Одна из них 32-разрядная связывает процессор и внутреннюю ROM-память.Благодаря этому 4-байтные инструкции извлекаются за одно обращение к памяти, и микроконтроллер с внутреннейпамятью программ работает более эффективно. Двухпортовая RAM-память и процессор связаны двумя 16-разряднымишинами. 16-разрядная шина связывает процессор с основным набором периферийных модулей (таймеры, АЦП, модулизахвата-сравнения и др.). Другая 16-разрядная шина (X-шина) связывает процессор с дополнительным наборомпериферийных модулей (модуль CAN) и с контроллером внешней шины.


Рис. 1

Центральное процессорное устройство

Высокопроизводительный процессор, использующий технологию RISC, имеет в своем составе 4-х ступенчатыйконвейер для обработки инструкций, 16-разрядное АЛУ, регистры общего назначения и регистры специальных функцийпроцессора. Для сокращения времени выполнения инструкций имеется арифметический модуль (MUL, DIV), генераторбитовых масок (для операций с битами) и модуль операций сдвига (SHIFT, ROTATE).
    Процессор не имеет регистра-аккумулятора для манипуляций с данными. Для этих целей используется банк регистровобщего назначения (GPR), который содержит шестнадцать 16-разрядных регистров (R0-R15). Из них восемь регистровобрабатываются как двухбайтные, а к остальным восьми можно обращаться побайтно. Банк GPR может быть определенв области RAM-памяти при помощи контекстного указателя CP, который задает адрес регистра R0. В банке регистровимеется возможность побитового доступа к каждому из регистров.
    Наличие модуля умножения-деления позволяет производить быстрые операции с 32-разрядными операндами. Для этогоимеются специальные регистры — MDH и MDL. Чтобы уменьшить время отклика на прерывание, операции умножения-делениясделаны прерываемыми.
    Процессор оптимизирован для выполнения многочисленных операций переходов и вызовов подпрограмм. При выполненииусловия перехода требуется только один дополнительный цикл. Все операции побитового сдвига выполняются за одинцикл инструкций, независимо от количества бит сдвига.
    В приведенной ниже табл. 2 указано минимальное время выполнения инструкций процессором при работе с внутреннейпамятью ROM.
Таблица 2 Инструкции Tmin,(циклы)Tмин(нсек)
(@20мГц) ADD[B], ADDC[B], SUB[B], SUBC[B] 1100 AND[B], OR[B], XOR[B] 1100 ASHR, SHL, SHR, ROL, ROR 1100 BAND,BCLR,BCMP,BFLDH,BFLDL,
BMOV,BMOVN,BOR,BSET,BXOR 1100 CALLA, CALLI 4(+2)200(+100) CALLR, CALLS, PCALL 4200 CMP,CMPB,CMPD1,CMPD2,CMPI1,CMPI2 1100 CLP[B] 1100 JB,JBC, JNB, JNBS 4(+2)200(+100) JMPS 4200 JMPA, JMPI, JMPR 4(+2)200(+100) MUL, MULU 10500 DIV, DIVL, DIVU, DIVLU 201000 MOV[B], MOVBS, MOBZ 1100 MOV[B] Rn,[Rm+#data16] 4200 NEG[B] 1100 POP, PUSH, SCXT 1100 PRIOR 1100 RET, RETI, RETP, RETS 4200 TRAP 4200 ATOMIC,DISWDT,EINIT,EXNIT,EXTR,EXTP[R],EXTS[R],IDLE,PWRDN,NOP,SRST,SRVWDT 1100

Организация памяти микроконтроллера

Область памяти C164CI организована в единое линейное адресное пространство, общее для кодов программ и данных.Все физически разделенные области памяти, включая OTP-память, внутреннюю RAM, регистры специальных функций(SFR и ESFR), адресное пространство X-шины, отражаются в едином адресном поле.


Рис. 2

Общее адресное пространство C164CI составляет 16 Мбайт и разделено на 256 сегментов по 64 Кбайта, и каждыйсегмент, в свою очередь, разделен на четыре страницы данных по 16 Кбайт каждая.
    На рис. 2 приведено распределение памяти микроконтроллера и примеры типичного объявления переменных,битов пользователя и регистров управления для С-компилятора в различных областях памяти.

Система прерываний

Архитектура кристалла C164CI обеспечивает несколько механизмов для быстрого и гибкогообслуживания запросов прерываний, которые генерируются различными внутренними и внешними источниками.Эти механизмы включают:

  • Обработка нормальных прерываний. ЦПУ приостанавливает текущую программу, сохраняя состояния необходимыхрегистров в стеке, и переключается на выполнение процедуры обработки прерывания. При одновременном запросепрерываний от нескольких устройств, 16-ти уровневая схема приоритетов позволяет определить очередностьих обработки.
  • Обработка прерываний при помощи периферийного контроллера событий (PEC). Периферийный конт-роллерсобытий предназначен для передачи данных из одной области памяти в другую по запросу прерывания. При этомпроцессор не сохраняет текущее состояние регистров и от него требуется только один цикл для выполненияпересылки данных.
  • Trap-функции инициализируются в ответ на ошибочные ситуации, возникающие при работе процессора.Trap-функция также может быть вызвана по входу внешнего немаскируемого прерывания (NMI). Имеется возможностьпрограммной инициализации прерываний при помощи инструкции TRAP, которая генерирует программное прерываниес указанным вектором.
  • Внешние прерывания. Хотя процессор не имеет выделенных выводов для внешних прерываний, имеетсявозможность подключения внешних прерываний как альтернативных функций портов ввода-вывода.
  • Время отклика на прерывание. Время отклика на нормальное прерывание определяется как время отустановки флага запроса на прерывание до начала выполнения инструкции по вектору прерывания. Это времядля C164 может быть минимум три цикла инструкций. Время отклика увеличивается в зависимости от состоянияпроцессора и максимально составляет 5 циклов инструкций. В случае работы периферийного контроллерасобытий все происходит быстрее. Здесь время отклика определяется от установки флага прерывания доначала пересылки данных и минимум составляет 2 цикла инструкций, а максимум — 4 цикла.
  • Обработка прерываний и регистры общего назначения. Благодаря наличию переключаемых банков регистровобщего назначения (GPR), имеется возможность минимизировать или вовсе исключить обращения к стекупользователя. При этом каждому модулю или функции прерывания отводится свой банк регистров, содержащий до16 регистров. Каждый из этих банков определяется контекстным указателем (CP), указывающим на регистр R0и все регистры в банке до-ступны при помощи быстрой адресации с 4-битным смещением. Переключение банковрегистров осуществляется с помощью специальной инструкции SCXT op1,op2. При ее выполнении содержимое регистра,определенного операндом op1 помещается в стек и в этот регистр записывается значение из операнда op2. Нижеприведен пример реализации такого алгоритма при обработке процедуры прерывания.

Модуль CAPCOM6 для управления преобразователем

Модуль захвата-сравнения CAPCOM6 уже был реализован в 8-разрядном микроконтроллере C504,но ввиду небольшой производительности 8-разрядного процессора, можно было реализовать только простейшие функции управления двигателем. ЦПУ кристалла C164CI в состоянии обеспечить точное регулирование момента и скорости двигателя постоянного или переменного тока и при этом все функции формирования сигналов ШИМ осуществляются в модуле CAPCOM6 без вмешательства процессора.

Блок-схема модуля приведена на рис. 3.


Рис. 3 ;FUNCTION timer0 (BEGIN) SCXT CP,#INTREGS ; переключение банка регистров NOP ; на новую задачу .. ; обработка функции прерывания .. ; POP CP ; восстановление банка регистров RETI ; прерванной задачи и возврат из ; прерывания ; FUNCTION timer0 (END)

Модуль CAPCOM6 обеспечивает независимую работу трех программируемых каналов сравнения. Каждый изканалов содержит по два выхода, которые могут иметь инверсные выходные уровни (CC60..CC62, COUT60..COUT62).Базовый таймер для этих каналов T12 имеет разрядность 16 бит. Входная частота для этого таймерапрограммируется от fCPU до fCPU/128 (fCPU = 20 мГц).
    Дополнительно имеется выход ШИМ, который может использоваться или самостоятельно, или для модуляции основныхканалов. Он связан с 10-разрядным таймером T13.
    Таймер T12 имеет два основных режима работы: стандартный ШИМ и симметричный ШИМ.
    В стандартном режиме таймер начинает считать от 0000H. Когда он достигает значения периода, записанного врегистре T12P, регистр таймера обнуляется (рис. 4a,b).


Рис. 4
а)Нессиметричная ШИМ (стандартная)
б)Несимметричная ШИМ со смещением

В режиме симметричной ШИМ таймер T12 начинает считать также от значения 0000H, а достигнув значения,записанного в T12P, меняет направление счета. Выходные сигналы переключаются при совпадении значения таймерасо значением в регистре компаратора CC6x (рис. 4c,d).


Рис. 4
с)Симметричная ШИМ (центрированная)
d)Симметричная ШИМ со смещением

Для программирования паузы между импульсами имеется регистр T12OF, значение которого суммируется со значениемтаймера T12 для задания переключения выходов COUT60...COUT62 (рис. 4d).
    Одна из особенностей модуля CAPCOM6 — возможность генерации выходных сигналов в многоканальном режиме.Модуль программируется для работы с 4-, 5- и 6-фазным однополярным ШИМ. В этом режиме коммутация производитсяпо соответствующей таблице состояний, имеющейся в модуле. Пример формирования выходных импульсов для 5-фазногоШИМ приведен на рис. 5.


Рис. 5

Другой специальный режим работы модуля — режим коммутации блоков (рис. 6). В этом случае выдачейпоследовательностей импульсов управляют не таймеры модуля CAPCOM6, а датчики Холла, подключенные к входамвнешних прерываний CC6POS0...CC6POS2. Канал 0 модуля автоматически конфигурируется в режим захвата и любоепереключение на входах CC6POS0...CC6POS2 генерирует импульс захвата. Это значение затем может использоватьсядля измерения скорости вращения двигателя.


Рис. 6

Благодаря наличию модуля CAPCOM6 возможно организовать более эффективное управление электродвигателями самыхразличных типов: постоянного и переменного тока, шаговыми биполярными и однополярными.
CAN интерфейс

Систему управления электропривода на C164CI можно легко интегрировать в систему болеевысокого уровня. И для этого нет необходимости встраивать в систему дорогие сетевые контроллеры(как, например, ProfiBus). На кристалле уже имеется надежный, помехозащищенный контроллер последовательнойлинии CAN-интерфейса, который функционирует в соответствии со спецификацией V2.0B фирмы BOSH. Он хорошосебя зарекомендовал в промышленных сетях связи.
    Во внутреннем ОЗУ микроконтроллера содержится область регистровой памяти для хранения 15-ти объектов-сообщений,с которыми работает CAN-интерфейс. Каждый объект-сообщение включает восемь байт данных, идентификатор длиной11 или 29 бит и собственные биты управления и состояния. При передаче данных CAN-контроллер формирует пакет,содержащий идентификатор сообщения, до 8 байт информации, биты управления и контрольную сумму.При возникновении ошибки, повтор сообщения производится автоматиче-ски. Максимальная скорость передачиможет быть до 1 мбод при длине линии связи до 40 м.
Заключение

Полный набор периферийных модулей микроконтроллера и имеющихся встроенных ресурсов процессора позволяетстроить систему управления различными объектами практически без применения внешних периферийных микросхем.Это дает возможность минимизировать устройство и снизить его стоимость.
    Уже сейчас фирма Siemens AG планирует выпустить новые кристаллы C164 с встроенной Flash-памятью, масочнойROM-памятью и нарастить их функциональные возможности.
    В связи с растущими требованиями к вычислительной мощности микроконтроллеров для встроенных систем управления,фирма Siemens AG разработала новую 32-разрядную архитектуру TriCore, объединяющую микроконтроллер и DSP наодном кристалле. Система команд TriCore сочетает возможности обработки в реальном времени микроконтроллера,вычислительные способности DSP и высокое соотношение качество/цена RISC архитектуры на одном компактномперепрограммируемом кристалле. TriCore поддерживает все возможные типы встроенной памяти: ROM, OTP, FLASH,SRAM, DRAM. Архитектура предусматривает малое время для перехода по прерыванию и быстрое контекстноепереключение от задачи к задаче. Это позволяет использовать кристалл как “виртуальный” мультипроцессор(например, переключение от DSP к микроконтроллеру происходит всего за два такта). Первые образцы кристаллов(SAB-CT10) обеспечат быстродействие до 80 млн.оп./сек. В дальнейшем будет производиться наращиваниепроизводительности кристаллов за счет увеличения тактовой частоты и расширению системы команд (TriCore-2).

ТОО «ИНТЕХ», Москва
Тел. (095) 451-8608, 451-9737
E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.