ООО ЭФО
Поиск по складу
Программа поставок 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
о нас склад библиотека статьи
 

Микроконтроллеры компании Silicon Labs c интерфейсом USB

Алексей Курилин,
инженер-консультант, ООО "ЭФО"
Журнал "Электронные компоненты" №5, 2007г

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

Компания Silicon Labs специализируется на производстве микроконтроллеров (МК) различного назначения. Выпускаются МК с прецизионными аналоговыми блоками для систем сбора данных, в миниатюрных корпусах для различных портативных приборов и микросхемы с самой большой в мире производительностью среди 8-разрядных МК. Общее число МК фирмы Silicon Labs насчитывает порядка ста микросхем, среди которых присутствуют МК с интерфейсом USB (см. табл. 1). Последние можно разделить на четыре группы:

  1. Миниатюрные микросхемы со встроенным 10-разрядным АЦП ('F320/321)
  2. Миниатюрные микросхемы без АЦП ('F326/327)
  3. Микросхемы с большим количеством выводов, увеличенной производительностью и объемами памяти, с интерфейсом внешней памяти и 10-разрядным АЦП ('F340/341/342/343)
  4. Микросхемы, аналогичные предыдущей группе, но с типовой производительностью ('F344/345/346/347)

Табл. 1. Наименования и технические характеристики МК Silicon Labs с интерфейсом USB

Микроконтроллеры фирмы Silicon Labs строятся по единой топологии, и на примере функциональной схемы кристалла C8051F340 можно выделить следующие области (см. рис. 1), заслуживающие особого внимания:

  1. Ядро CIP-51 - разработка Silicon Labs. Архитектурно и программно оно совместимо с платформой 8051, но в отличие от нее выполняет за один такт более 70% команд. Ядро микроконтроллера C8051F340 обеспечивает производительность до 48MIPS на тактовой частоте 48МГц.
  2. Микроконтроллер снабжен Flash-памятью программ и ОЗУ. Flash-память поддерживает функцию самопрограммирования, что удобно для реализации в приборе с интерфейсом USB функции обновления микрокода без использования программатора, а также для энергонезависимого хранения данных.
  3. Для подключения дополнительной оперативной памяти в микроконтроллере предусмотрен интерфейс внешней памяти. Интерфейс может работать в мультиплексированном режиме с внешним регистром-защелкой (обеспечивая экономию выводов микросхемы) либо в немультиплексированном режиме (обеспечивая максимальную скорость обмена данными с внешней памятью).
  4. Аналоговая подсистема включает 10-разрядный АЦП, мультиплексор для подключения двадцати входных аналоговых сигналов в униполярном включении либо десяти - в дифференциальном. Помимо этого на кристалле размещен стабилизированный источник опорного напряжения, два аналоговых компаратора и датчик для измерения температуры корпуса микросхемы. Аналоговая подсистема микроконтроллера имеет высокие показатели точности и быстродействия, что позволяет использовать эту микросхему для прецизионных измерений. Важным моментом является то, что аналоговая и цифровая подсистемы микросхемы разделены на кристалле таким образом, что для получения заявленных показателей точности не требуется останавливать цифровую подсистему, что часто требуется в большинстве микросхем с аналоговыми блоками других производителей.
  5. Интерфейс USB микроконтроллера работает в режиме Device и включает в себя блок Serial Interface Engine (SIE), трансивер и 1 Кбайт памяти FIFO. Блок SIE управляет передачей данных, формирует сигналы квитирования и запросы прерывания к ядру МК. Трансивер обеспечивает согласованное подключение к шине USB и коммутирует подтягивающий резистор для задания режима работы интерфейса. Со стороны МК передача данных может осуществляться с четырьмя конечными точками. Конечная точка О работает в режиме CONTROL, a конечные точки 1, 2 и 3 поддерживают режимы передачи данных BULK, INTERRUPT и ISOCHRONOUS. Память FIFO разделена на 4 части для хранения данных каждой конечной точки.
  6. МК поддерживает функцию внутрисхемного программирования и отладки по единому интерфейсу С2 - двухпроводному интерфейсу разработки Silicon Labs, обеспечивающим полноценное управление кристаллом с использованием минимального количества выводов МК. Этот интерфейс поддержан недорогим внутрисхемным программатором/эмулятором и бесплатной интегрированной средой разработки Silicon Labs IDE.
  7. Встроенный регулятор напряжения со входным напряжением 2,7...5,25 В и выходным номинальным напряжением 3,3 В обеспечивает возможность питания микросхемы от шины USB без использования внешних стабилизаторов. Так как стаби-лизатор обеспечивает выходной ток до 100 мА, его можно использовать для питания прочих внешних элементов устройства.


Рис. 1. Функциональная схема МК C8051F340

Отметим, что в МК встроен тактовый генератор, обеспечивающий частоту 48 МГц ±1,5% во всем рабочем диапазоне температур, что обеспечивает стабильную работу интерфейса USB без использования внешнего кварца, исключая тем самым лишний ненадежный компонент и, снижая общую стоимость прибора. Генератор снабжен делителем тактовой частоты, что позволяет устанавливать различные значения частот в диапазоне 1,5...48МГц, обеспечивая тем самым гибкое управление энергопотреблением.

Энергопотребление самых энергоемких блоков - ядра и интерфейса USB - на максимальной частоте (48 МГц) составляет менее 35 мА. Если же интерфейс USB не задействован, то суммарное энергопотребление кристалла на частоте 48 МГц составит порядка 25 мА.

В микроконтроллере предусмотрены два режима энергосбережения: IDLE и STOP. Энергопотребление также может быть снижено за счет переключения источника тактового сигнала на внутренний низкочастотный генератор, обеспечивающий тактовый сигнал частотой 10...80 кГц. При тактовой частоте 80 кГц, энергопотребление ядра составит 55 мкА.

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


АППАРАТНЫЕ И ПРОГРАММНЫЕ СРЕДСТВА ПОДДЕРЖКИ РАЗРАБОТОК ДЛЯ МИКРОСХЕМ SILICON LABS С ИНТЕРФЕЙСОМ USB

Silicon Labs обеспечивает комплексную поддержку аппаратными средствами поддержки разработок и инструментальным программным обеспечением для реализации конечного приложения, как на нижнем, так и на верхнем уровне (см. рис.2).



Рис. 2. Комплексный подход к поддержке МК с интерфейсом USB

Для каждой серии микросхем Silicon Labs предлагаются стартовые наборы, название которых состоит из наименования самого "мощного" микроконтроллера в линейке и суффикса DK. Для микросхем с интерфейсом USB предлагаются стартовые наборы C8051F320-DK, C8051F326-DK и C8051F340-DK.

В состав каждого набора входит целевая (target) плата с установленным МК, внутрисхемный эмулятор USB Debug Adapter, источник питания, набор кабелей и компакт-диск с документацией и программным обеспечением.

Возвращаясь к рисунку 2, выделим специфическое для МК с интерфейсом USB программное обеспечение, находящееся на компакт-диске стартовых наборов C8051F320-DK, C8051F326-DK и C8051F340-DK.

На верхнем уровне обозначены драйверы для мостов СР210х, описанных ранее в статье [1]. Эти микросхемы являются двунаправленными преобразователями интерфейса USB в интерфейс UART. Для этих микросхем выпускаются драйверы виртуального СОМ-порта, позволяющие избавиться от разработки ПО для передачи данных непосредственно по шине USB. Обмен данными здесь производится по интерфейсу UART со стороны микроконтроллера и через виртуальный СОМ-порт со стороны ПК.

На втором уровне обозначена библиотека USBXpress, включающая в свой состав библиотеку нижнего уровня, драйверы USB для ПК и DLL-библиотеку для разработки приложений на верхнем уровне.

Для реализации передачи данных на нижнем уровне USBXpress содержит библиотеку с такими простыми для понимания функциями как USB_Init(), Block_Write() или Block_Read(), которые существенно упрощают задачу освоения интерфейса USB на микроконтроллерах Silicon Labs. В библиотеке реализована передача данных только в режиме BULK. При использовании всех функций библиотеки, их реализация займет всего 3 Кбайта Flash-памяти микроконтроллера.

На верхнем уровне задача написания драйверов сводится к простому конфигурированию готового драйвера с помощью распространяемого производителем программного обеспечения [2]. Конфигурирование драйвера включает назначение идентификаторов VID и PID, для которых будет устанавливаться этот драйвер, а также текстовой строки, которая будет обозначать устройство в диспетчере задач операционной системы.

Для написания программного обеспечения на верхнем уровне, которое будет осуществлять обмен данными по интерфейсу USB посредством вышеупомянутого драйвера, в набор USBXpress включена DLL-библиотека, которая реализует простой пользовательский интерфейс к этому драйверу. Функции этой библиотеки также просты и понятны любому разработчику: Si_Open(), Si_Write(), Si_Read() и так далее.

Для демонстрации функций библиотек USBXpress предлагаются примеры программ для верхнего и нижнего уровня, демонстрирующие обмен файлами между ПК и Flash-памятью микроконтроллера, а также реализацию пользовательской панели на ПК, управляющую ресурсами микроконтроллера.

Более подробную информацию по набору библиотек USBXpress можно найти в руководстве по применению [3]. На рисунке 2 приведены примеры программ, реализующих некоторые типовые задачи, возникающие при использовании интерфейса USB:

  1. В руководстве [4] приведен пример создания HID-устройства, подробно описана специфика работы с ним на верхнем и нижнем уровне.
  2. В руководстве [5] описан способ передачи данных по интерфейсу USB в изохронном режиме на примере создания устройства AUDIO-класса, в котором непрерывная передача данных с гарантированной скоростью является очень важным фактором для обеспечения непрерывного звучания.
  3. Реализация загрузчика для обновления микрокода микроконтроллера по интерфейсу USB описана в руководстве [6]. Загрузчик реализован с использованием НШ-класса, что избавляет пользователя такого устройства от необходимости установки драйверов при подключении устройства к ПК.
  4. В руководстве [7] приведен пример реализации USB Flash-накопителя - устройства класса Mass Storage Device (MSD). Так как реализация такого устройства может быть наиболее полезной при разработке систем сбора данных с подключением к компьютеру по интерфейсу USB, опишем это руководство подробнее.

СОЗДАНИЕ УСТРОЙСТВА MSD КЛАССА

Благодаря своей прецизионной аналоговой подсистеме, микроконтроллеры Silicon Labs в первую очередь позиционируются для систем сбора данных. У пользователя может возникнуть вопрос: "Куда сохранять данные и как их впоследствии передать на ПК?". Silicon Labs предлагает набор USB-MSD-RD (см. рис. 3), в котором реализована данная задача, исходя из следующих принципов:

  1. Самый удобный способ подключения устройства к ПК в большинстве случаев - по интерфейсу USB;
  2. Сохраненные данные должны загружаться на ПК в виде файла;
  3. Подключаемое к системе устройство должно использовать стандартные классы, известные операционной системе, не требующие установки дополнительных драйверов и ПО.

Рис. 3. Набор USB-MSD-RD и целевая плата набора C8051F340-DK

Рис.4. Организация сохранения и считывания данных в наборе USB-MSD-RD

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

Набор USB-MSD-RD включает в состав плату, подключаемую к разъему расширения целевой платы стартового набора C8051F340-DK, приобретаемого отдельно, карту памяти SD объемом 256 Мбайт и набор программного обеспечения, схема работы которого изображена на рисунке 4.

В соответствии со схемой работы, изображенной на рисунке, микроконтроллер C8051F340 выполняет все функции конечного приложения либо приема данных из прочей периферии в приборе, формирует данные в формате файловой системы FAT16 и записывает их на карту памяти. Поддерживаются карты памяти SD, ММС и CF. При подключении устройства к компьютеру по интерфейсу U SB, микроконтроллер декодирует запросы, поступающие к файловой системе, и обеспечивает прозрачный доступ к данным со стороны ПК.

Ввиду того, что данные на карте памяти хранятся в файловой системе FAT16, возникает ограничение на объем используемой карты памяти - ее объем должен быть не меньше 16 Мбайт и не более 4 Гбайт.

Красным пунктиром на рисунке 4 обведена та часть, которая уже реализована. Разработчику требуется только реализовать свою задачу сбора данных и передать эти данные функциям доступа к файловой системе. При подключении такого устройства к ПК система обнаружит новый USB-накопитель и создаст для него логический диск, на котором будут размещены файлы с сохраненными прибором данными.

Приобретать набор USB-MSD-RD необязательно - схема включения и исходные файлы проекта размещены в свободном доступе на сайте производителя в руководстве по применению AN282 и описании к набору USB-MSD-RD.

Необходимые для реализации доступа к файловой системе функции, в бинарном формате требуют 18 Кбайт Flash-памяти (см. рис. 5), что позволяет реализовать достаточно сложное приложение с использованием остальных 46 Кбайт Flash-памяти микроконтроллера C8051F340.



Рис. 5. Распределение Flash-памяти при реализации USB-накопителя на МК C8051F340



ЗАКЛЮЧЕНИЕ

Интерес со стороны разработчиков к МК с интерфейсом USB компании Silicon Labs растет с каждым годом. Это происходит благодаря тщательной продуманности не только самих МК, но и программно-аппаратного комплекса для них. Далеко не каждый производитель микросхем с интерфейсом USB может предложить подобный набор аппаратных средств и ПО, позволяющий разработать программное обеспечение верхнего и нижнего уровня, не вдаваясь в детальные подробности спецификации интерфейса USB.

В качестве примера универсальности микроконтроллеров Silicon Labs с интерфейсом USB, приведем оценочный набор USBFMRADIO-RD (см. рис. 6), выпускаемый Silicon Labs для оценки возможностей однокристальных FM-приемников (на рисунке справа). Набор построен с использованием микроконтроллера C8051F321 (на рисунке слева), который выполняет в устройстве функцию управления FM-приемником, "оцифровку" звукового сигнала с выхода приемника и передачу его по интерфейсу USB для дальнейшего воспроизведения радиотрансляции на компьютере.



Рис. 6. Внешний вид набора USBFMRADIO-RD



ЛИТЕРАТУРА

  1. Курилин А.И. USB - это просто! Часть 1. Переход с интерфейса RS-232 на интерфейс USB// "Компоненты и технологии" N5, 2005
    Материалы сайтов:
  2. www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an220.pdf
  3. www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/USB/en/an169.pdf
  4. www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/USB/en/AN249.pdf
  5. www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/USB/en/AN295.pdf
  6. www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/USB/en/an139.pdf
  7. www.silabs.com/public/documents/tpub_doc/anote/Micro-controllers/USB/en/AN282.pdf
© 1999-2016 All Right Reserved. EFO Ltd. При использовании материалов ссылка на источник обязательна.
Контактная информация