Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2002 №9

Школа схемотехнического проектирования устройств обработки сигналов. Занятие 18. Пример практической разработки программно-аппаратного комплекса сбора и обработки данных

Стешенко Владимир


Занятие 18. Пример практической разработки программно-аппаратного комплекса сбора и обработки данных посвящено достаточно важной и серьезной задаче - разработке, и самое сложное, воплощению в жизнь программно-аппаратных комплексов сбора и обработки данных. Материаля данного занятия получены в результате выполнения реальной опытно-конструкторской работы. Надо сказать, что задача стояла достаточно сложная - разрабатываемый измерительно-вычеслительный комплекс (ИВК) должен был обеспечить решение широкого круга задач по сбору и обработке данных с различных типов первичных преобразователей механических величин в эликтрические. Целью было не только создание «железа», но и написание достаточно мощного прикладного программного обеспечения как для обработки данных, так и для управления процессом их сбора.

Все статьи цикла:

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

В качестве первичных преобразователей используются пьезоэлектрические акселерометры АП 20, АП 21, АП 22, датчики ускорений ДУ5С-100, ДУ5С-5, тензорезисторы типа КФ5П1 сопротивлением 100–400 Ом и реохордные преобразователи перемещений.

В состав ИВК входят блоки усилителей-преобразователей (УП):

  • акселерометров АП (УП АП) на 16 каналов;
  • акселерометров ДУ (УП ДУ) на 16 каналов;
  • тензорезисторов типа КФ5П1 сопротивлением 100–400 Ом (УП Т) на 16 каналов;
  • перемещений (УП П) на 4 канала;
  • блоки аналого-цифровых преобразователей (АЦП) на 36 каналов;
  • контроллер сбора и накопления информации (КСНИ) 1 комплект.

АЦП и КСНИ выполнены в одном корпусе.

Для обработки данных используется ноутбук типа RowerBook Explorer AT 12.1 АМ РII-366/64; при питании от аккумуляторных батарей использован готовый преобразователь питания 12–220 В.

Габариты, масса составных частей ИВК и потребляемая ими мощность приведены в таблице 1.

Таблица 1

Номинальное сопротивление используемых тензорезисторов 100–400 Ом. Минимальная длительность регистрируемого процесса 0,1 мс. Максимальная длительность регистрируемого процесса 30 с. Максимальное количество измерительных каналов — 36. Максимальная длина линий связи — 40 м.

ИВК получил название «Аскод» — увы, история этого названия потеряна во мраке веков, — есть основания полагать, что это автоматизированная система компьютерной обработки данных (но это только гипотеза). Данный случай показателен в том смысле, что название подавляющего числа разработок не несет никакой смысловой нагрузки. ИВК представляет собой многоканальную систему сбора и обработки данных. Функции обработки экспериментальных данных выполняются на ПК типа RoverBook (рис. 1). Для обработки данных используется специализированное программное обеспечение — пакет «Аскод-2000», разработанный в рамках проведения ОКР «Аскод». Возможно использование и других программных продуктов для обработки данных.

Для вывода на печать используется ПУ типа HP LaserJet 1100. Контроллер сбора и накопления информации (КСНИ) обеспечивает преобразование аналоговых электрических сигналов с УП в цифровой код и запись данных в память контроллера (рис. 2).

В состав КСНИ входят:

  • электронный узел дифференциальных усилителей;
  • плата контроллера стандарта РС/104;
  • платы АЦП;
  • источники питания;
  • дисплей;
  • внешняя клавиатура.

Электронный узел дифференциальных усилителей обеспечивает согласование с выходными каскадами усилителей преобразователей и позволяет без искажений передавать сигнал по длинным линиям связи. Функционально электронные узлы дифференциальных усилителей размещены в КСНИ. Плата контроллера в стандарте РС/104 типа MSM486SV предназначена для управления электронными узлами АЦП, записи данных на флэш-диск емкостью 16 Мбайт. Функционально плата размещена в КСНИ. Электронный узел АЦП предназначен для ввода и временного хранения информации с датчиков комплекса «Аскод». Он обеспечивает регистрацию и запись информации в память процессов со следующими характеристиками для регистрируемых процессов различных длительностей:

  • для I варианта — длительность процессов (1,25±0,05) с; длительность фронта импульса (0,1±0,01) мс;
  • для II варианта — длительность процессов (2,5±0,1) с; длительность фронта импульса (1±0,1) мс;
  • для III варианта — длительность процессов (30±3) с; длительность фронта импульса (1±0,1) мс.

Минимальный период дискретизации по времени — 2 мкс на канал, диапазон изменений входных напряжений — ±10 В. Электронный узел АЦП состоит из 5 плат (устройств) аналогового ввода, допускающих обработку 32 аналоговых линий относительно потенциала земли или 16 дифференциальных аналоговых линий каждая. Для обеспечения требуемого темпа ввода аналоговой информации каждое устройство в комплексе «Аскод» обрабатывает 8 аналоговых линий. Электронный узел АЦП работает совместно с блоком усилителей преобразователей, преобразующим сигналы с первичных преобразователей в выходной дифференциальный сигнал, и электронным узлом дифференциальных приемников и управляемых усилителей-фильтров, выполняющих согласование сопротивлений аналоговой линии и входного сопротивления блока аналогового ввода. Электронный узел АЦП устанавливается совместно с ЭВМ КСНИ и работает под ее управлением. Функциональная схема электронного узла АЦП представлена на рис. 3.

Сигнал с усилителей-преобразователей через электронный узел дифференциальных приемников и управляемых усилителей-фильтров поступает на вход электронного узла АЦП. Блок защиты на базе устройств BAV99 обеспечивает защиту входных линий от импульсных напряжений, которые могут возникнуть в момент несогласованного включения или выключения элементов комплекса «Аскод». Далее сигнал попадает на вход коммутатора ADG526. Коммутатор соединяет входные линии со входом АЦП AD7892. Для увеличения скорости преобразования устройство имеет две очереди аналого-цифрового преобразования — АЦП1, АЦП2. Управление блоком АЦП производится контроллером АЦП, спроектированным на ПЛИС EPF10K30RI240-4 и EPM7064STI44 фирмы Altera.

Контроллер АЦП выбирает адрес аналоговой линии и запускает преобразование. По импульсу «преобразование завершено» (готовность) контроллер переписывает данные из АЦП, завершившего преобразование, в буфер данных контроллера. Контроллер АЦП одновременно с выбором аналоговой линии формирует адрес ячейки памяти двухпортового ОЗУ на микросхемах AS7C4096-15JI, по сигналу готовности формирует сигнал запроса записи в контроллер двухпортовой памяти, который выполняет арбитраж доступа к памяти устройства. По сигналу разрешения доступа контроллер АЦП размещает данные из буфера в ячейке памяти устройства с заранее определенным адресом.

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

Контроллер шины выполняет функции дешифратора адреса двухпортовой памяти в адресном пространстве ЭВМ устройства регистрации и хранения информации, а также дешифрацию и хранение сигналов настройки и управления контроллера АЦП.

По сигналу «Старт», поступающему на контроллер АЦП от ЭВМ устройства регистрации и хранения информации через шину ISA (PC104) и контроллер шины, контроллер АЦП устанавливает 0 адрес на коммутаторах устройств аналогового ввода и формирует базовый адрес ячейки памяти первого канала, через 500 нс запускает преобразование на АЦП1. Затем увеличивает адрес коммутатора на 1, формирует базовый адрес ячейки памяти второго канала, через 500 нс запускает преобразование на АЦП2. По приходу импульсов готовности из АЦП данные переписываются в буфер контроллера, и формируются сигналы записи в память устройства, поступающие на контроллер двухпортовой памяти. Контроллер повторяет аналогичные действия для каналов 3–8. После опроса всех входных линий адрес ячеек памяти аналоговых каналов изменяется на 1, и процесс повторяется.

Количество отсчетов, хранящихся в ОЗУ, определяется программно и зависит от количества обрабатываемых аналоговых каналов: чем меньше каналов обрабатывается, тем меньше период дискретизации и больше объем ОЗУ, отводимый на один канал.

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

Источники питания формируют напряжения для питания электронных узлов КСНИ и УП из напряжения (220±20) В. Для питания от аккумулятора (12±1) В используется специальный преобразователь. Управление КСНИ осуществляется с внешней клавиатуры.

На дисплее КСНИ, выполненном на базе электролюминесцентной панели EL320.240.36, отображаются режимы его работы, а также индицируется подключение и функционирование ПП. Связь КСНИ и ПК осуществляется при помощи последовательного интерфейса RS-232 или RS-485.

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

Усилители-преобразователи предназначены для преобразования сигнала с выхода первичных преобразователей в электрическое напряжение ±2,5 В.

УП для акселерометров АП20, 21, 22 (УП АП) представляет собой усилитель заряда с чувствительностью от 0,1 до 1000 мВ/пКл (рис. 4).

Регулировка чувствительности производится с помощью подстроечных резисторов, расположенных на передней панели УП АП. Кроме того, с помощью переключателей возможен выбор предела чувствительности. Полоса УП АП от 5 Гц до 1 кГц. УП содержат по 4 канала в одном корпусе. Для контроля функционирования УП АП используют генератор синусоидального сигнала звуковой частоты. Выходные каскады УП работают на дифференциальный передатчик, обеспечивающий согласование с КСНИ.

УП для акселерометров ДУ состоит из задающего генератора частотой 6 кГц, фазочуствительного демодулятора, фильтров с полосой 200 Гц, масштабного усилителя с регулируемым коэффициентом передачи. Имеется возможность установки нуля (балансировки).

УП для тензорезисторов выполнен по классической мостовой схеме переменного тока. Для контроля функционирования УП предусмотрен принудительный разбаланс моста путем включения в параллель плечу дополнительного резистора. Выходное напряжение моста поступает на вычитатель, затем на синхронный детектор и фильтры. Для балансировки моста предусмотрен подстроечный резистор, выведенный на корпус УП. Индикация баланса каналов производится на дисплее КСНИ. УП размещается в корпусе на 16 каналов размером 300×200×70 мм.

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

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

После загрузки конфигурации КСНИ на дисплее появляется главное меню, представленное на рис. 5.

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

На рис. 6 показано меню настройки. С его помощью осуществляется выбор канала для калибровки и ввода комментария. Переход в режим калибровки осуществляется путем выбора пункта «Калибровка». Тип канала выбирается в соответствующем пункте меню. Комментарии позволяют записать необходимые сведения о канале в память КСНИ. После осуществления калибровки канала данные о нем сохраняются — пункт «Сохранить».

Меню «Калибровка» представлено на рис. 7. В этом режиме индицируется напряжение на выходе соответствующего УП.

С помощью органов управления УП осуществляется установка требуемого коэффициента усиления и баланс нуля (при необходимости). При этом подаются соответствующие тестовые сигналы.

Осуществлен режим ввода комментариев. Комментарий вводится с помощью внешней клавиатуры.

Меню «Эксперимент» (рис. 8) предоставляет возможность выбрать длительность эксперимента и задержку от сигнала запуска до старта процесса регистрации данных.

Запуск системы возможен как по нажатию на функциональную клавишу, так и по внешней команде замыкания сухих контактов.

Меню «Перегон» предназначено для передачи данных с КСНИ на персональный компьютер для последующей обработки. В данном режиме отображается скорость.

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

Посредством ПО происходит расшифровка проведенных измерений по экстремальным — максимальным и минимальным — значениям параметров с указанием их длительности, статистическая обработка (с определением математического ожидания, дисперсии, среднеквадратичного отклонения, плотности распределения, спектральной плотности процесса). Кроме того, реализованы режимы обработки букета датчиков, разности двух компонент процесса, а также фильтрация данных. ПО работает под управлением операционной системы Microsoft Windows 98. ПО ИВК «Аскод» поставляется в виде самораспаковывающегося дистрибутива ascod.exe. После установки программы в директории, в которую проводилась установка, находятся следующие файлы:

Для запуска ПО следует найти в меню «Пуск» Windows ярлык программы ASCOD и запустить ее.

При запуске программы ASCOD появится мастер начала работы (рис. 9).

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

В окне открытия файла эксперимента отображается список дисков, директорий и файлов экспериментов, находящихся в этой директории (в списке файлов могут отображаться только файлы с расширением «exp»). При щелчке мыши в списке файлов на имени файла эксперимента в нижнем окне отображается комментарий к эксперименту.

Для последующей обработки данные необходимо получить с КСНИ. На рис. 10 представлен вид диалога получения результатов эксперимента с КСНИ.

В процессе передачи данных отображается информация о прогрессе выполнения операции и сбойных блоках.

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

Поскольку обрабатываемые данные имеют свои физические размерности, то реализовано преобразование данных из электрических единиц в пропорциональные величины механических величин. В процессе калибровки производится вычисление коэффициента пересчета, определяемого как отношение физического параметра (усилия, перемещения, ускорения и т. д.) к соответствующему сигналу на входе КСНИ. Например, при подаче на вход усилителя заряда сигнала, эквивалентного ускорению 500 м/с2, выходной сигнал равен 2,1 В. В этом случае коэффициент пересчета равен:

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

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

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

Основное меню программы содержит три пункта: «Файл», «Обработка», «Настройка».

Вид раскрытого меню «Файл» представлен на рис. 11. Назначение пунктов меню соответствует их названию. Вид меню «Обработка» представлен на рис. 12, меню «Настройка» — на рис. 13.

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

Общий вид программы при обработке одного канала представлен на рис. 14.

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

В программе реализована фильтрация процесса фильтрами любого типа (фильтры рассчитаны с использованием аппроксимации Баттерворта).

Имеется возможность отмены результата фильтрации (1 шаг) и возвращение к результатам фильтрации (1 шаг), а также редактирование комментариев к каналу.

Изменение режимов работы с графиком доступно из контекстного меню, вызываемого правой клавишей мыши.

Как видим, в ходе разработки такого рода систем приходится решать сразу несколько задач:

  • разработка схем и конструкции;
  • разработка ПО для управления системой (ПО нижнего уровня);
  • разработка ПО для обработки данных (ПО верхнего уровня).

В нашем случае мы значительно упростили задачу программиста, выбрав в качестве основы контроллера стандартную плату в формате PC 104. Несмотря на довольно высокую стоимость, удалось сэкономить на сроках и удобстве разработки ПО нижнего уровня. В качестве языка разработки использован Pascal — программист ничего другого на тот момент и не знал. ПО для обработки данных написано в среде Delphi, ряд библиотек был отработан на Matlab, транслирован в С и затем скомпилирован. Тем самым значительно упростилась реализация алгоритмов обработки данных.

Таким образом, мы рассмотрели пример проектирования большой системы и некоторые особенности интеграции программной и аппаратной компонент.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке