Особенности проектирования современных встраиваемых электронно-вычислительных систем и разработка плат для прототипирования

ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ СОВРЕМЕННЫХ ВСТРАИВАЕМЫХ ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И РАЗРАБОТКА ПЛАТ ДЛЯ ПРОТОТИПИРОВАНИЯ

П.А. Косенков, А.О. Терентьев Научный руководитель - д.т.н., профессор Ю.А. Гатчин

Рассматриваются особенности проектирования встраиваемых микропроцессорных систем, разработаны варианты плат для прототипирования, позволяющие ускорить процесс проектирования встраиваемых устройств.

Введение

Основной особенностью современных встраиваемых ЭВС является то, что они приобретают характеристики, свойственные ранее только настольным или большим ЭВС. Эти характеристики, такие как использование файловых систем, средств сетевых коммуникаций и графических пользовательские интерфейсов, вызывают серьезный рост системных требований. Вместе с тем встроенные ЭВС должны отвечать и дополнительным требованиям, связанным с их «встраиваемой» спецификой. Это малые габариты, низкое энергопотребление, вибростойкость, широкий диапазон рабочих температур, и другие. Требования, предъявляемые к данным системам, являются более жесткими по сравнению с требованиями к настольным или большим ЭВС. Это вызывает необходимость разработки таких систем с использованием более совершенных, нежели ранее, средств и методов.

Подходы к разработке встроенных систем и их особенности

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

1. применение центрального процессора на базе RISC, MIPS или другой «жесткой» архитектуры;

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

3. применение ПЛИС, внутренняя архитектура которых создается на основании требований встроенной системы.

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

1. применение универсальных мезонинных компьютеров, построенных на уже устоявшихся архитектурах, таких как х86;

2. применение RISC архитектуры, в частности, построенной по технологии ARM (Advanced RISC Machines);

3. применение MIPS (Microprocessor without Interlocked Pipeline Stages -«микропроцессор без блокировок в конвейере») архитектуры с относительно длинным конвеером.

Сигнальный процессор. Особенности этой архитектуры заключается в структуре ядра, адаптированного для обработки сигналов в цифровом виде. Для нее характерны: • быстрое выполнение операций цифровой обработки сигналов, например, операция «умножение с накоплением» исполняется за один такт;

• «бесплатные» по времени циклы с заранее известной длиной;

• довольно большой объем встроенной памяти, из которой может осуществляться выборка нескольких машинных слов одновременно;

• детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени;

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

• экзотический набор регистров и инструкций, часто неудобный для компиляторов;

• ограниченный, по сравнению с микроконтроллерами, набор периферийных устройств - впрочем, существуют «переходные» чипы, сочетающие в себе свойства DSP и широкую периферию микроконтроллеров, и даже отдельное RISC ядро, например, серия TMS320C24xx компании Texas Instruments [1];

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

Программируемые логические интегральные схемы. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задается посредством программирования. Для программирования используются языки Verilog [2], VHDL [3]. Основные современные типы ПЛИС:

• CPLD [4] (complex programmable logic) содержат относительно крупные программируемые логические блоки - макроячейки (macrocells), соединенные с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении;

• FPGA (field-programmable gate array) содержат логические элементы и блоки коммутации. FPGA обычно имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределенной оперативной памяти микросхемы, поэтому требуется начальный загрузчик.

Вышеперечисленные подходы обладают нечеткими границами, и зачастую возможны комбинации. Например, все больше присутствуют на рынке высокоинтегриро-ванные системы, совмещающие в себе несколько подходов - например, линейка 2-ядерных процессоров от Texas Instruments [1], где на одном кристалле совмещены DSP и ARM архитектура.

В современном проектировании намечается тенденция к использованию уже готовых открытых программных разработок на основе Unix-совместимых операционных систем. Такой подход позволяет сэкономить на этапе подготовки встроенного программного обеспечения и сократить производственный цикл на данном этапе создания встроенной системы. А привлечение сообщества программистов после выпуска устройства позволяет поддерживать актуальность разработки неопределенно долгое время благодаря личной заинтересованности каждого в совершенствование конечного продукта.

Сегодня большую популярность приобретают встраиваемые программные среды с открытым исходным кодом. Такой подход удобен не только разработчикам, но и производителям компонентов, так как создается база готовых программных решений и сообщество разработчиков, применяющих компоненты на производстве. Ярким примером может служить аппаратно-программный комплекс DaVinci от Texas Instruments [1, 5].

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

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

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

Проектирование современных встроенных систем включает в себя несколько этапов:

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

• функциональное описание;

• выбор процессорной системы;

• разработка аппаратного обеспечения;

• разработка программного обеспечения;

• интеграция.

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

В ходе проделанной одним из авторов (Косенковым П. А.) работы в открытом проекте [6] был разработан набор плат для прототипирования на базе микропроцессора архитектуры ARM (at91rm9200) и ПЛИС Altera Cyclone EP1C3T144.

Плата на базе микропроцессора архитектуры ARM (at91rm9200). Плата построена на базе процессора ARM920T с производительностью 200 млн. инструкций в секунду и содержит 16 кбайт кэш-памяти инструкций и 16 кбайт кэш-памяти данных, 16 кбайт статического ОЗУ, 128 кбайт ПЗУ, интерфейс внешней шины EBI с поддержкой синхронного динамического ОЗУ (SDRAM), контроллеры флэш-памяти с пакетным режимом передачи данных и статической памяти, главный USB-порт, USB-порт устройства, модуль Ethernet 10/100 Base T MAC, контроллер управления энергопотреблением, часы реального времени, системный таймер, синхронный последовательный контроллер, 6-канальный таймер-счетчик, 2-проводной интерфейс, последовательный периферийный интерфейс (SPI), интерфейсы мультимедиа-карт и контроллер параллельного ввода-вывода.

Рис. 1. Функциональная схема прототипа с ARM архитектурой

Рис. 2. Топология печатной платы прототипа с ARM архитектурой

Функциональная схема платы приведена на рис. 1. В работе реализована основная часть доступного функционала данного микропроцессора. Плата обладает возможностью установки до 128 мБ ОЗУ, до 32 Мб ППЗУ (Flash). Доступен широкий профиль периферии:

• RS-232 для отладки и организации терминального доступа;

• Ethernet 10/100 Base T на базе микросхемы KS8721BL;

• полноскоростной порт USB 2.0 (ведущий и ведомый);

• возможность работать с флеш-картами SD/MMC;

• JTAG интерфейс для отладки встраиваемого программного обеспечения.

Помимо стандартных интерфейсов, плата обладает 2х 16-битных шин ввода-вывода данных и дополнительные 20 универсальных линий для возможности подключения дополнительных модулей. Топология печатной платы представлен на рис. 2. Трассировка платы выполнена в двухслойном исполнении в программном комплексе P-Cad 2002 преимущественно в ручном режиме. По причине достаточности для отладки

уже доступного функционала, не реализованными остались такие возможности, как использование CF карты памяти, IDE интерфейс, интерфейс для подключения графического дисплея, IrDA интерфейс, Контроль параметров питающих цепей. Эти возможности планируется реализовать в следующих вариантах платы.

Данная плата допускает установку встраиваемой версии Unix-совместимой операционной системы, в частности uClinux. Такой подход позволяет получить систему обработки сигналов в реальном времени и получить комплекс программных и аппаратных инструментов для обработки, хранения и передачи данных.

Плата на базе ПЛИС Altera Cyclone EP1C3T144. Данный прототип предназначен для обучения работе с ПЛИС архитектурой и спроектирован с таким расчетом, чтобы получить плату при минимальных материальных затратах. Применена ПЛИС EP1C3T144, состоящая из 2910 логических ячеек (macrocells), 59904 бита встроенной RAM, присутствует PLL - самый дешевый из семейства Altera Cyclone. Электрическая схема и односторонняя печатная плата представлена на рис. 3 и 4.

Рис. 3. Электрическая схема прототипа, построенного на основе ПЛИС

Стоит заметить, что печатная плата была разведена с помощью отечественной разработки - авторассировщика TopoR, позволяющего работать в трассировочном режиме freestyle. На эту ПЛИС можно загрузить реконфигурируемый 32-х разрядный RISC процессор NIOS-II. Целесообразно использовать NIOS в минимальном режиме -ядро, встроенная в FPGA RAM-память (данных и программ) и порт ввода-вывода для управления внешними выводами (светодиодами). Процессор в такой конфигурации занимает 20 % кристалла, т.е. еще остается достаточно места для дополнительной периферии и логики. Данный прототип позволит в короткие сроки освоить ПЛИС архитектуру, осуществлять разработку встроенных систем начального уровня сложности, а возможность модульного расширения позволит создавать более сложные системы, в том числе и многопроцессорные.

Рис. 4. Топология печатной платы прототипа, построенной на основе ПЛИС

Заключение

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

Литература

1. www.ti.com

2. http://ru.wikipedia.org/wiki/Verilog

3. http://ru.wikipedia.org/wiki/VHDL

4. Борисевич А.В. Некоторые вопросы эффективного построения проверяющего теста для ПЛИС. // Тезисы докладов Всеукраинской научно-технической конференции «Автоматизация: проблемы, идеи, решения». Севастополь, 16-18 мая 2006 г. Севастополь: изд. СевНТУ, 2006.

5. http://www.terralab.ru/video/234545/

6. http://electronix.ru/forum/index.php?showforum=139