Введение. Современные вторичные преобразователи представляют собой весьма сложные измерительно-вычислительные устройства, развивающиеся на стыке измерительной и вычислительной техники, где идет процесс интеграции средств получения измерительной информации и средств ее обработки [1, 2]. При разработке вторичных преобразователей требуется не только сбалансированно распределять функции между аппаратными и программными средствами [3, 4], но и учитывать разнообразные, нередко противоречивые нефункциональные требования [5].
Алгоритмы цифровой обработки измерительных сигналов, применяемые для повышения метрологических характеристик датчиков физических величин, реализуются во встроенном программном обеспечении (ВПО) цифровых вторичных преобразователей. При разработке вторичных преобразователей возникает задача проектирования и документирования ВПО. Тщательно выполненное проектирование значительно снижает количество ошибок при реализации и длительность отладки. Документирование ВПО необходимо для облегчения последующих модификаций и повторного использования отдельных модулей и подпрограмм в дальнейшем в составе ВПО других преобразователей.
Проектирование. Проектирование ВПО начинается после построения математической модели измерительных сигналов, алгоритма коррекции погрешностей, разработки структурно-функциональной модели, структурно-временной диаграммы и функциональной схемы вторичного преобразователя [6], а также определения протокола информационного взаимодействия, содержащего перечень и форматы команд и ответов на команды. Множество команд определяет функциональность и эксплуатационные характеристики датчика давления с цифровым вторичным преобразователем.
Выполнение команд встроенным программным обеспечением требует реализации довольно сложной логики, которую удобно представлять графом переходов конечного автомата [7, 8]. В работе [9] изложен подход к построению схемы связей, множества состояний и функций переходов и выходов конечного автомата.
После построения конечного автомата реализуются отдельные подпрограммы, такие как драйверы аппаратных узлов, вычислительные функции, подпрограммы выполнения внешних команд. При разработке алгоритмов работы подпрограмм целесообразно использовать диаграммы Насси-Шнайдермана [10]. Их преимущества перед традиционными блок-схемами алгоритмов заключаются в наглядности, компактности, отсутствии соединительных линий со стрелками и простоте восприятия. Кроме того, при наличии многочисленных вложенных ветвлений соответствующая диаграмма Насси-Шнайдермана позволяет наглядно представить все пути в подпрограмме, что упрощает ее отладку и снижает количество ошибок.
При реализации подпрограмм возникает задача распределения переменных (каковые суть именованные совокупности ячеек памяти) в различных областях оперативной памяти, обусловленная особенностями архитектуры используемого микроконтроллера. Так, например, для микроконтроллеров архитектуры MCS-51 для хранения данных, используемых различными подпрограммами, представляется целесообразным использовать глобальные переменные, причем необходимо резервировать место для стека и регистров общего назначения.
Для оптимизации подпрограмм по критерию снижения объема объектного файла наряду с диаграммами Насси-Шнайдермана уместно использовать схему подчинения подпрограмм. Графическое представление подчинения позволяет выявить максимальную длину вызовов подпрограмм и определить требуемый объем памяти для стека (при этом необходимо учесть вызовы библиотечных функций и участков кода, выделенных компилятором при оптимизации).
Реализация. При реализации спроектированного таким образом ВПО целесообразно выделять операционную среду алгоритма коррекции погрешностей [11], которая представляет собой совокупность компонентов ВПО (в том числе аппаратно-зависимых), изолирующую модуль алгоритма от специфики построения аппаратных средств цифрового вторичного преобразователя. Это дает возможность использовать один и тот же модуль алгоритма в различных вторичных преобразователях, предназначенных для одинаковых тензометрических датчиков давления.
Кроме этого, выделение операционной среды влечет за собой два важных следствия. Во-первых, становится возможным выполнение процедуры метрологической аттестации программного модуля, реализующего алгоритм коррекции погрешностей для определенного типа тензометрического датчика давления. Во-вторых, становится возможным выполнение динамической реконфигурации цифровой части и измерительного канала цифровых вторичных преобразователей без изменений ВПО и, следовательно, возможность обеспечения адаптивности структуры цифровых вторичных преобразователей. Однако же, на настоящее время и метрологическая аттестация программного модуля, и адаптивность структуры вторичных преобразователей являются малоизученными вопросами и требуют дальнейших исследований.
Документирование. Документированием ВПО нередко пренебрегают, тогда как это такой же важный этап, как и проектирование. Документация на ВПО представляет собой неотъемлемую часть текстовой документации на цифровой вторичный преобразователь, необходимую в производстве наравне с конструкторской документацией.
При всей сложности проектирования ВПО вторичных преобразователей его итоговый объем (в строках кода и килобайтах объектного файла) как правило, невелик, и в подавляющем большинстве случаев не превышает нескольких единиц тысяч строк и нескольких десятков кб объектного файла.
Прежде всего, следует отметить, что нормативных документов, адекватно оговаривающих состав документации на ВПО, нет. ГОСТы ЕСПД регламентируют только внешнее оформление документации, оставляя содержание на усмотрение и совесть программиста. Частично вопрос документирования ВПО рассмотрен в [12]. Представляется исчерпывающим излагаемый ниже комплект документации, часть которого создается на этапе проектирования ВПО, часть – после реализации и отладки.
Прежде всего, должен быть документ с описанием математической модели измерительных сигналов датчика давления и алгоритма коррекции погрешностей. В конструкторской документации обязательно имеется схема электрическая функциональная (Э2). Один из ее узлов – устройство цифровой обработки сигналов, в простейшем случае – микроконтроллер с цифровым процессорным ядром и периферией. Граница между аппаратной и программной частью проходит через регистры, управляющие периферийными узлами микроконтроллера. Поэтому в программной документации должна быть структурная схема используемой периферии с указанием используемых областей памяти, внешних аналоговых и цифровых цепей и источников прерываний (фактически – подробная структурно-функциональная схема одного блока Э2). Следующий документ – описание конечного автомата (схема связей, множество состояний, граф переходов, функции переходов и выходов). Также необходим документ со схемой подчинения подпрограмм и диаграммами Насси-Шнайдермана алгоритмов работы подпрограмм. Отдельный документ, при тщательной подготовке остальных – носящий скорее справочный характер, – текст ВПО. И последний документ, не имеющий никакого отношения к проектированию и очень важный практически, – описание условий компиляции и загрузки. В этом документе обязательно должны быть указаны: характеристики персонального компьютера, на котором разрабатывалось ВПО (архитектура, вид и версия операционной системы и пакетов обновлений), среда разработки (язык, компилятор, сборщик, их версии, перечислены используемые библиотеки от поставщика микроконтроллеров – названия, версии библиотек и даже размеры и даты создания их файлов), настройки среды разработки (модель памяти, уровень оптимизации кода, настройки эмулятора и т.д.), описание загрузки объектного файла в память программ микроконтроллера с указанием программатора, коммуникационного порта, схемы подключения программатора к микроконтроллеру, ПК и среде разработки, а также описание условий питания программатора и микроконтроллера при загрузке объектного файла.
Делать UML-диаграмму взаимодействия на уровне подпрограмм едва ли оправданно из-за ее неприемлемо большого размера даже для несложного ВПО.
Заключение. Проектирование ВПО цифровых вторичных преобразователей тензометрических датчиков давления – важный практический вопрос, в значительной степени определяющий итоговые метрологические и эксплуатационные характеристики вторичных преобразователей. Рассмотренный в статье подход к проектированию и документированию ВПО неоднократно проверен на практике и доказал свою состоятельность.
Литература:
Финкелстайн Л. Наука об измерениях: анализ состояния и направления развития // Датчики и Системы, №2, 2010, с. 53 – 58.
Катков А.Н., Шахов Э.К. Интеллектуализация измерительных систем. Состояние вопроса // Информационно-измерительная техника : тр. ун-та. Межвуз. сб. науч. тр. / под ред. профессора Е.А. Ломтева. – Вып. 33. – Пенза: ИИЦ ПензГУ, 2008. – 124 с., с. 37-41.
Гришин Ю.П., Казаринов Ю.М., Катиков В.М. Микропроцессоры в радиотехнических системах / М.: Радио и связь, 1982. – 280 с., ил.
De Micheli G., Gupta R.K. Hardware/Software co-design // Proceedings of IEEE, v. 85, № 3, p. 349 – 365.
Семенов Ю.П. Датчиковая аппаратура в ракетно-космической технике // Приборы и Системы управления, №4, 1990, с. 4.
Катков А.Н. Методика модельно-управляемого проектирования цифровых датчиков / Катков А.Н. / Известия ЮФУ. Технические науки. №5 (118). 2011. - Таганрог. Изд-во ТТИ ЮФУ. - С. 94-99.
Катков А.Н. Применение switch-технологии при разработке встроенного программного обеспечения ДПА / Катков А.Н. //Вычислительные системы и технологии обработки информации: межвуз. сборник науч. трудов. – Вып 8(31). – Пенза: ИИЦ ПензГУ, 2008. – 174 с., с. 118-121.
Катков А.Н. Практика применения switch-технологии при разработке встроенного программного обеспечения ДПА / Катков А.Н. // Вычислительные системы и технологии обработки информации. Межвуз. сб. науч. тр. Вып. 9(32). Изд-во ПГУ, 2010, с. 145-149.
Катков А.Н. Имитационная модель цифрового датчика давления // Молодой Ученый, №6, Т. 1, 2011, с. 58 – 66.
Nassi I., Shneiderman B. Flowchart Techniques for Structured Programming. / SIGPLAN Notices 8, 8, 1973, p. 12 – 26.
Катков А.Н. Операционная среда для встроенного программного обеспечения цифровых датчиков / Датчики и системы: сборник докладов XXIX всеросс. научн.-практ. конф. молодых ученых и специалистов (30-31 марта 2010 г.), Пенза: ОАО «НИИФИ», 2010. – 235 с., с. 91-93.
Катков А.Н. Разработка встроенного программного обеспечения цифрового датчика разности давлений ДРЭ-001 / Катков А.Н. // Компьютерные науки и информационные технологии: Материалы международной научной конференции – Саратов: Изд-во Сарат. ун-та, 2009. – 256 с., ил., с. 108-111.