ООО ЭФО
Поиск по складу
Программа поставок 2016
Сегодня
www.powel.ru
источники питания
www.korpusa.ru
конструктивы и корпуса РЭА
www.wless.ru
беспроводные технологии
www.mymcu.ru
микроконтроллеры
altera-plis.ru
микросхемы Altera
www.infiber.ru
волоконно-оптические
компоненты в
промышленности
www.efo-power.ru
силовая электроника
www.efo-electro.ru
электротехническая
продукция
www.efometry.ru
контрольно-измерительные приборы
www.golledge.ru
кварцевые резонаторы и генераторы Golledge
www.sound-power.ru
профессиональные усилители класса D
Поиск по сайту
Подписка на новости

Система менеджмента
качества сертифицирована на соответствие требованиям:
ISO 9001, ГОСТ Р ИСО 9001 и СРПП ВТ - подтверждено сертификатами соответствия в системах сертификации Русского Регистра, ГОСТ Р, международной сети IQNet, "Оборонсертифика" и "Военный Регистр".

ООО "ЭФО" в 2011г. получило Лицензию Федеральной службы по экологическому, технологическому и атомному надзору на изготовление оборудования для ядерных установок.


Rambler s Top100



ChipFind - поисковая система по электронным компонентам
EEN
webmaster
Санкт-Петербург: (812) 327-86-54  zav@efo.ru Москва: (495) 933-07-43  moscow@efo.ru Екатеринбург: (343) 278-71-36  ural@efo.ru Пермь: (342) 220-19-44  perm@efo.ru
Казань: (843) 518-79-20  kazan@efo.ru Ростов-на-Дону: (863) 220-36-79  rostov@efo.ru Н. Новгород: (831) 434-17-84  nnov@efo.ru Новосибирск: (383) 286-84-96  nsib@efo.ru
о нас склад библиотека статьи
 
   
Тридцатидвухразрядные микроконтроллеры фирмы Infineon.

В.В.Гребнев

1. Общие сведения о 32-разрядных микроконтроллерах фирмы Infineon.

Фирма Infineon по состоянию на начало 2005 года выпускает 32-разрядные микроконтроллеры десяти типов. Микроконтроллеры всех типов могут выполнять функции управляющего встроенного микроконтроллера и цифрового сигнального процессора (DSP), что позволяет отнести их к классу гибридных микроконтроллеров. Микроконтроллеры выполнены по фирменной TriCore архитектуре совмещающей 32-разрядный суперскалярный процессор и DSP ядро на одном кристалле

Микроконтроллеры имеют единую структуру центральной части и единую систему команд. Они имеют общее адресное пространство для команд и данных объемом 4G адресов (G = 230). Адресуемый элемент содержит восемь двоичных разрядов.

В центральную часть микроконтроллера входят:

  • центральный процессорный блок (Central Processing Unit - CPU),
  • блок памяти программ (Program Memory Unit - PMU или PMI),
  • блок памяти данных (Data Memory Unit - DMU или DMI).

Блок памяти программ соединяется с центральным процессорным блоком отдельной 64-разрядной шиной. Блок памяти данных соединяется с центральным процессорным блоком отдельной 128-разрядной шиной.

У микроконтроллеров некоторых типов в центральную часть входит блок управления памятью (Memory Management Unit - MMU), предназначенный для преобразования виртуальных адресов, указанных в командах, в физические адреса, используемые в PMU и DMU. При наличии блока MMU в систему команд микроконтроллера входит группа дополнительных команд.

В центральном процессорном блоке микроконтроллеров всех типов выполняются стандартные арифметические и логические операции и специальные арифметические операции DSP.

У микроконтроллеров некоторых типов в состав CPU входит дополнительный арифметический блок для выполнения операций с числами в форме с плавающей точкой (Floating Point Unit - FPU). При наличии блока FPU в систему команд микроконтроллера входит группа дополнительных команд.

Микроконтроллеры разных типов различаются максимальным значением тактовой частоты работы процессора, структурой и объемом внутренней памяти, схемой соединения блоков микроконтроллера с использованием разного числа внутренних шин, составом и числом периферийных устройств и некоторыми другими характеристиками.

В табл. 1 перечислены типы микроконтроллеров, указаны максимальное значение тактовой частоты работы процессора (fcpu), суммарный объем внутренней памяти (Internal Memory - IM), число внутренних шин в микроконтроллере (Internal Bus - IB), число периферийных устройств (Peripheral Unit - PU), отмечено наличие в микроконтроллере блоков MMU и FPU и указано число выводов корпуса (Pins) у микроконтроллеров разных типов.

Таблица 1.
Параметры
МК
Тип микроконтроллера
ТС
1100
ТС
1115
ТС
1130
ТС
11IB
ТС
1765
ТС
1775
ТС
1796
ТС
1910
ТС
1912
ТС
1920
fcpu (МГц) 150 150 150 96 40 40 150 66 66 100
IM (К байт) 160 160 160 1636 57 101 2448 176 176 196
IB 4 4 4 3 1 1 5 2 2 2
PU 15 22 24 16 18 26 31 13 16 20
MMU + + + +           +
FPU + + +       +      
Pins 208 208 208 388 260 329 416 208 208 260

2. Структура микроконтроллеров.

В 32-разрядных микроконтроллерах кроме блоков, образующих его центральную часть, (CPU, PMU, DMU и MMU) имеются запоминающие устройства, не входящие в состав блоков PMU и DMU, различные периферийные, управляющие и вспомогательные устройства. Для обмена кодами между различными блоками и устройствами используются внутренние шины микроконтроллера.

К микроконтроллеру могут быть подключены внешние запоминающие и периферийные устройства. Обмен кодами с внешними устройствами выполняется по внешней шине под управлением контроллера внешней шины (External Bus Controller - EBC).

Микроконтроллеры разных типов имеют разное число внутренних шин, которые при выполнении одинаковых функций, могут иметь разные наименования.

У микроконтроллеров всех типов для связи центральной части с другими устройствами используются одна или две периферийные шины, по которым передаются 32-разрядные коды. Эти шины имеют следующие наименования:

  • FPIB (Flexible Peripheral Interface Bus),
  • FFPIB (Fast Flexible Peripheral Interface Bus),
  • SFPIB (Slow Flexible Peripheral Interface Bus),
  • SPB (System Peripheral Bus),
  • RPB (Remote Peripheral Bus).

В табл. 2 отмечено наличие шин с перечисленными наименованиями у микроконтроллеров разных типов.

У микроконтроллеров некоторых типов для связи PMU и DMU с некоторыми другими запоминающими устройствами и с блоком EBC используются одна или две локальные шины, по которым передаются 64-разрядные коды.

Эти шины имеют следующие наименования:

  • LMB (Local Memory Bus),
  • PLMB (Program Local Memory Bus),
  • DLMB (Data Local Memory Bus).

В табл. 2 отмечено наличие шин с перечисленными наименованиями у микроконтроллеров разных типов.

Для управления работой шин используются специальные блоки управления (Bus Controller Unit - BCU). Для передачи кодов из одной шины в другую используются специальные блоки связи (Bridge).

Передача кодов по шинам из одного устройства в другое может выполняться по командам программы под управлением центрального процессора или происходить при поступлении запросов прерывания под управлением контроллера прямого доступа к памяти (Direct Memory Access Controller - DMAC). Контроллер прямого доступа к памяти может иметь 8 или 16 каналов обслуживания запросов прерывания. Число каналов DMAC у микроконтроллеров разных типов указано в табл. 2 в строке DMAC.

Для передачи кодов в режиме DMA может использоваться общая периферийная шина или специальные шины, к которым подключены определенные устройства микроконтроллера. Такие шины имеют следующие наименования:

  • DMAB (Direct Memory Access Bus - DMAB),
  • SMF или SMIF (Standart Module Interface).

В табл. 2 отмечено наличие шин с перечисленными наименованиями у микроконтроллеров разных типов.

У микроконтроллеров некоторых типов для организации обмена кодами между различными устройствами микроконтроллера используется специальный периферийный процессор (Peripheral Control Processor - PCP). В состав PCP входят блоки памяти для хранения программы обмена и параметров обмена.

Для обмена кодами под управлением периферийного процессора используется общая периферийная шина. Наличие процессора PCP у микроконтроллеров разных типов отмечено в табл. 2 в строке PCP.

Кроме перечисленных выше шин у микроконтроллеров всех типов имеется 64-разрядная шина, соединяющая CPU с блоком памяти программ (PMU) и 128-разрядная шина, соединяющая CPU с блоком памяти данных (DMU).

Таблица 2.
Шина.
Блок.
Тип микроконтроллера
ТС
1100
ТС
1115
ТС
1130
ТС
11IB
ТС
1765
ТС
1775
ТС
1796
ТС
1910
ТС
1912
ТС
1920
FPIB + + +   + +   + + +
FFPIB       +            
SFPIB       +            
SPB             +      
RPB             +      
LMB + + + +       + + +
PLMB             +      
DLMB             +      
DMAC 8 8 8   8   16      
DMAB + + +              
SMF + + +       +      
PCP       +   + +     +

3. Структура памяти.

Память микроконтроллера образуют внутренние запоминающие устройства, входящие в состав блока памяти программ (PMU), блока памяти данных (DMU), отдельные запоминающие устройства, подключенные к разным внутренним шинам, и внешние запоминающие устройства, подключенные к внешней шине микроконтроллера.

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

  • тип кодов, которые хранятся в данном ЗУ,
  • техническая реализация ЗУ,
  • шина, к которой подключено ЗУ, или блок, в состав которого входит ЗУ.

Коды, для хранения которых предназначено ЗУ, могут быть командами программы (Instruction - I) или данными (Data - D).

В микроконтроллерах используются запоминающие устройства, имеющие следующую техническую реализацию:

  • CACHE (Cash Memory) - сверхбыстродействующее буферное ЗУ,
  • DPRAM (Dual-Port RAM) - двухпортовое оперативное запоминающее устройство,
  • DRAM (Direct RAM) - оперативное ЗУ с прямой выборкой,
  • FLASH - энергонезависимое постоянное ЗУ с возможностью многократной перезаписи,
  • SPRAM (Scratch - Pad RAM) - сверхоперативное запоминающее устройство,
  • SRAM (Static RAM) - статическое оперативное запоминающее устройство,
  • ROM - постоянное запоминающее устройство масочного типа.

Запоминающие устройства могут входить в состав следующих блоков:

  • PMU (Program Memory Unit) - блок памяти программ,
  • DMU (Data Memory Unit) - блок памяти данных,
  • PCP (Peripheral Control Processor) - периферийный управляющий процессор.

Отдельные запоминающие устройства могут быть подключены к следующим шинам:

  • DLMB (Data Local Memory Bus),
  • FFPIB (Fast Flexible Peripheral Interface Bus),
  • FPIB (Flexible Peripheral Interface Bus),
  • LMB (Local Memory Bus),
  • PLMB (Program Local Memory Bus).

В табл. 3 указаны шины, к которым подключены блоки PMU и DMU и емкость запоминающих устройств (в числе байтов) у микроконтроллеров разных типов. В таблице также указана емкость постоянного запоминающего устройства для хранения программы начальной загрузки памяти микроконтроллера - Boot ROM.

Таблица 3.
Блок.
ЗУ
Тип микроконтроллера
ТС
1100
ТС
1115
ТС
1130
ТС
11IB
ТС
1765
ТС
1775
ТС
1796
ТС
1910
ТС
1912
ТС
1920
PMU LMB LMB LMB LMB FPIB FPIB PLMB LMB LMB LMB
I, SPRAM 32K 32K 32K 24K 16K 32K 48K 24K 24K 24K
I, CACHE 16K 16K 16K 8K 1K 1K 16K 8K 8K 8K
DMU LMB LMB LMB LMB FPIB FPIB DLMB LMB LMB LMB
D, SPRAM 28K 28K 28K 24K     56K 24K 24K 24K
D, CACHE 4K 4K 4K 8K       8K 8K 8K
D, SRAM         32K 40K        
D, DPRAM             8K      
Отдельные ЗУ
D,SRAM, LMB 64K 64K 64K              
I, SRAM, LMB               64K 64K 64K
ID,DRAM, LMB       512K            
ID, SRAM, P/DLMB             80K      
I, FLASH, PLMB             2M      
D, FLASH, PLMB             128K      
D,SRAM, FPIB               16K 16K 16K
ID,DRAM, FFPIB       1M            
I, SRAM, PCP       16K   16K 32K     16K
D,SRAM, PCP       4K   4K 16K     4K
Boot ROM 16K 16K 16K 16K 8K 8K 16K 32K 32K 32K

4. Периферийные устройства.

В состав микроконтроллеров входят различные периферийные устройства, которые могут быть объединены в следующие группы:

1 группа - устройства для ввода и вывода данных,
2 группа - устройства для формирования и обработки временных последовательностей импульсных сигналов,
3 группа - устройства для преобразования сигналов,
4 группа - вспомогательные устройства.

Аббревиатурные наименования периферийных устройств (блоков) приведены в табл. 4. Устройства распределены по группам, а в пределах группы расположены в алфавитном порядке. Краткое описание блоков приведено ниже.

В табл. 4 указано количество однотипных блоков у микроконтроллеров разных типов.

Таблица 4.
Блок Тип микроконтроллера
ТС
1100
ТС
1115
ТС
1130
ТС
11IB
ТС
1765
ТС
1775
ТС
1796
ТС
1910
ТС
1912
ТС
1920
1 группа
ASC 2 3 3 1 2 2 2 2 3 3
CAN   4 4   2 2 4   2 2
EC     + +            
IIC + + +         + + +
MLI 1 2 2       2      
MMCI       +            
MSC             2      
PCI       +            
PP 5 5 5 6 6 12 11 4 4 5
PP pin 72 72 72 96 77 196 123 48 48 64
SDLM           +       +
SSC 2 2 2 1 2 2 2 1 1 1
USB     +              
16 Х 50       +            
2 группа
CCU6 1 2 2              
GPTA         1 1 2      
GPTU 1 1 1 2 1 1   1 1 2
LTCA             +      
RTC           +   + + +
STM + + + + + + + + + +
WDT + + + + + + + + + +
3 группа
ADC         2 2 2     1
Codek               + + +
FADC             +      

1 группа.

Блок ASC (Asynchronous / Synchronous Channel).

Блоки ASC имеются у микроконтроллеров всех типов. Количество блоков ASC у микроконтроллеров разных типов указано в табл. 4 в строке ASC. Блок представляет собой синхронно-асинхронный приемопередатчик (USART). Он предназначен для последовательного приема и передачи данных с использованием двух выводов - RXD и TXD.

В синхронном режиме вывод RXD используется для приема или передачи байта, а вывод TXD - для выдачи серии синхроимпульсов. Прием и передача могут вестись со скоростью до 10 Мбит/с.
В асинхронном режиме данные передаются в составе кадра, содержащего стартовый бит, 8 или 9 битов данных, дополнительный бит и 1 или 2 стоповых бита. Вывод RXT используется для приема кадров, а вывод TXD - для передачи кадров. Прием и передача могут вестись одновременно с использованием проводного или инфракрасного канала связи. Скорость передачи по проводному каналу - до 5 М бит /с, по ИК-каналу - 115,2 К бит / с.
Дополнительный бит может использоваться для выявления ошибок в принятом кадре или для выделения кадров, содержащих адрес станции, при работе в микроконтроллерной сети.

Блок CAN (Controller Area Network).

Блок CAN содержит два (Twin CAN) или четыре (Multi CAN) модуля приема и передачи сообщений в сети, работающей по CAN-протоколу.

Наличие блока CAN и его модификация (Twin - 2, Multi - 4) отмечены в табл. 4 в строке CAN. Модули могут работать независимо друг от друга или обмениваться принимаемыми и передаваемыми сообщениями.
Модуль имеет два вывода - вход RXDC и выход TXDC. У некоторых модулей входы и выходы дублируются. Подключение выводов к сети выполняется с использованием внешних приемопередатчиков CAN.
Сообщение содержит идентификатор из 11 или 29 битов, группу байтов и контрольный циклический код CRC. Передача сообщений может вестись со скоростью до 1 Мбит/с.
В состав блока входит общий буфер для хранения принимаемых и передаваемых сообщений и схема управления.

Блок EC (Ethernet Controller)

Блок EC имеется у микроконтроллеров типа TC1130 и TC11IB.

Блок предназначен для организации обмена данными в локальной сети, работающей по стандарту IEEE 802.3.
В сети реализуется множественный доступ равноранговых станций с контролем несущей и обнаружением столкновений (Carrier Sence Multi-Acces with Collision Detection - CSMA/CD).
Блок работает в дуплексном режиме. Прием и передача могут вестись со скоростью 10 Мбит/с или 100 Мбит/с.

Блок IIC (Inter Integrated Circuit).

Наличие блока IIC у микроконтроллеров разных типов отмечено знаком "+" в табл.4 в строке IIC.

Блок предназначен для последовательной передачи и приема данных с использованием двух шин - шины SCL для передачи синхросигнала и шины SDA для передачи адреса принимающего устройства, данных и служебных символов. Адрес может быть представлен 7-разрядным или 10-разрядным кодом. Передача может вестись со скоростью до 400 Кбит/с.
IIC может работать в режиме ведущего c выдачей синхросигнала в шину SCL или в режиме ведомого с приемом синхросигнала из шины SCL. Возможно изменение режима в процессе работы.
Выводы блока IIC могут подключаться к одной из нескольких пар выводов микроконтроллера.

Блок MLI (Micro Link Interface).

Блок предназначен для последовательной передачи кодов из одного 32-разрядного микроконтроллера в другой 32-разрядный микроконтроллер фирмы Infineon. Наличие и количество блоков MLI у микроконтроллеров разных типов указано в табл. 4 в строке MLI.

В состав блока входят передатчик и приемник. Передатчик имеет три выхода (CLK, VALID и DATA) и один вход (READY). Приемник имеет три входа (CLK, VALID и DATA) и один выход (READY). Выходы и входы передатчика в одном блоке MLI соединяются с одноименными входами и выходами приемника в другом блоке MLI.
Блок может работать в режиме ведущего (Local) или в режиме ведомого (Remote). Пересылка массивов кодов выполняется под управлением ведущего блока.
Для пересылки массива в адресных пространствах обоих микроконтроллеров выделяются области адресов (окна) путем задания начальных адресов и размера окна (8К адресов или 64К адресов). Пересылаемый код может иметь формат 32, 16 или 8 бит. При пересылке кода передатчик выдает код и смещение адреса в пределах окна.

Блок MMCI (MultiMediaCard Interface).

Блок имеется у микроконтроллеров типа TC11IB.

Блок предназначен для последовательного обмена данными по шине MMC.
Блок имеет два двунаправленных вывода (DAT и CMD) и пять выходов (CLK, VDDEN,DAT.RW, CMD RW и ROD).
Обмен может вестись со скоростью до 16Мбит/с.

Блок MSC (Micro Second Cannel).

Два блока MSC имеются у микроконтроллеров типа TC1796.

Блок предназначен для последовательного обмена данными между различными устройствами. Он имеет восемь входов SDI для последовательного приема кодов с разрядностью 16 или 12 бит.
Выбор входа для приема кода производится с использованием внутреннего мультиплексора. Последовательная выдача кода производится с использованием пары выводов FCLP и FCLN для выдачи синхросигнала и пары выводов SOP и SON для выдачи битов данных.
Для выбора устройства-приемника используются четыре выхода EN.

Блок PCI (Peripheral Component Interconnect).

Блок PCI имеется у микроконтроллеров типа TC11IB.

Блок предназначен для передачи кодов, управляющих сигналов и сигналов состояния из внутренней шины FFPI микроконтроллера во внешнюю системную шину PCI. Шина PCI содержит 32 двунаправленные линии Адрес/Данные и 20 линий для передачи сигналов управления/состояния.
Шина работает на частоте 33 МГц.

Блок PP (Parallel Port).

Параллельный порт предназначен для ввода и вывода данных в виде много-разрядного параллельного кода. Отдельные разряды порта могут использоваться независимо от других разрядов для ввода и вывода битов. Количество параллельных портов у микроконтроллеров разных типов указано в табл. 4 в строке PP. Суммарное число разрядов параллельных портов указано в строке PPpin.

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

Блок SDLM (Serial Data Link Module).

Блок SDLM имеется у микроконтроллеров типа TC1775 и TC1920.

Блок предназначен для последовательной передачи и приема данных в сети, работающей по протоколу J1850.
Блок имеет вход RXJ1850 и выход TXJ1850. Выводы микроконтроллера подключаются к сети с использованием внешнего приемопередатчика.
Байты данных передаются в составе кадра. В кадр входит байт-заголовок и контрольный циклический код CRC. Данные могут передаваться со скоростью 10,4 Кбод или 41,6 Кбод.

Блок SSC (Synchronous Serial Channel).

Блоки SSC имеются у микроконтроллеров всех типов. Количество блоков SSC у микроконтроллеров разных типов указано в табл. 4 в строке SSC.

Блок предназначен для последовательной передачи и приема данных с использованием трех выводов - SCLK, MTSR и MRST. Он может работать в режиме ведущего (Master) или ведомого (Slave). По шине, соединяющей выводы SCLK, предаются синхроимпульсы из ведущего в ведомый. По шине, соединяющей выводы MTSR, передаются данные из ведущего в ведомый, а по шине, соединяющей выводы MRST, - из ведомого в ведущий.
Код данных может содержать от двух до шестнадцати битов. Передача может начинаться со старшего или с младшего разряда кода. Синхроимпульсы могут иметь положительную или отрицательную полярность. Передача может вестись со скоростью до 40 Мбит/с.
Блок SSC может иметь дополнительные выводы - выходы SLSO для выбора одного из нескольких ведомых при работе в режиме ведущего и входы SLSI для выбора данного блока при работе в режиме ведомого.

Блок USB (Universal Serial Bus).

Блок USB имеется у микроконтроллера типа TC1130. Блок предназначен для организации обмена данными по шине USB с головным устройством шины (Host), в качестве которого выступает персональный компьютер (PC). Подключение к шине может быть выполнено с использованием внутреннего приемопередатчика через два вывода микроконтроллера - D+ и D-. Для подключения к шине может использоваться внешний приемопередатчик, подключаемый к микроконтроллеру через семь выводов - три выхода и четыре входа.

В блоке имеются 11 узлов приема/передачи сообщений, каждый их которых является конечной точкой (Endpoint) канала передачи данных по шине USB.
Каждая конечная точка организуется программными средствами с выделением группы ячеек внутреннего запоминающего устройства блока.
Передача ведется со скоростью 12 Мбит/с.

Блок 16Х50 (Asynchronous Serial Interface).

Блок 16Х50 имеется у микроконтроллеров типа TC11IB.

Блок представляет собой универсальный асинхронный приемопередатчик (UART). Он предназначен для связи с модемом.
Блок имеет выход TХD, вход RХD и шесть выводов для приема и выдачи сигналов управления обменом (RTS, DSR, DCD, DTR, CTS и RI).
Обмен может вестись со скоростью до 3 Мбит/с.

2 группа.

Блок CCU6 (Capture / Compare Unit 6).

Блок CCU6 имеется у микроконтроллеров типа TC1100 (один блок), TC1115 и TC1130 (два блока).

Блок СCU6 содержит два 16-разрядных счетчика (T12 и T13). Счетчики могут вести счет времени или счет внешних событий, представленных изменением уровня сигнала на входах микроконтроллера.
Счетчик T12 совместно с тремя 16-разрядными регистрами может работать в режиме захвата (capture) или в режиме сравнения (compare). С каждым регистром связаны два вывода микроконтроллера.
При работе в режиме сравнения на двух выводах формируется пара импульсных сигналов, один из которых является инверсией другого сигнала. Моменты изменения уровня одного сигнала могут быть сдвинуты относительно моментов изменения уровня другого сигнала на заданный интервал. Изменение уровня сигнала может происходить при совпадении кодов в счетчике и в регистре или при изменении уровня сигнала от внешнего датчика. Три регистра совместно со счетчиком Т12 могут быть использованы для формирования трехфазного сигнала PWM .
В режиме захвата (capture) код, сформированный в счетчике T12, заносится в регистр при изменении уровня сигнала на входе микроконтроллера, связанным с данным регистром.
Счетчик Т13 совместно с дополнительным регистром может работать в режиме сравнения с выдачей импульсного сигнала на отдельный выход микроконтроллера.

Блок GPTA (General Purpose Timer Array).

Блок GPTA имеется у микроконтроллеров типа TC1765 и TC1775 (один блок) и TC1796 (два блока).

В состав блока входят узлы для формирования тактовых сигналов, поступающих в другие блоки, для измерения длительности импульсных сигналов. Блок содержит два 24-разрядных базовых таймера, тридцать два 24-разрядных регистровых узла и шестьдесят четыре 16-разрядных регистровых узла. Блок имеет 56 двунаправленных выводов. В блоке формируются 54 запроса прерывания.
В регистровых узлах с использованием одного из базовых таймеров выполняются операции захвата (capture) и сравнения (compare).
При выполнении операций захвата определяются временные параметры входных импульсных сигналов. При выполнении операций сравнения формируются выходные импульсные сигналы с требуемыми временными параметрами.

Блок GPTU (General Purpose Timer Unit).

Наличие и количество блоков GPTU у микроконтроллеров разных типов указано в табл. 4 в строке GPTU.

Блок GPTU содержит три 32-разрядных счетчика (T0, T1, T2). Счетчики могут вести счет времени или счет внешних событий, представленных изменением уровня сигналов на входах микроконтроллера. Выходные сигналы счетчиков могут подаваться на выходы микроконтроллера.
Блок предназначен для формирования запросов прерывания при истечении заданных интервалов времени или наступлении заданного числа внешних событий, для измерения параметров входных импульсных сигналов и формирования выходных импульсных сигналов с заданными параметрами.
Счетчики T0 и T1 могут быть разделены на 8-разрядные, 16-разрядные и 24-разрядные или объединены в 64-разрядный счетчик. Счетчик T2 может быть разделен на два 16-разрядных счетчика. На его вход могут поступать сигналы с выходов счетчиков T0 и T1. Счетчик T2 может вести счет на сложение и на вычитание.
Счетчик T2 совместно с двумя 32-разрядными регистрами может использоваться в режиме захвата (capture) для измерения параметров входных импульсных сигналов.

Блок LTCA (Local Timer Cell Array).

Блок LTCA имеется у микроконтроллеров типа TC1796.

Блок содержит шестьдесят четыре 16-разрядных таймерных узла. Тактовые сигналы поступают в блок из блока GPTA. В таймерных узлах выполняются операции захвата (capture) для определения параметров входных импульсных сигналов и сравнения (compare) для формирования выходных импульсных сигналов с требуемыми параметрами.

Блок RTC (Real Time Clock).

Блок RTC имеется у микроконтроллера типа TC1775, TC1910, TC1912 и TC1920.

Блок предназначен для организации работы часов и календаря, для формирования последовательности запросов прерывания в заданные моменты реального времени, для формирования сигналов вывода микроконтроллера из энергосберегающих режимов в заданные моменты реального времени. В состав блока входит тактовый генератор с внешним кварцевым резонатором с частотой 32 768 Гц.

Блок STM (System Timer).

Блок STM имеется у микроконтроллеров всех типов.

Блок STM содержит 56-разрядный счетчик, который ведет счет времени. Счетчик начинает счет при подаче напряжения питания. В процессе работы возможно только считывание кода в различных группах разрядов счетчика.
В блоке имеются два 32-разрядных регистра для сравнения кода в группе разрядов регистра с кодом в определенной группе разрядов счетчика. При совпадении кодов формируется запрос прерывания.

Блок WDT (Watchdog Timer).

Блок WDT имеется у микроконтроллеров всех типов.

Сторожевой таймер предназначен для устранения последствий сбоя в ходе программы путем перезапуска микроконтроллера. WDT содержит 16-разрядный счетчик, который ведет счет времени. При переполнении счетчика происходит перезапуск микроконтроллера. Для предотвращения переполнения счетчика в определенных местах программы помещаются команды сброса счетчика в нулевое состояние с продолжением счета.
При сбое в ходе программы очередная команда сброса не выполняется. Счетчик ведет счет до переполнения и происходит перезапуск микроконтроллера. Длительность интервала счета до переполнения задается программными средствами. При программировании WDT может быть введена защита некоторых управляющих регистров микроконтроллера от ошибочной записи.
При переполнении счетчика до выдачи сигнала перезапуска WDT формирует запрос немаскируемого прерывания (NMI), что позволяет провести анализ причин сбоя в процессе отладки программы.

3 группа.

Блок ADC (Analog to Digital Converter).

Блоки ADC имеются у микроконтроллеров типа TC1765, TC1775 и TC1796 (по два блока) и TC1920 (один блок).

Блок имеет 16 входов для приема аналоговых сигналов. Преобразование выполняется по методу последовательных приближений. Код результата преобразования может иметь 8, 10 или 12 двоичных разрядов. Преобразование выполняется за 3-5 мкс.
Запуск преобразователя может происходить по команде в программе, по внешнему сигналу или по сигналу внутреннего устройства (GPTA). Преобразователь может работать в одиночном или в сканирующем режиме. В процессе работы выполняется автоматическая автокалибровка.

Блок Codek.

Блок предназначен для улучшения качества звуковых сигналов методами цифровой обработки сигналов. Блок содержит два канала. В каждом канале имеется аналого-цифровой преобразователь, формирующий 14-разрядный код, и цифро-аналоговый преобразователь.

Блок поддерживает последовательную передачу цифровых звуковых стерео- сигналов из одного устройства в другое устройство по интерфейсу IIS с использованием пяти линий.

Блок FADC (Fast Analog to Digital Converter).

Блок FADC имеется у микроконтроллеров типа TC1796.

Блок имеет 4 входа для приема аналоговых сигналов. В результате преобразования формируется десятиразрядный двоичный код. Преобразование выполняется за 280 нс.

4 группа.

Вспомогательные устройства используются на этапе подготовки микроконтроллера к работе по выполнению целевых программ.

В эту группу входят устройства, управляющие загрузкой памяти микроконтроллера, и устройства для отладки программы в микроконтроллере после его установки в аппаратуре, для управления которой он предназначен.
Загрузка памяти может выполняться через блок ASC или через блок SSC. Загрузка также может быть выполнена с использованием внешней шины микроконтроллера.
Отладка программы выполняется с использованием внешнего отладочного устройства, которое подключается к микроконтроллеру по специальному интерфейсу JTAG (5 линий) и BRKIN (2 линии). Ввод и вывод кодов в процессе отладки выполняются с использованием специального блока ввода-вывода (Cerberus) .
У микроконтроллеров некоторых типов имеется специальный дополнительный порт ввода-вывода (Trace Port).
В отладке участвует внутренний блок поддержки отладки (On-Chip Debug Support-OCDS).

5. Система команд.

В систему команд входят следующие группы команд:

  • команды операций с данными,
  • команды управления ходом программы,
  • команды управления работой в мультипрограммном режиме,
  • системные команды.

У микроконтроллеров, имеющих блок операций с числами в форме с плавающей точкой (FPU), в систему команд входит группа дополнительных команд. У микроконтроллеров, имеющих блок управления памятью (MMU), в систему команд входит дополнительная группа команд.

Машинный код команды имеет формат 32 бита или 16 битов.
Мнемокод команды содержит мнемокод операции и может содержать адресную часть. Мнемокод операции содержит мнемокод базовой операции и может содержать модификатор операции и модификатор данных.

Команды операций с данными.

В табл. 5 перечислены типы данных, которые могут участвовать в операциях, и указаны соответствующие им модификаторы данных.

Таблица 5.
Тип данных Модификатор Логическая переменная (бит) Байт (8 битов) Полуслово (16 битов) .H Слово (32 бита) .W Двойное слово (64 бита) .D Адрес (32 бита) .A Число без знака .U Дробное число со знаком .Q Число с плавающей точкой .F

Базовым форматом данных является формат 32 бита, поэтому модификатор данных .W в мнемокодах многих команд не указывается.

В табл. 6 перечислены основные базовые операции с данными и указаны соответствующие им мнемокоды базовых операций.

Таблица 6.
Операция Мнемокод
Определение абсолютной величины ABS
Определение большего числа из двух MAX
Определение большего числа из группы IХMAX
Определение меньшего числа из двух MIN
Определение меньшего числа их группы IХMIN
Насыщение SAT
Сложение ADD
Вычитание SUB
Реверсивное вычитание RSUB
Умножение MUL
Умножение со сложением MADD
Умножение с вычитанием MSUB
Деление DV:
Деление (для чисел .F) DIV
Логическое умножение (И) AND
И с инвертированием NAND
Логическое сложение (ИЛИ) OR
ИЛИ с инвертированием NOR
Исключающее ИЛИ XOR
Искл. ИЛИ с инвертированием XNOR
Логический сдвиг SH
Арифметический сдвиг ASH
Засылка в регистр MOV
Пересылка из памяти в регистр LD
Пересылка из регистра в память ST

Для выполнения операции деления используется последовательность команд с мнемокодами операции DVINIT, DVSTEP, DVADJ.

Кроме команд, по которым выполняются операции, перечисленные в табл. 6, в систему команд входят следующие команды операций с данными:
  • команды операций сравнения,
  • команды пакетных операций,
  • команды операций с битами и группами битов,
  • команды условных операций.
Сравнение двух кодов (А и В) может выполняться с использованием разных условий. Результатом операции является бит, который принимает единичное значение, если условие выполняется, или нулевое значение в противном случае. Далее перечислены условия и соответствующие им мнемокоды операций сравнения: A=B (EQ), A?B (NE), A?B (GE), A < B (LT).

Пакетные операции выполняются с разделением 32-разрядного кода на два полуслова или четыре байта. Указанная арифметическая или логическая операция выполняется для каждой части кода изолированно от других частей. Для пакетных операций в мнемокод операции вводятся модификаторы .H или .HU при разделении на полуслова или .B или .BU при разделении на байты.

В группу операций с битами входит операция счета битов с единичным значением (CLO), или с нулевым значением (CLZ), или со значением, совпадающим со значением знакового разряда (CLS). В логических операциях с битами могут участвовать три операнда. При этом с первым и вторым операндом выполняется одна операция, а с результатом этой операции и третьим операндом - другая операция. В качестве операндов могут использоваться биты, получаемые при сдвиге кода. Примеры мнемокодов таких операций: AND.OR, SH.XOR.

С группами битов выполняются операции извлечения группы битов (EXTR) и вставки группы битов (INSERT).
По команде условной операции операция указанного типа выполняется при определенном значении одного из операндов или заменяется засылкой другого операнда в регистр результата. В мнемокод условной операции включается буква С (например, (CADD) или добавляется код условия (например, AND.EQ).

Модификатор операции определяет особенности выполнения операции указанного типа или особенности команды, по которой выполняется операция. Некоторые особенности выполнения операции и соответствующие им модификаторы операции приведены в табл. 7.

Таблица 6.
Особенности операции Модификатор
С использованием переноса C
С использованием старшего полуслова H
С удвоением разрядной сетки M
С округлением результата R
С насыщением результата S
С непосредственной адресацией I

Команды управления ходом программы.

В группу команд управления ходом программы входят:

  • команды безусловного перехода,
  • команды условного перехода,
  • команды управления циклами в программе.
По командам безусловного перехода (J, JL, JA, JLA, JI, JLI) выполняется переход по указанному адресу при различных размерах области адресов перехода и различных способах задания адреса перехода.
По командам безусловного перехода с возвратом (CALL, CALLA, CALLI) выполняется переход к подпрограммам, а по командам возврата (RET, RFE) - возврат из подпрограммы.
По командам условного перехода переход по указанному адресу выполняется лишь при выполнении условия (JEQ, JNE, JLT, JGE, JZ, JNZ).
Для управления циклами в программе могут использоваться команды условного перехода с автоматическим инкрементированием или декрементированием кода в регистре (JNEI, JNED) или специальные команды (LOP, LOOPU), требующие меньшего времени на исполнения.

Команды управления работой в мультипрограммном режиме.

При переходе от выполнения одной программы к выполнению другой программы необходимо сохранить коды, находящиеся в регистрах управления и состояния (context), и загрузить в регистры управления и состояния коды, необходимые для выполнения новой программы. Для сохранения, восстановления и загрузки этих кодов используются команды с мнемокодами SVLCX, RSLCX, STUCX, LDUCX, STLCX и BISR.

Системные команды.

Микроконтроллер может работать под управлением только программы пользователя (User mode) или с использованием управляющей программы супервизор (supervisor mode).

Для перехода в режим супервизора используется команда с мнемокодом SYSCALL, для выхода из режима - команды с мнемокодами RET или RFE.
Для синхронизации процессов выборки и исполнения команд при переходе от программы к программе используются команды с мнемокодами ISYNC и DSYNC.
Чтение и запись кодов в регистры управления/состояния в ядре микроконтроллера выполняются по командам с мнемокодами MFCR и MTCR соответственно.
Для защиты участков программы от прерывания используют команды с мнемокодами DISABLE и ENABLE.
Программный переход к системным прерывающим программам выполняется по командам с мнемокодами TRAPV и TRAPSV.
В группу системных команд входят также дополнительные команды для блока управления памятью (MMU), которые могут исполняться только в супервизорном режиме.

Литература

  1. TriCore™ 1 32-bit Unified Processor Core
    V1. V1.3 Core Architecture.
    V2. V1.3 Instruction Set
    User's Manual, V1.3.5, February 2005.
  2. 2. TC1100 32-Bit Single-Chip Microcontroller. Advance Information
    Data Sheet, V1.0. Feb, 2005
  3. 3. TC1115 32-Bit Single-Chip Microcontroller. Advance Information
    Data Sheet, V1.0. Feb, 2005
  4. 4. TC1130 32-Bit Single-Chip Microcontroller. Advance Information
    Data Sheet, V1.0. Feb, 2005
  5. 5. TC11IB 32-Bit Single-Chip Microcontroller.
    Data Sheet, V2.4. Jun, 2004
  6. 6. TC1765 32-Bit Single-Chip Microcontroller.
    Data Sheet, V1.2. Dec, 2002
  7. 7. TC1775 32-Bit Single-Chip Microcontroller.
    Data Sheet, V1.2. May, 2002
  8. 8. TC1796 32-Bit Single-Chip Microcontroller.
    V1. System Units.
    V2. Peripheral Units.
    User's Manual, V0..5, Feb. 2005.
  9. 9. TC1910 32-Bit Single-Chip Microcontroller.
    Data Sheet, V1.0. Oct, 2003
  10. 10. TC1912 32-Bit Single-Chip Microcontroller.
    Product Overview, V1.0. July, 2002
  11. 11. TC1920 32-Bit Single-Chip Microcontroller.
    Data Sheet, V1.3. Oct, 2003.
© 1999-2016 All Right Reserved. EFO Ltd. При использовании материалов ссылка на источник обязательна.
Контактная информация