Новое семейство микроконтроллеров C8051F36x
фирмы Silicon Laboratories
Олег НИКОЛАИЧУК
onic@inbox.ru
В статье рассматриваются особенности архитектуры и основные параметры семейства быстродействующих микроконтроллеров C8051F36x, выпускаемых компанией Silicon Laboratories.
В феврале 2007 года фирма Silicon Laboratories (SiLabs), объявила о начале производства семейства, состоящего из 10 быстродействующих микроконтроллеров C8051F36x [1]. Основные параметры микроконтроллеров семейства приведены в таблице 1. Структура базового микроконтроллера C8051F360 показана на рис. 1.
Рассмотрим основные характеристики микроконтроллеров этого семейства.
Все микроконтроллеры C8051F36x выполнены на базе модифицированного высокопроизводительного ядра CIP-51 фирмы SiLabs, полностью совместимого по набору инструкций со стандартным MCS-51 ядром. Несомненно, важнейшим достоинством ядра CIP-51 является усовершенствованная конвейерная архитектура, которая позволяет значительно увеличить производительность по сравнению со стандартной х51-совместимой архитектурой. Модернизированное ядро CIP-51 выполняет 70% инструкций за один или два машинных цикла и вообще не имеет инструкций, выполняющихся более чем за восемь машинных циклов. Как известно, производительность микроконтроллера прямо пропорциональна тактовой частоте, на которой работает ядро. Поэтому ядро дополнено развитой встроенной системой из двух тактовых генераторов и вспомогательных узлов. Первый высокоэффективный тактовый ге-
нератор в процессе производства калибруется на частоте 24,5 ±2% МГц для эффективной работы ИЛИТ на стандартных скоростях. Этот же генератор может работать и с внешним кварцевым резонатором, или с внешней ИС-цепочкой, или с одним внешним конденсатором, или с внешним генератором. Второй тактовый генератор может работать на одной из четырех низких частот — 80, 40, 20 или 10 кГц. К выходу одного из генераторов может подключаться аппаратный умножитель частоты (РЬЬ), обеспечивающий синтез выходной частоты до 100 МГц.
Конечно же, обеспечивается возможность оперативного программного переключения генераторов «на лету». Аппаратный делитель частоты и коммутатор обеспечивают программный выбор тактовой частоты в диапазоне от 10 кГц до 100 МГц. При этом может развиваться пиковая (предельная) производительность до 100 МІР8 (миллионов инструкций в секунду). Кроме этого, в состав ядра входит аппаратный умножитель 16x16 (МЛС), обеспечивающий аппаратное умножение двух 16-битных двоичных чисел за два такта. Ядро дополнено эффективным двухуровневым обработчиком прерываний, обрабатывающим до 12 внутренних и 2 внешних источников прерываний.
Микроконтроллеры семейства С8051Б36х оснащаются 32 кбайтами (Р360-Б367) или
16 кбайтами (F368/F369) Flash-памяти программ и данных, которую можно модифицировать непосредственно в ходе выполнения рабочей программы. Отличием от других семейств микроконтроллеров фирмы SiLabs является размер сектора— 1024 байта (а не 512 байтов).
Расширенная оперативная память имеет объем 1024 байта + стандартная оперативная память 256 байтов.
Микроконтроллеры имеют от 39 до 24 линий ввода/вывода, совместимых с питанием +5 В.
В состав цифровой периферии входят интерфейс SMBus (совместимый с I2C) и расширенные интерфейсы SPI и UART. Кроме этого имеются четыре 16-разрядных таймеров-счетчиков общего назначения, программируемый 16-разрядный счетчик (PCA) с шестью модулями сравнения/захвата и возможностью организации охранного таймера (WDT) и таймера реального времени (RTC). Кроме того, два микроконтроллера F360 и F363 имеют аппаратный интерфейс внешней памяти (EMI).
В состав аналоговой периферии входит 10-разрядный аналого-цифровой преобразователь (ADC0) с повышенным до 200 квыб/с быстродействием с аналоговым мультиплексором, позволяющим коммутировать аналоговые сигналы на любые линии ввода/вывода (до 21 входа). В состав этого узла также традиционно входит «оконный» компаратор
Таблица 1. Основные параметры микроконтроллеров семейства C8051F36x
Тип Пиковая производительность, MIPS Объем Flash-памяти, кбайт Встроенная оперативная память, кбайт Двухцикловый умножитель 16x16 Калиброванный встроенный тактовый генератор на 24,5 МГц Встроенный тактовый генератор 80 кГц Интерфейс внешней памяти EMI Интерфейс SMBus/I2C Расширенный интерфейс SPI Интерфейс UART Таймеры 16-битные Программируемый массив-счетчик PCA Линии портов ввода/вывода Аналого-цифровой преобразователь 10 бит 200 ksps Цифро-аналоговые преобразователи с токовым выходом 10 бит Встроенный источник опорного напряжения Температурный датчик Аналоговый компаратор Корпус
C8051F360 100 32 + + + + + + + + 39 + + + + TQFP48
C8051F361 90/100 32 + + + - + + + + 27 + + + + LQFP32
C8051F362 90/100 32 + + + - + + + + 24 + + + + QFN28
C8051F363 100 32 + + + + + + + + 39 - - - - TQFP48
C8051F364 90/100 32 + + + - + + + + 27 - - - - LQFP32
C8051F365 90/100 32 + + + - + + + + 24 - - - - QFN28
C8051F366 50 32 + + + - + + + + 29 + + + + LQFP32
C8051F367 50 32 + + + - + + + + 25 + + + + QFN28
C8051F368 50 16 + + + - + + + + 29 + + + + LQFP32
C8051F369 50 16 + + + - + + + + 25 + + + + QFN28
и температурный датчик. Микроконтроллеры оснащаются также 10-разрядным цифроаналоговым преобразователем с токовым выходом и двумя аналоговыми компараторами с программируемыми петлей гистерезиса и временем срабатывания. Микроконтроллеры могут использовать в качестве источника опорного напряжения либо внутренний источник опорного напряжения 2,44 В, либо напряжение с внешнего источника, либо напряжение питания.
Микроконтроллеры семейства С8051Б36х имеют широкий диапазон напряжений питания (от 2,7-3,6 В), однако от напряжения питания зависит максимально возможная тактовая частота. Так, в ряде контроллеров (табл. 1) пиковая производительность 100 М1Р8 достигается только при напряжении питания от 3,0 до 3,6 В, а при более низких напряжениях гарантируется пиковая производительность до 90 М1Рв. Максимальный ток потребления — не более 8 мА.
Новое семейство микроконтроллеров С8051Б36х имеет развитый интерфейс про-
Р0.4 [X
ро.з [X Р0.2 IX ро.1 [X ро.о [X АОШ [X АУ+ ГТ~ 1«Т/С2СК [X Р4.6/С20 IX Р4.5 СПГ Р4.4 [ГГ Р4.3 ¡12
О
С8051Р360/3
ЖИИИИИИЖМЖЖИ"
1Г| Р1.7
151 Р2.0
Ж] Р2.1
~зз1 Р2.2
“321 Р2.3
т ЧОО
“301 вМ
191 Р2.4
181 Р2.5
Ш Р2.6
Ж Р2.7
ж\ РЗ.О
го со со со
Рис. 2. Расположение выводов микроконтроллеров С8051Р360 иС8051Р363 в корпусах ТОРР48
CNCO^-inior-OT-; oooooo^-^
[slfKlfslfalfalfRlfalfs]
ро.1 рГ ъ ~24~| P1.2
Р0.0|~2~ ~23~|P1.3
gnd|~3~ ~2T|pi.4
VDP| 4 /RST/C2CK |"Т" C8051F361/4/6/8 21 | P1.5 ~20 | P1.6
P3.0/C2D |~(Г 19~|P1.7
P3.1 рГ 1?]P2.0
P3.2 |~~8~ \ У 17 | P2.1
rOCOrMCNCNfMOICN Q_Q.Q_Q_Q_Q.Q_Q_
Рис. 3. Расположение выводов микроконтроллеров C8051F361, F364, F366 и F368
в корпусах LQFP32
см со т io «з г— о
P0.1 1 ) ( 21 Р1.1
PO.O 2 ) ( 20 Р1.2
GND 3 ) С 19 Р1.3
VDD 4 ) C8051F362/5/7/9 С 18 Р1.4
/RST/C2CK 5 ) ( I? Р1.5
P3.0/C2D 6 ) С 16 Р1.6
GND
P2.7 1 ) С 15 Р1.7
to ю тз- го CN ^ о
Рис. 4. Расположение выводов микроконтроллеров C8051F362, F365, F367 и F369
в корпусах QFN28
Таблица 2. Назначение выводов микроконтроллеров семейства C8051F36x
Имя вывода Выводы корпуса TQFP48 (F360/363) Выводы корпуса LQFP32 (F361/364/ 366/368) Выводы корпуса QFN28 (F362/365/ 367/369) Тип Описание
Vdd 19,31,43 Входы напряжения питания
GND 18,30,42 Цифровая земля (общий)
AGND - - Аналоговая земля
AV+ - - Входы питания аналоговых узлов от +2,7 до 3,6 В
RST/ D I/O Вход сброса, а также выход со стоком встроенного монитора
C2CK D I/O Тактовая линия интерфейса программирования С2
P4.6/ - - D I/O или AIN Линия ввода/вывода Р4.6
C2D D I/O Двунаправленная линия данных интерфейса программирования С2
P3.0/ - D I/O или AIN Линия ввода/вывода Р3.0
C2D D I/O Двунаправленная линия данных интерфейса программирования С2
P0.0 D I/O или AIN Линия ввода/вывода Р0.0
P0.1 D I/O или AIN Линия ввода/вывода Р0.1
P0.2 32 28 D I/O или AIN Линия ввода/вывода Р0.2
P0.3 31 27 D I/O или AIN Линия ввода/вывода Р0.3
P0.4 30 26 D I/O или AIN Линия ввода/вывода Р0.4
P0.5 48 29 25 D I/O или AIN Линия ввода/вывода Р0.5
P0.6 47 28 24 D I/O или AIN Линия ввода/вывода Р0.6
P0.7 48 27 23 D I/O или AIN Линия ввода/вывода Р0.7
P1.0 45 26 22 D I/O или AIN Линия ввода/вывода Р1.0
P1.1 44 25 21 D I/O или AIN Линия ввода/вывода Р1.1
P1.2 41 24 20 D I/O или AIN Линия ввода/вывода Р1.2
P1.3 40 23 19 D I/O или AIN Линия ввода/вывода Р1.3
P1.4 39 22 18 D I/O или AIN Линия ввода/вывода Р1.4
P1.5 38 21 17 D I/O или AIN Линия ввода/вывода Р1.5
P1.6 37 20 16 D I/O или AIN Линия ввода/вывода Р1.6
P1.7 36 19 15 D I/O или AIN Линия ввода/вывода Р1.7
P2.0 35 18 14 D I/O или AIN Линия ввода/вывода Р2.0
P2.1 34 17 13 D I/O или AIN Линия ввода/вывода Р2.1
P2.2 33 16 12 D I/O или AIN Линия ввода/вывода Р2.2
P2.3 32 15 11 D I/O или AIN Линия ввода/вывода Р2.3
P2.4 29 14 10 D I/O или AIN Линия ввода/вывода Р2.4
P2.5 28 13 D I/O или AIN Линия ввода/вывода Р2.5
P2.6 27 12 D I/O или AIN Линия ввода/вывода Р2.6
P2.7 26 11 D I/O или AIN Линия ввода/вывода Р2.7
P3.0 25 - - D I/O или AIN Линия ввода/вывода Р3.0
P3.1 24 - D I/O или AIN Линия ввода/вывода Р3.1
P3.2 23 - D I/O или AIN Линия ввода/вывода Р3.2
P3.3 22 - D I/O или AIN Линия ввода/вывода Р3.3
P3.4 21 10 - D I/O или AIN Линия ввода/вывода Р3.4
P3.5 20 - - D I/O или AIN Линия ввода/вывода Р3.5
P3.6 17 - - D I/O или AIN Линия ввода/вывода Р3.6
P3.7 16 - - D I/O или AIN Линия ввода/вывода Р3.7
P4.0 15 - - D I/O или AIN Линия ввода/вывода Р4.0
P4.1 14 - - D I/O Линия ввода/вывода Р4.1
P4.2 13 - - D I/O Линия ввода/вывода Р4.2
P4.3 12 - - D I/O Линия ввода/вывода Р4.3
P4.4 11 - - D I/O Линия ввода/вывода Р4.4
P4.5 10 - - D I/O Линия ввода/вывода Р4.5
граммирования и отладки С2 (модифицированный JTAG), который поддерживается фирменной оболочкой Silicon Labs IDE [2] и другими программными продуктами, например, отладчиком фирмы Keil — ^Vision [3] или Flash-программатором [4]. Кроме того, выпускается ряд демонстрационных комплектов для ускоренного изучения нового семейства, например, комплект C8051F360DK [5] или USB ToolStick [6].
Рабочий диапазон температур нового семейства — от -40 до +85 °C.
Микроконтроллеры выпускаются в корпусах трех типов — 48-выводном TQFP, 32-вы-водном LQFP и 28-выводном QFN (раньше применялось название MLN28).
Отметим, что микроконтроллеры F361, F364, F366, F368 повыводно совместимы с ми-
кроконтроллером C8051F310, а микроконтроллеры F362, F365, F367, F369 — с C8051F311. Это обстоятельство позволяет легко модифицировать устаревшие изделия, выполненные на микроконтроллерах серии C8051F31x.
Базовым микроконтроллером семейства является C8051F360, он имеет полный комплект периферии. Микроконтроллер C8051F363 отличается от базового тем, что в нем отсутствует аналоговая периферия. Только эти два микроконтроллера (F360 и F363) из всего семейства имеют аппаратный интерфейс внешней памяти (EMI). Расположение выводов микроконтроллеров C8051F360 и C8051F363 в корпусах TQFP48 представлено на рис. 2.
Четыре других микроконтроллера C8051F361, F364, F366 и F368 выпускаются в корпусах LQFP32 (рис. 3), имеющих на 16 выводов мень-
ше, причем микроконтроллер Р361 отличается от базового F360 только меньшим количеством линий ввода/вывода, F366 имеет пониженную производительность (50 М1Р8), F368, кроме того, имеет уменьшенный до 16 кбайт объем Flash-памяти, а микроконтроллер F364 не имеет аналоговой периферии (табл. 1).
Остальные четыре микроконтроллера 0805^362, F365, F367 и F369 выпускаются в корпусах QFТ28 (рис. 4), имеющих еще на 4 вывода меньше. Микроконтроллер F362 отличается от базового F360 только меньшим количеством линий ввода/вывода, F365 не имеет аналоговой периферии, F367 имеет полную периферию, но пониженную до 50 М1Р8 пиковую производительность, а микроконтроллер F369 имеет еще и сниженный объем Flash-памяти.
Основные особенности нового семейства
Высокая оснащенность новыми периферийными узлами и необходимость их гибкой настройки привели к тому, что количество регистров специальных функций SFR (Special Function Registers) превысило максимальный объем одностраничного набора из 128 регистров. Поэтому новый микроконтроллер имеет двухстраничный комплект SFR-регистров (табл. 3).
Карта источников прерывания нового семейства микроконтроллеров показана в таблице 4.
Новые интересные возможности имеют два порта ввода/вывода — Р0 и Р1. В их структуру введены два дополнительных SFR-регистра: регистра сравнения PxMAT (Port x Match Register) и регистр маски PxMASK (Port x Mask Register). При возникновении ситуации, когда ^х & PхMASK) не равны (PхMAT & PхMASK), для портов 0 и 1 возникает событие, которое может служить источником прерывания. Это событие может, например, использоваться для вывода микроконтроллера из режима SUSPEND. Узлы интерфейсов SMBus, SPI и UART практически не отличаются от аналогичных узлов других семейств микроконтроллеров фирмы SiLabs.
В заключение отметим, что новое семейство C8051F36x содержит мощные микроконтроллеры, которые, несомненно, понравятся разработчикам. ■
Литература
1. http://www.silabs.com/public/documents/ tpub_doc/dsheet/Microcontrollers/ SmaU_Form_Factor/en/C8051F36x.pdf
2. http://www.silabs.com/public/documents/ software_doc/othersoftware/Microcontrollers/ en/mcu_WebReadme.txt
3. http://www.silabs.com/tgwWebApp/public/ web_content/products/Microcontrollers/ en/mcu_keildriver.htm
4. http://www.silabs.com/public/documents/ software_doc/othersoftware/Microcontrollers/ en/FLASHUtil_rel_notes.txt
Таблица 3. Комплект SFR-регистров
Адрес Номер SFR-страницы 0(8) 1(9) 2(A) 3(B) 4(C) 5(D) 6(E) 7(F)
F8 0 SPI0CN PCA0L PCA0H PCA0CPL0 PCA0CPH0 PCA0CPL4 PCA0CPH4 VDM0CN
F0 0 B MAC0BL P0MDIN MAC0BH P1MDIN P0MAT P2MDIN P0MASK P3MDIN PCA0CPL5 PCA0CPH5 EMI0TC
E8 ADC0CN PCA0CPL1 PCA0CPH1 PCA0CPL2 PCA0CPH2 PCA0CPL3 PCA0CPH3 RSTSRC
E0 ACC P1MAT XBR0 P1MASK XBR1 - IT01CF SFR0CN EIE1 EIE2
D8 PCA0CN PCA0MD PCA0CPM0 PCA0CPM1 PCA0CPM2 PCA0CPM3 PCA0CPM4 PCA0CPM5
D0 PSW REF0CN MAC0ACC0 CCH0LC MAC0ACC1 CCH0MA MAC0ACC2 P0SKIP MAC0ACC3 P1SKIP MAC00VR P2SKIP MAC0CF P3SKIP
C8 TMR2CN CCH0TN TMR2RLL TMR2RLH TMR2L TMR2H EIP1 MAC0STA EIP2
C0 SMB0CN SMB0CF SMB0DAT ADC0GTL ADC0GTH ADC0LTL ADC0LTH EMI0CF
B8 IP IDA0CN AMX0N AMX0P ADC0CF ADC0L ADC0H 0SCICL
B0 P3 P2MAT PLL0MUL P2MASK PLL0FLT PLL0CN - P4 FLSCL 0SCXSCN FLKEY 0SCICN
A8 IE PLL0DIV EMI0CN - FLSTAT 0SCLCN MAC0RNDL P4MD0UT MAC0RNDH P3MD0UT
A0 P2 SPI0CFG SPI0CKR SPI0DAT MAC0AL P0MD0UT MAC0AH P1MD0UT P2MD0UT SFRPAGE
98 SC0N0 SBUF0 CPT1CN CPT0CN CPT1MD CPT0MD CPT1MX CPT0MX
90 P1 TMR3CN TMR3RLL TMR3RLH TMR3L TMR3H IDA0L IDA0H
88 TCON TM0D TL0 TL1 TH0 TH1 CKC0N PSCTL CLKSEL
80 P0 SP DPL DPH CCH0CN SFRNEXT SFRLAST PC0N
Адрес Номер SFR-страницы Бит-адре- суемые регистры Стандартно адресуемые SFR-регистры с учетом адреса страницы SFRPAGE
Таблица 4. Карта источников прерывания
Источник прерывания Название Вектор Приоритет Бит адресуемый Обнуляется аппаратно
Аппаратный сброс RST 0x0000 Высший - -
Внешнее прерывание 0 INT0/ 0x0003 0 + +
Переполнение таймера 0 T00VR 0x000B + +
Внешнее прерывание 1 INT1/ 0x0013 + +
Переполнение таймера 1 T10VR 0x001B + +
Порт иА^0 UART0 0x0023 + -
Переполнение таймера 2 T20VR 0x002B + -
Интерфейс БРЮ SPI0 0x0033 + -
Интерфейс БМВивДС SMB0 0x003B + -
Резерв - 0x0043 - -
Окно АРС0 ADC0W 0x004B + -
Конец преобразования АРС0 ADC0E 0x0053 10 + -
Интерфейс РСА PCA0 0x005B 11 + -
Компаратор 0 CP0 0x0063 12 - -
Компаратор 1 CP1 0x006B 13 - -
Переполнение таймера 3 T30VR 0x0073 14 - -
Резерв - 0x007B 15 - -
Прерывание сравнения MAT0 0x0083 16 - -
5. http://www.silabs.com/tgwWebApp/public/ 6. http://www.silabs.com/tgwWebApp/public/
web_content/products/MicrocontroUers/ web_content/products/Microcontrollers/
Small_Form_Factor/en/C8051F360DK.htm en/USBToolStick.htm