Введение. Потребность в точных измерениях физических величин обусловливает непрерывное совершенствование средств измерений. Важным классом средств измерений являются датчики. Для повышения метрологических и эксплуатационных характеристик датчиков в последние 7-10 лет применяются цифровые методы обработки измерительных сигналов, при этом передача данных выполняется по цифровому каналу связи.
Цифровая обработка сигналов в датчике реализуется встроенной электроникой, содержащей аналого-цифровой преобразователь (АЦП), процессорное ядро, энергонезависимую память, цифровой интерфейс и прочие элементы (стабилизаторы питания, согласующие усилители и т.д.). Фактически, встроенная электроника представляет собой специальную вычислительную машину, которая выполняет две задачи, в общем случае не связанные между собой.
Первая задача – повышение метрологических характеристик датчика – решается алгоритмами цифровой коррекции нелинейности и дополнительных погрешностей. Алгоритмы коррекции опираются на метод вспомогательных измерений [1, 2]. Вторая задача – повышение эксплуатационных характеристик – заключается в обеспечении управления параметрами работы датчика за счет обмена данными по специализированной сети передачи данных. Такие сети часто имеют шинную топологию с одним ведущим устройством, управляющим обменом данными. При этом датчики работают в режиме ведомых устройств.
Обе описанные задачи решаются на этапе проектирования цифровых датчиков. На этом этапе возникает необходимость в инструментальном средстве моделирования работы предполагаемых решений.
Проектирование. При проектировании цифрового датчика необходимо строить структурно-функциональную модель датчика, оптимизировать ее по критериям минимизации погрешностей, энергопотребления и максимизации быстродействия, а также сбалансированно распределять функции между аппаратной частью и встроенным программным обеспечением (ПО), а в аппаратной части – между аналоговой и цифровой составляющими.
Принципиальным отличием, выделяющим цифровые датчики физических величин в перспективный класс непрерывно-дискретных систем – класс измерительно-вычислительных устройств, является сочетание достижений измерительной и вычислительной техники в малогабаритных маломощных высокоточных приборах. Наиболее ответственным и сложным этапом проектирования таких устройств является разработка алгоритма функционирования. Алгоритм реализуется во встроенном ПО, таким образом, требуется определять структуру встроенного ПО. Естественным решением служат конечные автоматы, так как [3] «…автомат (от греческого automatos - самодействующий) – это абстрактный и идеализированный механизм выполнения действий со знаковыми, символьными конструкциями…». Команды, получаемые датчиком, могут рассматриваться как символы языка обмена данными с датчиком [4] и представляют собой множество входных сигналов автомата. Состав этого множества, а также множества выходных сигналов диктуется требованиями к датчику.
Задача построения автомата сводится к определению множества состояний, функции переходов и функции выходов. Для этого целесообразно создать некоторую среду, имитирующую поведение автомата всвоего рода искусственной действительности. Искусственная действительность, она же – модель [5], позволяет решить задачу разработки структуры прибора, схемы связей и графа переходов конечного автомата на ранних этапах проектирования цифровых датчиков.
Имитационная модель цифрового датчика давления. Рассмотрим пример имитационной модели цифрового датчика давления. Датчик содержит чувствительные элементы (ЧЭ) давления и температуры, двунаправленный цифровой канал и аналоговый выход по напряжению, необходимый на время переходного периода к цифровым каналам связи в измерительных системах. Датчик получает команды по цифровому интерфейсу, выполняет их и отправляет ответы. В качестве инструментального средства моделирования хорошо подходит среда MATLAB/Simulink. На рисунке 1 показана модель датчика с окружением.
Рисунок 1 – Имитационная модель цифрового датчика давления
В модели имитируется обмен данными на канальном уровне интерфейса RS-485. Подсистема «Software» (рисунок 2) подает датчику команду и принимает ответ.
Рисунок 2 – Подсистема «Software»
Подача команды имитируется передачей значений байтов команды, определяемых кодом команды (константа ComCode) и номером датчика (константа SensNumber), посредством подсистемы «UART», которая преобразует значение байта в последовательность битов, обрамляет ее старт- и стоп-битами и передает в последовательный канал.
Структура датчика (рисунок 3) содержит измерительный канал, АЦП, устройство цифровой обработки сигналов (ЦОС), цифровой интерфейс и аналоговый интерфейс.
Рисунок3 – Подсистема «Digital_Pressure_Sensor»
Аналоговый интерфейс реализован масштабатором. Измерительный канал (рисунок 4) имитирует тензометрический кремниевый ЧЭ давления, сигнал которого усиливается операционным усилителем (ОУ), ЧЭ температуры на терморезисторе и стабилизатор питания тензомоста и делителя напряжений с терморезистором в нижнем плече. Опорное напряжение, напряжение смещения ОУ и коэффициент усиления внутреннего усилителя, предшествующего АЦП, задается устройством ЦОС.
Рисунок4 – Подсистема «MeasurementChannel»
АЦП моделируется (рисунок5) блоками «IdealizedADCQuantizer» в подсистеме «ADCchannels». Время преобразования составляет 30 мкс, разрядность – 12 бит. Преобразование запускается сигналом «StartConversion» от устройства ЦОС. По завершению преобразования подсистема формирует признак «Завершение АЦ-преобразования».
Рисунок5 – Подсистема «ADC»
Подсистема «DigitalInterface» (рисунок 6) имитирует универсальный асинхронный приемо-передатчик, принимающий либо передающий данные по цифровому каналу. Прием значений байтов из битов, поступающих из канала, и формирование признака «Завершение приема» реализовано регистром сдвига в подсистеме «ReceiveCommand» (рисунок 7).
Рисунок6 – Подсистема «DigitalInterface»
Рисунок 7 – Подсистема «ReceiveCommand»
Формирование битов, передаваемых в канал, и признака «Завершение передачи» реализовано подсистемой «TransmitResponse» (рисунок 8), использующей подсистему «UART».
Рисунок8 – Подсистема «TransmitResponse»
Устройство ЦОС моделируется подсистемой «DSP_Based_on_MCU» (рисунок 9), Подсистема содержит подсистемы цифро-аналоговых преобразователей (ЦАПов), задающих напряжение смещения ОУ и выходное напряжение, усиливаемое аналоговым интерфейсом, представляющее собой аналоговый измерительный сигнал датчика давления. Кроме ЦАПов, подсистема «DSP_Based_on_MCU» содержит в себе подсистему «Software_and_Memory», которая моделирует энергонезависимую память датчика (подсистема «Flash_Memory») и встроенное программное обеспечение (Stateflow-диаграмма «Embedded_Software»). Подсистема «Flash_Memory» построенанаблоках «DataStoreMemory», «DataStoreWrite» и «DataStoreRead». Stateflow-диаграмма «Embedded_Software»является не чем иным, как схемой связей конечного автомата датчика. Таким образом, аппаратная часть цифрового датчика давления моделируется средствами Simulink, программная – средствами Stateflow.
Рисунок9 – Подсистема «DSP_Based_on_MCU»
Граф переходов конечного автомата показан на рисунке 10. Он содержит 5 состояний, основным из которых является рабочее состояние датчика «Sensor_Working» (рисунок 11). По выставлении приемником команд признака RI в 1 выполняется переход в состояние приема команды «Command_Receiving» (рисунок 13). По приему значения, принятого признаком завершения команды (в примере – 33), выполняется переход в состояние анализа принятой команды «Command_Analysis» (рисунок 13). В состоянии анализа проверяется длина принятой команды (допускаются длины 3 байта и 15 байт) и значение логической переменной «Flag». Из состояния анализа имеется три перехода в состояние выполнения команд «Command_Executing» (рисунок 14). В состоянии выполнения команд сравниваются номер датчика с номером, полученным в команде, и при их совпадении выполняется переход в соответствующее состояние исполнения команды (пример – состояние исполнения команды «Beta», рисунок 15).
Рисунок10 – Stateflow-диаграмма графа переходов конечного автомата датчика
Рисунок11 – Stateflow-диаграмма рабочего состояния датчика
В рабочем состоянии датчик определяет режим работы (признак хранится в энергонезависимой памяти, задает один из трех режимов: рабочий, проверка, настройка) и переходит либо в состояние вычисления коэффициентов аппроксимирующих кривых (в режимах рабочем и проверки), либо в состояние измерений (в режиме проверки, рисунок 12). После получения кодов АЦП давления и температуры в режимах рабочем и проверки выполняется переход в состояние коррекции погрешностей и задания выходного напряжения датчика.
Реализация программно-аппаратного взаимодействия в Stateflow-диаграммах заключается в задании управляющих сигналов для внешних периферийных узлов, таких как АЦП, приемо-передатчик, ЦАПы (например, сигналы StartConv, InterfaceControl, TI_clear, RI_clear)и выполнении условных переходов из состояния в состояние по значениям сигналов от внешних периферийных узлов (например, ADCINT, TI, RI).
Рисунок12 – Stateflow-диаграмма состояния измерений
Рисунок13 – Stateflow-диаграммы состояний приема и анализа команд
Рисунок14 – Stateflow-диаграмма состояния выполнения команд
Рисунок15 – Stateflow-диаграмма состояния выполнения команды подстройки начального сигнала
На рисунке 16 приведен пример обмена данными по каналу связисо скоростью 9600 бит/с. Датчик получает команду «Beta» (вектор {35,207,37,48,52,48,48,49,38,80,90,69,82,79,33}, осциллограмма слева вверху), поступающую потоком битов (осциллограмма слева внизу), выполняет ее и отправляет ответ «Phi» (вектор {34,206,37,48,52,48,48,49,38,80,90,69,79,75,33}, осциллограмма справа вверху)потоком битов (осциллограмма справа внизу). По оси времени на рисунке 16 отложено реальное время в секундах.
Рисунок16 – Команда датчику, ответ датчика
Заключение. Рассмотренная модель представляет собой инструментальное средство для проверки вариантов проектных решений на ранних этапах разработки цифровых датчиков. Она позволяет в короткий срок отработать схему связей конечного автомата датчика, определить его множество состояний, функцию переходов и функцию выходов, что трудоемко делать «вручную». Заданные в требованиях к датчику множества входных и выходных сигналов и определенные на модели схема связей, множество состояний и функции переходов и выходов представляют собой решение задачи проектирования встроенного программного обеспечения цифровых датчиков до уровня подпрограмм, таких как вычислительные функции, драйверы периферийных узлов и т.д.
Кроме того, имитационная модель делает возможной апробацию различных вариантов построения структуры датчика, распределения функций между аналоговой и цифровой электроникой, между аппаратной и программной частями, а также апробацию различных параметров отдельных узлов. Фактически, имитационная модель служит средой разработки структурно-функциональной модели и конечного автомата датчика. По структурно-функциональной модели строится функциональная схема датчика, по конечному автомату разрабатывается встроенное программное обеспечение датчика.
Таким образом, рассмотренный подход к имитационному моделированию структур и алгоритмов работы цифровых датчиков заключается в создании искусственной действительности – модели, воспроизводящей условия работы датчиков для решения разнообразных задач проектирования цифровых датчиков физических величин.
Литература:
Земельман М.А. Автоматическая коррекция погрешностей измерительных устройств. – М., Издательство стандартов, 1972. – 199 с.
Туз Ю.М. Структурные методы повышения точности измерительных устройств.– К.: «Вища школа», 1976, – 256 с.
Твердохлебов В.А. Геометрические образы законов функционирования автоматов. – Саратов: ООО Издательство «Научная книга», 2008. – 183 с.
Катков А.Н. Методика автоматизированной настройки цифровых датчиков // Проблемы автоматизации и управления в технических системах: тр. Междунар. науч.-техн. конф. (г. Пенза, 19-22 апреля 2011) : в 2 т. / под ред. д.т.н., профессора М.А. Щербакова. – Пенза: Изд-во ПГУ, 2011. – 1 т. 318 с. с. 275-276.
Акофф Р., Эмери Ф. О целеустремленных системах. – М.: Сов. Радио, 1974, - 272 с.