Кедах Электроникс Инжиниринг sergey.bogush@kedah.ru, bogush@pochta.ru
Микроконтроллер B41: система на кристалле для портативных радиоустройств
В статье описан микроконтроллер В41, разработанный зеленоградской компанией «Кедах Электроникс Инжиниринг» в качестве универсальной платформы для портативных радиоустройств массового применения.
Наличие беспроводного канала передачи данных становится почти обязательным для практически любого современного мобильного устройства, т.к. значительно упрощает подключение его к источникам информации. До сих пор в большинстве случаев такой канал организовывался за счет использования дополнительных специализированных ИС, при этом основная функциональность устройства реализовывалась основным микроконтроллером. При таком построении системы достаточно сложно обеспечить минимальную стоимость и энергопотребление из-за необходимости использования дополнительных компонентов. Целью разработчиков микроконтроллера B41 было создание достаточно мощного и дешевого микроконтроллера, который наряду с выполнением основных для устройства функций мог исполнять работу baseband-процессора радиоканала. Далее будет описана структура и возможности разработанного микроконтроллера.
Область применения
Основное назначение микроконтроллера В41 — использование в качестве универсальной платформы для портативных радиоустройств массового производства. Ряд особенностей B41 — интерфейс радиоканала с пропускной способностью до 2 Мбит/с, PCM-интерфейс, CVSD-кодек и криптомодуль — делают его оптимально подходящим для речевых приложений. Это могут быть бытовые и офисные радиотелефоны, радиоудлинители ГТС линий, беспроводные домофоны, а также специализированные сред-ства связи, в том числе индивидуальные радиогарнитуры с криптозащитой канала для личного состава войсковых подразделений. Наличие разнообразных периферийных интерфейсов и возможность простого подключения к системной шине модулей расширения делают микроконтроллер удобным для применения в системах телеметрии и мониторинга (в том числе медицинских), для дистанционного управления бытовыми приборами и промышленным оборудованием.
В состав программного обеспечения B41 входят средства для реализации информационно-управляющей радиосети (ИУРС) с ретрансляцией данных между узлами. Средства ИУРС в сочетании с низкой ценой микросхемы делают перспективным использование микроконтроллера B41 в коммунальном хозяйстве (дистанционный учет электроэнергии, газа, тепла и воды) и системах сигнализации (охранных, пожарных, противоугонных). На основе B41 могут быть реализованы крипто-защищенные радиометки различных объектов (например, транспортных средств) и личные идентификаторы.
В сфере бизнеса микроконтроллер может быть использован для беспроводного подключения кассовых аппаратов к торговому серверу, реализации обновляемых по радиоканалу электронных ярлыков, дистанционных конфигураторов рекламных экранов и информационных табло. Отметим, также такие области применения как передача данных между компьютерами (в том числе с криптозащитой), Bluetooth- и ZigBee-технологии.
Общие сведения
Микроконтроллер В41 объединяет в себе функции Baseband-процессора и контроллера приложений, реализуемых программно-аппаратным путем. В настоящее время производится модификация B41-3, поставляемая в 128-выводном корпусе LQFP128L. Небольшой размер кристалла (4,1x4.1мм), распространенная технология изготовления, высокий процент выхода годных за счет отсутствия узлов со специфическими требованиями и простота тестирования обуславливают низкую цену изделия. Поскольку в портативных устройствах ресурс источника питания ограничен, микроконтроллер B41 снабжен средствами для управления энергопотреблением, что позволяет получить малую потребляемую мощность при достаточной производительности. Немаловажной особенностью микроконтроллера B41 является лицензионно-чистая архитектура процессорного ядра. Это позволяет распространять продукцию на его основе практически в любом сегменте внешнего рынка.
Основные электрические характеристики микроконтроллера B41 приведены ниже:
- напряжение питания внутренней логики, VCCi: 2,5 В ±10%;
- напряжение питания буферов входа/выхода, VCCb: VCCiѕ 3,6В (тип. 3,0 В);
- логические уровни: 3 В КМОП;
- частота системного генератора, FSYS: 12 МГц ± 50ppm;
- частота генератора дежурного режима, FSTB: 32768 Гц ± 50ppm.
Суммарный ток потребления микросхемы (ICC = ICCi + ICCb) при напряжениях питания VCCi = 2,5 В и VCCb = 3,0 В в зависимости от режима принимает следующие значения:
- в активном режиме (FT = 12 МГц, без SLEEP): 18 мА;
- при включенном SLEEP (FT = 12 МГц, 50% SLEEP): 9 мА;
- в дежурном режиме (FT = 32768 Гц): 200 мкА;
- в состоянии «выключено» (FT = 0): не более 10 мкА.
Структура микроконтроллера
Структурная схема микроконтроллера B41-3 приведена на рисунке 1. Основу микроконтроллера составляет 4-контекстное 16-разрядное процессорное ядро B41-core. Кроме того, в состав микроконтроллера входят встроенное масочное ПЗУ объемом 2Кбайт (1K х 16), встроенное статическое ОЗУ объемом 64 Кбайт (32K х 16), модуль умножения с накоплением (MAC-модуль), контроллер контекстных прерываний, блок таймеров, набор интерфейсов общего назначения и ряд специализированных модулей. Встроенное ПЗУ содержит начальный загрузчик с UART, отладочный монитор и программатор внешней флэш-памяти.
Рис. 1. Блок-схема микроконтроллера B41
MAC-модуль обеспечивает целочисленное умножение двух 16-разрядных чисел с получением 32-разрядного произведения, умножение – механизм повтора текущей с накоплением 48-разрядной суммы и целочисленное деление 32-разрядного делимого на 16-разрядный делитель. Блок таймеров содержит 4 программируемых 16-разрядных таймера, маскируемые генераторы прерываний с частотой 256 и 2 Гц, а также сторожевой таймер. Тактовая частота программируемых таймеров составляет 2 МГц. Сторожевой таймер обеспечивает перезапуск системы в случае сбоя программного обеспечения.
Набор интерфейсов общего назначения включает следующие узлы:
- EMI — интерфейс внешней памяти (системная шина);
- UART — асинхронный последовательный интерфейс;
- PIO0ѕPIO3 — четыре 8-разрядных порта ввода/вывода общего назначения;
- SPI — последовательный периферийный интерфейс;
- PCM — последовательный интерфейс для звуковых прило-жений;
- JTAG — JTAG-порт (ведущий), для управления радиомодулем;
- I2C — I2C-интерфейс;
- USB — USB-порт (в версии B41-3 только для внутреннего применения).
Параллельные порты ввода/вывода могут быть запрограммированы на вход и на выход, при этом разряды, запрограммированные на вход, могут быть в свою очередь запрограммированы на генерацию запроса прерывания по изменению уровня входного сигнала. Порт PIO0 снабжен высокоомными pull-up транзисторами для упрощения реализации сканируемой клавиатуры. Модуль EMI, кроме прямого назначения, служит для подключения внешних периферийных устройств (например, ЖК-дисплея или Ethernet-контроллера).
В состав микроконтроллера входят следующие специализированные модули:
- RMI — интерфейс радиомодуля с 64-разрядным коррелятором кода доступа;
- CVSD — помехоустойчивый звуковой кодек;
- Crypto — криптографический модуль (поддерживается шифрование по протоколу Bluetooth), совмещенный с пермутатором — узлом вычисления очередной рабочей частоты радиомодуля в режиме FHSS (скачкообразное изменение частоты).
Процессорное ядро B41-core
Процессорное ядро B41-core оперирует с высокоуровневыми CISC-командами, которые интерпретируются на внутреннем RISC-подобном ядре. Такая архитектура позволяет получить компактный программный код, что дает возможность использовать для его размещения флэш-память относительно небольшой емкости и, как следствие, уменьшить себестоимость конечного продукта. Структурная схема процессорного ядра B41-core приведена на рис. 2.
Рис. 2. Структурная схема ядра B41
Особенностями B41-core являются:
- мультиконтекстная реализация
- общее адресное пространство для программ и данных;
- сегментная организация адресного пространства (неперес ающиеся сегменты размером 64K слов);
- расширенный механизм адресации операндов (регистровая, непо-средственная, прямая, косвенная, автоинкрементная, автодекрементная, индексная, стековая);
- механизм повтора текущей команды (обеспечивает быстрое выполнение операций над массивами с использованием арифметических, логических и сдвиговых операций).
Основные параметры B41-core следующие:
- разрядность шины данных: 16;
- разрядность шины адреса: 24 (архитектурный предел — 32);
- минимальный адресуемый элемент 16-битовое слово;
- размер сегмента: 64К слов (128 Кб);
- адресное пространство: 16М слов (32 Мб);
- число контекстов: 4 (архитектурный предел — 15);
- количество РОН: 7 на контекст;
- количество сегментных регистров: 6 на контекст;
- число тактов выполнения команды типа «регистр – регистр»: 1.
Для оперативного обслуживания прерываний от периферийных устройств в процессорное ядро включен механизм контекстных прерываний с переключением полного контекста, включая указатель инструкций, указатель стека и регистр состояния. За счет исключения процедуры сохранения в стеке и последующего восстановления из стека контекста текущей задачи механизм контекстных прерываний обеспечивает максимально быструю реакцию на прерывания от периферийных устройств. Переключение на новую задачу осуществляется путем аппаратного переключения на новый контекст (блок регистров), при этом контекст текущей задачи остается без изменения. Возврат к ранее выполнявшейся задаче осуществляется аналогично — путем аппаратного переключения контекстных регистров.
Программное обеспечение
В качестве средств разработки и отладки прикладного программного обеспечения для микроконтроллера B41 поставляется комплект разработчика B41_SDK. В состав B41_SDK входят отладочный монитор-загрузчик B41_Loader, оптимизирующий компилятор с языка C++, операционная система B41OS, постоянно пополняемая C++ библиотека и интегрированная среда разработки на ассемблере IDE–B41.
Оптимизирующий компилятор с языка С++ разработан на основе GNU C++ версии 3.3 и адаптирован под архитектуру и систему команд В41. Кроме того, в настоящее время ведутся работы по адаптации отладчиков GNU GDB/DDD с ориентацией на использование в дальнейшем среды разработки ECLIPSE. Использование в качестве основного языка программирования C++ позволяет без больших затрат портировать огромное количество уже разработанного программного обеспечения.
Поддерживающая вытесняющую многозадачность операционная система реального времени В41OS управляет приложениями, реализует доступ к периферийным устройствам и обеспечивает минимально необходимый пользовательский интерфейс. Размер бинарного кода ядра операционной системы не превышает 3 Кбайт. Время реакции В41OS на запросы составляет 10ѕ20 мкс (при FSYS = 12 МГц). Заметим также, что в операционной системе реализовано одно из фундаментальных средств взаимодействия между процессами — PIPE-канал (по аналогии с Unix). В B41OS на основе подобного механизма выполнены программные интерфейсы для радиоканала (поддержаны наиболее распространенные микросхемы трансиверов), COM-порта, USB и другой периферии.
Для облегчения разработки прикладных программ в составе операционной системы имеется PIPE-мультиплексер — средство создания логических каналов. Его использование позволяет, например, создать PPP-соединение (точка – точка) в 10—15 строках программного кода.
С целью поддержки применения B41 в составе таких устройств, как беспроводные телефонные трубки и ряде других, где требуется хранение значительных объемов информации, разработана файловая система B41FFS (на основе YAFFS), использующая флэш-память как средство для хранения файлов.
Разработка приложений B41 может быть полностью выполнена с использованием языка C++. Тем не менее, в состав B41_SDK включена интегрированная среда разработки на ассемблере IDE-B41, которая содержит текстовый редактор, компилятор с ассемблера и программный симулятор, совмещенный с пошаговым отладчиком.
Заключение
В настоящее время на базе микроконтроллера B41-3 на разных стадиях разработки находятся устройства как для передачи речи (беспроводной Skype-телефон B41-IPh), так и для передачи данных (USB-радиоадаптер c криптозащитой канала B41-USBE; Ethernet-радиоадаптер для мобильных терминалов B41-ENET) и управления объектами промышленного (система мониторинга электросчетчиков B41-RNE), бытового (домашняя ИУРС B41-RNH) и прочего (электронный идентификатор транспортных средств) назначения.
Для удобства разработчиков в апреле 2006 г. будет выпущен отладочный комплект B41_Dkit, содержащий наиболее употребительные аппратные модули. Ведется разработка последующих модификаций микроконтроллера. В ближайшее время планируется к выпуску 2-кристальная микросборка B41-3F, объединяющая в одном корпусе кристаллы микроконтроллера B41-3 и флэш-памяти объемом 512 Кбайт. В 4 квартале 2006 г. планируется завершить разработку модификации B41-4, в состав которой войдут интегрированная на кристалле флэш-память объемом 64 Кбайт, ориентированный на передачу потоков USB-модуль, звуковые сигма-дельта-АЦП и ШИМ-ЦАП, а также ряд других блоков. Все узлы микроконтроллера оформлены в виде автономных IP-модулей (используется verilog-описание), что позволяет по запросу заказчика оперативно изменять его конфигурацию. Поскольку в рамках одной статьи невозможно рассмотреть все аспекты изделия, получить дополнительную информацию можно, обратившись по адресу sergey.bogush@kedah.ru, bogush@pochta.ru.
Сергей Богуш, начальник отдела микросистем, Михаил Дябин руководитель группы отдела микросистем, Игорь Панкратов, ведущий программист отдела микросистем; «Кедах Электроникс Инжиниринг»
Статья опубликована в журнале "Электронные компоненты" №3 2006
Магазин телефонов skype
|