Технологии и средства разработки встраиваемых систем на основе микроконтроллеров с архитектурой ARM

№ 4’2009
PDF версия
В статье рассматриваются технологии разработки встраиваемых систем на основе микроконтроллеро, представлены зарубежные средства отладки, а также отечественный встраиваемый модуль компании «Терраэлектроника» на основе нового ARM7-микроконтроллера LPC2478. Он представляет собой завершенное решение, готовое для установки в изделия в качестве управляющей системы на основе микроконтроллеров. Новый модуль использует преимущества LPC2478, имеющего в своем составе контроллер TFT-дисплея.

Важнейшим фактором современного развития микроконтроллерных систем является переход на 32-разрядные архитектуры, программирование преимущественно на языках высокого уровня и применение
операционных систем реального времени.
Среди 32-разрядных микроконтроллеров
большой сегмент рынка занимает архитектура ARM. В данной статье технологии и средства разработки встраиваемых систем рассматриваются на примере использования микроконтроллеров с этой архитектурой.

При разработке встраиваемых систем в настоящее время применяются следующие технологии:

  1. Технология макетирования аппаратного
    компонента с использованием отладочной платы и набора модулей расширения.
    После создания управляющей программы
    (firmware) и комплексной отладки проект
    представляет собой принципиальную схему аппаратуры и текст программы. Чтобы
    получить встраиваемую микроконтроллерную систему, необходимо разработать полностью новую печатную плату, смонтировать элементы и отладить аппаратуру, а затем повторно провести комплексную
    отладку аппаратной и программной частей. Эта технология особенно эффективна
    при освоении нового семейства микроконтроллеров и переходе с ассемблера на более высокий уровень программирования.
    Преимущества ее заключаются в использовании отлаженных производителем плат,
    которые позволяют сразу приобретать новые знания и навыки, не сомневаясь в случае непонятных ситуаций в работоспособности аппаратуры.
  2. Технология макетирования аппаратного
    компонента с использованием серийного
    микроконтроллерного встраиваемого модуля и интерфейсной отладочной платы,
    а возможно, и набора модулей расширения. Эта технология отличается тем, что
    наиболее сложный и быстродействующий
    фрагмент аппаратуры в отлаженном виде
    используется и в макете, и далее при производстве системы. Таким образом, можно применять самую современную элементную базу с высокими тактовыми частотами и в микроминиатюрных корпусах.
    Отлаженный проект представляет собой
    спецификации модуля, принципиальную
    схему интерфейсной части аппаратуры
    и текст программы. Далее необходимо разработать печатную плату только для части
    схемы, отладить аппаратуру и повторно
    проверить работу всей системы. При наличии модуля сшироким набором интерфейсных функций разработки дополнительной аппаратуры может и не потребоваться, в таком случае это самый быстрый
    и бюджетный способ создания микроконтроллерной системы. Такой подход весьма
    перспективен в связи с увеличением вычислительных и функциональных возможностей 32-разрядных микроконтроллеров,
    с одной стороны, и возникновением проблем при монтаже микроминиатюрных
    компонентов, с другой стороны.
  3. Технология комплексирования встраиваемой системы из набора микропроцессорных, микроконтроллерных и интерфейсных модулей. Нередко при этом программное обеспечение создается на макроязыке
    или конфигурированием операционной
    системы реального времени. Это путь
    «компьютерной автоматизации». Возможно создание аппаратно-программной системы из полностью готовых частей, но полученный результат не всегда оптимален по
    стоимости и габаритам. Вычислительная
    мощность системы зачастую существенно
    превосходит тот уровень, что необходим
    для реализации функций управления.
  4. Технология разработки системы на основе библиотеки схемных фрагментов и библиотеки программ обслуживания периферийных устройств. Подразумевает разработку принципиальной схемы на основе
    ранее опробованных решений и проектирование печатной платы без предварительного макетирования. Разработка программного обеспечения и комплексная отладка
    ведется на стадии ОКР. Это опробованный
    и эффективный путь для опытных разработчиков, долгое время работающих в одной предметной области.

Далее рассмотрим типовые решения зарубежных средств в области отладочных плат
и встраиваемых модулей.

Отладочные микроконтроллерные платы
представляют собой конструкторы из набора
разнообразных функциональных модулей,
подключаемых к микроконтроллеру. Нередко
на платах имеются макетные поля; изменения
конфигурации аппаратуры производятся с помощью съемных перемычек и механических
переключателей. Примером такого подхода является отладочная плата LPC-P2378 известной
компании Olimex, выполненная на основе микроконтроллера LPC2378 от NXP (рис. 1).

Рис. 1. Отладочная плата LPC-P2378 компании Olimex

Плата позволяет разработчику загружать
код отлаживаемой программы через порт
RS-232 в память программ микроконтроллера. Для отладки может быть подключен внешний JTAG-эмулятор. На плате установлены необходимые для быстрого старта компоненты:
микроконтроллер, разъем и микросхема
драйвера Ethernet, интерфейсы CAN и USB,
порт RS-232, слот карты SD/MMC. Имеются
три кнопки и три светодиода, разъем внешнего источника питания и стабилизаторы напряжений 3,3/5,0 В с выходным током до 800 мА.
Вдоль макетного поля расположен штыревой
разъем, на котором доступны все линии портов микроконтроллера. Через фирменный
порт UEXT к плате можно подключать модули, расширяющие круг решаемых задач: это,
например, беспроводная связь, радиочастотная идентификация, воспроизведение MP3-
контента.

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

Ускорить получение конечного результата
можно при использовании готовых OEM-модулей. Такие модули имеют небольшие размеры, высокую плотность монтажа сложнофункциональных компонентов на многослойной плате, на которой обычно реализовано
ядро системы на основе микроконтроллера
или микропроцессора, микросхем памяти
и схем ближайшего обрамления. Их часто называют одноплатными компьютерами (SBC,
single board computer). В качестве конструктивного стандарта нередко используется
форм-фактор DIMM. Примером может служить модуль PM9261 компании Ronetix на базе ARM9-микроконтроллера AT91SAM9261
от tmel (рис. 2). Модуль работает на частотах
до 240 МГц при небольшом энергопотреблении.
На плате, кроме микроконтроллера, установлена NAND флэш-память объемом 256 Мбайт,
NOR флэш-память объемом 4 Мбайт, оперативная память DRAM объемом 64 Мбайт
с 32-разрядной организацией, флэш-память
объемом 4 Мбайт с интерфейсом SPI. Из интерфейсов присутствует Ethernet-контроллер.
Отметим, что OEM-модули такого типа разъема отладочного интерфейса не имеют.

Рис. 2. OEM-модуль PM9261 фирмы Ronetix

Интерфейсной отладочной платой для модуля PM9261 является материнская плата
BB9261 (рис. 3). На ней предусмотрен 200-выводный SODIMM-разъем для установки микроконтроллерного модуля и 40-выводный
разъем для подключения 3,5″ 1/4 VGA TFT
LCD с сенсорным экраном. Есть порты
Ethernet, RS-232, USB-host и USB-device, отладочный порт JTAG, слот карты SD/MMC.
Плата имеет развитый аудиоинтерфейс: установлен аудиокодек, есть линейный и микрофонный входы, линейный выход и выход
на наушники.

Рис. 3. Интерфейсная плата BB9261 фирмы Ronetix

Иногда OEM-модули имеют другое конструктивное исполнение, на них устанавливаются малогабаритные разъемы высокой
плотности. Такое исполнение имеет модуль
EA-OEM-001 (рис. 4) компании Embedded
Artists, предназначенный для ознакомления,
разработки и быстрого запуска устройств на
базе ARM7-микроконтроллеров LPC2468
компании NXP.

Рис. 4. Модуль EA-OEM-001 компании Embedded Artists

На плате, кроме микроконтроллера, установлена NOR флэш-память объемом 4 Мбайт,
оперативная память SDRAM объемом 32 Мбайт.
Из периферии присутствует Ethernet-контроллер, USB-OTG интерфейс и слот карт памяти microSD.

При макетировании OEM-модуль устанавливается на интерфейсную материнскую плату, которая через отладочный порт соединена
с компьютером. Разработка и отладка управляющей программы выполняется с использованием установленной на компьютере среды
программирования. После макетирования
и отладки проекта необходимо разработать
и изготовить встраиваемую интерфейсную
плату взамен стандартной. Эта задача все же
не проста, поскольку OEM-модули являются
высокоинтегрированными продуктами, имеющими разъемы высокой плотности для подключения к системе. Использование OEM-модулей сокращает сроки разработки и дальнейшего серийного производства, но требования
к квалификации разработчиков и технологии
производства остаются высокими.

После анализа значительного числа разнообразных микроконтроллерных средств компания «Терраэлектроника» сформулировала
собственную концепцию встраиваемых модулей на основе 32-разрядных ARM-микроконтроллеров. Ее главная идея — это внедрение
развитых механизмов отладки вфункционально и конструктивно законченный набор аппаратных средств на основе высокопроизводительного микроконтроллера. В соответствии
с этой концепцией на основе ARM7-микроконтроллера LPC2478 компании NXP разработан
встраиваемый модуль TE-LPC2478LCD.

Компания NXP воплотила архитектуру
ARM в несколько семейств микроконтроллеров, которые по ряду важных параметров
имеют более высокие показатели, чем однотипные изделия других производителей. Так,
семейство ARM7 от NXP характеризуется более высокой частотой синхронизации ядра
(до 72 МГц), быстрой выборкой кода из внутренней флэш-памяти, оптимизированной
структурой внутренних шин.

Микроконтроллер LPC2478 в настоящее
время представляет собой топ-модель семейства ARM7 от NXP. Его важное преимущество — это наличие контроллера ЖК-дисплея,
который поддерживает статические дисплеи
с разрешением до 1024×768 пикселей, монохромные с 15 градациями серого и TFT-панели с 24-разрядным цветом. Следует отметить
наличие 8-канального 10-разрядного АЦП
и 10-разрядного ЦАП. В набор интерфейсных модулей входят порт USB Device/Host/
OTG, порт Ethernet 10/100 с прямым доступом к памяти, четыре порта UART, два CAN-порта, три порта I2C, порты SPI, SSP, I2S.

Оптимальная комбинация производительного 32-разрядного ядра, контроллера дисплея и большого набора интерфейсов позволяет использовать микроконтроллер LPC2478
в качестве ядра встраиваемых микроконтроллерных систем для применения в промышленных, бытовых, торговых и медицинских
устройствах, использующих ЖК-дисплеи
и поддерживающих высокоскоростные функции связи в локальной сети или Интернете.

На рис. 5 представлен модуль TE-LPC2478LCD
с подключенным 3,5″ цветным графическим
дисплеем. Этот модуль в комплекте с дисплеем, имеющим сенсорный экран, дает возможность разработчику получить законченное
решение для интеграции в изделие.

Рис. 5. Модуль TE-LPC2478SBC компании «Терраэлектроника»

На плате модуля установлен микроконтроллер LPC2478FBD208 в 208-выводном
LQFP-корпусе, внешняя память, коммуникационные интерфейсы, слот карты SD/MMC,
разъем для подключения 3,5″ цветного графического дисплея. Заметим, что при создании микроконтроллерного устройства с цветным графическим дисплеем, кроме необходимости иметь контроллер для управления им,
стоит также задача монтажа миниатюрного
высокоточного разъема (в данном случае
54 контакта с шагом 0,5 мм). Самостоятельная установка такого разъема на макетную плату для многих разработчиков — сложная задача. Модуль TE-LPC2478LCD ориентирован
на работу с цветным сенсорным графическим
дисплеем PH320240T, который имеет диагональ 3,5″ и разрешение 320×240 пикселей.
На плате установлен разъем для его подключения.

В качестве внешней памяти на плате установлена NOR флэш-память объемом 32 Мбит
и SDRAM объемом 256 Мбит. Внешняя память используется при формировании изображений на дисплее и работе под управлением операционной системы реального времени.

Модуль имеет порт USB-device и мост USBUART,
который позволяет осуществлять загрузку кода программы во внутреннюю
флэш-память микроконтроллера. Для комплексной отладки аппаратуры и разрабатываемого программного обеспечения имеется
разъем JTAG принятого для ARM-микроконтроллеров формата (2×10 выводов). Интерфейсы UART, CAN, I2C, SPI, SSP, I2S микроконтроллера доступны через контактные площадки, на которые выведены все линии его
портов.

Слот карты SD/MMC является средством
работы с накопителем данных большой емкости, часто устанавливается в интеллектуальных модулях графических дисплеев для
хранения файлов изображений.

Важнейший аспект применения встраиваемых модулей — их сопровождение производителем в течение жизненного цикла.
Для модулей TE-LPC2478 разработан набор
тестирующих программ, который используется при производстве. Пакет передается вместе с модулем разработчику в виде исполняемых файлов. Инструкция по применению
тестирующих программ входит в «Руководство пользователя» модуля. Таким образом,
модуль может быть проверен в любое время
в процессе разработки системы и ее эксплуатации.

Модуль TE-LPC2478 представляет собой
основу набора аппаратных и программных
средств. В состав аппаратных средств планируется включить сенсорную клавиатуру,
радиомодуль, модуль на основе MEMS-микрофона, плату расширения на основе аудиодекодера и стерео-ЦАП. Конструктивное
объединение аппаратных средств набора будет осуществляться на основе двух штыревых трехрядных разъемов, установленных
в плату микроконтроллерного модуля.

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

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

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