Использование процессоров Blackfin для создания устройств с интерфейсом USB 2.0 и питанием от шины USB

№ 5’2010
PDF версия
Конкуренция на рынке бытовой электроники требует от производителей постоянного внедрения инноваций, а потребители, в свою очередь, ожидают, что каждый новый продукт будет лучше своего предшественника. Одна из главных целей, стоящих перед разработчиками, — это создание малогабаритных портативных устройств, способных работать от аккумуляторов в течение длительного времени. Недорогие процессоры Blackfin и соответствующие средства проектирования помогают разработчикам встраиваемых систем успешно решать эти задачи. Семейство процессоров ADSP-BF52x позволяет достичь еще большей эффективности по сравнению с их предшественниками, по причине меньших габаритов и меньшей потребляемой мощности. Уменьшению общих затрат на разработку системы также способствует новый эмулятор ADZS-ICE-100В для процессоров Blackfin, выполненный на основе процессора ADSP-BF527, который на порядок дешевле предыдущих версий эмуляторов.

Интерфейс USB2.0 в процессорах Blackfin

Характеристики потребления мощности очень важны для устройств с интерфейсом USB. Для использования многих возможностей, заложенных в этом стандарте, устройства должны удовлетворять требования соответствующих спецификаций. Интерфейс USB2.0 позволяет хост-процессору взаимодействовать с одним или несколькими устройствами с максимальной пропускной способностью 480 Мбит/с.

Малое потребление мощности процессором Blackfin ADSP-BF527 дает возможность реализовать в нем поддержку стандарта USB2.0. Его встроенный интерфейс физического уровня (PHY) USB поддерживает режимы хоста и периферийного устройства, а также режим USB On-The-Go (OTG), который повышает гибкость продукта, позволяя ему выполнять функции как хоста, так и периферийного устройства (в первых двух режимах функция устройства фиксирована и определяется в процессе процедуры нумерации (enumeration)).

Критерии производительности и стандартные тесты, которые должно пройти сертифицированное устройство стандарта USB в зависимости от его назначения, определяет Форум разработчиков USB (USB-IF, USB Implementers Forum). Устройства USB можно классифицировать по скорости — низкоскоростные (1,5 Мбит/с), полноскоростные (12 Мбит/с) и высокоскоростные (480 Мбит/с) и по потребляемому току — малопотребляющие (100 мА), с высоким потреблением (500 мА) и с автономным питанием. Для совместимости со стандартом USB2.0 устройство также должно соответствовать требованиям к качеству сигналов, временным характеристикам и потребляемой мощности в зависимости от заявленных возможностей устройства.

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

Чтобы облегчить труд разработчиков встраиваемых систем, в обновление 8 среды VisualDSP++ был включен сертифицированный программный стек USB. Он образует «каркас» для написания встраиваемого кода в пользовательских проектах.

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

Выполнение требований интерфейса USB к временным соотношениям

В спецификации интерфейса USB предъявляются строгие требования к временным соотношениям при связи с устройствами. Так, в частности, параметр SIGATT ограничивает время, через которое устройство, питаемое от шины USB, после достижения напряжением USB (VBUS) уровня 4,1 В должно сигнализировать о подключении к хосту. Это значение времени равно 100 мс. Выдерживать это требование процессору ADSP-BF527 помогают несколько ключевых свойств архитектуры.

Значительную часть 100-миллисекундного интервала, допускаемого параметром SIGATT, занимает процесс загрузки ADSP-BF527. Процессор сначала выполняет код инициализации загрузчика, а затем переходит к загрузке программы/данных из внешнего источника, тип которого задается состоянием внешних выводов.

Если выбран режим загрузки из флэш-памяти с последовательным периферийным интерфейсом (Serial Peripheral Interface, SPI), то скорость запуска могут ограничивать настройки тактового сигнала интерфейса SPI, используемые при загрузке. Для изменения этих настроек в однократно-программируемую память (One-Time Programmable, OTP) процессора можно внести соответствующую информацию о требуемых значениях частот тактового сигнала системы (SCLK), тактового сигнала ядра (CCLK) и скорости передачи по интерфейсу SPI. Повышение тактовой частота: SPI сразу после включения устройства сокращает время, затрачиваемое на загрузку программного обеспечения и запуск взаимодействия по USB.

Перед загрузкой программного обеспечения на процессор ADSP-BF527 необходимо подать импульс сброса для стабилизации внутренних тактовых сигналов. Процедура сброса инициируется импульсом фиксированной длительности (длительность активного импульса сброса). Выполнение программы сможет начаться только после завершения процедуры сброса, поэтому ее длительность может вносить значительный вклад в общее время загрузки процессора.

Минимизация длительности импульса сброса, прикладываемого к процессору после подачи на него напряжения VBUS, увеличивает процент времени, которое процессор может затратить на выполнение кода в пределах допустимого интервала в 100 мс. Минимальная длительность, которую должен иметь активный импульс сброса ADSP-BF527 после стабилизации напряжения питания, составляет 11 периодов тактового сигнала (11 TCLKIN). Эта длительность достаточно мала и не будет вносить существенного вклада в полное время запуска встраиваемой системы.

Для обеспечения скоростей передачи стандарта USB контроллеры физического уровня USB2.0 обычно тактируются сигналом с частотой 12 или 24 МГц. Источником тактового сигнала для процессора ADSP-BF527, из которого формируется тактовый сигнал ядра, может быть кварцевый резонатор или генератор, причем первый вариант предпочтительнее для схем с малым энергопотреблением.

Для формирования сигнала CCLK предпочтительнее использовать внешний сигнал частотой 12/24 МГц, поскольку в данном случае возможна выдача буферизированной версии этого сигнала на вывод CLKBUF, с которого он, в свою очередь, может быть подан на вход USB CLKIN процессора. Такая схема тактирования избавляет от необходимости использовать раздельные генераторы для системы процессора и для контроллера USB и позволяет, таким образом, сократить число компонентов.

Вопросы потребления мощности

Процессор ADSP-BF527 имеет несколько уникальных возможностей, позволяющих обеспечивать соблюдение требований стандарта USB к потребляемой мощности. Один из наиболее очевидных способов снижения потребляемой мощности состоит в исключении непроизводительного энергопотребления. В процессорах ADSP-BF52х реализовано четыре режима управления энергопотреблением, которые минимизируют потребляемую мощность в ситуациях, когда максимальная производительность не требуется.

Эти режимы включают в себя режим полной мощности (full on), активный режим (active), режим сна (sleep) и режим глубокого сна (deep sleep). Кроме того, процессор имеет режим «спячки» (hibernate), в котором достигается максимальное сокращение энергопотребления за счет отключения ядра.

Если хост выдает команду Sleep, то подключенное устройство должно уменьшить потребляемый ток до уровня менее 2,5 мА. Для отключения стабилизаторов и других внешних компонентов, работы которых в режиме пониженного энергопотребления не требуется, идеально подходят сигналы EXT_WAKE0/1 процессора. Для уменьшения потребляемой мощности процессора может быть использован любой из четырех рабочих режимов или режим спячки.

После входа в режим пониженного энергопотребления устройство USB должно быть способно отвечать на команду Resume (возобновление работы). Процессор ADSP-BF527 может быть выведен из состояния спячки одним из четырех способов: по сигналам от модулей GPIO, Ethernet, часов реального времени (RTC) и USB. Последний вариант хорошо подходит для реакции на сигнал Resume интерфейса USB.

В разделе 7.2.1.4 спецификации USB2.0 для устройств с питанием от шины говорится о том, что устройство после включения питания должно находиться в состоянии пониженного потребления и потреблять менее одной единичной нагрузки (100 мА) при номинальном напряжении шины (VBUS) 5 В. В процессоре ADSP-BF527 снижать потребление мощности можно за счет уменьшения частот CCLK и/или SCLK, а также напряжения VDDINT. Во многих системах понижать частоты CCLK и SCLK для выполнения требований к предельной мощности необходимо, только когда эмулятор не сконфигурирован или когда хост выдает команду Reset интерфейса USB. После выполнения процедуры нумерации частоты CCLK/SCLK можно увеличить вплоть до максимальных значений 100/600 МГц. Обратите внимание на то, что предельная частота SCLK при работе от напряжения 1,8 В составляет 100 МГц.

Ток устройства в несконфигурированном состоянии тестируется при помощи утилиты High Speed Electrical Toolkit (HSET), которую можно загрузить с сайта usb.org. Эта утилита конфигурирует устройство на шине USB, выдает команду Reset интерфейса USB и измеряет потребление тока. Если схема потребляет более 100 мА, она должна отвечать на команду сброса снижением потребляемого тока до уровня ниже этого значения.

Периферийные ИС, необходимые для создания продукта с интерфейсом USB

В любом проекте встраиваемой системы требуется применение вспомогательных схем, включая схемы питания и формирователи сигнала сброса. На рис. 1 показан пример блок-схемы устройства с интерфейсом USB, в котором используются компоненты компании Analog Devices.

Архитектура типичной системы с питанием от шины USB на основе ADSP-BF527

Рис. 1. Архитектура типичной системы с питанием от шины USB на основе ADSP-BF527

Стабилизаторы с малым падением напряжения ADP121 и ADP170, имеющие время запуска 120 мкс, идеально подходят для применения в подсистеме питания устройств USB. Ток покоя ADP121 составляет всего 33 мкА, а ток, выдаваемый в нагрузку, — 150 мА. Важной особенностью этих стабилизаторов является наличие входа разрешения (EN), используя который стабилизатор можно перевести в неактивное состояние с типичным потреблением тока до 0,1 мкА.

Компания Analog Devices предлагает широкий выбор формирователей сброса, включая микросхему ADM6384, которая может формировать импульсы длительностью 1, 20, 140 мс или 1,12 с и выпускается в компактном корпусе SC70 с габаритами посадочного места 2,2·2,4 мм. Время запуска обсуждавшихся выше стабилизаторов достаточно мало, что позволяет использовать для сброса процессора ADSP-BF527 импульс длительностью 1 мс. При этом для загрузки и сигнализации подключения к USB-хосту у процессора останется еще 99 мс.

Аппаратная эмуляция для процессоров Blackfin

Для разработки и отладки программного обеспечения разработчикам продуктов на базе процессоров Blackfin необходим эмулятор. Совсем недавно перечень средств разработки для цифровых сигнальных процессоров компании Analog Devices пополнился новым эмулятором ADZS-ICE-100В, который показан на рис. 2. 1СЕ-100В — это первый USB-эмулятор с питанием от шины USB, он основан на контроллере физического уровня USB2.0 процессора ADSP-BF527.

USB-эмулятор для процессоров Blackfin с питанием от шины USB

Рис. 2. USB-эмулятор для процессоров Blackfin с питанием от шины USB

1СЕ-100В подключается с одной стороны к ПК через интерфейс USB, а с другой — к разъему интерфейса JTAG (Joint Test Action Group) на отлаживаемой плате. Среди предыдущих версий эмуляторов были эмуляторы с интерфейсом USB, однако они требовали отдельного источника питания. В новой версии эмулятора питание осуществляется от шины USB, за счет чего уменьшаются его стоимость и габариты.

В пользовательском приложении интерфейс JTAG процессора ADSP-52х может работать от напряжения 1,8; 2,5 или 3,3 В. Таким образом, одно из требований, предъявлявшихся при разработке нового эмулятора ICE-1000В, была совместимость с любым из трех перечисленных рабочих напряжений. Это позволяет использовать один и тот же эмулятор для плат с различными напряжениями питания процессора.

Поскольку домен питания VDDEXT процессора ADSP-BF527 может работать с любым из перечисленных выше напряжений, напряжение питания отлаживаемого процессора на ICE-100 В задается при помощи джампера.

Результаты тестирования 1СЕ-100В показали, что потребление тока составляет 77,6 мА в несконфигурированном состоянии и 92 мА в сконфигурированном состоянии. В ответ на команду Sleep интерфейса USB потребляемый ток уменьшается до потрясающе низкого значения 352 мкА. Эмулятор сигнализирует о высокоскоростном подключении к хосту (контроллер физического уровня подтягивает сигнал на линии D+ к напряжению высокого логического уровня) через 60 мс после того, как напряжение VBUS достигает значения 4,1 В.

Замечание относительно предварительного тестирования устройств USB

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

На сайте [8] имеются ссылки для загрузки утилит «USB2.0 Command Verifier» (CV) и «High Speed Electrical Test Toolkit » (HSET). Утилита CV позволяет проводить тесты из главы 9 спецификации USB, включая тесты дескрипторов устройства, режима «спячки» и процедуры нумерации. Утилита HSET может быть использована для входа в стандартные тестовые режимы и для измерения потребляемого тока в сконфигурированном и несконфигурированном состояниях.

Заключение

Процессор ADSP-BF527 имеет высокую производительность, низкую стоимость и малые размеры корпуса. Этот процессор совместно с другими продуктами компании Analog Devices (программный стек USB, стабилизаторы питания, формирователи сброса и недорогие эмуляторы последнего поколения) образует полный набор составных блоков, необходимых для создания устройств с интерфейсом USB.

Литература

  1. http://www.analog.com/static/imported-files/data_sheets/ADSP-BF522_BF523_BF524_BF525_BF526_BF527.pdf
  2. http://www.analog.com/static/imported-files/processor_manuals/BF52xProcHWR031.pdf
  3. http://www.analog.com/static/imported-files/processor_manuals/34320671753594BF52xPerip hHWR03.pdf
  4. http://www.usb.org/home
  5. http://www.analog.com/static/imported-files/data_sheets/ADM6384.pdf
  6. http://www.analog.com/static/imported-files/data_sheets/ADP170_171.pdf
  7. http://www.analog.com/static/imported-files/data_sheets/ADP121.pdf
  8. www.usb.org

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *