Назад | Исходный вариант

Контроллеры - конструкторы

Разработка прикладных программ для встроенных микроконтроллеров требует, как известно, определенных программно-аппаратных средств, таких, как ассемблер или компилятор языка высокого уровня, программный отладчик-симулятор, аппаратный эмулятор микроконтроллера и, конечно, плата прототипа будущего изделия. Обычно фирмы-производители микроконтроллеров предлагают обучающие платы (Evaluation Boards), содержащие:

Безусловно, такие изделия пригодны только для целей начального ознакомления или обучения. Чтобы приступить к прикладной разработке, пользователю потребуется уже другая плата — плата прототипа, на котором помимо кристалла микроконтроллера установлены еще схемы периферийных и согласующих устройств, стабилизатор питания и прочая аппаратная обвязка. Сразу же встанет вопрос о подпрограммах-драйверах, через которые приложение будет взаимодействовать с периферийными устройствами. Иными словами, возникает необходимость в программно-аппаратном комплексе для прототипа устройства. Такими комплексами и являются изделия, получившие у нас название КИТы, или контроллеры-конструкторы, а на Западе — Stamp.

Известным примером контроллера-конструктора служит набор BASIC-Stamp фирмы Paralax. Эта прототипная плата содержит PIC-кристалл фирмы Microchip, в который зашит интерпретатор псевдокода BASIC. Псевдокоды приложения загружаются в EEPROM через обычный последовательный канал. Вся необходимая периферия размещена прямо на плате. Одним из главных достижений разработчиков этого Stamp являются библиотечные функции, которыми расширили обычный BASIC. Эти дополнительные функции являются по существу драйверами весьма распространенных периферийных устройств и датчиков: кнопки, контакты, звук, ЖК-индикаторы, светодиоды, операции с EEPROM, последовательный канал, и т.д. BASIC-Stamp стал чрезвычайно популярным именно в силу своей прикладной полезности в работе с прототипами будущих изделий. Другие фирмы стали выпускать Stamp для других кристаллов микроконтроллеров.

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

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

Одно из назначений КИТа — это работа с прототипом аппаратуры конкретного приложения. Кроме того, это заготовка программно-аппаратного ядра системы (узла системы), универсальный, гибкий программируемый инструмент для освоения как конкретного микропроцессора, так и подхода в целом. КИТ может служить готовым уз ом для мелкосерийных изделий.

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

Второй необходимой частью КИТа является программная обо очка, исполняемая на PC:

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

Иногда некоторое количество резидентного кода загружается в память КИТа вместе с отлаживаемой программой. Это может быть отладочный монитор или отдельные отладочные вставки, автоматически размещаемые при компиляции отладочной версии программы.

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

В комплекте поставляется и некоторое количество программно-аппаратных примеров применения (DEMO) или типовых шаблонов программ, а также подробная документация на аппаратуру (описание, схемы) и библиотеки подпрограмм, описание примеров и рекомендации по применению.

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

Примеры

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

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

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

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

С таким набором можно начать разработку и отладку программы в день приобретения конструктора. Взяв за основу один из демонстрационных примеров и постепенно модифицируя его, разработчик уверенно проходит весь путь разработки в кратчайшие сроки. В процессе разработки обязательно выяснится, что конструктор является еще и универсальным инструментом для мониторинга! Это общее свойство всех КИТов — вы можете его использовать в качестве тестера, индикатора, генератора сигналов, сборщика статистики и т.п.

Пусть прикладная задача — «Охранная система ». Типовому КИТу в этом случае не хватает преобразователей для сопряжения с ним датчиков и ключей, автономного источника питания с зарядным устройством, корпуса и прикладной программы. Разработку и отладку программы в комплексе с аппаратурой можно производить, например, по следующей схеме:

Область применения

Ниже приведен список прикладных разработок на основе КИТов фирмы «Фитон », о которых нам достоверно известно, что все они существуют и работают.

  1. Средства передвижения.
        –Противоугонные системы.
        –Зарядные устройства для аккумуляторов.
        –Системы управления двигателем.
        –Контроль параметров бортовых систем (бортовой компьютер).
        –Информационные табло.
        –Контроллер сбора информации о маршруте движения.
  2. Дом.
        –Электронные и кодовые замки.
        –Счетчики электроэнергии, тепла, воды.
        –Противопожарные системы.
        –Охранные системы и сигнализация.
        –Контроллер для управления резервными источниками питания и генераторами.
  3. Бытовая техника.
        –Телефонные аппараты и АОН.
        –Зарядные устройства для бытовых устройств с аккумуляторами.
        –Источники бесперебойного питания компьютеров.
        –Аудио-и видеосистемы с микроконтроллерным управлением.
        –Контроллеры для управления хо одильниками и стиральными машинами.
  4. Медицина.
        –Стационарные цифровые термометры.
        –Системы управления центрифугой.
        –Устройства измерения пульса и давления.
        –Газоанализаторы.
  5. Промышленность и сельское хозяйство.
        –Разнообразные весы.
        –Счетчики предметов на конвейере.
        –Контроль уровня жидкости.
        –Автоматизация деревообрабатывающих станков.
        –Системы неразрушающего контроля и сбора информации (ультразвук).
        –Приборы виброакустической диагностики подшипников.
        –Средства определения течей в трубопроводах.
        –Автономные промышленные контроллеры с выходом по GSM.
  6. Образование и наука.
        –Лабораторный практикум студентов.
        –Системы длительного сбора информации. Геология, сейсмо огия и т.д.
        –Контроллеры сбора и обработки информации физических, химических и др. экспериментов.
        –Приборы для исследования газов, земных недр и космического излучения.
        –Управление техпроцессом в агрессивных условиях.
        –Интеллектуальные датчики для изучения психико-физических возможностей биоогических объектов.
  7. Спорт.
        –Автономные системы измерения нагрузок.
        –Шагомеры и скоростемеры.
        –Системы старт-финиш.
        –Интеллектуальные контроллеры спортивных тренажеров.
  8. Радиолюбительские технологии.
        –Измерительные приборы (тестеры).
        –Генераторы сигналов различной формы.
        –Диктофоны.
        –Терморегуляторы для паяльников.
        –Бегущие огни и цветомузыка.
        –Лазерные и световые эффекты на дискотеке.
        –Системы дистанционного управления.
        –Музыкальные дверные звонки.
  9. Прочее.
        –Цифровой эхо от.
        –Трансиверы и радиостанции с микроконтроллером.
        –Игрушки.
        –Системы управления лифтами.
        –Аппаратные устройства защиты линий связи.
        –Контроллеры автоматического театрального реквизита.
        –Элементы обработки информации для радио окаторов.

По поводу стандартной фразы некоторых разработчиков: «Я и так все сделаю, без инструментальных средств и КИТа », — сказать особенно нечего. Хотя, если перевести эту фразу на бытовой уровень, получится примерно следующее: «Мне перфоратор с победитовым сверлом не нужен, дырки в бетонной стенке я проковыряю с помощью отвертки либо применю коловорот с гвоздем ». Низкое качество, большие затраты энергии и эквивалента денег — времени, вот результат такой работы.

Стоимость инструментальных средств

Платы (Evaluation board, Demo board) предназначены для ознакомления потенциальных потребителей микропроцессора с его возможностями и особенностями. Они могут быть полезны и при отладке некоторых программ, например, арифметической библиотеки. Редко продаются дороже $100, иногда распространяются производителем микропроцессоров бесплатно.

Внутрисхемные эмуляторы — тяжелая артиллерия. Дорогие, сложные изделия, которые весьма эффективны в квалифицированных руках. Позволяют буквально изнутри взглянуть на отлаживаемое устройство. На момент отладки заменяют в системе микроконтроллер. Обычно содержат в себе целый арсенал вспомогательных средств: трассировщик, анализатор эффективности кода, процессор точек останова. Вполне применимы для отладки программ и без прототипной платы непосредственно в готовом изделии. Их применение эффективно в рамках хорошо проработанного и финансируемого проекта с выходом на среднее и крупносерийное производство конечной продукции. Цена $1000 –10 000.

КИТы нацелены на применение в качестве ядра микропроцессорной системы на этапе разработки и для мелкосерийного производства, и их цена редко превышает $100.

В качестве примера рассмотрим несколько контроллеров-конструкторов фирмы «Фитон » (www.phyton.ru ).

Описание KIT-552

Плата KIT-552 предназначена для макетирования и встраивания в качестве узла вычислений и управления в устройства автоматики, измерительные приборы, и другие «интеллектуальные » изделия. Установленный на плате кристалл Philips 80C552 включает в себя аппаратно-программное ядро известного контроллера 8051 плюс множество периферийных аппаратных ресурсов. Кроме того, KIT-552P содержит сопроцессор ввода-вывода на базе микроконтроллера фирмы Microchip, который значительно расширяет аппаратные возможности конструктора и облегчает прикладное проектирование. Сопроцессор общается с контроллером Philips 80C552 по шине I 2 C и запрограммирован на подключение алфавитных многострочных ЖКИ, матричных клавиатур, звукового устройства. Дополнительно сопроцессор обеспечивает режим супер-визора режимов потребления мощности и часов календаря с автономным питанием. Прикладываются подпрограммы взаимодействия с указанными устройствами и демонстрационный тест всего изделия.

Плата KIT-552 содержит:

Промышленный контроллер-конструктор

Данное изделие представляет собой набор плат, корпусов и программного обеспечения, специально предназначенных для конструирования систем промышленной автоматики и телеметрии. Это в полном смысле конструктор, набор деталей, из которых пользователь может сам быстро собрать систему, пригодную для работы в условиях промышленности. Так, например, конструктор содержит стандартные корпуса промышленной автоматики с системой крепления на DIN-планку 35 мм. Подключение внешних цепей — стандартные клеммы. Питание контроллера от напряжения стандартного в промышленности номинала +24 В, для которого в состав конструктора входит отдельный блок питания, также в стандартном корпусе под DIN-планку. Из других специфических черт промышленного применения следует отметить гальванические развязки по всем видам питания и линиям связи. Прилагается программное обеспечение для создания систем слежения, управления и сигнализации с выходом на верхний уровень через стандартные линии связи. В частности, реализован обмен контроллера с удаленным диспетчерским пунктом посредством SMS-сообщений, передаваемых через стандартный GSM-модем. Также реализован протоко ADAM для сетей RS-485, который поддерживается на верхнем, диспетчерском, уровне большинством промышленных SCADA-систем. Важной особенностью данного конструктора является его дистанционное программирование по линии связи с диспетчерского пункта. Это свойство уникально по своей полезности для промышленных применений, доступ к которым затруднен в силу многих причин.

Общий вид устройства приведен на рис.1. Сам конструктор промышленного контроллера состоит из корпуса, платы контроллера, кросс-платы и ряда периферийных плат, согласующих сигналы объекта с уровнями напряжений контроллера. Всего контроллер способен произвести обработку до 30 сигналов ввода-вывода. Для сопряжения с объектом имеется ряд часто используемых в промышленности схем, выполненных на отдельных платах, которые устанавливаются в разъемы на кроссовой плате. Размер плат 35x45 мм 2. Тип устанавливаемой платы сопряжения определяет тип сигнала на внешней клемме, к которой будет подведена цепь от объекта. Например, дискретные ввод или вывод, анаоговый ввод и т.д.

Описание платы контроллера

Кроссовая плата является объединяющим и коммутационным элементом контроллера. Она имеет размер 100x82 мм 2 и свободно устанавливается в корпус. На плате размещены:

Состав плат для сопряжения с объектом:

DSP-конструктор на базе ПЛИС Altera

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

Контроллер-конструктор KIT-AVR

Контроллер-конструктор KIT-AVR предназначен для разработки и мелкосерийного тиражирования малогабаритных устройств на базе микроконтроллеров AVR фирмы Atmel. Конструктор состоит из двух частей:

Технические характеристики платы контроллера

Контроллер KIT-AVR представляет собой печатную плату размером 88x68x16 мм с установленными на ней:

Размер поля для монтажа — 68x36 мм. Микроконтроллер — Atmel AVR ATmega103, 4 МГц, FLASH 128 К, RAM 4 К, EEPROM 2 К. Места пайки корпусов SOIC для установки внешнего ОЗУ двух типов: 32 и 64 кбайт (28 и 32 pin соответственно). Один из двух вариантов последовательного канала: оптоизолированный RS-232 для одноабонентской связи, например, с компьютером или RS-485 для подключения к локальным сетям.

Порт для подключения 1,2 и 4-строчного алфавитного ЖКИ со встроенным управлением на базе HD44780U. Переменный резистор регулировки контраста как обычных, так и дисплеев расширенного температурного диапазона. Никаких дополнительных элементов, кроме плоского кабеля, для подключения ЖКИ не требуется. Прикладывается библиотека подпрограмм: инициализация ЖКИ, исполнение команд, вывод символов, строк, конвертор на знакогенератор кириллицы.

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

Функция часов-календаря с будильником. Она реализуется при установке батареи непрерывного питания и часового кварца 32,768 кГц в предусмотренные на плате места. Реализация автономного таймера вывода контроллера из режима PowerDown. Встроена функция вывода из PowerDown по нажатию клавиш на клавиатуре или по будильнику часов-календаря.

10 бит однополярный АЦП с 8 аналоговыми каналами в диапазоне 0...+5 В.

Реализация ЦАПов с помощью встроенного ШИМ-генератора, разнообразные схемы «захват — сравнение ».

Порт для подключения звукового устройств двух типов:

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

Питание платы от одного нестабилизированного источника +6...16 В (можно использовать стандартный сетевой адаптер). Допускается питание напряжением +4,6...6 В в обход встроенного стабилизатора.

Токи потребления:

Андрей Прохоренко, Валерий Мясников