Опубликован: 26.05.2010 | Доступ: свободный | Студентов: 1604 / 257 | Оценка: 4.42 / 4.25 | Длительность: 56:51:00
ISBN: 978-5-9963-0124-9
Специальности: Разработчик аппаратуры
Лекция 27:

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

Ответы

Ответы на вопросы

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

2. Сигналы на выходах чувствительных элементов сенсора часто являются не только слабыми, но и зашумленными. Поэтому возникает необходимость не только усиливать их, но и выделять из них лишь полезную часть, "отфильтровывать" шумы, помехи, посторонние влияния. Это и называют "селекцией полезных сигналов".

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

4. "Фильтр высоких частот" – это узел, который хорошо пропускает спектральные составляющие сигнала с частотами выше определенного "порога" и сильно ослабляет составляющие с частотами ниже этого порога. Такие фильтры применяют тогда, когда надо избавиться от влияния постоянного "фона" и низкочастотных помех.

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

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

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

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

9. Под "программированием интеллектуальных сенсоров" понимают разработку и запись в память сенсора программы работы микрокомпьютера.

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

11. Тексты программ интеллектуальных сенсоров обычно составляют на алгоритмических языках "СИ" или "Ассемблер". Хотя программировать на них несколько труднее и дольше, чем на языках более высокого уровня, но после трансляции на машинный язык программы выходят короче, эффективней и работают быстрее.

12. Под "конфликтами" программных модулей понимают ситуации, когда разные программные модули одновременно претендуют на один и тот же ресурс (например, счетчик) или используют одну и ту же ячейку памяти. И поэтому потенциально могут помешать друг другу, изменяя код в этой ячейке или используя по-разному один и тот же ресурс.

Ответы к упражнениям

Упражнение 27.1.

Вариант 1. В интеллектуальных сенсорах применяют следующие способы селекции полезных сигналов: частотная и временная селекция; синхронная модуляция/демодуляция; использование пар чувствительных элементов и работа с дифференциальными сигналами; сопоставительный анализ сигналов из разных каналов многоканального сенсора; дифференцирование и интегрирование сигналов; цифровая фильтрация.

Вариант 2. В качестве примера применения пары чувствительных элементов и использования разностного сигнала можно привести вибрационные сенсоры с вибраторами на пьезокристаллах, описанные в лекции 4. Для компенсации влияния изменений температуры и других помех рядом устанавливают два одинаковых пьезоэлектрических вибратора. Один из них – опорный – остается вне влияния, а на другой действует контролируемый фактор. Для определения величины влияния этого фактора измеряется разность частот колебаний измерительного и опорного вибраторов. Она практически не зависит от изменения температуры и от других сторонних помех, одинаково влияющих на частоту обоих вибраторов. Эти помехи эффективно отфильтровываются. В "Магнитные сенсоры. Сенсоры на сквидах. Индуктивные сенсоры" рассказывалось о сверхпроводящем магнитометре. Если в нем использовать две одинаковые рядом расположенные рамки, включив их в цепь трансформатора магнитного потока навстречу одна другой, то сигнал на выходе сенсора определяется разностью магнитных потоков сквозь эти рамки. И если рамки одинаковы, то сенсор измеряет градиент магнитного поля в месте расположения рамок. Дифференцирование сигналов применяют в тех случаях, когда сенсор должен реагировать на скорость изменения измеряемой величины, когда скорость изменений и является "полезным" сигналом. Дифференцирование применяют также для более точной фиксации моментов резкого изменения состояния объекта или нарушения хода исследуемого процесса.

Вариант 3. Интегрирование сигналов может быть полезным в тех случаях, когда шумы, помехи, посторонние влияния являются биполярными, т.е. могут как уменьшать, так и увеличивать полезный сигнал. Положительные и отрицательные вклады шумов, помех, посторонних влияний благодаря интегрированию во времени взаимно компенсируют друг друга, а энергия полезного сигнала накапливается и как бы "вырастает над фоном". Примером могут быть кулонометрические сенсоры, описанные в лекции 16. За счет интегрирования во времени тока через электрохимическую ячейку удается в значительной мере избавиться от влияния флуктуаций тока и от других сторонних влияний и добиться более высокой точности по сравнению с аналогичным амперометрическим сенсором. Иногда именно интегрированный сигнал и является "полезным", как, например, в сенсоре количества света, получаемого растениями за световой день.

Вариант 4. "Частотную" селекцию полезных сигналов выгодно применять в тех случаях, когда частотный спектр полезных сигналов существенно отличается от частотного спектра шумов, помех, посторонних влияний. Если с помощью частотного фильтра выделить лишь ту полосу частот, которая нужна для правильного воспроизведения полезных сигналов, то последние практически не будут ослабляться фильтром, а энергия шумов и помех будет ослаблена во много раз, – тем сильней, чем уже частотная полоса "пропускания" фильтра. И соотношение сигнал/шум может значительно возрасти. Примером могут быть, скажем, описанные в "Радиотелевизионные сенсоры" радиотюнеры. Используя частотную фильтрацию, они позволяют из распространяющихся в окружающем пространстве или через телевизионный кабель высокочастотных электромагнитных колебаний выделить сигналы только одного нужного телевизионного канала и поддерживать точное "слежение" именно за этим каналом. Другим примером может быть применение в хронофлуорометре ( "Магнитные сенсоры. Сенсоры на сквидах. Индуктивные сенсоры" ) светофильтра, который позволяет выделить слабый сигнал флуоресценции хлорофилла на фоне сильной засветки возбуждающим светом.

Вариант 5. "Полосовые фильтры" – это частотные фильтры, которые хорошо пропускают сигналы с частотами в диапазоне от ( v – \Delta v ) до ( v + \Delta v ) и сильно ослабляют сигналы с частотами вне этого диапазона. Их применяют, когда надо выделять сигналы лишь из определенной полосы частот. "Режекторы" – это частотные фильтры, которые сильно ослабляют, "отрезают" сигналы с частотами в диапазоне от ( v – \Delta v ) до ( v + \Delta v ), но хорошо пропускают сигналы всех других частот. Режекторы применяют тогда, когда надо целенаправленно "заглушить" помехи и посторонние влияния в заведомо известной полосе частот (т.н. "сосредоточенные" помехи).

Вариант 6. "Временнyю" селекцию полезных сигналов выгодно применять в тех случаях, когда полезные сигналы имеют некоторые временные особенности. Чаще всего ее применяют тогда, когда изменения в объекте, которые интересуют пользователя, имеют импульсный характер. Выделяя лишь импульсы нужного диапазона продолжительности и "отсекая" более короткие и более длинные импульсы, тоже можно значительно улучшить соотношение сигнал/шум. В качестве примера применения можно назвать описанные в "Интеллектуальные акустические сенсоры для УЗИ. Сенсоры для сейсморазведки. Сенсоры на ПАВ" радиоидентификаторы на поверхностных акустических волнах. Топология штырей во встречно-штыревом преобразователе соответствует в них только одной определенной временнoй структуре позывного радиосигнала. И поэтому сигнал на выходе получается большим только тогда, когда позывной радиосигнал имеет именно эту структуру.

Вариант 7. Принцип временнoй синхронной селекции сигналов состоит в следующем. Используется синхронный инвертор, который в периоды отсутствия полезного сигнала инвертирует сигнал, поступающий от чувствительного элемента. Связанный с инвертором интегратор суммирует сигнал за все время, точно вдвое превышающее суммарную продолжительность всех интервалов поступления полезного сигнала. Полезный сигнал суммируется всё время. А вот шумы и помехи благодаря инвертированию то суммируются, то вычитаются. И на выходе интегратора их суммарный вклад оказывается приблизительно нулевым, т.е. они эффективно "отфильтровываются". Наиболее опасны лишь помехи, совпадающие по частоте и фазе с какими-то компонентами полезного сигнала. Но и они, совпадая лишь с одной компонентой сигнала, не совпадают с другими, и поэтому тоже "фильтруются". Временнyю синхронную селекцию сигналов выгодно применять тогда, когда "сообщения" от объекта наблюдения имеют вполне определенные моменты и временные интервалы своего появления или же имеют полностью определенные частоты и фазы.

Вариант 8. Рассмотрение интеллектуального сенсора как системы связи позволяет использовать многие эффективные методы селекции полезных сигналов, разработанные в технике связи. Источником "сообщений" в такой "системе связи" является исследуемый объект (процесс), от которого мы хотим получить ту или иную информацию. Технические узлы и среда, по которым "сообщение" проходит от объекта к чувствительному элементу и далее к микрокомпьютеру, – это "канал связи". Микрокомпьютер и все другие узлы сенсора, обеспечивающие выдачу информации пользователю, можно рассматривать как "приёмник". Если сенсор является активным, то узлы воздействия на объект (процесс) можно рассматривать как "канал обратной связи", а сенсор в целом, вместе с объектом исследования, – как "адаптивную систему с обратной связью".

Упражнение 27.2.

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

Вариант 2. В сенсоре светового давления, созданном П.Н. Лебедевым (Москва, 1900 г. – см. "Виды механических сенсоров. Представление о микросистемных технологиях. Деформационные сенсоры" ), основными помехами являлись конвективные движения воздуха, которые приводили в движение легчайшую крыльчатку, а также вибрации и сотрясения почвы, которые передавались на поворотное зеркальце. Для того, чтобы уменьшить их влияние, П.Н. Лебедев поместил свой сенсор под вакуумный колпак, из-под которого откачивался воздух. А всю экспериментальную установку установил на тяжелой станине, хорошо защищавшей от вибраций. Станина исполняла роль механического фильтра, избавлявшего от колебаний почвы и вибраций с частотами выше десятых долей герца. А вакуум под колпаком исключал возможность возникновения конвективных движений воздуха и его сопротивление повороту крыльчатки.

Вариант 3. Селекция полезных сигналов, осуществляемая в сенсорах на поверхностных акустических волнах ( "Интеллектуальные акустические сенсоры для УЗИ. Сенсоры для сейсморазведки. Сенсоры на ПАВ" ), зависит от структуры встречно-штыревого преобразователя (ВШП). Если штыри в нем расположены периодически, то ВШП функционирует как высокодобротный частотно-фазовый фильтр. Если же должны приниматься лишь сигналы, определенным образом модулированные по амплитуде, частоте, фазе, то используется и соответствующая геометрическая структура ВШП. Прибор на ПАВ функционирует как высокоэффективный коррелятор, выдающий на выходе пик напряжения только тогда, когда пространственно-временная структура поверхностной акустической волны точно совпадает с геометрической структурой ВШП. Такой фильтр помогает избавиться от шумов и от всех не согласованных с полезным сигналом помех.

Вариант 4. В миниатюрном радиолокаторе MIR (Micropower Impulse Radar – микромощный импульсный радиолокатор – см. "Радиосенсоры и радиолокаторы" ) моменты излучения импульсов продолжительностью порядка 200 пс являются случайными и задаются генератором шума. Прием отраженных сигналов синхронизируется с моментами излучения. Приём только синхронных сигналов и усреднение по миллионам импульсов повышает соотношение сигнал/шум. Таким образом, в радиолокаторе MIR осуществляется синхронная селекция полезных сигналов. За счет этого достигаются сведение к минимуму помех, создаваемых несколькими одновременно работающими антеннами, и очень высокая селективность отбора "своих" сигналов. Работа радиолокатора практически незаметна, так как его излучение для постороннего наблюдателя сливается с фоновым шумом.

Вариант 5. В компьютерном кабельном модеме ( "Радиотелевизионные сенсоры" ) осуществляется частотная селекция полезных сигналов. Она позволяет выделить требуемый полезный сигнал из тысяч других, распространяющихся по тому же кабелю. Частотные полосы для приема входной информации и выдачи исходящей информации определяются в начале каждого сеанса связи в процессе общения модема провайдера и микропроцессора в модеме пользователя – в зависимости от свободных на данный момент в телевизионном кабеле частот. Кроме того, осуществляется цифровая фильтрация получаемых сигналов в микропроцессоре модема пользователя и в процессоре провайдера. Это позволяет избавляться от спама и несанкционированных передач информации.

Вариант 6. Селекция полезных сигналов в электрохимических биосенсорах осуществляется с помощью ферментов или других биологических структур – нуклеиновых кислот, антител, живых клеток и даже живых рецепторов, взятых из животных, растений, микроорганизмов. Такие структуры называют "биоселекторами". Для "распознавания" аналита биоселектор иммобилизуют (т.е. осаждают и закрепляют) на электроде или на мембране электрохимического сенсора. При наличии в контролируемой среде аналита биоселектор вступает с ним (и только с ним!) в специфическое взаимодействие. При этом возникают (или, наоборот, расходуются) электрохимически активные продукты (ионы, аммиак, перекись водорода, фтор, СО2 и т.п.). Изменение их концентрации улавливает селективно чувствительный к ним электрохимический элемент, вырабатывая соответствующий электрический сигнал. Этот сигнал усиливается и обрабатывается в электронном блоке.

Вариант 7. Пульсоксиметр является спектрофотометрическим двухволновым сенсором (лекция 18). Свет от двух светодиодов, излучающих свет с длиной волны 660 нм и 940 нм, пропускают сквозь исследуемый участок тела (чаще всего – палец). Оксигемоглобин и восстановленный гемоглобин очень по-разному поглощают свет с длиной волны 660 нм. Фотодиод принимает свет на противоположной стороне пальца. Как и в фотоплетизмографе, сигналы на обеих длинах волны имеют не только постоянную, но и переменную составляющие, обусловленные пульсированием крови и дыханием. Выделяя и анализируя переменную составляющую сигнала в опорном канале, пульсоксиметр может выполнять все те задачи, что и фотоплетизмограф. А, кроме того, он еще определяет и насыщение кислородом артериальной крови. Для этого измеряется средняя величина полных сигналов в опорном и измерительном каналах. И, кроме того, выделяются и измеряются приросты интенсивности сигналов |\Delta I_О| и |\Delta I_И|, синхронизированные с фазами систолы. Они-то и позволяют вычислить степень насыщения кислородом именно артериальной крови.

Вариант 8. Селекция полезных сигналов в хронофлуорометре "ИФХ-1" ( "Теоретические основы работы люминесцентных сенсоров. Хронофлуорометры" ), конечно же, осуществляется. Светофильтр, установленный перед фотоприёмником, позволяет выделить слабый сигнал флуоресценции на фоне сильного возбуждающего фотосинтез света и на фоне внешней засветки. Это – пример классической частотной селекции. Она основана на том, что указанные помехи (сильный возбуждающий фотосинтез свет и внешняя засветка) имеют совсем другой спектральный состав, чем полезный сигнал (флуоресценция хлорофилла).

Упражнение 27.3.

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

Вариант 2. При разработке концепции интеллектуальных сенсоров обязательно надо обстоятельно ответить на следующие вопросы: (1) для чего предназначен данный сенсор? Какие изменения в исследуемом объекте или процессе надо обнаруживать, какие параметры измерять? Какие задачи решать? (2) Существуют ли уже разработанные сенсоры подобного назначения (сенсоры-аналоги)? Если есть, то какие характеристики они имеют? (3) Какими будут принципы действия сенсора? Какие явления и закономерности будут использованы? Нужно ли будет как-то воздействовать на объект исследования и как именно? (4) Как надо будет обрабатывать получаемую "сырую" информацию? (5) Можно ли будет и за счет каких факторов превзойти, улучшить характеристики сенсоров-аналогов? (6) Какие принципиальные трудности могут возникнуть при реализации проекта, и есть ли пути преодоления этих трудностей?

Вариант 3. Научно-исследовательское проектирование мобильного телефона началось в конце 40-х г.г. ХХ в. Тогда уже функционировали системы мобильной радиосвязи в армии, полиции и в других силовых ведомствах. Но теперь речь шла уже о мобильных телефонах, которые могли быть доступны массовому потребителю. В 1947 г. такую цель поставили перед собой американская Bell Laboratories (компания AT&T) и шведская компания Televerker, которые уже владели технологией мобильной радиосвязи. Первым действующим исследовательским макетом в 1950 г. стал мобильный телефонный аппарат Стюре Лаурена, имеющий массу около 40 кг и размещавшийся на двух задних сиденьях автомобиля. Затем последовали многочисленные усовершенствования, испытания и модификации. Лишь в 1956 г. разработанная шведами система мобильной телефонии (Mobil-telefonsystem А) была введена в эксплуатацию в Стокгольме и в Гетеборге. Но из-за высокой цены, которая составляла тогда половину стоимости автомобиля, частных абонентов набралось лишь несколько десятков. По существу, это были только экспериментальные исследования. Следующим шагом в научно-исследовательском проектировании мобильного телефона стал проект сотовой системы мобильной связи, покрывающей территорию нескольких государств, предложенный в 1969 г. Естеном Мякотило. Полноценную реализацию проекта надолго задержало отсутствие недорогих экономных микропроцессоров, пригодных для применения в мобильных телефонах.

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

Вариант 5. На этапе разработки и изготовления действующего исследовательского макета сенсора следует особенно позаботиться о том, чтобы модельный объект был максимально приближен к реальному, создавал все трудности, которые могут быть и в реальном объекте, и даже бoльшие. Желательно обеспечить условия, при которых исследования действующего макета можно проводить на реальных объектах. Исследовательский макет следует проектировать так, чтобы в него можно было относительно легко вносить изменения, добавлять новые узлы, регулировать режимы работы, иметь по возможности более широкий динамический диапазон измерений.

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

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

Вариант 8. На этапе испытаний экспериментального образца сенсора следует привлечь специалистов-практиков, которые будут в дальнейшем пользоваться этим сенсором, проводить испытания в реальных условиях применения сенсора и, желательно, в разных местах. Именно там можно уточнить эксплуатационные и эргономические требования к сенсору, особенности, нюансы применения, понять, как сделать сенсор удобным для пользования. Одновременно там можно начать и предварительные маркетинговые исследования, результаты которых нужны для обоснования целесообразности создания промышленных образцов. Предварительные испытания по показателям назначения должны выполняться как можно объективнее, без всяких поблажек и попыток необоснованно отбросить неприятные для разработчика результаты, как якобы ошибочные или "случайные". Опыт многих разработок свидетельствует о том, что выявление тех или иных недостатков сенсоров лишь на заключительном этапе официальных сертификационных испытаний оказывается намного более болезненным, чем в случае их своевременного выявления на этапе испытаний экспериментального образца.

Упражнение 27.4.

Вариант 1. Рекомендуется следующий порядок разработки программ для интеллектуальных сенсоров: (1) подготовка документа "Постановка задачи" и написание "Сценария работы сенсора"; (2) разработка общей блок-схемы программы; (3) разработка блок-схем отдельных программных блоков; (4) составление алгоритмических схем программных блоков; (5) выделение в алгоритмах повторяющихся последовательностей действий, составление схем повторяемых процедур; (6) коррекция алгоритмов отдельных программных модулей, подбор контрольных примеров для их отладки; (7) написание текстов подпрограмм обработки прерываний; (8) поиск рациональной схемы использования областей (блоков) и регистров оперативной памяти; (9) написание текстов всех программных модулей; (10) составление списков адресов памяти, используемых каждой процедурой и подпрограммой; (11) анализ списков адресов памяти и взаимодействия процедур и подпрограмм с целью недопущения конфликтов между ними; (12) коррекция распределения памяти данных и текстов всех процедур и подпрограмм.

Вариант 2. "Сценарий работы" интеллектуального сенсора представляет собой детальное описание работы сенсора во всех предполагаемых режимах и ситуациях. Он нужен для того, чтобы четко понимать, что в каждом из режимов, в каждой ситуации должен делать микрокомпьютер. Факт составления и официального подписания этого документа с последующей возможной ответственностью за ошибки стимулирует всех участников разработки добросовестно отнестись к прояснению деталей работы сенсора и тем самым избежать многих досадных "промахов", которые очень досаждают, а то и могут дорого обойтись на следующих этапах разработки интеллектуального сенсора. "Сценарий работы", насколько это возможно, должен предусматривать и перспективное развитие, предполагаемые усовершенствования сенсора, должен быть ориентирован в будущее. На конкретном этапе разработки временный сценарий работы может быть упрощенным, неполным, "урезанным". Но ориентировка "на максимум", на будущее заложит основу для существенного сокращения работы по программированию следующих версий сенсора.

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

Вариант 4. Специфические для данного сенсора стандартные программные процедуры формируют в тех случаях, если это сулит определенный выигрыш: сокращение текста программы, упрощение её отладки и т.д. Делают это, сопоставляя алгоритмические схемы всех программных модулей. Если находят похожие их части или почти одинаковые блоки, то анализируют, может ли дать выигрыш оформление их в виде специфической стандартной процедуры.

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

Вариант 6. Комментарии-объяснения при написании текстов программных модулей нужны для того, чтобы через полгода – год, когда детали этой программы уже забудутся, Вы сами или тот, кто продолжит работу, смогли по имеющимся комментариям быстро понять всю логику и структуру программы. Не следует экономить время на комментариях, поскольку может произойти так, что уже через полгода Вам самим или другому программисту легче будет написать новый текст программы, чем разобраться в Вашем, к которому нет никаких объяснений. Призрачная "экономия" превратится тогда в свою противоположность – в дополнительные затраты времени.

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

Вариант 8. Отладку программного обеспечения сенсора делают в следующем порядке: (1) автономная отладка отдельных программных модулей в статическом режиме, т.е. без учета временного хода последовательности команд; (2) определение времени работы критических программных модулей, в первую очередь, модулей обработки прерываний при самых сложных условиях и, если необходимо, коррекция программ, чтобы обеспечить требования относительно времени их работы; (3) комплексная отладка всей программы в статическом режиме; (4) комплексная отладка всей программы в динамическом режиме, т.е. с учетом фактора времени. На этапе отладки очень пригодятся контрольные примеры, подобранные при алгоритмизации программных модулей. И с учетом результатов отладки их надо скорректировать и подобрать новые, чтобы получить "заготовку" для возможного поиска причин сбоев программы и для будущих контрольных испытаний программы.