Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2010 №12

Процесс разработки и отладки проекта под семейство ПЛИС SmartFusion

Максимов Андрей  
Карпов Сергей  

В начале 2010 года корпорация Actel выпустила на рынок новое и единственное в своем роде семейство ПЛИС SmartFusion, которое стало логическим продолжением и дополнением предыдущего семейства ПЛИС Fusion c интегрированной аналого-цифровой частью.

Структура ПЛИС SmartFusion

Новое семейство имеет аналогичную программируемую логическую матрицу, блок управления тактовыми частотами, в том числе и встроенные тактовые генераторы, и при этом — значительно расширенные функциональные возможности аналого-цифровой части. Но основное нововведение — это интегрированный в чип полноценный аппаратный микроконтроллер с процессором ARM Cortex-M3, а также цифро-аналоговый преобразователь (ЦАП).

Такое расширение функциональных возможностей позволяет разработчикам не делать выбора между ПЛИС и микроконтроллером с аналоговым блоком и полностью решить все поставленные задачи, используя только одну микросхему с полноценной системой на кристалле (СнК).



Рис. 1. Структурная схема СнК SmartFusion

Вкратце рассмотрим структуру Smart-Fusion (рис. 1). Каждая микросхема включает в себя:

  • Реализованный аппаратно ARM-совместимый процессор Cortex-M3 c тактовой частотой работы до 100 МГц и набором команд Thumb-2.
  • Набор аппаратных интерфейсных контроллеров: Ethernet MAC 10/100, SPI, I2C, UART.
  • периферии: системные регистры, таймеры, контроллер прямого доступа к памяти, контроллеры внешней и внутренней памяти.
  • Встроенные блоки ПЗУ до 512 кбайт и ОЗУ до 64 кбайт для процессора.
  • В микросхеме имеются три встроенных тактовых генератора: кварцевый генератор, формирующий выходную частоту от 32 кГц до 20 МГц, RC-генератор — 100 МГц и 32-Гц кварцевый генератор с отдельной схемой питания и часами реального времени.
  • Блок ФАПЧ, который позволяет формировать из входных частот тактовые частоты для процессорной части, аналогового блока, матрицы ПЛИС.
  • ПЛИС емкостью до 500 000 системных вентилей и с системной частотой до 350 МГц, выполненная по Flash-технологии.
  • До восьми 4608-битных блоков 2-портовой ОЗУ, которые могут быть сконфигурированы как FIFO различной разрядности.
  • До трех аналоговых блоков, каждый из которых содержит настраиваемый 12-разрядный АЦП с предварительными масштабирующими ОУ для подстройки динамического диапазона, 12-разрядный ЦАП с выходами по напряжению и току.
  • Контроллер управления работой АЦП.
  • Блок цифровой обработки, позволяющий сделать предварительную обработку цифровых отсчетов, поступающих от АЦП, без использования процессора. С помощью него можно линейно преобразовать сигнал или выполнить простейшую фильтрацию.

Процесс разработки проекта под SmartFusion

Разработка проекта ПЛИС и конфигурирования процессорной и аналоговой частей SmartFusion осуществляется в пакете Actel Libero IDE версии не ниже 9.0, которая включает в себя все необходимые разработчику IP-ядра. Последние версии пакета Libero IDE и обновлений IP для конфигурации процессора и всей периферии SmartFusion можно бесплатно скачать с сайта actel.com.

Libero IDE является интегрированной средой разработки и включает в себя все необходимое ПО для разработки (рис. 2), отладки, синтеза проекта и генерации файла прошивки. Отладка проекта для ПЛИС выполняется с помощью симулятора ModelSim, синтез проекта производится синтезатором Synplify фирмы Synplicity, которые бесплатно поставляются в составе Libero.



Рис. 2. Процесс разработки проекта под SmartFusion

Для разработки и отладки ПО для процессорной системы Actel предлагает использовать бесплатную среду разработки SoftConsole, с помощью которой также можно производить и отладку проекта на готовой плате посредством идущего в комплекте отладчика. Пакет SoftConsole бесплатный и скачан с сайта actel.com. При этом есть возможность использовать среды разработки сторонних производителей, такие как Keil и IAR.

Конфигурация SmartFusion

Конфигурация аппаратной части Smart-Fusion осуществляется через удобный графический интерфейс, в котором представлены все ресурсы микросхемы в виде структурной схемы (рис. 3).



Рис. 3. Вид интерфейса конфигурации SmartFusion

Для удобства разработчиков все блоки на панели конфигурации помечены различными цветами. Голубым помечены блоки, которые конфигурируются аппаратно, оранжевым — блоки, которые конфигурируются программно, а зеленым те блоки, которые не нужно настраивать. Бóльшая часть блоков, которые не используются в проекте, могут быть аппаратно отключены на панели конфигурации. Это позволяет еще больше оптимизировать систему под конкретные задачи разработчика, высвободить дополнительные пользовательские выводы и уменьшить энергопотребление. Для настройки блоков, требующих аппаратной конфигурации, нужно двойным кликом мышки вызвать соответствующую панель настройки и ввести необходимые параметры.

Рассмотрим настройки ряда блоков Smart-Fusion более подробно.



Рис. 4. Интерфейс настройки тактовых частот

В блоке управления тактовой частотой (рис. 4) имеется возможность выбрать источник тактовой частоты. Им может быть внешний генератор, внутренний RC-генератор 100 МГц или внутренний кварцевый генератор, которому необходим внешний кварц с частотой от 32 кГц до 20 МГц. Тактовые сигналы с этих источников можно завести на вход блока умножения и фазовой автоподстройки частоты, который может работать с частотами до 350 МГц, при этом процессор способен работать на частотах до 100 МГц. В качестве источника тактового сигнала для часов реального времени может быть использован интегрированный низкопотребляющий кварцевый осциллятор с внешним часовым кварцем 32,768 кГц. Блок часов реального времени с осциллятором имеет отдельные входы питания, что позволяет подать на него питание от отдельного источника и снять основное питание с микросхемы без потери времени и остановки системных часов.

В микросхеме предусмотрена возможность гибко организовывать потоки данных между блоками. Например, данные из аналоговых блоков могут быть переданы напрямую в ПЛИС, что позволяет производить необходимую цифровую обработку сигналов (ЦОС) без участия процессора. При помощи этого можно в значительной степени разгрузить процессор от требовательных к производительности задач обработки и «сконцентрироваться» на других задачах.

Процессор может работать как из внешней, так и из внутренней памяти, для этого помимо встроенной в кристалл ОЗУ и ПЗУ к СнК может быть подключена внешняя память через конфигурируемый контроллер внешней памяти (рис. 5). Эта конфигурация позволяет подключить два независимых внешних банка памяти, как ОЗУ, так и Flash ПЗУ различных типов.



Рис. 5. Возможные настройки контроллера внешней памяти

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

К каждому мультиплексору подключены 4 блока согласования входных сигналов, в каждом из которых имеется два канала измерения напряжения, канал измерения тока и канал измерения температуры с интегрированными масштабирующими операционными усилителями. Совсем не обязательно использовать все каналы измерения, достаточно выбрать только те, которые необходимы разработчику в данном проекте. Таким образом, последовательно мультиплексируя входные сигналы, можно отслеживать значения сразу нескольких внешних параметров, задействовав при этом только один АЦП. Порядок мультиплексирования, частота выборки АЦП, а также его разрядность задаются на панели настройки контроллера запуска АЦП. Контроллер запуска осуществляет и первичную калибровку АЦП при включении, а также обновление данных для ЦАП.



Рис. 6. Вид аналогового блока SmartFusion

Наличие в аналоговых блоках возможности предварительного согласования входных сигналов (рис. 6) позволяет напрямую измерять двуполярное напряжение амплитудой до ±15 В и ток: следует только дополнительно установить внешний шунт. Для измерения температуры требуется внешний датчик, в качестве которого можно использовать pn-транзистор или диод. Использование аналогового компаратора также может быть очень полезным в задачах постоянного мониторинга внешних параметров и их контроля. При необходимости слежения за уровнями входных сигналов есть возможность задействовать флаги, при заданных уровнях они будут выставляться и сниматься. Эти флаги можно использовать, например, как сигналы прерываний для процессора либо как флаги необходимости старта пользовательских контроллеров в ПЛИС.

Максимальная частота работы АЦП составляет до 480 кОтсчетов/с при разрядности АЦП 12 бит и 600 кОтсчетов/c при разрядности 8 бит. Запуск всех АЦП производится единым контроллером, поэтому можно синхронизировать работу нескольких АЦП и добиться N-кратного увеличения производительности путем последовательного запуска АЦП на измерение одного и того же сигнала.

Разработка ПО

Для отладки программного обеспечения на плате в среде SoftConsole в качестве JTAG-адаптера используется программатор FlashPro4. Его можно использовать в качестве JTAG-адаптера для отладки программ в средах Keil и IAR. Это позволяет применять привычную среду разработки, не тратить время на изучение дополнительного ПО, а также использовать все предыдущие наработки.

При создании проекта и конфигурации СнК SmartFusion в корневой папке проекта Libero автоматически генерируется папка Firmware, содержащая драйверы всех устройств, задействованных в микроконтроллере. Эту папку можно импортировать в проект SoftConsole и далее пользоваться всеми ресурсами системы, обращаясь к ним через драйверы из тела главной программы.

Заключение

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

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

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке