Процессорные модули и базовые платы. Процессорный модуль СМ-Х255 компании CompuLab

Николай Семенов [email protected], Алексей Некрасов - [email protected]

В большинстве случаев разработка технического устройства связана с задачей сбора данных с устройств ввода, их обработкой и передачей управляющего воздействия на устройства вывода. Пока вычисления не требуют высокой производительности, а устройства ввода/вывода стандартны, можно воспользоваться микроконтроллерами или «системами на кристалле» (System-On-Chip, SoC). Но что делать, если производительности микроконтроллера не хватает или интерфейсы, предусмотренные задачей или областью применения, нестандартны?

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

Процессорный модуль (Computer-On-Module, CoM) является дальнейшим развитием «систем на кристалле» (System-On-Chip, SoC). Такие модули характеризуются небольшими размерами, наличием стандартных интерфейсов и хорошей поддержкой операционными системами. При их использовании экономится время на разработку, тестирование, поддержку, написание системного ПО и адаптацию операционных систем, поскольку чаще всего все это уже входит в готовый процессорный модуль. Таким образом его использование существенно сокращает время выхода готового устройства на рынок.

Сам термин CoM был введен компанией VDC Research Group, Inc. (бывшая Venture Development Corporation, USA) для описания целого класса производимых компьютерных плат, он прижился и широко используется, в основном после принятия промышленного стандарта COM-Express.

Классификация процессорных модулей

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

Высокопроизводительные модули

Рис. 1. «Компьютер-на-модуле» стандарта COM-Express: RadiSys CEQM77 с процессором Intel Core i7 IvyBridge

Высокопроизводительные модули практически всегда требуют активного охлаждения, потребляют 5–10 Вт и более и являются полноценными компьютерами, основанными чаще всего на микропроцессорах фирмы Intel. Они достигают производительности топовых версий Intel Core i7 с практически неограниченным количеством памяти в виде модулей расширения и высокоскоростными интерфейсами, такими как PCIexpress, GBE, SATA3 и т. д. Основная задача таких модулей - предоставить все возможности высокопроизводительного персонального компьютера в компактном одноплатном исполнении с возможностью подключить к ним как стандартные платы расширения, так и специализированные, рассчитанные на решение конкретной задачи. Стандартизация таких модулей производится по внешним габаритам, типам и расположениям разъемов:

  • ETX (Embedded Technology eXtended - «расширение встраиваемых технологий», ) - форм-фактор материнских плат, имеющий размеры 95×114 мм и стандартное расположение интерфейсных разъемов. На разъемах выведены порты ввода/вывода архитектуры PC/AT (последовательный, параллельный и т. д.), USB, аудио- и видеоразъемы, Ethernet, а также полноценная реализация шин ISA и PCI.
  • XTX - это развитие стандарта ETX с 75%-ной совместимостью по контактам . В XTX убрана шина ISA и добавлены PCI-Express, SATA и LPC. На сегодня эти стандарты уступают по популярности более новому стандарту COM-Express, однако по-прежнему поддерживаются достаточно большим количеством производителей , . В качестве примеров ETX и XTX можно рассмотреть модули от таких производителей, как Avalue, Congatec, Kontron, MSC, Norco, SECO и др.
  • COM-Express (COMe) - это стандарт «компьютера-на-модуле», созданный для замены устаревших ETX и XTX . Он был представлен в 2005 г. консорциумом PIСMG и определяет как размер модуля (рис.1), так и его интерфейсы. На сегодня вышла вторая ревизия стандарта, которая описывает семь различных типов цоколевки разъемов, и четыре возможных форм-фактора модулей (от 55×84 до 110×155 мм). Стандарт характеризуется применением в высокопроизводительных системах, обязательна поддержка Ethernet10/100/1000, SATA, LPC, 8×USB (включая поддержку USB 3.0), 6×PCI-Express, аудио, видео. Питание 12 В. К самым известным производителям модулей COMExpress можно отнести RadiSys и Kontron, Congatec и AdLink.

Кроме того, к высокопроизводительным модулям можно отнести процессорные платы магистрально-модульных систем, таких как CompactPCI и AdvancedTCA.

CompactPCI - это системная шина, широко используемая в промышленной автоматике и магистрально-модульных системах. Электрически она совместима с шиной PCI, но позволяет подключить больше устройств. Поддерживается «горячее» подключение плат, но в настоящее время данный стандарт фактически устарел по пропускной способности. Основной конкурент - шины VME, VME32, VME64, используемые в военной технике НАТО, но в России данные стандарты распространения не получили. Разрабатываются расширения, такие как PCI-E, но перспективы их использования не определены.

Рис. 2. «Компьютер-на-модуле» стандарта Qseven: SECO QuadMo747-X/i.MX6 с процессором Freescale iMX6

AdvancedTCA, MicroTCA (Telecom­munications Computing Architecture - «архитектура для телекоммуникационных вычислений») - архитектура, разработанная при участии более 100 компаний - производителей промышленного и телекоммуникационного оборудования под руководством PICMG и являющаяся новым поколением стандартизованных телекоммуникационных вычислительных платформ, пришедшим на смену устаревшего CompactPCI. Механически представляет собой стандартные корзины для подключения плат стандартных размеров со стандартными разъемами и расположением контактов на них. Поддерживает «горячее включение» плат и несколько топологий связи между ними. Основной средой передачи информации между платами является Ethernet, хотя дополнительно на разъеме есть и тестовые сигналы JTAG, тактовые импульсы (clock), а также сигнальные провода, проходящие через коммутатор сигналов (Switch Fabric). Дополнительно в стандарте описана система охлаждения процессорных модулей, единая на всю корзину. Процессорные модули с интерфейсом TCA могут использоваться в широком диапазоне применений - как для построения кластера для облачных вычислений (где основной интерфейс между модулями Ethernet), так и для телекоммуникационных решений с синхронными последовательными интерфейсами, подключением видеокамер, звука, внешних датчиков и т. д.

Малопроизводительные модули

Рис. 3. «Компьютер-на-модуле» стандарта Qseven: SECO uQ7-OMAP5 40×70 мм с процессором Texas Instruments OMAP5

До недавнего времени к малопроизводительным можно было отнести различные модули SoDIMM и 2,5” одноплатные компьютеры, выполненные на ARM-процессорах (чаще всего производителями используется ARM9). Стандартизации таких модулей не предполагалось, поэтому каждый производитель сам определял форм-фактор и срок жизни выпускаемой продукции. Что, естественно, влекло за собой определенные риски для разработчиков, так как изначально никакой совместимости модулей от разных производителей не предполагалось. Однако на сегодня ситуация немно­го изменилась: с выходом спецификации Revision 2.0 открытого промышленного стандарта Qseven , с одной стороны, и выпуском новых малопотребляющих процессоров (к примеру, таких как Freescale i.MX6 Solo, рис. 2), с другой. Сейчас у разработчиков появилась возможность использовать малопроизводительные модули без рисков для срока жизни полученной продукции. Поскольку соблюдение стандарта различными производителями означает взаимозаменяемость модулей между собой, разработку не придется начинать с нуля: можно просто подобрать аналогичный модуль в стандарте Qseven от другого производителя. Кроме этого, новая ревизия спецификации Qseven предусматривает модули половинного размера - всего 40×70 мм (рис. 3), что как нельзя лучше подходит для сегмента начальных и малопроизводительных систем.

Модули средней производительности

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

Что касается доступности модулей и срока их жизни, то здесь можно отметить следующие положительные особенности. С одной стороны, в модулях используются встраиваемые процессоры с долгим сроком жизни таких производителей, как Intel, AMD, VIA Technology, NVidia, Texas Instruments и Freescale. С другой стороны, на сегодняшний момент насчитывается уже более 50 производителей процессорных модулей в стандарте Qseven. К тому же при необходимости можно на уже выпускаемой продукции заменить процессорный модуль Q7 на аналогичный собственной разработки. При этом срок выпуска продукции (time-to-market) получится небольшим, и можно будет перейти на собственную вычислительную платформу или иметь широкий диапазон процессорных модулей в едином стандарте под разные задачи.

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

Таблица. Классификация модулей
Производитель Начальный уровень Мультимедиа Высокая
производительность,
вычислительные
задачи
Ответственное
применение, широкий
температурный диапазон
Seco QuadMo747-X/i.MX6 uQ7-OMAP5 uQ7-OMAP5 QuadMo747-X/i.MX6
QuadMo747-X/OMAP3 QuadMo747-X/T30 QuadMo747-GSeries QuadMo747-X/OMAP3
QuadMo747-Z5xx QuadMo747-X/T20 QuadMo747-X/i.MX6 QuadMo747-XL
QuadMo747-X/i.MX6 QuadMo747-X/T30 QuadMo747-EXTREME
QuadMo747-X/i.MX51 QuadMo747-E6xx
QuadMo747-GSeries
QuadMo747-E6xx
Avalue EQM-CDV
EQM-A50M

Если рассматривать стандарт Qseven более подробно, то можно отметить следующие основные особенности, выгодно отличающие его от других стандартов «компьютеров-на-модуле».

Рис.4. Основные промышленные интерфейсы стандарты Qseven

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

  • высокоскоростных интерфейсов, таких как PCI Express, SATA, USB 2.0+, GigabitEthernet и т. д.;
  • графических интерфейсов, таких как LVDS, SDVO, HDMI и DisplayPort;
  • основных промышленных интерфейсов (включая CAN, SPI, SDIO, I 2 C и т. п.) (рис. 4).

Во-вторых, в стандарте приведены:

  • полное электрическое описание сигналов указанных интерфейсов;
  • полное конструкторское описание соединительного разъема (недорогого и доступного MXM) с указанием местоположения сигналов на нем;
  • конструкторское описание самих модулей.

Размеры модулей всего 70×70 мм, тогда как для COM-Express это 125×95 мм, а для ETX/XTX - 114×95. Готовые одноплатные компьютеры формата PC/104 имеют больший размер - 96×90 мм. Данная информация носит открытый характер и доступна любому желающему в документации на стандарт Qseven .

Опыт использования модулей

Рис. 5. Структура предлагаемого устройства

Для построения многоканального видеорегистратора с хранением данных на жестком диске и управлением по локальной сети была предложена структура, показанная на рис. 5.

Блоки AVx содержат АЦП аудио и видео. DSPx обеспечивает сжатие полученных данных и отправку сжатого потока через FPGA на процессорный модуль PC. Процессорный модуль принимает данные от нескольких видеокамер, формирует из них контейнеры для хранения и записывает на жесткий диск, а также прокидывает сквозной канал для просмотра и архивирования данных по локальной сети.

Поток данных внутри такой системы оказался достаточно большим, и малопроизводительные модули для реализации оказались непригодны. Высокопроизводительные модули выделяют слишком много тепла, так что внутри компактного регистратора их установить невозможно. Поэтому в качестве процессорных модулей были выбраны Qseven - SECO QuadMo747-Z5xx, содержащие процессор Intel Atom Z500 series 1,6 ГГц, 1 Гбайт памяти DDR2, GBE и SATA2. Наличие NAND-drive диска позволило установить прямо на модуль операционную систему Linux, чтобы не зависеть от наличия и исправности жесткого диска. После оптимизации ПО и уменьшения количества одновременно используемых камер оказалось возможным перейти на модуль с частотой процессора не 1,6, а 1,1 ГГц, а также перейти на процессорные модули с ARM-процессорами. Внешний вид устройства представлен на рис. 6.

Выбор описанных модулей существенно сократил время разработки устройства и сделал его проще, надежнее и функциональнее. Например, не заложенная изначально функция беспроводного управления регистратором оказалась возможной с установкой миниатюрного модуля USB-Wi-Fi. Точное время может быть получено с внешнего устройства GPS, также подключенного через USB. Для расширения температурного диапазона использования устройства впоследствии был подключен программно управляемый вентилятор охлаждения. В результате получился многофункциональный компактный прибор, выполняющий все необходимые заданные функции и даже больше. Есть запас ресурсов по расширению функциональности.

Выводы

Рис. 6. Сверху — внешний вид устройства; снизу — расположение плат

В статье были рассмотрены различные варианты управляющих процессорных модулей для встраиваемых систем. Можно сделать следующие выводы:

  1. В перспективных разработках в качестве компактных высокопроизводительных модулей стоит рассматривать COM-Express. Они производительные, недорогие, но требуют внешнего охлаждения или большого радиатора.
  2. Для построения кластера из большого числа как однородных, так и разнородных модулей удобно использовать стандарт AdvancedTCA или его уменьшенный вариант MicroTCA. Процессорные модули в таких системах дороже, чем тот же COM-Express, но зато легко собираются в кластеры, в корзине стандартно находится блок охлаждения, решены вопросы обмена информацией между модулями питания и резервирования.
  3. В качестве малопотребляющего производительного модуля, способного работать без активного охлаждения, рекомендуется использовать модули стандарта Qseven. Это целое семейство процессорных модулей различной производительности, построенных на различных платформах, но имеющих стандартные интерфейсы, такие как Ethernet, USB, SATA, SPI, LPC и др. Есть опыт практического использования серийных устройств на базе таких модулей.
  4. Для управления медленными процессами можно использовать любой из целого класса малопроизводительных модулей, подходящий по размерам, интерфейсам и цене.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

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

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

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

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

1 . Анализ задания

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

Управляющий автомат определяет порядок реализации вычислительных операций и отображает граф-схему функционирования электронной системы. Входной информацией для управляющего автомата является множество осведомительных сигналов {X} и множество внешних флагов ветвления {F}, результатом функционирования - множество признаков выполняемых микроопераций {Y}.

Операционный автомат осуществляют вычислительные действия над операндами. Структурно операционный автомат состоит из элементов памяти (регистров), осуществляющих хранение значений операндов, и комбинационных схем, отвечающих за выполнение микроопераций. Входной информацией для операционного автомата являются линии данных {D} и множество выполняемых в данном такте микроопераций {Y}, выходами являются линии результата {R} и выработанные признаки результата {X}, используемые в управляющем автомате.

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

На рисунках 1.2 и 1.3 приведены ГСА действий, которые должен выполнять проектируемый процессорный модуль.

Рисунок 1.2 - Умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Рисунок 1.3 - Умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя

Для выполнения поставленной задачи необходимо объединить две ГСА, т. к. проектируемый процессорный модуль должен выполнять две операции. Для выбора одной из операций в объединенную ГСА, которая изображена на рисунке 1.4 добавлена условная вершина, проверяющего состояние регистра COP (code of operation). Данные в СОР являются, как и операнды, входной информацией для проектируемого процессорного модуля.

В объединенной ГСА относительно исходных алгоритмов была изменена операция обнуления регистра С. Обнуление младших восьми разрядов регистра было изменено на обнуление всех разрядов, т. к. это при проектировании управляющего автомата позволит сократить количество признаков выполняемых микроопераций {Y}. С той же целью была создана общая для обеих ГСА вершина вывода результата.

Таким образом, при проектировании процессорного модуля необходимо использовать объединенную ГСА, описывающую алгоритмы выполнения предусмотренных действий. Процессорный модуль будет логически разбит на две подсистемы - ОА и УА, которые будут проектироваться как независимые устройства.

Рисунок 1.4 - Общая ГСА

2 . Проектирование операционного автомата

2.1 Общие вопросы функционирования операционных атоматов

Функции ОА сводятся к вводу-выводу и хранению слов информации, выполнению микроопераций и вычислению логических условий. Чтобы реализовать эти действия, необходим набор элементов, достаточный для построения структур с заданными функциями. Такой набор элементов называется структурным базисом ОА.

Основными операционными элементами, используемыми в ОА, являются:

Управляемые шины, обеспечивающие передачу информации;

Регистры;

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

В общем виде структура ОА представлена на рисунке 2.1, где Ф - комбинационные схемы, выполняющие преобразование, S - память, ? - комбинационные схемы, формирующие осведомительные сигналы.

Рисунок 2.1 - Общая структура ОА

процессорный модуль обработка информация

2.2 Структурная организация М-автоматов

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

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

Рисунок 2.2 - Обобщенная структура ОА типа М

В такой структуре микрооперации, связанной с преобразованием y p: S k:

M (S i , S j), ставится в соответствие следующий набор операторов:

M: z:= ? m (A 1 , A 2);

y p = {a i , b i , ? m , d k }.

2.3 Проектирование М-автомата

Разработка структуры М-автомата подразумевает выполнение следующих этапов:

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

A (7:0), B (7: 0), C (15: 0), CnT (3:0), COP.

2. Распределим регистры по двум шинам А 1 и А 2:

Arg1 = {C}, Arg1 (15: 0);

Arg2 = {A, B}, Arg2 (7: 0).

3. Определим микрооперации, выполняемые М-автоматом:

Таблица 2.1 - Операции для М-автомата

Микрооперация

Результат

C (15:0):=C (15:0)+A (7:0)

Z=Arg1 (15:0)+Arg2 (7:0)

B (7:0):=R1 (C(0).B (7:1))

Z=R1 (Arg1 (0).Arg2 (7:1))

C (7:0):=R1 (CF.C (7:1))

Z=R1 (CF. Arg1 (7:1))

R (15:0):=C (7:0).B (7:0)

C (15:0):=L1 (C(14:0).0)

Z=L1 (Arg1 (14:0).0)

B (7:0):=L1 (B(6:0).0)

Z=L1 (Arg2 (6:0).0)

R (15:0):=C (15:0)

4. Выделим классы эквивалентных микроопераций и найдем для них обобщенные микрооператоры:

5. Построим схему М-автомата уровня регистровых передач:

Рисунок 2.3 - Схема М-автомата уровня регистровых передач

3 . Проектирование управляющего автомата

3.1 Общие вопросы функционирования устройств управления с жёсткой логикой

Под УУ понимается совокупность блоков и узлов процессора, обеспечивающих координированные работы всех устройств ЭВМ и управление ими для всех принятых режимов.

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

Последовательность выполнения программы:

выбор команды из ОП

декодирование операций

определение исполнительных адресов операндов

выборка операндов в кэш

выполнение операций

Рисунок 3.1 - Общая структура УУ

БУК осуществляет хранение считанной из памяти команды и формирует адреса следующей команды. Считывание из памяти очередной команды, преобразование адресной и операционной частей команды осуществляет БУО.

Для выработки синхронизирующих сигналов и согласования работы БУК и БУО используется БМУ.

При использовании «жёсткой» логики УА строятся из разрозненных комбинационных схем и элементов памяти. Закон функционирования УА определяется порядком соединения элементов между собой.

Основными элементами, с помощью которых могут быть построены УА, являются:

1 Элементы задержки (D-триггер)

2 Распределители сигналов (сдвигающие регистры)

3 Как цифровой автомат

3.2 Уточненная граф-схема алгоритма

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

Преобразование объединенной ГСА в уточненную включает следующие действия:

1. замена микроопераций их условными обозначениями y i ;

2. разделение операционных вершин с n микрооперациями преобразования на n операционных вершин, т. к. ОА типа М не может выполнять больше одной микрооперации преобразования за один такт работы;

3. разметка состояний управляющего автомата по правилам:

Состояние после «начала» и перед «концом» должно иметь метку

Состояние после каждой операторной вершины должно иметь метку

Рисунок 3.2 - Уточненная (размеченная) ГСА

3.3 Проектирование управляющего автомата с жёсткой логикой

Разработка структуры УА подразумевает выполнение следующих этапов:

По размеченной ГСА строится граф переходов алгоритма:

Рисунок 3.3 - Граф переходов управляющего автомата

Таблица 3.1 - Кодирование состояний

Состояние

Количество входов

Кодировка

Таблица 3.2 - Структурная таблица переходов управляющего автомата

Исходное состояние

Двоичный код исходного состояния

Результирующее состояние

Двоичный код результирующего состояния

Условие перехода

Формируемый выход

Функции возбуждения

Из данной таблицы можно получить следующие зависимости:

Для дешифратора состояний:

Для функций выхода

Для функции возбуждения триггеров

Построим схему УА уровня регистровых передач:

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

Т-триггер

DC - декодирующее устройство, преобразующее позиционный двоичный код;

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

Рисунок 3.4 - Схема УА уровня регистровых передач

4 . Проектирование процессорного модуля

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

Очевидно, что полученный процессорный модуль является соединением двух отдельных устройств - ОА и УА. На входы всего процессорного модуля подаются операнды (D 1 , D 2), условие выбора операции (СОР или D 3) и управляющие сигналы (Clk, Start, Stop, Reset). Внутреннее взаимодействие между ОА и УА заключается во взаимопередаче сигналов: ОА генерирует значения вычисленных логических условий {X} на каждом такте, УА формирует сигналы выполнения необходимых на данном такте микроопераций {Y}. Также операционное устройство формирует результат выполнения заданного значением регистра СОР действия, который подается на выходную шину R.

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

5 . Анализ результатов синтеза

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

5.1 Тестирование VHDL одели операционного устройства

После разработки VHDL-модели ОА была получена временная диаграмма работы устройства, представленная на рисунке 5.1.

Рисунок 5.1 - Временная диаграмма работы VHDL-модели ОА

Моделирование работы ОА осуществлялось при подаче на входы устройства входных данных (d1, d2, d3), текущей микрокоманды и сигналов синхронизации (clk) и асинхронного сброса (rst). В результате моделирования и отладки был сделан вывод о соответствии работы устройства требованиям к ОА. (Текст VHDL-модели операционного автомата - в приложении 1).

5.2 Тестирование VHDL одели управляющего устройства

После разработки VHDL-модели УА была получена временная диаграмма работы устройства, представленная на рисунке 5.2.

Рисунок 5.2 - Временная диаграмма работы VHDL-модели УА

Для моделирования работы управляющего устройства на входы устройства были поданы сигналы синхронизации (clk) и асинхронного сброса (rst) а также значения вычисленных операционным автоматом логических условий. (Текст VHDL-модели управляющего автомата - в приложении 2).

Моделирование работы устройства осуществлялось по стратегии обхода всех дуг. В результате моделирования был сделан вывод о работоспособности модели, т. к. во всех состояниях УА в качестве выходного вектора подавались сигналы микроопераций, соответствующие отмеченным в уточненной ГСА.

5.3 Тестирование VHDL одели процессорного модуля

После разработки VHDL-модели УА были получены временные диаграммы выполнения двух действий, представленные на рисунках 5.3 и 5.4. Для моделирования на входы модели процессорного модуля были поданы данные для выполняемого действия (d1, d2 - операнды; d3 - код выполняемой операции). Результат выполнения операции был получен на выходной шине r.

Рисунок 5.3 - Умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Проверка результатов моделирования работы, представленных на рисунке 5.3:

28 * 10 = 280, или

00011100 * 00001010 =100011000.

Рисунок 5.4 - Умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя

При моделировании получен верный результат.

Выводы

Результатом выполнения курсового проекта является процессорный модуль, состоящий из операционного М-автомата и управляющего автомата с жёсткой логикой типа Мили, и выполняющий действия, согласно заданию: умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя и умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Исходными данными к проектированию были граф-схемы алгоритмов заданных действий, типы ОА и УА и разрядность операндов.

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

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

Список использованных источников

1. Кораблев Н.М. - Конспект лекций по дисциплине «Компьютерная схемотехника» - Харьков, 2010 г.

2. Кораблев Н.М., Саранча С.Н., Саранча О.Н. - Методические указания к лабораторным работам по дисциплине «Компьютерная схемотехника»: Часть 2 «Проектирование сложных систем» - Харьков: ХНУРЭ, 2006 г.

3. Бибило П.Н. Синтез логических схем с использованием языка VHDL. - М.: СЛОН-Р, 2002. - 384 с.

4. http://vhdl - 1 .ru/

5. http://www.vhdl - 1 .ru/compon.html

6. http://www.bsuir.by/vhdl/index.php ? s ection=main

Приложение 1

VHDL-модель операционного автомата

use IEEE.STD_LOGIC_1164.all;

clk, rst: in STD_LOGIC;

d3: in STD_LOGIC;

r: out STD_LOGIC_VECTOR (15 downto 0);

x: out STD_LOGIC_VECTOR (4 downto 0)

architecture arch of OA_M is

Объявление внутренних сигналов

signal A, B, Arg2: STD_LOGIC_VECTOR (7 downto 0);

signal CF: STD_LOGIC_VECTOR (8 downto 0);

signal C, Arg1, Z: STD_LOGIC_VECTOR (15 downto 0);

signal Cnt: INTEGER;

signal COP: STD_LOGIC;

Сигналы A, B, C, COP - входы соответствующих регистров

Сигналы Arg1, Arg2 - шины аргументов

Сигнал Cnt - счётчик

process (clk, rst) is

Асинхронный сброс

A<=(others=>"0");

B<=(others=>"0");

C<=(others=>"0");

elsif rising_edge(clk) then

Синхронная записаь в регистр А

if y(1)="1" then A<=d1;

Синхронная записаь в регистр В

if y(2)="1" then B<=d2;

elsif (y(7) or y(12))="1" then B<=Z (7 downto 0);

Синхронная записаь в регистр С

if y(3)="1" then C<=(others=>"0");

elsif (y(6) or y(8) or y(11))="1" then C<=Z;

Синхронная запись результата

if y(10)="1" then r<=C (7 downto 0)&B (7 downto 0);

elsif y(13)="1" then r<=C;

Синхронная запись в счетчик

if y(4)="1" then Cnt<=8;

elsif y(9)="1" then Cnt<=Cnt-1;

Синхронная запись в регистр СОР

if y(5)="1" then COP<=d3;

else COP<="0";

Шина аргумента 1

arg1<= C when (y(6) or y(7) or y(8) or y(11))="1"

else (others=>"0");

Шина аргумента 2

arg2<= A when y(6)="1"

else B when (y(7) or y(12))="1"

else (others=>"0");

Формирование флага переноса

CF<=("0"&A (7 downto 0))+("0"&B (7 downto 0)) when y(8)="1";

Шина результата

Z<=Arg1 (15 downto 0)+arg2 (7 downto 0) when y(6)="1"

else «00000000»&Arg1 (0)&Arg2 (7 downto 1) when y(7)="1"

else «00000000»&CF(8)&Arg1 (7 downto 1) when y(8)="1"

else Arg1 (14 downto 0)&"0" when y(11)="1"

else «00000000»&Arg2 (6 downto 0)&"0" when y(12)="1"

else (others=>"0");

Формирование признаков результата

x(2)<="1" when B(0)="1" else "0";

x(3)<="1" when Cnt=0 else "0";

x(4)<="1" when B(7)="1" else "0";

Приложение 2

VHDL-модель управляющего автомата

use IEEE.STD_LOGIC_1164.all;

entity ua_mili is

clk: in STD_LOGIC; - вход синхронизации

rst: in STD_LOGIC; - вход сброса

x: in STD_LOGIC_VECTOR (4 downto 1); - входы логических условий

y: out STD_LOGIC_VECTOR (13 downto 1) - выходы микроопераций

architecture arch of ua_mili is

type TState is (a0, a1, a2, a3, a4, a5, a6, a7, a8); - множество внутренних состояний

signal State: TState;

process (clk, rst) is - функция переходов

if rst="0" then state<=a0;

elsif rising_edge(clk) then

when a0=>state<=a1;

when a1=>state<=a2;

when a2=>if x(1)="1" then state<=a3;

else state<=a6;

when a3=>state<=a4;

when a4=>state<=a5;

when a5=>if x(3)="1" then state<=a0;

else state<=a3;

when a6=>state<=a7;

when a7=>state<=a8;

when a8=>if x(3)="1" then state<=a0;

else state<=a6;

process(state) is - функция выходов

y<= «0000000000000»;

when a0=>y(1)<="1"; y(2)<="1"; y(3)<="1"; y(4)<="1";

when a1=>y(5)<="1";

when a2=>if x(1)="1" then

if x(2)="1" then y(6)<="1";

else y(11)<="1";

when a3=>y(7)<="1";

when a4=>y(8)<="1"; y(9)<="1";

when a5=>if x(3)="1" then y(10)<="1";

else if x(2)="1" then y(6)<="1";

when a6=>if x(4)="1" then y(6)<="1";

when a7=>y(9)<="1"; y(12)<="1";

when a8=>if x(3)="1" then y(13)<="1";

else y(11)<="1";

architecture struct of ua_mili is

signal D, Q:std_logic_Vector (3 downto 0); - входы и выходы регистра состояния

signal a0, a1, a2, a3, a4, a5, a6, a7, a8:STD_LOGIC;

process (clk, rst) is - процесс описывает 4-хразрядный регистр

if rst ="0"then Q<= «0001»;

elsif rising_edge(clk) then

Дешифратор состояний

a0<=(not Q(3)) and (not Q(2)) and (not Q(1)) and Q(0);

a1<=Q(3) and (not Q(2)) and (not Q(1)) and (not Q(0));

a2<=(not Q(3)) and (not Q(2)) and Q(1) and Q(0);

a3<=(not Q(3)) and (not Q(2)) and (not Q(1)) and (not Q(0));

a4<=(not Q(3)) and Q(2) and Q(1) and (not Q(0));

a5<=(not Q(3)) and Q(2) and (not Q(1)) and Q(0);

a6<=(not Q(3)) and (not Q(2)) and Q(1) and (not Q(0));

a7<=(not Q(3)) and Q(2) and (not Q(1)) and (not Q(0));

a8<=(not Q(3)) and Q(2) and Q(1) and Q(0);

Функции возбуждения триггеров

D(0)<=a1 or a4 or (a5 and x(3)) or a7 or (a8 and x(3));

D(1)<=a1 or (a2 and not x(1)) or a3 or a7 or (a8 and not x(3));

D(2)<=a3 or a4 or (a6 and x(4)) or (a6 and not x(4)) or a7;

Функции выходов

y(1)<=a0; y(2)<=a0; y(3)<=a0; y(4)<=a0; y(5)<=a1;

y(6)<=(a2 and x(1) and x(2)) or (a5 and not x(3) and x(2)) or (a6 and x(4));

y(7)<=a3; y(8)<=a4; y(9)<=a4 or a7; y(10)<=a5 and x(3);

y(11)<=(a2 and not x(1)) or (a8 and not x(3));

y(12)<=a7; y(13)<=a8 and x(3);

Приложение 3

VHDL-модель процессорного устройства

use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_unsigned.all;

clk, rst: in STD_LOGIC;

d1: in STD_LOGIC_VECTOR (7 downto 0);

d2: in STD_LOGIC_VECTOR (7 downto 0);

d3: in STD_LOGIC;

r:out STD_LOGIC_VECTOR (15 downto 0)

architecture PM of PM is

Компонент - операционный автомат типа М

component OA_M is

clk, rst: in STD_LOGIC;

y: in STD_LOGIC_VECTOR (13 downto 1);

d1: in STD_LOGIC_VECTOR (7 downto 0);

d2: in STD_LOGIC_VECTOR (7 downto 0);

d3: in STD_LOGIC;

r:out STD_LOGIC_VECTOR (15 downto 0);

x: out STD_LOGIC_VECTOR (4 downto 1)

Компонент - управляющий автомат с жесткой логикой типа Мили

component ua_mili is

clk, rst: in STD_LOGIC;

x: in STD_LOGIC_VECTOR (4 downto 1);

y: out STD_LOGIC_VECTOR (13 downto 1)

Сигналы, которыми обмениваются ОА и УА.

signal y: STD_LOGIC_VECTOR (13 downto 0);

signal x: STD_LOGIC_VECTOR (3 downto 0);

OA: OA_M port map (clk, rst, y (13 downto 1), d1, d2, d3, r, x);

UA: ua_mili port map (clk, rst, x, y (13 downto 1));

Размещено на Allbest.ru

Подобные документы

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

    курсовая работа , добавлен 29.06.2011

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

    курсовая работа , добавлен 13.06.2015

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

    реферат , добавлен 18.01.2012

    Анализ выбора цифрового сигнального процессора и структурной схемы устройства обработки информации. Расчет надежности устройства и производительности обмена данных, разработка ленточного графика. Обзор особенностей радиального и межмодульного интерфейса.

    дипломная работа , добавлен 20.05.2012

    Основные операции с матрицами. Проектирование объектно-ориентированного модуля для работы с матрицами в среде Delphi 7. Разработка программы, которая позволяет выполнять различные действия над матрицами. Описание интерфейса программы, исходный код модуля.

    курсовая работа , добавлен 15.01.2013

    Разработка условного графического обозначения элемента схемы. Разработка посадочного места, типового компонентного модуля. Формирование технического задания. Макетирование отдельных узлов и устройства. Разработка схемы электрической принципиальной.

    методичка , добавлен 26.01.2009

    Выбор принципов проектирования устройства записи, хранения и передачи чисел. Разработка алгоритма выполнения операций, необходимых для обработки информации. Структурная схема устройства. Элементарная база, необходимая для разработки принципиальной схемы.

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

    курсовая работа , добавлен 16.08.2012

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

    курсовая работа , добавлен 24.09.2010

    Клавиатура как основное устройство ввода данных. Устройства манипуляторного типа, их виды и характеристики. Принципы действия сканеров. Предназначение графических планшетов. Устройства вывода информации, виды мониторов. Внешние хранители информации.

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

Рисунок 2.2 - Типовая архитектура ПЛК

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

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

Процессорный модуль включает в себя микропроцессор (центральное процессорное устройство - ЦПУ), запоминающие устройства, часы реального времени и сторожевой таймер. Термины "микропроцессор" и "процессор" в настоящее время стали синонимами, поскольку все вновь выпускаемые процессоры выполняются в виде СБИС, т.е. являются микропроцессорами.

Основными характеристиками микропроцессора являются разрядность (в ПЛК используются 8-ми, 16-ти и 32-разрядные микропроцессоры), тактовая частота, архитектура, наличие операций с плавающей точкой, типы поддерживаемых портов ввода-вывода, температурный диапазон работоспособности и потребляемая мощность.

Производительность микропроцессоров с одной и той же архитектурой пропорциональна тактовой частоте. Большинство контроллеров используют микропроцессоры с сокращенным набором команд (RISC - Reduced Instruction Set Computing), в которых используется небольшое количество команд одинаковой длины и большое количество регистров. Сокращенный набор команд позволяет строить более эффективные компиляторы и конвейер процессора, способный за каждый такт выдавать результат исполнения очередной команды.

Для контроллеров, выполняющих интенсивную математическую обработку данных, важно наличие математического сопроцессора (вспомогательного процессора, выполняющего операции с плавающей точкой) или сигнальных процессоров, в которых операции типа Y=A*B+X выполняются за один такт. Сигнальные процессоры позволяют ускорить выполнение операций свертки или быстрого преобразования Фурье.



Емкость памяти определяет количество переменных (тегов), которые могут быть обработаны в процессе функционирования ПЛК. В микропроцессорах время доступа к памяти является одним из существенных факторов, ограничивающих быстродействие. Поэтому память делят на несколько уровней иерархии, в зависимости от частоты использования хранящихся в ней данных и быстродействия. Иерархия памяти относится к существенным характеристиками архитектуры процессора, поскольку она позволяет снизить отрицательное влияние медленной памяти на быстродействие микропроцессора. Основными типами памяти является постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и набор регистров. Регистры являются самыми быстродействующими элементами памяти, поскольку они используются арифметико-логическим устройством (АЛУ) для исполнения элементарных команд процессора. ПЗУ используют для хранения редко изменяемой информации, такой, как операционная система, драйверы устройств, загрузчик, исполняемый модуль программы пользователя. ОЗУ используется для хранения данных, которые многократно изменяются в процессе работы контроллера, например, значения тегов, результаты промежуточных вычислений, диагностическая информация, массивы, выводимые на графики, данные для отображения на дисплее.

В качестве ПЗУ (или ROM - "Read Only Memory") обычно используется электрически стираемая перепрограммируемая память (EEPROM - "Electrically Erasable Programmable ROM". Разновидностью EEPROM является флэш-память, принцип действия которой основан на хранении заряда в конденсаторе, образованном плавающим затвором и подложкой МОП-транзистора. Особенностью флэш-памяти является ее энергонезависимость, т.е. сохраняемость данных при выключенном питании. Стирание и перезапись во флэш-памяти выполняется не отдельными ячейками, а большими блоками, поэтому она получила название, происходящее от английского "flash" - "вспышка" . Недостатком всех ПЗУ является низкое быстродействие.

В качестве ОЗУ современные микропроцессоры используют статическую память (SRAM - Static Random Access Memory) и динамическую (DRAM - "Dynamic Random Access Memory"), SDRAM ("Synchronous DRAM"). SRAM выполняется на триггерах, информация в которых сохраняется неограниченно долго при наличии питания. В динамической памяти информация хранится на конденсаторах и поэтому DRAM требует периодической регенерации (перезарядки конденсаторов). К недостаткам триггерной памяти относится ее высокая стоимость, связанная с низкой плотностью компоновки триггеров на кристалле, и малое отношение емкости к цене. Достоинством является высокое быстродействие, достигающее гигагерц, в то время как память на конденсаторах не может работать на частотах выше сотен герц. Оба типа памяти (DRAM и SRAM) не могут сохранять информацию при отключении питания ПЛК. Поэтому некоторые типы ПЛК используют батарейное питание памяти для сохранения работоспособности системы автоматизации после кратковременного прерывания питания.

Моноблочные и модульные контроллеры используют, как правило, параллельную шину для обмена данными с модулями ввода-вывода, что позволяет на порядок повысить быстродействие их опроса по сравнению с последовательной шиной. Параллельные шины могут быть стандартными (ISA, PC/104, PCI, ComactPCI, VME, CXM) или частнофирменными. Последовательная шина контроллера (на основе интерфейса RS-485) используется для подключения к нему удаленных (распределенных) модулей ввода-вывода.

Сторожевой таймер (Watchdog Timer - WDT) представляет собой счетчик, который считает импульсы тактового генератора и в нормальном режиме периодически сбрасывается (перезапускается) работающим процессором. Если процессор "зависает", то сигналы сброса не поступают в счетчик, он продолжает считать и при достижении некоторого порога вырабатывает сигнал "Сброс" для перезапуска "зависшего" процессора.

Часы реального времени (РВ) представляют собой кварцевые часы, которые питаются от батарейки и поэтому продолжают идти при выключенном ПЛК. Часы РВ используются, например, для управления уличным освещением в зависимости от времени суток, в системах охраны объектов и других случаях, когда необходима привязка данных или событий к астрономическому времени.

№2 / 2014 / статья 6

Процессорные модули Connect Card® и СonnectCore™ компании Digi International

Александр Самарин (г. Москва)

На основе новой концепции платформ «система-на-модуле» SoM (System-on-Module) можно создавать высокоэффективные, компактные и мобильные решения, предназначенные для широкого спектра приложений. Процессорные платы серий Connect Card® и СonnectCore™ компании Digi International представляют на рынок M2M свою реализацию платформ «система-на-модуле», обеспечивающих новый уровень интеграции и производительности.

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

Последние годы характеризуются ростом приложений, в которых активно используются мультимедийные функции: графика высокого разрешения и качества, ввод изображения со встроенных видеокамер, обработка видеопотока в реальном времени, интерфейсы сенсорной панели, конвертация и сжатие видео и т.п. Ярким примером такого приложения могут служить, например, автомобильные мультимедийные и навигационные системы, системы обеспечения пассивной безопасности и помощи при парковке автомобиля. В таких системах активно используется ввод информации от нескольких видеокамер, установленных в автомобиле. А для вывода видеоинформации используется несколько дисплеев. Для поддержки таких функций требуется высокопроизводительная и многофункциональная процессорная платформа со встроенными аппаратными ресурсами поддержки графических вычислений и преобразований. Большая часть производительности процессорной платы будет направлена на обеспечение ввода видеоданных, обработки в реальном времени изображений, вывода обработанного изображения и графических параметров на экран дисплеев.

Архитектура процессорных модулей «система-на-модуле»

Одним из ключевых направлений разработок инженеров компании Digi в последнее время стали процессорные модули c архитектурой «система-на-модуле», ориентированные на сегмент рынка M2M (Machine-to-Machine). В ранних разработках компании в процессорных модулях серии SmartCat устанавливались процессоры средней производительности Rabbit 2000, работающие на частоте 22,1 МГц (модуль BL21xx) или же процессоры Rabbit 3000, работающие на частоте до 7,4 МГц (модуль LP35xx). Сектор применения таких модулей – бюджетные терминалы, недорогие промышленные контролеры, HMI-контроллеры, контроллеры в Ethernet-коммутаторах, контроллеры управления узлами беспроводного доступа и т.п.

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

Процессорные модули на базе SoC-мультимедийных процессоров Freescale

Рассмотрим перспективные разработки процессорных плат производства компании Digi на базе высокопроизводительных мультимедийных процессоров компании Freescale, имеющих архитектуру «система-на-кристалле» (SoC). Основными достоинствами используемых процессоров являются их высокий уровень интеграции, производительность, встроенные коммуникационные порты, наличие интегрированных функций поддержки графики, мультимедиа, низкое энергопотребление, а также поддержка множества программных платформ. Компания Digi разработала несколько серий компактных процессорных плат Connect Card® и ConnectCore™, обеспечивающих различную производительность и набор встроенных портов.

Рассмотрим три базовых варианта процессорных плат, которые отличаютсяв первую очередь структурой мультимедийного и дисплейного блока. Так модули Connect Card® i.MX28 имеют всего один параллельный порт для подключения модуля TFT ЖК-дисплея, модуль ConnectCore™ 53 – два отдельных дисплейных порта с различными типами дисплейных интерфейсов, а плата ConnectCore™ 6 обеспечивает подключение до четырех независимых дисплеев.

В таблице 1 представлены базовые характеристики процессорных плат Digi, выпускаемых в настоящее время.

Таблица 1. Основные характеристики процессорных плат Connect Card® и ConnectCore™

Процессорные модули Connect Card® i.MX28 ConnectCore™ i.MX53 ConnectCore™ 6 i.MX6
Процессор Freescale i.MX28 ARM926EJ-S; частота до 454 МГц
(1,2 DMIPS/MГц)
Freescale i.MX53 Cortex-A8; частота до 1 ГГц
(2,0 DMIPS/MГц)
Freescale i.MX6 до четырех ядер Cortex-A9; частота до 1,2 ГГц (2,4 DMPIS/MГц)
Размеры модуля, мм Форм-фактор PCI Express Mini Card 51х35х3 82х50х8 50х50х5; SMT формат
Сетевые интерфейсы 802.11a/b/g/n + Bluetooth 4.0, single/dual 10/100 Mbit/s Ethernet 802.11a/b/g/n, single/dual 10/100 Mbit/s Ethernet 802.11a/b/g/n + Bluetooth 4.0, Gigabit Ethernet
Интерфейсы UART;, USB; CAN; SPI; I2C; I2S; ADC; GPIO USB; UART; SPI; I2C; I2S; ADC; SD/MMC; CAN; SATA; GPIO; интерфейс клавиатуры; трехосевой акселерометр CAN; USB; UART; SPI; I2C; I2S; SD/MMC; SATA; PCIe; GPIO
Операционная среда Android; Windows; Linux Android; Windows; Linux Android; Windows; Linux
Разъемы 52-контактный PCI Два по 180 выводов Без разъемов;
SMT-корпус LGA-400
Отладочный набор CC-WMX28-LX CC-WMX53-ANDRD SBC Development Board
Мультимедийные интерфейсы
Дисплейные интерфейсы Один параллельный интерфейс (31-конт. разъем) Два дисплейных интерфейса (до 24 бит) UXGA@60Hz; 2 х LVDS; TV-out/VGA 1080p60 До четырех независимых мультидисплейных интерфейсов; (LVDS/MIPI/parallel/HDMI)
Модули аппаратных
графических ускорителей
Масштабирование; поворот изображения; конверсия цветов Ускоритель 2D/3D-графики (GPU); MPEG-4; H.263; H.264; MPEG-2; VC-1; DivX; RV10; MJPEG; видеокодек 720p/1080p Один или два ускорителя 2D/3D-графики (GPU), видеокодек 1080p
Интерфейс видеокамер Два MIPI/параллельный Два MIPI/параллельный
Интерфейс сенсорного экрана 4/5-проводной (LRADC) да да
Аудио I2S многоканальное цифровое аудио
Аудио I2S многоканальное цифровое аудио многоканальное цифровое аудио
Интерфейс видеокамер Два MIPI/параллельный Два MIPI/параллельный
Интерфейс сенсорного экрана 4/5 wire (LRADC) да да
Аудио I2S многоканальное цифровое аудио многоканальное цифровое аудио

Особенность модуля i.MX6 – на плате нет коннекторов. За счет этого удалось значительно сократить габаритные размеры модуля. Более подробно особенности реализации мультимедийных и дисплейных модулей в структуре процессорных плат серий Connect Card® и ConnectCore™ будет рассмотрены ниже.

Структура процессорного модуля i.MX28

Это бюджетный вариант процессорной платы со средней производительностью для приложений, где требуется в первую очередь малое потребление при большой функциональности. На рисунке 1 приведена структура процессорной платы Connect Card® i.MX28.

На рисунке 2 приведена схема расположения базовых элементов на плате процессорного модуля Connect Card® i.MX28.

Интерфейс с ЖК-дисплеем

На плате Connect Card® i.MX28, помимо краевого PCI-печатного коннектора установлен отдельный интерфейсный разъем для подключения ЖК-дисплея. Интерфейс обеспечивает подключение ЖК-дисплеев с различными типами дисплейных интерфейсов и имеющих различные размеры и разрешения экрана, от простых мультиплексных и монохромных алфавитно-цифровых модулей до TFT ЖК-панелей формата WVGA, с шинами данных шириной 16/18/24 разряда. Интерфейс обеспечивает передачу данных для отображения на экране дисплея реального видео в RGB-режиме. Максимальное разрешение TFT-ЖК-дисплея 800х480 (WVGA). Частота обновления – до 60 Гц. Режимы – RGB/DOTCK/SYSTEM. Также аппаратно обеспечивается конверсия цветов, масштабирование и поворот изображения.

Реализация интерфейса с ЖК-дисплеем

ЖК-дисплей подключается к 31-контактному ZIF-коннектору, установленному на верхней стороне модуля. В отладочном наборе используется кабель компании NICOMATIC (обозначение 050P331K0076-406406). По умолчанию в отладочной плате используется интерфейс ЖК-дисплея с 18-разрядной шиной (6 разрядов на один цвет). Можно использовать и 24-разрядный режим кодирования цветов, однако в этом случае будет отключена функция JTAG-интерфейса, сигналы которого также выведены на этот же разъем. Интерфейс сенсорной панели поддерживается посредством использования LRADC2-5. Для интерфейса с контроллером сенсорной панели можно задействовать один из SPI-портов. В отладочной плате используется порт SSP1. ШИМ-сигналы PWM0, 1, 3, 4, 5 и 6 могут использоваться для управления яркостью подсветки (в отладочной плате используется сигнал PWM0).На модуле в качестве дисплейного разъема используется FCI 10106814-051002LF.

Модули i.MX28 находят применение в медицине и здравоохранении, транспорте, применяются для управления энергораспределем, используются в промышленной автоматизации.

Отладочный набор для процессорного модуля i.MX28

Для ускорения отладки пользовательского ПО можно использовать отладочные наборы, разработанные компанией Digi. На рисунке 3 показан внешний вид такой отладочной платы с указанием размещения интерфейсных разъемов, в частности, разъемов дисплея и сенсорной панели.

Архитектура процессорного модуля ConnectCore™ i.MX53

Процессорный модуль ConnectCore™ i.MX53 является дальнейшей модификацией модуля предыдущего поколения ConnectCore™ i.MX51 и обладает по сравнению с ним существенно лучшей производительностью и функциональностью. В первую очередь это обеспечивается применяемым в модуле новым процессором i.MX53, разработанным компанией Freescale.

Основные различия процессоров i.MX51 и i.MX53

Процессор i.MX53 является более производительным клоном i.MX51. При миграции от i.MX51 к i.MX53 обеспечивается полная совместимость. Увеличена производительность процессора, уменьшено энергопотребление, расширены мультимедийные функции, увеличена частота процессора, скорость обмена по шине памяти, расширен объем адресуемой памяти. Вместо видеокодека HD720p30, используемого в i.MX51 51, в процессоре i.MX53 применяется видеокодек HD1080p, обеспечивающий более высокое разрешение. Также значительно увеличена производительность модуля ускорения 2D/3D-графики. В модуле интерфейса дисплея максимальное разрешение в i.MX53 увеличено до формата UXGA (1600×1200) 60 Гц. Вместо компонентного аналогового видеоинтерфейса HD720/60 Гц в i.MX53 используется интерфейс VGA HD1080p60. В процессоре i.MX53 в модуле дисплейного контроллера дополнительно введен внутренний бридж LVDS-интерфейса. Для реализации LVDS-интерфейса в устройствах на процессоре i.MX51 требуется установка внешнего LVDS-бриджа. Все это в целом должно способствовать увеличению эффективности применения процессорных модулей ConnectCore i.MX53 вместо i.MX51. На рисунке 4 показан внешний вид процессорного модуля ConnectCore™ i.MX53 со стороны установки процессора и других базовых компонентов. Коннекторы для подключения периферийных узлов расположены с другой стороны платы.

В структуре ConnectCore™ i.MX53 используется мультимедийный процессор Freescale i.MX535 нового поколения с высокопроизводительным ядром 1,2 ГГц Cortex-A8. Процессор имеет встроенный кодек видео 1080p/720p и полный набор периферийных интерфейсов. На плате реализованы проводные и беспроводные интерфейсы, две шины CAN. ConnectCore™ i.MX53 просты в интеграции благодаря наличию ключевых функций, таких как встроенное управление энергопотреблением, поддержка мультимедиа, включая аппаратное декодирование видео 1080p, 2D/3D-ускоритель, возможность управления двумя дисплеями высокого разрешения, захват видео с камеры, аппаратное шифрование, беспроводной 802.11a/b/g/n Wi-Fi-интерфейс со скоростью передачи данных до 150 Мбит/с, Bluetooth 4.0, два порта Ethernet (каждый со своим MAC), две шины CAN, возможность подключения устройств по SATA II и полный набор периферии. На рисунке 5 показана структура процессорной платы ConnectCore™ i.MX53.

Модули ConnectCore™ i.MX53 выпускаются в двух вариантах: с коммерческим температурным диапазоном -20…70°C и с промышленным температурным диапазоном -40…85°С.

Мультимедийные интерфейсы ConnectCore™ iMX53

На рисунке 6 показана схема подключения мультимедийных устройств к процессорной плате дисплеев, видеокамер, сенсорной панели экрана, аудиосистем.

Дисплейные интерфейсы

На процессорной плате физически реализовано пять дисплейных интерфейсов различных типов, посредством которых возможно подключение до пяти дисплеев. Однако активными могут быть одновременно только два из них. Суммарная пропускная способность всех интерфейсов – до 180 Mbps при 24 бит на пиксель.

Состав дисплейных интерфейсов:

  • два параллельных 24-разрядных дисплейных порта с пропускной способностью до 165 Mbps (UXGA@60 Гц);
  • два LVDS-последовательных порта. 1 порт до 165 Mbps (HDMI) или 2 порта (WXGA@60 Гц) каждый;
  • один TV-out/VGA-порт с пропускной способностью до 150 Mbps (1080p при 60 Гц).

Один из дисплеев может использовать сенсорную панель.

В мультимедийном модуле процессора i.MX53 реализован интерфейс четырехпроводной резистивной сенсорной панели с тактильным пером. Управление контроллером сенсорной панели может осуществляться через один из портов SPI. Мультимедийный модуль имеет также два параллельных интерфейса для подключения видеокамер.

Дисплейные интерфейсы распределены по контактам двух 180-контактных коннекторов следующим образом:

  • Коннектор J1
    1. сигналы интерфейсов подключения двух видеокамер;
    2. LVDS дисплейного интерфейса;
    3. VGA-интерфейс.
  • Коннектор J2
    1. параллельный RGB-интерфейс/сигналы HDMI;
    2. сигналы VGA-аналогового интерфейса.

Процессорный модуль Connect Core™ i.MX53 DIGI International может быть использован в медицинских приборах, системах безопасности и видеонаблюдения, кассовых терминалах, HMI-контроллерах промышленной автоматики, а также в мультимедийных устройствах.

Отладочная плата ConnectCore™ i.MX53

Компания Digi International выпускает для своего процессорного модуля ConnectCore™ i.MX53 комплект разработчика на базе операционной системы Android. Полный и недорогой отладочный набор JumpStart Kits содержит необходмый инструментарий для поддержки платформ Digi Embedded Linux, Timesys LinuxLink, Android Microsoft, Windows Embedded Compact 7. На рисунке 7 показан внешний вид отладочной платы.

Недорогие, включающие в себя все необходимое, отладочные комплекты Digi JumpStart Kits с Linux, Android и Windows Embedded Compact 7 и полным набором BSP позволяют быстро и профессионально разработать и вывести на рынок свой продукт.

Для освоения встраиваемого модуля CC-Wi-MX51 доступны отладочные комплекты:

  • CC-WMX53-CE – JumpStart Kit для Microsoft Windows Compact 7;
  • CC-WMX53-LX – JumpStart Kit для Digi Embedded Linux;
  • CC-WMX53-ANDRD – JumpStart Kit для ANDROID.

Процессорные модули серии ConnectCore™ 6

Особенностью новых процессорных мультимедийных модулей серии ConnectCore™ 6 является применение многоядерного мощного мультимедийного процессора Freescale, обеспечивающего сверхвысокую производительность, необходимую при работе с несколькими видеопотоками. На модулях может устанавливаться процессор ARM Cortex A9 с количеством ядер 1…4 с рабочей частотой до 1,2 ГГц каждое. Модуль снабжен мультиканальным HD-видеокодеком с возможностью 1080p60-декодирования, 1080p30-кодирования и проигрывания 3D-HD-видео. В модуле реализован режим с поддержкой стереоскопических камер.

Модуль опционально будет содержать сертифицированные WLAN 802.11a/b/g/n и Bluetooth-4.0-радио, интегрированный микроконтроллер Freescale Cortex M0+ и высокоэффективную PMIC для управления энергопотреблением. На рисунке 8 показана структура процессорной платы Connect Core™ 6.

Процессор изготовлен по технологическим нормам 40 нм. Питание ядра процессора – 1,1 В.

Модули серии доступны в трех исполнениях рабочего температурного диапазона:

  • индустриальный диапазон – -40…85°C;
  • расширенный коммерческий – -20…105°C;
  • коммерческий – 0…95°C.

В таблице 2 приведены параметры мультимедийного блока для различных исполнений процессора (числа ядер).

Таблица 2. Параметры мультимедийного блока для различных вариантов процессора i.MX6

Исполнения i.MX 6SoloLite i.MX 6Solo i.MX 6DualLite i.MX 6Dual i.MX 6Quad
Макс. разрешение дисплея, 60 Гц WXGA
(1366×768)
2xWXGA
(1366×768)
2xWXGA
(1366×768)
2x4XGA (2048×1536) или 2x
Дисплейные интерфейсы EPDC; Parallel; Два выхода 2xParallel; 2xLVDS; MIPI-DSI; HDMI; EPDC; Два выхода 2xparallel; 2xLVDS; MIPI-DSI; HDMI; Четыре выхода 2x parallel; 2xLVDS; MIPI-DSI; HDMI; Четыре выхода
Интерфейс видеокамеры 16-bit parallel 2×20-bit parallel; MIPI-CSI2 (2 дорожки); Два входа 2×20-bit parallel; MIPI-CSI2 (4 дорожки); Три входа Types: 2×20-bit parallel; MIPI-CSI2 (4 дорожки); Три входа
Ускоритель графики GPU 3D (OpenGL ES) n/a Vivante GC880; 53 Mtri/s; 266 Mpxl/s; OpenGL ES 2.1 Vivante GC2000;176 Mtri/s 1000 Mpxl/s; OpenGL; GL ES 2.1 & Halti, OpenCL 1.1 EP Vivante GC2000 176 Mtri/s 1000 Mpxl/s; OpenGL; GL ES 2.1 & Halti, OpenCL 1.1 EP
Ускоритель графики GPU 2D (Vector Graphics) via GPU 3D через GPU 3D Vivante GC355; 300 Mpxl/s; OpenVG 1.1 Vivante GC355; 300 Mpxl/s; OpenVG 1.1
GPU 2D (Composition) через GPU 2D Vivante GC320; 600 Mpxl/s, BLIT Vivante GC320; 600Mpxl/s, BLIT Vivante GC320; 600Mpxl/s, BLIT
Ускоритель Audio n/a ASRC ASRC ASRC ASRC
Audio интерфейсы 3xI2S; SPDIF Tx/Rx 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI

Программная часть будет включать Linux (Yocto Linux), Android и Microsoft Windows Embedded.

Дисплейные интерфейсы

Так же, как и в структуре i.MX53, реализованы пять дисплейных интерфейсов. Общая полоса пропускания всех интерфейсов повышена до 450 Mbps при 24 bpp. Подключить можно сразу пять дисплеев. В структуре ConnectCore™ 6 могут быть активными одновременно до четырех подключенных дисплеев.

Дисплейный интерфейс состоит из:

  • одного параллельного 24-разрядного порта с полосой до 225 Mbps (например, WUXGA при 60 Гц) или двух параллельных портов (HD1080 и WXGA/60 Гц);
  • последовательных LVDS-портов - одного с полосой 165 Mbps или двух с полосами по 85 Mbps (например, WUXGA/60 Гц);
  • HDMI-1.4-порта
  • MIPI/DSI с двумя линиями по 1 Гбит/с.

Порты видеокамер

Для подключения видеокамер используются следующие порты:

  • параллельный порт (разрядность шины до 20 бит с полосой до 240 МГц);
  • MIPI CSI-2-последовательный порт камеры с полосой до 1000 Mbps/канал в 1/2/3-канальных режимах, или же с полосой 800 Mbps/канал в 4-канальном режиме.

На рисунке 9 показана схема подключения видеокамер к процессорной плате i.MXSolo.

Основной особенностью конструкции модуля ConnectCore™ 6 является отсутствие разъемов. Модуль имеет конструкцию выводов для поверхностного монтажа по технологии LGA. При поверхностном монтаже по технологии LGA вместо шариков используются плоские контактные площадки из позолоченного никеля (NiAu). Такие площадки имеются как на модуле, так и на печатной плате. Контактные площадки модуля и платы располагаются точно друг напротив друга, и между этими двумя поверхностями наносится ровным слоем паяльная паста. Нагрев производится в печи для оплавления припоя. Результатом является плоское, но широкое паяное соединение. На рисунке 10 показана конструкция модуля i.MX6.

На пользовательской плате размещается соответствующий данному применению набор коннекторов и дополнительных компонентов. Пользователь сам выбирает тип используемых разъемов. В качестве примера на рисунке 11 показан вариант реализации такой платы (отладочная плата). В данном примере для подключения дисплея используется LVDS-порт и 30-контактная розетка под плоский кабель. Дополнительный дисплей может быть подключен через порт LVDS2. На отладочной плате для этого подключения используется однорядный 14-контактный разъем типа DF14-20. Дисплей высокого разрешения может подключаться через стандартный HDMI-коннектор, также установленный на плате. На рисунках 11…12 показаны схемы размещения коннекторов на передней и задней сторонах печатной платы модуля.

На обратной стороне отладочной платы смонтированы разъемы дисплейного параллельного порта, подключения камер MIPI и параллельный CAM1.

Области применения процессорного модуля ConnectCore™ i.MX6:

  • транспорт;
  • устройства промышленной автоматики;
  • медицинские электронные приборы.

ConnectCore™ 6 i.MX6 будет доступен для заказа со второго квартала 2014 года.

Заключение

В портфолио компании Digi International имеется широкий набор компактных модульных решений, подходящих для эффективных применений в различных секторах приложений. Среди них можно выбрать подходящую платформу, соответствующую бюджету и функциональности. Использование модулей серий Connect Card® или ConnectCore™ позволит разработчикам уменьшить затраты на разработку и сократить сроки вывода изделий на рынок. Среди возможных приложений для процессорных модулей Connect Card® или ConnectCore™ следует отметить мобильные устройства со сверхнизким потреблением, человеко-машинные интерфейсы (HMI), портативные медицинские приборы. Кроме того, эти решения найдут применение в портативных измерительных приборах, торговых кассовых аппаратах, промышленной автоматизации и медицинской технике.

Литература

  1. ConnectCore™ for i.MX53™ Hardware Reference.Digi International 2013
  2. Your M2M Expert Andreas Maeser DiGi. Seminar Saint Petersburg
  3. i.MX 6Dual/6Quad Automotive and Infotainment Applications Processors. Freescale Semiconductor
  4. Rabbit SBC LP3500 Series Single-Board Computer. Digi International 2013
  5. СonnectCore 6 Overview.Preliminary. Digi International 2014
  6. ConnectCore 6 Preliminary Product Brief. Digi International 2013
  7. Architectural Differences Between i.MX51 and i.MX53. Freescale Semiconductor. Application Note AN4271. 2011
  8. Технология поверхностного монтажа для M2M-решений. Рональдо Робл. Компоненты и Технологии №3/2009 г.

Процессорный модуль (Processor module) – это разновидность одноплатных компьютеров, относится к встраиваемым компьютерным системам. Представляет собой небольшой модуль, на котором расположены процессор, графический, сетевые и другие необходимые котроллеры, и который может устанавливается на базовую плату различных форм-факторов, как например, ATX или EPIC.

Наша компания поставляет следующие типы процессорных модулей:

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

Процессорные модули, благодаря своему многообразию и универсальности, нашли свое применение во многих отраслях:

  • производство
  • системы автоматизации
  • медицина
  • военно-промышленный комплекс
  • авионика
  • энергетика
  • тестирование и измерение

Функциональные особенности процессорных модулей

Процессорные модули разделяются по типам ETX, COM-Express, QSeven, SOM, uProcessor и отличаются производительностью, низким энергопотреблением и тепловыделением, так как разработаны для встраиваемых применений, где задачи отвода тепла внутри компактного корпуса являются критичными при выборе типа модуля.

Основным преимуществом систем на процессорных модулях является как раз их модульная конструкция. В целом ряде применений не получается использовать платы стандартных форм-факторов, как например, 3.5” или EPIC, так как размеры платы ограничивают количество поддерживаемых интерфейсов ввода-вывода и не всегда можно вывести все необходимые разъемы на плате. Также со временем платы устаревают и найти подходящее решение к уже существующему корпусу становится очень не просто. Если же использовать процессорный модуль совместно с базовой платой, то здесь вы можете сами выбирать какие разъемы вам необходимо вывести на базовую плату, какого размера должна быть базовая плата и какой процессорный модуль (с каким процессором и чипсетом соответственно) использовать в вашей системе. Если же вы хотите улучшить производительность вашей системы и использовать более новые процессоры, например, то вы просто можете выбрать новый процессорный модуль соответствующего типа и установить его на используемую базовую плату.

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

Встраиваемые решения сегодня требуют не только высокой производительности, но также наличия большого числа портов ввода/вывода в компактном форм-факторе. Малые размеры, надежность, масштабируемость – все это преимущества процессорных модулей. Именно поэтому модульные компьютеры спецификаций COM Express, ETX и Qseven активно применяются на данный момент в различных промышленных и военных системах. Ассортимент компании IPC2U представлен процессорными модулями компаний IEI, ICOP, AXIOMTEK, NEXCOM, ADVANTECH и другими мировыми производителями.

Понравилась статья? Поделиться с друзьями: