КОНФИГУРАТОР МИКРОПРОЦЕССОРНЫХ СИСТЕМ: ЕДИНЫЙ ИНТЕРФЕЙС ДЛЯ МНОЖЕСТВА СИСТЕМ
Пишем интерфейс? Скачай готовый! Или зачем писать о том, о чем давно написано.
Принцип работы:
Хранение настроек (переменных), правил работы с ними а также протокола обмена в микропроцессорном устройстве позволяет использовать одну универсальную программу (конфигуратор) для настройки любых микропроцессорных устройств, программное обеспечение которых спроектировано по заданным требованиям.
Минимальные требования к микроконтроллеру: 50 байт ОЗУ и около 1 кб ПЗУ, чему удовлетворяют большинство современных микроконтроллеров.
Конфигуратор не требователен к вычислительным ресурсам, так как обработка протокола конфигуратора выполняется в цикле Main микроконтроллера. В среднем скорость опроса одной переменной в микроконтроллере составляет 10 миллисекунд
Механизм взаимодействия конфигуратора с микропроцессорным устройством (программа на Си) не зависит от типа используемого микроконтроллера и его компилятора. Конфигуратор может работать с любым микроконтроллером и компилятором. Для этого необходимо лишь скачать с нашего сайта Си-код и включить его в Ваш проект, не задумываясь о протоколе обмена и откомпилировать его имеющимся компилятором.
Конфигуратор распространяется свободно. Основное требование лицензионного соглашения - предоставление базовых исходников Вашего проекта связи с Конфигуратором МС для публикации их на нашем сайте. Это и понятно, чем больше микроконтроллеров поддерживается, тем проще новому пользователю адаптировать код под свой проект.
Конфигуратор представляет собой приложение, работающее под ОС Windows и позволяющее произвести полную настройку Вашей микропроцессорной системы, предоставляя такие непросто реализуемые во встроенном экране системы сервисы, как изменение, сохранение или распечатывание установленных значений параметров системы, чтение, обработка и распечатывание дневника событий системы. В ряде случаев он может дополнять встроенный экран системы, позволяя во много раз быстрее произвести наладку системы, подготовить файл дневника событий для отправки его от Заказчика Разработчику в период тестовой эксплуатации изделия.
Конфигуратор позволяет программисту полностью сосредоточиться на главном алгоритме программы, забыв о существовании интерфейса, код которого в большинстве проектов во много раз превышает основной код главного алгоритма программы.
Конфигуратор рекомендован к применению в таких проектах, как:
Регуляторы (в том числе регуляторы реального времени)
Устройства контроля и регистраторы
Генераторы тестовых сигналов
Цифровые многоканальные осциллографы реального времени
Также в одном устройстве могут выполняться все перечисленные выше задачи, что удешевляет стоимость и наладку системы.
Конфигуратор выполняет наиболее часто востребованные разработчиком микропроцессорного устройства функции интерфейса, такие как работа с настройками, текущим состоянием устройства, дневником событий, дампом памяти, отладочным терминалом.
Интерфейс конфигуратора является стандартным Windows - интерфейсом и для любых микропроцессорных систем обеспечивает динамический просмотр значений настроек системы, многоуровневую группировку настроек любого типа по заранее сформированным программистом группам (раскрывающийся список), изменение значений настроек в устройстве в реальном времени без перекомпиляции проекта, сохранение, протоколирование настроек.
Установив конфигуратор только один раз, им можно будет настроить любое количество самых разнообразных микропроцессорных устройств.
Функции отладчика, включенные в конфигуратор, позволяют в любой момент времени на работающей системе, не перезагружая систему и не влияя на ее производительность (что особенно важно на ответственных объектах) просмотреть значение любых системных регистров микроконтроллера, любых переменных Вашей программы и изменить их значение в случае необходимости.
Конфигуратор является оптимальным решением для hardware - фирм, не имеющих в своем составе программиста интерфейса Windows. С одинаковым успехом он может использоваться как для настройки малосерийных, так и крупносерийно выпускаемых устройств.
Несмотря на кажущуюся сложность работы с конфигуратором, работать с ним настолько просто, что трудно представить себе программу, более простую и удобную в обращении.
Сравнительная таблица скорости разработки нового проекта
Наибольшее преимущество по скорости разработки проекта обеспечивается для тех проектов, когда каждый следующий проект не похож на предыдущий по количеству и типу используемых в нем настроек.
В отличие от других подобных программ, структурированный текст настроек содержится только в коде микропроцессорного устройства, что позволяет получить следующие преимущества по сравнению со стандартным вариантом решения поставленной задачи:
Решение на основе конфигуратора
Стандартное решение
Гибкость изменения настроек
Добавление, изменение, удаление настроек производится только одним человеком - программистом микропроцессорного устройства. Незаменимо в командировках при работе на объекте.
Добавление, изменение, удаление настроек производится согласованными действиями двух лиц: программистом микропроцессорного устройства и программистом интерфейса Windows. Для оперативного изменения настроек в командировках участвуют два человека.
Отладка нового протокола обмена с IBM PC
Не требуется.
Как правило, отнимает ощутимое время двух программистов.
Вероятность возникновения ошибки в протоколах обмена
Минимальна, так как конфигуратор уже используется во многих проектах и протестирован многими разработчиками.
Иногда ошибки выявляются через несколько месяцев эксплуатации системы.
Время разработки интерфейса
Время будет складываться из времени включения кода обмена с конфигуратором в разрабатываемый проект и в среднем оно составляет 4-8 часов на первый проект, 2 часа и меньше на все последующие.
Для каждого завершенного проекта составляет не менее 2 месяцев.
Простота работы с различными устройствами
Конфигуратор можно подключить к любому устройству. И абсолютно всегда будет предоставлен полный доступ к настройкам этого устройства. На компьютере пользователя хранится только одна программа - конфигуратор.
Каждое новое устройство требует полного цикла разработки Windows - интерфейса. На компьютере пользователя должны храниться программы для различных устройств с разными правилами работы с интерфейсом.
Обучение пользователя интерфейсу нового устройства
Правила работы с настройками в разных устройствах одинаковы, поэтому обучив пользователя интерфейсу конфигуратора только один раз, тратить время на это в следующих проектах не потребуется.
Как правило, отнимает ощутимое время из-за различных подходов разных программистов интерфейса к работе с настройками системы.
Составление описания устройства
Воспользовавшись описанием интерфейса конфигуратора, входящем в дистрибутив, в описании к Вашему устройству Вам потребуется лишь указать номер каждой настройки и ее воздействие на Вашу систему.
С нуля составляется и описание интерфейса, и описание воздействий настроек на систему.
Как видно из представленной таблицы, использование конфигуратора позволяет освободить рабочее время программиста интерфейса Windows, повысить скорость разработки новой системы, увеличить ее гибкость.
Так как текст настроек отнимает ощутимые ресурсы постоянной памяти контроллера, для серийных устройств существует возможность не хранить текст настроек в памяти микропроцессорного устройства, при этом полная функциональность конфигуратора сохраняется. Также можно удалять и добавлять настройки, изменять текст настроек не перепрошивая программу контроллера.
Ниже представлено более детальное описание этого программного продукта.
100 % схожести по интерфейсу и правилам работы со знакомым всем пользователям проводником Windows.
Добавление любой настройки производится только программистом микропроцессорного устройства путем добавления одной строки Си-кода.
Мгновенная справка по настройке. Достаточно только выбрать нужную настройку, нажать F1, и справка по этой настройке в любом формате (txt, rtf pdf, gif, jpg) появится на экране.
Автоматическое создание в MS Word по файлам справок описания настроек устройства. Посмотреть пример.
Автоматическое создание в MS Word отчетов об установленных настройках устройства. Посмотреть пример.
Позволяет отображать и изменять настройки Вашей программы. Это могут быть настройки типа signed char, unsigned char, signed int, unsigned int, signed long, unsigned long, float, отображение настроек в формате bin8, bin16, bin32, hex8, hex16, hex32.
Автоматически масштабировать настройки Вашей программы перед отображением на экране. Для каждой настройки в программе устройства задается свой масштаб.
Рассчитывать вводимое значение настройки с использованием встроенного научного калькулятора.
Изменять без участия пользователя настройку во времени по заданной формуле, используя команду "Настройка = F(t)".
Контролировать допустимый диапазон изменения вводимых пользователем настроек.
Восстанавливать значения неправильно введенных переменных (выполняется микроконтроллером).
Восстанавливать заводские установки (выполняется микроконтроллером).
Сохранять в файл и загружать настройки из файла. Работать с файлом настроек без подключенного устройства.
Сравнивать и копировать значения настроек из разных файлов настроек.
Подготавливать и экспортировать в Microsoft Excel таблицу изменений значений переменных Вашего устройства для составления графиков.
Выполнять команды пользователя (выполняется микроконтроллером).
Поддерживается экономное использование энергонезависимой памяти. Под хранение любой настройки используется ровно столько места, сколько она занимает в RAM контроллера.
Экспорт настроек в текстовый файл, Microsoft Word или Microsoft Excel.
Отображение текущих внутренних режимов Вашей системы, выделяя цветом состояния различного рода (текущий режим, предупреждение, авария). Цвета для всех режимов могут задаваться пользователем.
Также в этом режиме при нажатии "F1" можно получить мгновенный доступ к справке по текущему отображаемому режиму устройства.
Экспорт текущего состояния устройства в текстовый файл или Microsoft Word.
Поддерживаются следующие атрибуты события: номер события, состояние устройства после прихода события, подтверждение ознакомления пользователя с событием, знак события (пришло или ушло), название события, дата и время события.
Удобная работа с событиями - поиск данного события с другим знаком, отображение всех событий за последние 8, 16 и т.д. часов (временной промежуток настраивается пользователем).
Выделение событий определенных типов заданным цветом (смотрите выделение цветом в текущем состоянии)
Экспорт дневника событий в текстовый файл, Microsoft Word или Microsoft Excel.
Минимальные требования к компьютеру: Pentium 133, Windows 95, 16 Мб ОЗУ, 2 Мб свободного дискового пространства, порт RS232 (com-port) или Ethernet (UDP).
На современных компьютерах как правило, нет интерфейса RS232, поэтому рекомендуется использовать конвертор USB-RS232 с виртуальным драйвером для COM-порта.
Применение виртуальных драйверов COM-порта производства третьих фирм позволяет подключать конфигуратор не только к шине USB, но и к шине PCMCIA, работать с удаленным контроллером через сеть Internet (Ethernet).
Конфигуратор работает под операционными системами Windows XP, Windows 2000, Windows ME, Windows NT, Windows 98, Windows 95. Дистрибутив конфигуратора после инсталляции не требует установки дополнительных компонентов сторонних производителей.
Минимальные требования к микроконтроллеру:
Микроконтроллер / DSP процессор любого типа производительностью от 1 MIPS, от 4 кб постоянной памяти типа Flash, от 256 байт энергонезависимой памяти для хранения Ваших настроек, от 512 байт ОЗУ, интерфейс RS232, компилятор языка Си (необязательно).
Конфигуратор абсолютно не влияет на скорость выполнения Вашего кода и расстановку приоритетов прерываний, так как работает на самом низком уровне в главном программном цикле main.
Поддерживает отображение и изменение любых (до 4-байт включительно) переменных Вашей программы в заданном формате (char, unsigned char, int, unsigned int, long, unsigned long, float, bin8, bin16, bin32, hex8, hex16, hex32).
Автоматическое добавление массивов любой размерности при указании размера.
Автоматический поиск адресов переменных (в том числе и элементов массивов) перед запросом в файле дампа памяти Вашей программы, сгенерированном компилятором (линкером).
Отображение минимального и максимального значения всех переменных в текущей сессии.
Сохранение в файл, загрузка, подгрузка различных дампов памяти.
Преимуществом данного подхода является однотипность отладки для микроконтроллера любого типа, отсутствие дорогостоящих JTAG-кабелей (используется стандартный COM или Ethernet), отладка может начинаться в любой момент без перевода устройства в режим отладки.
Позволяет передавать/принимать одиночные байты в Вашу программу.
Помнить отправленные последовательности байтов, обеспечивать к ним быстрый доступ.
Позволяет формировать многобайтовые посылки (команды).
Количество и названия посылок не ограничены.
Каждый байт посылки может иметь собственный комментарий.
Позволяет выводить номер каждого присланного и отосланного байтов, его значение в шестнадцатеричной или десятичной системе счисления, символ в кодировке Windows, соответствующий значению присланного / отосланного байта.
Имеет возможность через контекстное меню получить сразу 16-разрядное значение переменной, выделив два ее байта в теле посылки.
Позволяет автоматически повторять посылки через равный заданный промежуток времени.
Позволяет динамически вносить комментарии, выделяемые цветом, в файл протокола обмена
Поддерживает сохранение протокола обмена в файл.
Автоматически формирует контрольную сумму по протоколу ModBus, конфигуратора в конце посылки.
Pentium 133, Windows 95, 16 Мб ОЗУ, 2 Мб свободного дискового пространства, порт RS232 (com-port) или Ethernet (UDP).
На современных компьютерах как правило, нет интерфейса RS232, поэтому рекомендуется использовать конвертор USB-RS232 с виртуальным драйвером для COM-порта.
Применение виртуальных драйверов COM-порта производства третьих фирм позволяет подключать конфигуратор не только к шине USB, но и к шине PCMCIA, работать с удаленным контроллером через сеть Internet (Ethernet).
Конфигуратор работает под операционными системами Windows XP, Windows 2000, Windows ME, Windows NT, Windows 98, Windows 95. Дистрибутив конфигуратора после инсталляции не требует установки дополнительных компонентов сторонних производителей.
Минимальные требования к микроконтроллеру:
Микроконтроллер / DSP процессор любого типа производительностью от 1 MIPS, от 4 кб постоянной памяти типа Flash, от 256 байт энергонезависимой памяти для хранения Ваших настроек, от 512 байт ОЗУ, интерфейс RS232, компилятор языка Си (необязательно).
Конфигуратор абсолютно не влияет на скорость выполнения Вашего кода и расстановку приоритетов прерываний, так как работает на самом низком уровне в главном программном цикле main.