Научная статья на тему 'Три «с» в одном флаконе: однокристальный аналого-цифровой комплекс Silicon Labs'

Три «с» в одном флаконе: однокристальный аналого-цифровой комплекс Silicon Labs Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
181
54
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ракович Николай

Рыночная ниша между микроконтроллерами и аналоговыми приборами всегда была и остается очень заманчивой. И успех здесь приходит к тому (как, впрочем, и везде), кто правильно оценит направление развития этого сектора и вовремя предложит свои изделия.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Три «с» в одном флаконе: однокристальный аналого-цифровой комплекс Silicon Labs»

e

Компоненты и технологии, № 4'2004

Три «С» в одном флаконе:

однокристальный аналого-цифровой комплекс БШсоп 1.аЬ5

Рыночная ниша между микроконтроллерами и аналоговыми приборами всегда была и остается очень заманчивой. И успех здесь, как, впрочем, и везде, приходит к тому, кто правильно оценит направление развития этого сектора и вовремя предложит свои изделия.

Николай Ракович

[email protected]

Ос

сновное направление деятельности Silicon Laboratories (www.silabs.com) — передовые решения в производстве аналого-цифровых приборов. Приобретение в конце 2003 года фирмы Cygnal значительно расширило гамму выпускаемых приборов, в частности, линейку 8-разрядных микроконтроллеров со встроенными аналоговоцифровыми преобразователями, оптимизированными для широкого диапазона применений. Эти ИС объединяют на одном кристалле быстродействующую аналоговую часть, цифровое ядро, Flash-память и порты ввода-вывода, что отражено в рекламном слогане «Capture, Compute, Communicate» (сбор, вычисление, передача данных). Встроенный отладчик значительно облегчает жизнь разработчикам и позволяет сократить сроки производства.

Вся линия микроконтроллеров Silicon Laboratories делится на 5 семейств, основные параметры кото-

Таблица 1. Микроконтроллеры Silicon Laboratories

Семейства C8G51F Capture Сбор Compute Вычисление Communicate Передача

3хх (малый форм-фактор) 10-разрядный АЦП, 10-разрядный ЦАП, датчик температуры, ИОН 25 MIPS, 16 кбайт Flash UART, SPI, SMBus

12х/0хх (прецизионное) 12-разрядный АЦП, 12-разрядный ЦАП, датчик температуры, ИОН 100 MIPS,16x16 MAC 128 кбайт Flash EMIF, 2 UART, SPI, SMBus

32х (USB) 10-разрядный АЦП, датчик температуры, ИОН 25 MIPS, 16 кбайт Flash USB, UART, SPI, SMBus

04х/06х (CAN) 16-разрядный АЦП, 12-разрядный ЦАП, 60 В PGA, датчик температуры, ИОН 25 MIPS, 64 кбайт Flash CAN 2.0B, 2 UART, SPI, SMBus

2хх (общего назначения) 12-разрядный АЦП 25 MIPS, 8 кбайт Flash UART, SPI

Таблица 2. Семейство контроллеров C8051F0ÓX (основные характеристики)

Быстродействие, MIPS (пиковое) Flash, кбайт ОЗУ Интерфейс внешней памяти PI S о «л u CÛ M S CAN UART 16-разрядные таймеры Матрица программируемых счетчиков Выводы I/O Погрешность 16-разрядных АЦП (млн разряд) х ы н д я р з аП О < ы оды Вхо НОИ Датчик температуры Разрешение ЦАП Выходы ЦАП Аналоговые компараторы Тип корпуса

C8051F060 25 64 4352 + + + 2 5 + 59 ±0,75 8 + + 12 2 3 100TQFP

C8051F061 25 "6Г 4352 - + + ~Т 5 + 24 ±0,75 8 + + 12" Т 3 64TQFP

C8051F062 25 "61 4352 + + + т 5 + "59" ±1,5 8 + + І2 т 3 100TQFP

C8051F063 25 "61 4352 - + + т 5 + 24 ±1,5 8 + + І2 т 3 64TQFP

рых приведены в таблице 1. Главные достоинства микроконтроллеров — АЦП высокой точности, высокое быстродействие и низкий уровень шумов.

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

Самое «навороченное» семейство микроконтроллеров C8051F060/1/2/3 (рис. 1-2, табл. 2), в состав которого входят: контроллер 8051 на 25 MIPS, CAN 2,0В контроллер, память данных на 4 кбайт + 256 байт, Flash-память на 64 кбайт, два 16-разрядных и один 10-разрядный АЦП, два 12-разрядных ЦАП и т. д.

Основа контроллера 8051 — запатентованное ядро CIP-51 фирмы Cygnal, которое полностью совместимо с набором команд MCS-51 и работает со стандартными ассемблерами и компиляторами 803х/805х. Ядро имеет всю периферию (стандарт 8052), включая пять 16-разрядных счетчиков-таймеров, два дуплексных универсальных асинхронных приемопередатчика (UART), внутреннее ОЗУ на 256 байт, регистр специальных функций на 128 байт и порты ввода-выво-

Рис. 1. Структура C8051F06x

e

Компоненты и технологии, № 4'2004

JTAG Qnfidary Si вп

1 сдс ОзЬид ЧИ

External Cfccildar Сіп; Lit

0J

S

X

в

0)

X

CQ

Trimmed In Ion ні Oscillator

System Clock

VEEP

VEEFD

vl-ll I I

M=

AVDD AC BID AV4-AC HD

8

0

5

1

С

о

г

e

лінії лі на с

VBGAPO

OrVBTlD

AIH1

AIH1G

VBGAPL

CTVBIE1

а

V

ADOO

1Msps

(1Є-ВЙ)

<AI

64 kbyte FLASH

■32Х1Э0

GAftRAM

2BSbyte

RAfsl

4Uiyle RAM

іілі-ііо M— NAHM

>■

>■

Trners 0. _ä

1.2,3,4 1^

PO, F1, P2, P3 Laiches

CAN

2.QB

HIt=c

■ fl ÄIII2 .0

-Z-рЩРІ . 7/11 Hi .

Temp

Sensor

-M ,

GP1

CP2

po j

+-<y Ш

’-H

CiRTI

сіни

_Q

0 m

_o

m

CL)

s

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 □ CU X CQ

External Dala Мегги г/

ADC1

[1Є-ВІІ)

DK LA Interlace

EMIF

Control

-и:

:

| РБ Latch“

M:lrj1:.r

P6 Latch }уЩ ■r:Cll |

ІЯНЖЙ

вс

PS

DRV

P7 Latch

■HI

PT

□FV *

P4 -в Pd .7

РБ.7 Pq .0

Pi .7 P7 .0

Рис. 2. Блок-схема C8051F06x

Таблица 3. Число команд

Число тактов на выполнение команды 1 2 2/3 3 3/4 4 4/5 5 8

Число команд 26 50 5 14 7 3 1 2 1

да с побитной адресацией. Конвейерная архитектура CIP-51 позволяет значительно повысить быстродействие по сравнению со стандартной архитектурой 8051, в которой все команды, кроме MUL и DIV, выполняются за 12-24 такта при тактовой частоте 12-24 МГц. В ядре CIP-51 70% команд выполняется за 1-2 такта, и только для четырех команд требуется более четырех тактов (табл. 3). Как следствие, при тактовой частоте 25 МГц пиковая производительность составляет 25 MIPS (сравнение с микроконтроллерами других изготовителей — на рис. 3).

Для повышения общей производительности и упрощения использования в контроллерах С8051Б06х введено несколько важных дополнений.

1. Программа обработки прерываний обслуживает до 22 различных прерываний (стандартный 8051 — только 7), что крайне важно при создании многозадачных систем и систем реального времени. Уменьшение обращений к микроконтроллеру со стороны системы управления прерываниями позволило повысить общую производительность.

2. Сброс от семи источников: встроенного монитора питания, сторожевого таймера, детектора пропуска тактов, от компаратора 0 (определение уровня напряжения), прину-

дительный программный сброс, по выводам CNVSTR2 и /К5Т (двунаправленный). Каждый из сбросов может быть отключен пользователем программным путем, кроме монитора питания и входа сброса /RST.

3. Встроенный тактовый генератор, который используется по умолчанию как системный после любого сброса. Возможно переключение «на ходу» на внешний генератор, в качестве которого может применяться кварцевый резонатор, конденсатор, RC-цепь или внешний источник тактового сигнала. Это позволяет ИС работать с низкочастотным внешним генератором (режим по-

Рис. 3. Сравнительная производительность контроллеров

ниженного энергопотребления) и при необходимости переключаться на более быстрый (до 25 МГц) внутренний генератор.

Память

Ядро CIP-51 имеет стандартную для 8051 адресацию программ и данных. В состав входит 256 байт ОЗУ данных: 128 байт с двойной адресацией — прямая и косвенная, 128 байт адресуются только косвенно; регистры специальных функций — только прямая адресация. Помимо стандартной памяти в контроллерах C8051F06х встроен блок дополнительной оперативной памяти на 4 кбайт. Интерфейс внешней памяти (EMIF) оказывается совсем не лишним при работе с внешней памятью данных или периферией с распределенной памятью. Память программ представляет собой Flash-память на 64 кбайт, которая может быть перепрограммирована в системе на сектора по 512 байт, причем для этого не нужно дополнительное внешнее напряжение программирования. Для блокнотной памяти используются отдельные 128 байт.

Программируемые порты ввода-вывода (I/O) и цифровой коммутатор

Контроллеры C8051F06х помимо стандартных портов 8051 имеют четыре 8-разрядных порта и один 3-разрядный порт, причем число выводов общего назначения равно 59. Каж-

e

Компоненты и технологии, № 4'2004

Рис. 4. Цифровой коммутатор и порты ввода-вывода C8051F06x

Write to ADOBUSY — Timer 3 Overflow CNVSTRD Timer 2 Overflow

AINOG (DC, -0.2 to 0.6 V)

Configuration and Control ADC Data Registers DMA

Registers Interface

AIN1G (DC, -0.2 to 0.6 V)

Рис. 5. Блок-схема АЦП C8051F06x

3 1

' 16-Bit

SAR

, ADC1

Li- T Start Conversion

— Write to AD1 BUSY Timer 3 Overflow CNVSTR1

— Timer 2 Overflow Write to ADOBUSY

дый вывод порта I/O можно сконфигурировать как 2-тактный или с открытым стоком.

Цифровой коммутатор Digital Crossbar

Наиболее интересной особенностью этого блока ИС является цифровой коммутатор Digital Crossbar (рис. 4). Он представляет собой большую цифровую коммутируемую сеть, которая позволяет распределять потоки данных от внутренних источников на выводы портов ввода-вывода Р0, Р1, Р2 и Р3.

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

шин, аппаратных прерываний, с выходов компараторов и другие сигналы контроллера появляются на выводах портов I/O в той последовательности и комбинации, которые определяются Digital Crossbar. Это позволяет разработчику сформировать на выходах I/O то, что необходимо для конкретного приложения.

Матрица программируемых счетчиков

Во всех ИС семейства C8051F06x помимо пяти 16-разрядных счетчиков-таймеров есть и матрица программируемых счетчиков, состоящая из 16-разрядного счетчика-таймера и шести программируемых модулей захвата-сравнения (capture/compare). В качестве так-

товых сигналов для базового счетчика-таймера могут быть:

• сигналы от системного тактового генератора (тактовая частота или она же, деленная на 4 либо на 12);

• сигналы переполнения от таймера 0;

• внешний сигнал (вывод ECI);

• деленные на 8 тактовые сигналы от внешнего генератора.

Каждый из модулей захвата-сравнения можно запрограммировать для работы в одном из шести режимов, что значительно расширяет возможности разработчика при одновременном упрощении его работы:

• захват по фронту сигнала;

• программный таймер;

• быстродействующий выход;

• частотный выход;

• 8- и 16-разрядный широтно-импульсный модулятор.

Подключение модулей к порту ввода-вывода выполняется цифровым коммутатором.

CAN-контроллер

На контроллере CAN, который значительно расширяет возможности C8051F06х, подробно останавливаться не будем, ограничимся лишь следующей информацией: возможна работа как по базовому протоколу 2,0А, так и по полному — 2,0В; память сообщений физически отделена от памяти контроллера 8051; поддерживается до 32 объектов сообщений, и каждый имеет свой идентификатор. Мощное ядро CAN обслуживает все функции протокола по передаче данных и фильтрации сообщений, так что встроенный контроллер 8051 этой работой почти не загружен.

16-разрядные аналого-цифровые преобразователи ADC0 и ADC1

Эти устройства являются одной из ключевых особенностей микроконтроллеров C8051F06х и представляют АЦП последовательного приближения с интегрированным блоком слежения-хранения (отсюда и статическая погрешность ±0,75 младшего разряда!) (рис. 5). При разрешающей способности 16 бит быстродействие АЦП достигает 106 преобразований в секунду (1 Msps). Они могут применяться как раздельно, так и совместно в дифференциальном режиме. В ADC0 и ADC1 реализовано прямое обращение к памяти, внутренней и внешней, посредством интерфейса DMA.

Работают АЦП под управлением контроллера CIP-51 через соответствующие регистры специальных функций. Этот же контроллер может отключить АЦП с целью экономии питания.

Непосредственно аналого-цифровое преобразование запускается одним из четырех способов: программно, по переполнению таймеров 2 или 3, а также внешним сигналом. ADC0 и ADC1 работают независимо друг от друга, но их можно синхронизировать для одновременного запуска. Результаты преобразования в виде 16-разрядных слов данных хранятся в регистре специальных

e

Компоненты и технологии, № 4'2004

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

Для формирования прерывания в случае выхода данных за пределы заданного диапазона в ADC0 имеются регистры Window Compare (окно сравнения). Это позволяет ADC0 постоянно контролировать в фоновом режиме ключевой параметр, например, напряжение и не выставлять прерывание, пока значение параметра находится в допустимом окне.

10-разрядный АЦП ADC2

Помимо упомянутых АЦП, в контроллерах C8051F06x есть дополнительный 10-разрядный АЦП ADC2 с разрешением 10 бит и скоростью преобразования 200 ksps. Низкая разрядность (по сравнению с 16-разрядными ADC0 и ADC1) компенсируется входным мультиплексором на девять входов и усилителем с программируемым коэффициентом усиления. Восемь входов мультиплексора программируются либо как отдельные входы, либо как дифференциальные. На девятый вход подключен датчик температуры, который часто оказывается совсем не лишним.

В остальном этот АЦП аналогичен ADC0.

Многофункциональность семейства C8051F06х дополняется двумя встроенными 12-разрядными цифро-аналоговыми преобразователями и тремя компараторами, управление которыми, в том числе и перевод в режим пониженного энергопотребления, выполняется через регистры специальных функций.

Гистерезис и время отклика компараторов задается программно, а прерывание формируется по фронту сигнала, по спаду или по одному и другому. По этим прерываниям можно вывести контроллер из «спящего» режима, а состояние выходов опросить программно. Через цифровой коммутатор выход компараторов подключается к портам ввода-вывода.

ЦАП работают в режиме выхода по напряжению и имеют гибкий механизм распределения, благодаря которому выход ЦАП изменяется по команде записи или по переполнению счетчиков 2, 3 или 4. ЦАП довольно часто используются как ИОН или источник напряжения смещения для дифференциальных входов АЦП.

Описание контроллеров C8051F06х будет неполным, если не упомянуть о схеме периферийного сканирования (boundary scan) с 4-проводным интерфейсом JTAG и встроенном отладчике, которые обеспечивают быструю отладку непосредственно на готовом изделии. Интерфейс JTAG полностью совместим с IEEE 1149.1.

С помощью встроенного отладчика проверяется и изменяется содержимое памяти и регистров, устанавливаются контрольные и временные точки, проверка стека и пошаговый режим. При этом нет необходимости в дополнительном ОЗУ, памяти программ, таймерах или каналах связи, а режим отладки никак не сказывается на корректности ра--------------------www.finestreet.ru-

Таблица 4. Основные характеристики семейства контроллеров C8051F35x

■Е Ф “ 2 1- 00 о >s ^ £ * 6 ¡£ 5* Flash, кбайт ОЗУ Внутренний генератор 24,5 М Гц CL <Л О <л э со S <л UART 16-разрядные таймеры Матрица программируемых счетчиков Выводы I/O й 3 н к С. s< & 2 й 3 н к С. s< & «о НОИ Датчик температуры й 3 н * с к ь m Э а & со Аналоговый компаратор Тип корпуса

C8051F350 50 8 768 + + + 4 + 17 + - + + 2 + LQFP-32

C8051F351 50 8 768 + + + 4 + 17 + - + + 2 + MLP-28

C8051F352 50 8 768 + + + 4 + 17 - + + + 2 + LQFP-32

C8051F353 50 8 768 + + + 4 + 17 - + + + 2 + MLP-28

боты всех цифровых и аналоговых устройств С8051Р06х. В пошаговом режиме при остановке контроллера 8051 или в точке останова периферия также останавливается (за исключением АЦП и 8МВш) для синхронизации с выполняемыми командами. В комплект разработки C8051F060DK входит все программное и аппаратное обеспечение, которое может понадобиться разработчику при работе с С805ТО6х:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• отладчик;

• интегрированный ассемблер 8051;

• адаптер RS-232/JTAG;

• монтажная плата;

• кабели RS-232 и JTAG;

• блок питания.

Для работы комплекта необходим персональный компьютер с Windows 95/98/ЭТ/МЕ и один свободный порт RS-232 (рис. 6).

Микроконтроллеры семейства С805^06х — вещь замечательная, и за это надо платить. Если вы готовы поступиться некоторыми «наворотами», не жертвуя быстродействием, то стоит рассмотреть контроллеры семейства С805^35х (рис. 7), стоимость которых со-

ставляет всего 5 долларов. В таблице 4 приведены основные параметры этого семейства.

Как и в контроллерах С805№06х, сильное звено в семействе С805№35х — аналого-цифровой преобразователь (рис. 8). Но здесь это — дифференциальный 24-разрядный (С805^350/1) или 16-разрядный (С805Ж52/3) сигма-дельта АЦП со встроенной калибровкой. Как следствие — высокая линейность характеристики преобразования. Это объясняется тем, что интегратор сигма-дельта АЦП работает в узком динамическом диапазоне и нелинейность переходной характеристики усилителя, на котором построен интегратор, сказывается значительно меньше. Емкость конденсатора интегратора у сигма-дельта АЦП составляет десятки пикофарад, так что этот конденсатор формируется прямо на кристалле ИС. В результате сигма-дельта АЦП практически не имеет внешних элементов, что существенно сокращает площадь, занимаемую им на плате, и снижает уровень шумов.

Два отдельных фильтра децимации программируются на полосу до 1 кГц. ИОН 2,5 В — внутренний, но для логометрических измерений

AGND

Рис. 8. Блок-схема АЦП C8051F35x

e

Компоненты и технологии, № 4'2004

возможно применение внешнего дифференциального ИОН. Коэффициент усиления PGA (усилителя с программируемым коэффициентом усиления) задается программно от 1 до 128 за восемь шагов. Внешние сигналы и датчик температуры поступают на дифференциальные входы АЦП через аналоговый мультиплексор. Входные буферы, тоже встроенные, обеспечивают высокий импеданс при прямом подключении внешних датчиков. 8-разрядный ЦАП смещения позволяет проводить коррекцию при большом напряжении смещения на входе.

Наличие двух 8-разрядных ЦАП с выходом по току — стандартная составляющая ИС C8051F35х. Максимальный выходной ток устанавливается на уровне 0,25; 0,5; 1 и 2 мА.

Гибкий механизм обновления позволяет проводить непосредственную корректировку всей шкалы и поддерживает генерацию сигнала без фазовых искажений. Изменение состояния на выходе ЦАП может выполняться программно, по переполнению таймера или по внешнему сигналу.

Программируемый компаратор — только один (в отличие от трех в С805^06х), но к возможностям, аналогичным С805^06х, добавлены два выхода: синхронный «с защелкой» и асинхронный «необработанный»; также существует возможность конфигурирования как схемы сброса.

Возможности портов ввода-вывода тоже ограничены, всего 17 выводов, которые орга-

низованы как два 8-разрядных порта и один однобитный. Каждый вывод можно сконфигурировать как цифровой или аналоговый, в цифровом виде возможна работа в 2-такт-ном режиме или с открытым стоком. Цифровой коммутатор полностью аналогичен С805^06х.

Таким образом, быстродействующие и функционально полные контроллеры семейства С805ТО6х обеспечивают максимально возможные запросы разработчиков. Единственный недостаток — относительно высокая стоимость, однако уменьшение функциональных возможностей при сохранении быстродействия позволило значительно снизить стоимость ИС семейства С805^35х.

i Надоели баннеры? Вы всегда можете отключить рекламу.